Skip to main content
QUICK REVIEW

[論文レビュー] Holistic Management of the GPGPU Memory Hierarchy to Manage Warp-level Latency Tolerance

Rachata Ausavarungnirun, Saugata Ghose|arXiv (Cornell University)|Apr 30, 2018
Parallel Computing and Optimization Techniques参考文献 49被引用数 5
ひとこと要約

本論文では、GPGPUワープのメモリ分散動作に基づき、動的にキャッシュ利用効率が高いか低いかに分類するハードウェアに配慮した手法であるMemory Divergence Correction (MeDiC) を提案する。MeDiCは、この分類に基づきキャッシュバイパス、挿入、メモリスケジューリングを最適化することで、15のGPGPUワークロード全体で、最先端のGPUキャッシュ管理手法と比較して平均21.8%の高速化と20.1%の高いエネルギー効率を達成した。これは、キャッシュキューイング遅延の低減と有益なワープのヒットレート向上に起因する。

ABSTRACT

In a modern GPU architecture, all threads within a warp execute the same instruction in lockstep. For a memory instruction, this can lead to memory divergence: the memory requests for some threads are serviced early, while the remaining requests incur long latencies. This divergence stalls the warp, as it cannot execute the next instruction until all requests from the current instruction complete. In this work, we make three new observations. First, GPGPU warps exhibit heterogeneous memory divergence behavior at the shared cache: some warps have most of their requests hit in the cache, while other warps see most of their request miss. Second, a warp retains the same divergence behavior for long periods of execution. Third, requests going to the shared cache can incur queuing delays as large as hundreds of cycles, exacerbating the effects of memory divergence. We propose a set of techniques, collectively called Memory Divergence Correction (MeDiC), that reduce the negative performance impact of memory divergence and cache queuing. MeDiC delivers an average speedup of 21.8%, and 20.1% higher energy efficiency, over a state-of-the-art GPU cache management mechanism across 15 different GPGPU applications.

研究の動機と目的

  • SIMD実行に起因し、最も遅いメモリ要求が全ワープを停止させる、GPGPUワープにおけるメモリ分散による性能劣化を是正すること。
  • ワープ間のメモリアクセスパターンの非均一性、特にキャッシュヒット/ミス行動の差異を活用すること。
  • リアルタイムでのワープ分類に基づき、キャッシュバイパス、挿入、メモリスケジューリングを知的に制御することで、L2キャッシュにおける高いキューイング遅延の影響を軽減すること。
  • 高効用ワープを優先し、共有メモリリソースへの競合を最小限に抑えることで、性能とエネルギー効率の両方を向上させること。

提案手法

  • ワープレベルのメモリ分散動作をオンラインでハードウェアプロファイリングし、ワープを高キャッシュ利用効率または低キャッシュ利用効率に分類する。
  • 低効用ワープ(主にミス)からのリクエストをL2キャッシュを迂回するキャッシュバイパス機構を採用し、キューイング遅延の低減と帯域の解放を図る。
  • 高効用ワープ(主にヒット)からのデータを保持するキャッシュ挿入ポリシーを採用し、早期の排出を防ぎ、ヒットレートを向上させる。
  • 高効用ワープからのリクエストを優先するメモリコントローラーの優先スケジューリング方式を採用し、スタップ時間を最小限に抑える。
  • リアルタイムでのワープ分類に基づき、キャッシュおよびメモリ階層のコンponentsを統合的に共同設計することで、全体の遅延を低減する。
  • ワープ分散動作の時間的安定性を活用し、頻繁な再分類を必要としない信頼性の高い長期最適化を可能にする。

実験結果

リサーチクエスチョン

  • RQ1L2キャッシュにおけるワープ間のメモリ分散動作の非均一性を活用することで、GPUの性能とエネルギー効率を向上させることは可能か?
  • RQ2ワープを高効用および低効用カテゴリに動的に分類することで、キャッシュキューイング遅延の影響をどの程度軽減できるか?
  • RQ3ワープレベルの分散特性に基づき、キャッシュバイパス、挿入、メモリスケジューリングを一体的に最適化できるか?
  • RQ4主にヒットするワープを完全ヒットに、主にミスするワープを完全ミスに変換することで、全体のスタップ時間を短縮し、リソース利用効率を向上させられるか?

主な発見

  • MeDiCは、キャッシュ利用効率に基づきワープを分類し、ターゲットとなる最適化を適用することで、メモリ分散の性能への影響を低減する。
  • MeDiCは、15の多様なGPGPUアプリケーション全体で、最先端のGPUキャッシュ管理手法と比較して平均21.8%の高速化を達成した。
  • MeDiCは、同じベースラインと比較して20.1%高いエネルギー効率を実現した。これは、キャッシュトラフィックとキューイング遅延の低減に起因する。
  • ワープ分散動作の時間的安定性により、頻繁な再分類を必要とせず、信頼性の高い長期最適化が可能である。
  • 低効用ワープに対するキャッシュバイパスにより、競合が軽減され、L2帯域が解放され、高効用ワープのパフォーマンスが向上する。
  • 高効用ワープからのリクエストを優先することで、高いメモリ負荷下でもスタップ時間が顕著に短縮される。

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

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

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

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