1 |
1
복수의 단계(stage)들을 포함하는 작업(job)에서의 사용 함수들 각각에 대한 메모리 부하 가중치에 기초하여 상기 복수의 단계들 각각의 분할 수 및 스레드 수를 생성하고, 상기 복수의 단계들 각각의 데이터를 상기 분할 수만큼의 태스크들로 분할하고, 상기 태스크들을 상기 스레드 수만큼 병렬로 출력하는 마스터; 및상기 출력된 태스크들을 실행하고, 상기 태스크들을 실행하는 동안의 가비지 컬렉션 시간을 측정하는 적어도 하나의 워커 노드를 포함하되,상기 마스터는 상기 가비지 컬렉션 시간에 기초하여 상기 스레드 수를 조절하는 분산 처리 시스템
|
2 |
2
제1 항에 있어서,상기 마스터는,상기 메모리 부하 가중치에 기초하여 상기 복수의 단계들에서 상기 사용 함수들에 의하여 변경되는 데이터의 최대 크기를 계산하고, 상기 최대 크기에 기초하여 상기 분할 수 및 상기 스레드 수를 예측하는 분석 모듈을 포함하는 분산 처리 시스템
|
3 |
3
제2 항에 있어서,상기 분석 모듈은,상기 데이터의 상기 최대 크기 및 상기 적어도 하나의 워커 노드의 사용 가능한 메모리 크기에 기초하여 초기 분할 수 및 초기 스레드 수를 계산하고, 상기 초기 분할 수 및 상기 초기 스레드 수 중 적어도 하나를 변경하여 상기 분할 수 및 상기 스레드 수를 결정하는 파라미터 생성기를 포함하는 분산 처리 시스템
|
4 |
4
제3 항에 있어서,상기 초기 스레드 수는 상기 적어도 하나의 워커 노드에 포함된 코어의 개수에 의존하는 분산 처리 시스템
|
5 |
5
제3 항에 있어서,상기 초기 분할 수는 상기 초기 스레드 수 및 상기 데이터의 상기 최대 크기의 곱에 상기 사용 가능한 메모리 크기를 나눈 값에 의존하는 분산 처리 시스템
|
6 |
6
제3 항에 있어서,상기 파라미터 생성기는,상기 초기 분할 수 및 상기 초기 스레드 수에 대응되는 태스크들의 예측 실행 시간을 계산하고, 상기 초기 분할 수 및 상기 초기 스레드 수 중 적어도 하나를 변경할 때의 상기 예측 실행 시간의 감소율에 기초하여 상기 분할 수 및 상기 스레드 수를 결정하는 분산 처리 시스템
|
7 |
7
제6 항에 있어서,상기 파라미터 생성기는,상기 예측 실행 시간의 상기 감소율이 기준 비율보다 작을 때까지 상기 초기 분할 수 및 상기 초기 스레드 수 중 적어도 하나를 변경하여, 상기 분할 수 및 상기 스레드 수를 결정하는 분산 처리 시스템
|
8 |
8
제1 항에 있어서,상기 마스터는,상기 태스크들 중 상기 스레드 수만큼의 태스크들을 상기 적어도 하나의 워커 노드로 출력하고, 상기 출력된 태스크들을 실행하는 동안의 가비지 컬렉션 시간들에 기초하여 상기 스레드 수를 조절하는 태스크 스케줄러를 포함하는 분산 처리 시스템
|
9 |
9
제8 항에 있어서,상기 태스크 스케줄러는, 상기 출력된 태스크들 각각의 실행 시간들에 대한 상기 가비지 컬렉션 시간들의 비율이 기준 비율보다 큰 경우, 상기 스레드 수를 감소시키는 분산 처리 시스템
|
10 |
10
제8 항에 있어서,상기 태스크 스케줄러는, 상기 출력된 태스크들 각각의 실행 시간들에 대한 상기 가비지 컬렉션 시간들의 비율이 기준 비율보다 작은 경우, 상기 스레드 수를 증가시키는 분산 처리 시스템
|
11 |
11
제8 항에 있어서,상기 태스크 스케줄러는,상기 가비지 컬렉션 시간들에 대한 상기 출력된 태스크들 이전에 측정된 가비지 컬렉션 시간들의 비율이 기준 비율보다 큰 경우, 상기 스레드 수를 감소시키는 분산 처리 시스템
|
12 |
12
제1 항에 있어서,상기 적어도 하나의 워커 노드는,상기 마스터로부터 수신된 상기 태스크들을 실행하는 실행기; 및상기 가비지 컬렉션 시간 및 상기 태스크들 각각의 실행 시간을 측정하는 타이머를 포함하는 분산 처리 시스템
|
13 |
13
제1 항에 있어서,상기 적어도 하나의 워커 노드는 상기 가비지 컬렉션 시간 및 상기 태스크들 각각의 실행 시간을 상기 마스터로 송신하고,상기 마스터는 상기 가비지 컬렉션 시간 및 상기 실행 시간을 비교하여, 상기 스레드 수를 조절하는 분산 처리 시스템
|
14 |
14
작업(job)에 대응되는 데이터의 분할 수 및 스레드 수를 생성하는 단계;상기 분할 수 에 기초하여 상기 데이터를 복수의 태스크들로 분할하는 단계;상기 복수의 태스크들 중 상기 스레드 수만큼의 태스크들을 워커 노드로 출력하는 단계;상기 워커 노드가 상기 태스크들을 실행하는 동안의 가비지 컬렉션 시간 및 실행 시간을 측정하는 단계; 및상기 가비지 컬렉션 시간 및 상기 실행 시간에 기초하여 상기 스레드 수를 조절하는 단계를 포함하는 분산 처리 시스템의 동작 방법
|
15 |
15
제14 항에 있어서,상기 작업의 사용 함수에 기초하여, 상기 작업을 복수의 단계들(stage)로 분할하는 단계를 더 포함하고,상기 분할 수는 상기 복수의 단계들 각각에 대응되는 값들을 포함하고, 상기 스레드 수는 상기 복수의 단계들 각각에 대응되는 값들을 포함하는 분산 처리 시스템의 동작 방법
|
16 |
16
제14 항에 있어서,상기 분할 수 및 상기 스레드 수를 생성하는 단계는,상기 작업의 사용 함수들 각각의 메모리 부하 가중치를 검색하는 단계;상기 메모리 부하 가중치에 기초하여 상기 사용 함수들에 의하여 변경되는 상기 데이터의 최대 크기를 계산하는 단계;상기 최대 크기 및 상기 워커 노드의 사용 가능한 메모리 크기에 기초하여 초기 분할 수 및 초기 스레드 수를 계산하는 단계; 및상기 초기 분할 수 및 상기 초기 스레드 수에 대응되는 태스크들의 예측 실행 시간에 기초하여, 상기 초기 분할 수 및 상기 초기 스레드 수를 조절하는 단계를 포함하는 분산 처리 시스템의 동작 방법
|
17 |
17
제16 항에 있어서,상기 초기 분할 수 및 상기 초기 스레드 수를 조절하는 단계는,상기 초기 분할 수 및 상기 초기 스레드 수 중 적어도 하나를 변경할 때의 상기 예측 실행 시간의 감소율을 계산하는 단계; 및상기 감소율이 기준 비율보다 작을 때까지 상기 초기 분할 수 및 상기 초기 스레드 수 중 적어도 하나를 변경하는 단계를 포함하는 분산 처리 시스템의 동작 방법
|
18 |
18
제14 항에 있어서,상기 스레드 수를 조절하는 단계는,상기 실행 시간에 대한 상기 가비지 컬렉션 시간의 비율이 기준 비율보다 큰 경우, 상기 스레드 수를 감소시키는 단계를 포함하는 분산 처리 시스템의 동작 방법
|
19 |
19
제14 항에 있어서,상기 스레드 수를 조절하는 단계는,상기 실행 시간에 대한 상기 가비지 컬렉션 시간의 비율이 기준 비율보다 작은 경우, 상기 스레드 수를 증가시키는 단계를 포함하는 분산 처리 시스템의 동작 방법
|
20 |
20
제14 항에 있어서,상기 스레드 수를 조절하는 단계는, 상기 워커 노드가 상기 작업을 실행하는 동안 수행되는 분산 처리 시스템의 동작 방법
|