1 |
1
다수개의 GPU를 구비한 클라우드 환경에서의 GPU 스케줄링 프레임워크에 있어서, 사용자로부터 입력된 작업들을 각 GPU에게 배치하고, 각 GPU를 시분할 공유하고, 각 GPU에 할당된 작업들에 대하여 마이그레이션하여 각 GPU를 시분할 공유하는 작업들의 개수를 일정하게 유지하도록 구성된 전역 스케줄러;매 스케줄링 주기에 해당 노드에 연결된 GPU에서 실행될 작업을 선택하여 실행시키는 노드 스케줄러; 및각 GPU의 시분할 공유를 위한 작업의 중단 및 재실행을 수행하고, 각 GPU에 대한 마이그레이션 여부를 확인하는 에르메스(Hermes) 모듈;를 구비하여, 다수 개의 작업들이 다수 개의 GPU에서 시분할 공유되어 병렬 처리되되 각 GPU를 시분할 공유하는 작업들의 개수가 일정하게 유지되도록 구성된 것을 특징으로 하는 GPU 스케줄링 프레임워크
|
2 |
2
제1항에 있어서, 상기 작업들은 딥러닝 모델의 하이퍼 파라미터 최적화 작업이며, 상기 전역 스케줄러는 다수 개의 하이퍼 파라미터 조합들이 입력되면, 각 GPU에서 각 하이퍼 파라미터 조합들에 대한 학습을 수행시키고, 학습에 따른 최적의 하이퍼 파라미터 변수를 피드백시키는 것을 특징으로 하는 GPU 스케줄링 프레임워크
|
3 |
3
제1항에 있어서, 상기 전역 스케줄러는, 새로운 작업이 요청되면, 가장 적은 개수의 작업이 실행되고 있는 GPU를 검색하고, 상기 검색된 GPU의 작업 대기열에 상기 요청된 작업을 배치하는 작업 균등 배치 스케줄러; 및특정 GPU에서 실행되고 있는 작업이 종료되면, 각 GPU의 대기열의 작업 개수와 각 GPU의 대기열에 대기중인 작업들 중 최대 수렴 속도를 기준으로 하여 마이그레이션시킬 GPU와 작업을 선택하는 재배치 스케줄러;를 구비하는 것을 특징으로 하는 클라우드 환경에서의 GPU 스케줄링 프레임워크
|
4 |
4
제3항에 있어서, 상기 재배치 스케줄러는, 마이그레이션시킬 GPU와 작업을 선택하기 위하여, 힙(Heap) 노드 구조체를 이용하여 최대 힙 및 최소 힙을 구성하며, 상기 최대 힙 및 최소 힙은 각 GPU의 대기열에서 대기중인 작업의 개수를 기준으로 결정되며, 만약 대기중인 작업의 개수가 동일하면 최대 수렴 속도를 기준으로 결정하는 것을 특징으로 하는 클라우드 환경에서의 GPU 스케줄링 프레임워크
|
5 |
5
제4항에 있어서, 상기 힙 노드 구조체는 GPU 장치번호, 해당 GPU의 대기열에서 대기 중인 작업의 개수, 해당 GPU의 대기열에서 대기중인 작업 중 수렴 속도가 가장 빠른 작업의 번호, 해당 작업의 수렴 속도로 이루어진 것을 특징으로 하는 클라우드 환경에서의 GPU 스케줄링 프레임워크
|
6 |
6
제1항에 있어서, 상기 GPU 스케줄링 프레임워크는 리소스 모니터를 더 구비하고, 상기 리소스 모니터는 각 노드에 있는 GPU의 상태를 확인하고, GPU의 상태를 전역 스케줄러에게 알리는 것을 특징으로 하며, 상기 전역 스케줄러는 상기 리소스 모니터를 통해 각 GPU에 공유된 작업의 개수를 확인하는 것을 특징으로 하는 클라우드 환경에서의 GPU 스케줄링 프레임워크
|
7 |
7
전역 스케줄러, 노드 스케줄러 및 에르메스 모듈을 구비하는 클라우드 환경에서의 GPU 스케줄링 프레임워크에서의 하이퍼 파라미터 최적화를 위한 GPU스케줄링 방법에 있어서, (a) 작업이 요청되면 실행되는 작업 배치 및 GPU 시분할 공유 단계;를 구비하고, 상기 (a) 단계는, (a1) 전역 스케줄러의 사전 설정된 배치 정책에 따라, 전역 스케줄러의 대기열에 존재하는 작업을 실행시킬 GPU가 포함된 노드를 결정하는 단계; (a2) 배치가 결정된 작업은 해당 GPU가 있는 노드의 노드 스케줄러의 대기열에 대기시키는 단계;(a3) 해당 노드 스케줄러는 매 스케줄링 주기마다 사전 설정된 스케줄링 알고리즘의 정책에 따라 대기열에 존재하는 작업들 중 하나를 선택하여 실행시키는 단계;(a4) 상기 노드 스케줄러는, 스케줄링 알고리즘에 의해 선택된 작업을 실행시킬 GPU의 메모리를 점유하고 있는 선행 작업이 있는 경우, 해당 작업의 에르메스 모듈에게 학습 중단을 요청하는 단계;(a5) 상기 노드 스케줄러는, 먼저 실행되고 있던 작업이 GPU 메모리를 해제하고 정상적으로 종료되는 경우, 상기 스케줄링한 작업을 정상적으로 실행시키는 단계;(a6) 상기 실행시키는 작업이 이미 실행되었다가 중단되었던 작업을 재실행시키는 경우이면, 해당 작업의 에르메스 모듈을 통해 학습을 재실행시키는 단계;를 구비하는 것을 특징으로 하는 클라우드 환경에서의 GPU 스케줄링 방법
|
8 |
8
제7항에 있어서, 상기 GPU 스케줄링 방법은 (b) 작업이 종료될 때마다 호출되어 각 GPU의 대기열에 있는 작업의 개수를 일정하게 유지하면서 하이퍼 파라미터 최적화를 가속화시키는 작업 재배치 단계;를 더 구비하고,상기 (b) 단계는,(b1) 전역 스케줄러가 각 노드의 정보가 저장되어 있는 저장소를 통해 주기적으로 각 노드의 GPU 대기열 정보를 확인하는 단계;(b2) GPU 대기열에 있는 작업 개수의 균형이 깨진 경우, 상기 전역 스케줄러는 작업 재배치 알고리즘을 통해, 마이그레이션시킬 GPU 및 작업을 결정하는 단계;(b3) 상기 전역 스케줄러는 상기 마이그레이션이 결정된 GPU의 작업에 대하여, 마이그레이션시키는 단계; 를 구비하여, 특정 GPU에서 실행되고 있던 작업이 종료되었을 때, 각 GPU에서 학습하는 작업의 개수를 균등하게 맞춰주는 것을 특징으로 하는 클라우드 환경에서의 GPU 스케줄링 방법
|
9 |
9
제8항에 있어서, 상기 작업 재배치 알고리즘은, 요청된 다수 개의 하이퍼 파라미터 조합들 중 최적의 하이퍼 파라미터 조합을 피드백받을 때 까지 걸리는 시간을 최소화시키는 것을 목표로 하여, 각 GPU의 대기열에 있는 작업의 개수와 각 GPU의 대기열에 있는 작업들 중 수렴 속도가 가장 빠른 작업의 정답 수렴 속도(최대 수렴 속도)를 기준으로 하여 마이그레이션시킬 GPU와 작업을 선택하는 것을 특징으로 하는 클라우드 환경에서의 GPU 스케줄링 방법
|
10 |
10
제9항에 있어서, 상기 (b2) 단계는, 각 GPU의 대기열에 있는 작업의 개수와 대기열에 있는 작업의 최대 수렴 속도를 비교하기 위하여 힙 노드 구조체를 이용하여 최대 힙 및 최소 힙을 구성하며, 최대 힙 및 최소 힙은 각 GPU의 대기열에서 대기 중인 작업의 개수를 기준으로 하며, 만약 대기중인 작업의 개수가 동일한 경우 최대 수렴 속도를 기준으로 결정하는 것을 특징으로 하는 클라우드 환경에서의 GPU 스케줄링 방법
|