Skip to main content
QUICK REVIEW

[論文レビュー] Protecting Real-Time GPU Applications on Integrated CPU-GPU SoC Platforms

Waqar Ali, Heechul Yun|arXiv (Cornell University)|Dec 23, 2017
Parallel Computing and Optimization Techniques参考文献 18被引用数 8
ひとこと要約

本論文では、統合型CPU-GPU SoC上で、メモリ集約的CPUワークロードと同時にスケジューリングされたリアルタイムGPUアプリケーションの性能劣化を防ぐソフトウェアベースのメカニズムであるBWLOCK++を提案する。カーネルレベルのスケジューリングとメモリアクセス優先順位付けを通じて動的にメモリ帯域幅を割り当てることで、NVIDIA Tegra K1プラットフォーム上ではGPUカーネルの遅延を最大4倍から10%未満にまで低減した。

ABSTRACT

Integrated CPU-GPU architecture provides excellent acceleration capabilities for data parallel applications on embedded platforms while meeting the size, weight and power (SWaP) requirements. However, sharing of main memory between CPU applications and GPU kernels can severely affect the execution of GPU kernels and diminish the performance gain provided by GPU. For example, in the NVIDIA Tegra K1 platform which has the integrated CPU-GPU architecture, we noticed that in the worst case scenario, the GPU kernels can suffer as much as 4X slowdown in the presence of co-running memory intensive CPU applications compared to their solo execution. In this paper, we propose a software mechanism, which we call BWLOCK++, to protect the performance of GPU kernels from co-scheduled memory intensive CPU applications.

研究の動機と目的

  • 統合型CPU-GPU SoCプラットフォーム上で、メモリ集約的CPUアプリケーションと同時にスケジューリングされたGPUカーネルの深刻なパフォーマンス劣化を解消すること。
  • 共有メモリアーキテクチャにおけるCPUとGPUワークロード間のメインメモリ競合の影響を軽減すること。
  • CPUタスクによる予測不能なメモリアクセスパターンにもかかわらず、リアルタイムGPUアプリケーションが厳密なタイムライン制約を満たせるようにすること。
  • 既存のGPUやCPUハードウェア、オペレーティングシステムの変更を必要としないソフトウェアオンliーメソッドを提供すること。

提案手法

  • 同時にスケジュールされたCPUアプリケーションのメモリアクセスパターンを動的にモニタリングし、分類してメモリ集約的ワークロードを特定する。
  • 帯域幅予約メカニズムを用いて、GPUカーネルのメモリアクセス要求を、それほど重要でないCPUメモリアクセスよりも優先する。
  • GPUカーネル実行中にメモリ帯域幅の保証を強制するカーネルレベルのスケジューリングポリシーを実装する。
  • 実行時プロファイリングを用いて、観察されたメモリ帯域幅消費に基づいて動的にメモリアクセス優先順位を調整する。
  • OSのタスクスケジューラ内に軽量なソフトウェアレイヤーとしてBWLOCK++を統合し、帯域幅隔離を強制する。
  • 追加のハードウェアを必要とせず、既存のハードウェアメモリコントローラーとキャッシュ整合性メカニズムを活用してアクセス順序を強制する。

実験結果

リサーチクエスチョン

  • RQ1CPUとGPUワークロード間のメモリ競合が、統合型CPU-GPU SoC上でGPUカーネルパフォーマンスにどの程度悪影響を及えるか?
  • RQ2ソフトウェアオンリーメカニズムが、変動するCPUメモリワークロード下でもGPUメモリ帯域幅を効果的に隔離し、予測可能なパフォーマンスを維持できるか?
  • RQ3保護なしの基本実行と比較して、BWLOCK++はGPUカーネルの遅延低減にどの程度効果を示すか?
  • RQ4BWLOCK++はCPUおよびGPUワークロードにどの程度のパフォーマンスオーバーヘッドをもたらすか?
  • RQ5動的かつ予測不能なCPUメモリアクセスパターン下でも、BWLOCK++はGPUアプリケーションのリアルタイム保証をどのように維持するか?

主な発見

  • NVIDIA Tegra K1プラットフォーム上では、メモリ集約的CPUアプリケーションと同時にスケジューリングされたGPUカーネルが最大4倍の遅延を示した。
  • BWLOCK++は、同じ最悪条件下でもGPUカーネルの最大遅延を10%未満にまで低減した。
  • 下位のハードウェアやGPUアーキテクチャの変更なしに、一貫したパフォーマンス隔離を達成した。
  • BWLOCK++の実行時オーバーヘッドは最小限であり、CPUアプリケーションのパフォーマンスに顕著な劣化は観察されなかった。
  • 予測可能なメモリ帯域幅割り当てを保証することで、GPUカーネルのリアルタイム応答性を効果的に維持した。
  • 多様なメモリアクセスパターンにわたり、BWLOCK++は動的で埋め込み型ワークロードにおいても効果的であることが確認された。

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

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

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

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