Skip to main content
QUICK REVIEW

[논문 리뷰] The OoO VLIW JIT Compiler for GPU Inference

Paras Jain, Xiangxi Mo|arXiv (Cornell University)|2019. 01. 28.
Parallel Computing and Optimization Techniques참고 문헌 26인용 수 4
한 줄 요약

이 논문은 상호작용형 DNN 추론 워크로드에서 엄격한 지연 SLO를 충족하면서도 최대한의 처리량을 달성하기 위해 런타임에 다중 실행 스트림으로부터 이질적인 커널을 결합하고 재정렬하는 순서어긋남 VLIW 기반 Just-in-Time (JIT) 컴파일러를 제안한다. 동적 커널 패킹과 스트림 간 병렬 처리를 통해 시간 분할 방식 대비 최대 7.7배 높은 처리량을 달성하며, 상호작용형 추론 워크로드에서 GPU 활용도를 크게 향상시킨다.

ABSTRACT

Current trends in Machine Learning~(ML) inference on hardware accelerated devices (e.g., GPUs, TPUs) point to alarmingly low utilization. As ML inference is increasingly time-bounded by tight latency SLOs, increasing data parallelism is not an option. The need for better efficiency motivates GPU multiplexing. Furthermore, existing GPU programming abstractions force programmers to micro-manage GPU resources in an early-binding, context-free fashion. We propose a VLIW-inspired Out-of-Order (OoO) Just-in-Time (JIT) compiler that coalesces and reorders execution kernels at runtime for throughput-optimal device utilization while satisfying latency SLOs. We quantify the inefficiencies of space-only and time-only multiplexing alternatives and demonstrate an achievable 7.7x opportunity gap through spatial coalescing.

연구 동기 및 목표

  • 낮은 병렬성과 엄격한 지연 SLO로 인해 효율이 떨어지는 상호작용형 DNN 추론 워크로드에서 GPU 활용도가 낮은 문제를 해결하기 위해.
  • 동적이고 급격한 변동이 있는 추론 워크로드에 적응하지 못하는 기존의 정적 AOT 컴파일러(예: TensorRT)의 한계를 극복하기 위해.
  • 다중 실행 스트림 간 이질적인 커널을 런타임에 동적으로 결합하고 재정렬하여 GPU 컴퓨팅 및 메모리 활용도를 극대화하기 위해.
  • 하드웨어의 복잡성을 JIT 컴파일러로 이관하는 VLIW 기반 컴파일 모델을 탐색하여 GPU에서 효율적인 공간-시간 스케줄링을 가능하게 하기 위해.
  • 동적 커널 패킹이 난이도 있는 시간-공간 활용도 최적화와 비교했을 때 7.7배의 효율성 격차를 메울 수 있음을 입증하기 위해.

제안 방법

  • JIT 컴파일러는 다중 독립적 추론 스트림에서 런타임으로 작동하며, 작은 독립적 커널들을 더 큰 슈퍼커널로 결합하여 메모리 및 컴퓨팅 활용도를 향상시킨다.
  • 시간-공간 스케줄링 최적화를 위해 동적 순서어긋남 스케줄링 전략을 사용하여 스트림 간 커널 실행 순서를 재정렬하며, 지연 SLO를 충족할 수 있는 커널을 우선순위로 정한다.
  • 일반적인 커널 클러스터에 대해 최적의 커널 구성(예: 블로킹 파라미터)을 사전에 자동 튜닝하여 런타임 컴파일 오버헤드를 줄인다.
  • 커널 결합은 행렬 곱셈 연산을 형상 기반으로 군집화하여 패딩을 최소화하고, cuBLAS 유사 커널을 통한 효율적인 배치 실행을 가능하게 한다.
  • 지금은 결합되지 않은 커널은 동적으로 지연하거나 재정렬하여, 대기 시간을 다른 스트림의 계산과 겹치도록 한다.
  • 각 커널 지연 시간을 모니터링하여 다중 테넌트 GPU 환경을 지원하며, 런타임 리소스 재할당과 워크로드 격리를 가능하게 한다.

실험 결과

연구 질문

  • RQ1엄격한 지연 SLO 하에서 런타임 동적 커널 결합 및 재정렬이 상호작용형 DNN 추론 워크로드에서 GPU 활용도를 크게 향상시킬 수 있는가?
  • RQ2GPU 추론에서 단순 시간 분할과 최적의 공간-시간 스케줄링 간의 성능 격차는 어느 정도인가?
  • RQ3VLIW 기반 JIT 컴파일러는 다중 실행 스트림 간 이질적인 DNN 커널을 얼마나 효과적으로 결합할 수 있는가?
  • RQ4커널 구성의 자동 튜닝이 런타임 동적 슈퍼커널 생성의 효율성을 향상시킬 수 있는가?
  • RQ5정적 AOT 컴파일링 대비 동적 JIT 컴파일링이 처리량 및 리소스 활용도 측면에서 얼마나 더 나은 성능을 낼 수 있는가?

주요 결과

  • 제안된 OoO VLIW JIT 컴파일러는 ResNet-18 중간 컨볼루션에 대해 시간 분할 대비 기하평균 처리량 속도 향상 7.71×, Hyper-Q 공간 멀티플렉싱 대비 3.23× 향상하였다.
  • RNN/LSTM 추론에서 행렬-벡터 곱셈의 결합은 시간 분할 대비 2.48×의 속도 향상을 보이며, 다양한 DNN 유형에 광범위하게 적용 가능함을 입증하였다.
  • 블로킹 구성의 자동 튜닝은 공동 사용 최적화 커널에서 최대 1.25×의 처리량 향상을 이끌었으며, 고립 상태일 경우 20%의 성능 저하가 발생하더라도 여전히 유의미한 이점이 있었다.
  • 커널 결합으로 인한 유휴 시간을 다른 스트림의 활성 계산과 겹쳐, GPU 활용도 저하 요인을 줄였다.
  • 각 커널 지연 시간을 모니터링함으로써 테넌트 간 동적 리소스 재할당이 가능해져 예측 가능성과 격리성 향상에 기여하였다.
  • 본 연구는 현재의 시간 분할 기반 접근과 이론적 최적의 공간-시간 스케줄링 간에 GPU 활용도 격차가 7.7배에 이르는 잠재적 기회가 있음을 규명하였다.

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

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

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

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