검색 상세

상세 자원 이용률에 기반한 병렬 가속기용 스레드 블록 스케줄링

Thread Block Scheduling for GPGPU based on Fine-Grained Resource Utilization

초록/요약

최근 클라우드 시스템에서 병렬가속기를 사용하는 사례가 늘면서 가속기 내에서 멀티태스킹을 통해 자원 이용률을 높이는 것이 중요한 이슈로 부각되고 있다. 본 논문에서는 병렬가속기 내 자원 사용 패턴을 컴퓨팅 중심과 메모리중심으로 분류하여 워크로드를 배치하는 방식이 자원 이용률 측면에서 충분한 효과를 나타내지 못함을 보이고, 워크로드별 상세 자원 이용률에 기반한 새로운 스레드 블록 스케줄링 기법을 제안한다. 제안한 기법은 기존 방식과 달리 프로파일링과 스케줄링을 분리하여 스케줄링시의 오버헤드를 줄이고 병목 자원이 일치하지 않는 워크로드들을 최대한 중복배치하여 자원 이용률을 높인다. 다양한 가상머신 시나리오에 대한 시뮬레이션 실험을 통해 제안한 기법이 병렬가속기의처리량을 평균 130.6%, 최대 161.4%까지 개선함을 보인다.

more

초록/요약

With the recent widespread adoption of general-purpose GPUs (GPGPUs) in cloud systems, maximizing the resource utilization through multitasking in GPGPU has become an important issue. In this article, we show that resource allocation based on the workload classification of computing-bound and memory-bound is not sufficient with respect to resource utilization, and present a new thread block scheduling policy for GPGPU that makes use of fine-grained resource utilizations of each workload. Unlike previous approaches, the proposed policy reduces scheduling overhead by separating profiling and scheduling, and maximizes resource utilizations by co-locating workloads with different bottleneck resources. Through simulations under various virtual machine scenarios, we show that the proposed policy improves the GPGPU throughput by 130.6% on average and up to 161.4%.

more