Skip to main content
QUICK REVIEW

[논문 리뷰] Kernelet: High-Throughput GPU Kernel Executions with Dynamic Slicing and Scheduling

Jianlong Zhong, Bingsheng He|arXiv (Cornell University)|2013. 03. 21.
Parallel Computing and Optimization Techniques참고 문헌 31인용 수 5
한 줄 요약

Kernelet는 마르코프 체인 기반 성능 모델을 사용하여 커널을 동적으로 저점유율 하위 커널으로 분할하고 공유 GPU 환경에서의 처리량을 향상시키기 위해 공동 스케줄링을 수행하는 GPU 런타임 시스템이다. NVIDIA Tesla C2050와 GTX680 GPU에서 각각 최대 31.1%와 23.4%의 성능 향상을 이뤄내어 동적 분할과 지능적인 스케줄링을 통해 더 나은 자원 활용을 가능하게 한다.

ABSTRACT

Graphics processors, or GPUs, have recently been widely used as accelerators in the shared environments such as clusters and clouds. In such shared environments, many kernels are submitted to GPUs from different users, and throughput is an important metric for performance and total ownership cost. Despite the recently improved runtime support for concurrent GPU kernel executions, the GPU can be severely underutilized, resulting in suboptimal throughput. In this paper, we propose Kernelet, a runtime system with dynamic slicing and scheduling techniques to improve the throughput of concurrent kernel executions on the GPU. With slicing, Kernelet divides a GPU kernel into multiple sub-kernels (namely slices). Each slice has tunable occupancy to allow co-scheduling with other slices and to fully utilize the GPU resources. We develop a novel and effective Markov chain based performance model to guide the scheduling decision. Our experimental results demonstrate up to 31.1% and 23.4% performance improvement on NVIDIA Tesla C2050 and GTX680 GPUs, respectively.

연구 동기 및 목표

  • 공유 GPU 환경에서 높은 점유율을 가지나 자원 활용도가 낮은 단일 커널 실행으로 인한 낮은 GPU 활용도 문제를 해결하기 위해.
  • 여러 사용자의 커널이 GPU 자원을 경쟁하는 GPU 클러스터 및 클라우드 환경에서 처리량을 향상시키기 위해.
  • 점유율 조절이 가능한 작은 단위의 공_schedulable 단위로 동적으로 커널을 분할하여 GPU 커널의 효과적인 동시 실행을 가능하게 하기 위해.
  • 광범위한 프로파일링 없이도 정확한 성능 예측이 가능한 경량이면서 정확한 성능 모델을 개발하기 위해.
  • GPU 활용도를 극대화하기 위해 커널 분할 및 스케줄링을 투명하게 관리하는 런타임 시스템을 설계하기 위해.

제안 방법

  • 커널을 스레드 블록 수준에서 하위 커널(스ライ스)으로 동적으로 분할하여 다른 커널의 스라이스와 함께 공동 스케줄링이 가능하도록 한다.
  • 스라이스의 점유율을 조절하여 여러 커널 간 자원 사용이 상호 보완적으로 이루어지도록 하여 자원 경쟁을 방지한다.
  • 점유율과 메모리 액세스 패턴과 같은 핵심 커널 특성만을 사용하여 동시 실행 스라이스의 실행 시간을 예측하는 새로운 마르코프 체인 기반 성능 모델을 적용한다.
  • 성능 모델을 활용해 스케줄링 결정을 내리며, GPU 활용도를 극대화하고 유휴 시간을 최소화하는 스라이스 조합을 선택한다.
  • 기존 GPU 런타임과 통합되어 소스 코드나 커널 수정 없이도 투명하게 작동한다.
  • 스레드 블록 수준에서의 스라이스 분할을 제한함으로써 런타임 오버헤드를 방지하면서도 너무 작은 스라이스의 과도한 제출을 방지한다.

실험 결과

연구 질문

  • RQ1동적 커널 분할을 통해 공유 GPU 환경에서 자원 공유를 개선함으로써 처리량을 향상시킬 수 있는가?
  • RQ2스라이스 크기와 점유율을 어떻게 조절하면 동시 커널 실행 중 GPU 활용도를 극대화할 수 있는가?
  • RQ3광범위한 프로파일링 없이도 경량 성능 모델이 동시 커널 실행의 동작을 정확히 예측할 수 있는가?
  • RQ4여러 커널이 공유 GPU 환경에서 공동 스케줄링될 때 GPU 활용도를 극대화하는 데 가장 효과적인 스케줄링 전략은 무엇인가?
  • RQ5처리량과 효율성 측면에서 동적 커널 분할은 기존의 정적 커널 통합 또는 단일 커널 실행에 비해 어떻게 비교되는가?

주요 결과

  • Kernelet는 다양한 워크로드에서 NVIDIA Tesla C2050(Fermi)에서 최대 31.1%, GTX680(Kepler)에서 최대 23.4%의 GPU 처리량 향상을 이룬다.
  • 마르코프 체인 기반 성능 모델은 점유율과 메모리 액세스 패턴과 같은 핵심 커널 지표만을 기반으로 최소한의 입력으로도 동시 실행 성능을 정확히 예측한다.
  • 동적 분할을 통해 개별 커널이 높은 점유율을 가질 경우에도 GPU 자원의 효과적인 시간 공유가 가능해져 전통적인 커널 통합의 한계를 극복한다.
  • 소스 코드 접근이나 커널 런타임 수정 없이도 높은 성능 향상을 달성하여 공유 및 클라우드 환경에 적합하다.
  • 성능 모델에 기반한 스케줄링 결정은 자원 활용도를 향상시키고 유휴 시간을 줄여 전체 GPU 효율성을 향상시킨다.
  • 세분화된 스라이스를 통해 더 많은 스케줄링 기회를 창출함으로써, 이전의 커널 통합 및 정적 스케줄링 기법보다 뛰어난 성능을 발휘한다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.