Skip to main content
QUICK REVIEW

[論文レビュー] The OoO VLIW JIT Compiler for GPU Inference

Paras Jain, Xiangxi Mo|arXiv (Cornell University)|Jan 28, 2019
Parallel Computing and Optimization Techniques参考文献 26被引用数 4
ひとこと要約

本論文は、GPU推論のための順序入れ替え可能なVLIW型Just-in-Time(JIT)コンパイラを提案する。このコンパイラは、実行時における複数の実行ストリームからの異種カーネルを統合・再順序付けすることで、厳密な遅延SLO(Service Level Objective)を満たしつつスループットを最大化する。動的かつランタイムでのカーネル統合と再配置により、スーパーカーネルにパッケージ化することで、時間スライシングに比べ最大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.

研究の動機と目的

  • インタラクティブなDNN推論ワークロードにおいて、低並列性と厳しい遅延SLOが性能効率を制限するという深刻な問題に対処すること。
  • TensorRTのような静的、事前コンパイル型コンパイラが、動的でバースト性の高い推論ワークロードに適応できないという限界を克服すること。
  • 複数の実行ストリームに跨る異種カーネルを動的かつランタイムで統合・再順序付けすることで、GPUの計算およびメモリ利用効率を最大化すること。
  • ハードウェアの複雑さをJITコンパイラに移管するVLIW型のコンパイルモデルを検討し、GPU上で効率的な空間時間スケジューリングを実現すること。
  • 動的カーネルパッケージングが、単純な時間スライシングと最適な空間時間利用の間の7.7倍の効率格差を埋められることを実証すること。

提案手法

  • JITコンパイラは複数の独立した推論ストリーム上で実行時に行われ、小規模で独立したカーネルを統合してより大きなスーパーカーネルにすることで、メモリおよび計算利用効率を向上させる。
  • 実行順序を動的に制御する順序入れ替え戦略を採用し、遅延SLOを満たせるカーネルを優先的に実行することで、スループットを最大化する。
  • 自動チューニングを活用して、一般的なカーネルクラスタの最適なカーネル設定(例:ブロッキングパラメータ)を事前に計算し、ランタイムコンパイルのオーバーヘッドを低減する。
  • カーネル統合は、行列乗算演算の形状ごとのクラスタリングに基づき、パディングを最小限に抑え、cuBLASに類似したバッチ処理を効率的に行えるようにする。
  • まだ統合できないカーネルは動的に遅延または再順序付けされ、他のストリームからの計算と重ねて実行することで待機時間を活用する。
  • 各カーネルの遅延を監視することで、マルチテナントGPU環境をサポートし、ランタイムでのリソース再割り当てとワークロード隔離を可能にする。

実験結果

リサーチクエスチョン

  • RQ1動的かつランタイムでのカーネル統合と再順序付けは、厳密な遅延SLOを満たす条件下でも、GPU利用効率を顕著に向上させることができるか?
  • RQ2GPU推論における単純な時間スライシングと最適な空間時間スケジューリングの間の実現可能な性能格差はどの程度か?
  • RQ3VLIW型のコンパイルモデルは、複数の実行ストリームに跨る異種DNNカーネルの統合にどの程度効果的か?
  • RQ4カーネル設定の自動チューニングは、ランタイムでの動的スーパーカーネル生成の効率を向上させるか?
  • RQ5動的JITコンパイルは、静的で事前コンパイル型のコンパイルに比べ、スループットおよびリソース利用効率をどの程度向上できるか?

主な発見

  • 提案されたOoO VLIW JITコンパイラは、ResNet-18の中間畳み込み層において、時間スライシングに比べ7.71倍の幾何平均スループット向上を達成し、Hyper-Qの空間多重化に比べ3.23倍の向上を示した。
  • RNN/LSTM推論における行列ベクトル乗算の統合により、時間スライシングに比べ2.48倍のスループット向上が得られ、DNNの種別を問わず広範に適用可能であることが示された。
  • ブロッキング設定の自動チューニングにより、共用最適化カーネルでは最大1.25倍のスループット向上が達成されたが、孤立状態では20%の性能低下が見られた。
  • カーネル統合に伴うアイドル時間を、他のストリームからのアクティブな計算と重ねることで、GPU利用効率のボトルネックを低減した。
  • 各カーネルの遅延を監視することで、テナント間でのリソース再割り当てを動的に可能にし、予測可能性と隔離性を向上させた。
  • 本研究では、現在の時間スライシング手法と理論的最適な空間時間スケジュールとの間で7.7倍の利用効率格差が存在することが同定された。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。