Skip to main content
QUICK REVIEW

[論文レビュー] Adaptive and application dependent runtime guided hardware prefetcher reconfiguration on the IBM POWER7

David Prat, Cristobal Ortega|arXiv (Cornell University)|Jan 9, 2015
Embedded Systems Design Techniques被引用数 4
ひとこと要約

本論文は、IBM POWER7を基盤として、アプリケーション固有のワークロード特性に基づき、ハードウェアプリリフェッチャーの設定を動的にソフトウェア駆動で再構成するランタイムメカニズムを提案する。OmpSsランタイムにおけるタスクレベルでのパフォーマンスカウンター収集を活用し、プリリフェッチャーの深さ、ストライド検出、ストアプリリフェッチングといった最適な設定を自動で選択することで、多様なHPCワークロードにおいて顕著なパフォーマンス向上とエネルギー消費削減を実現する。

ABSTRACT

Hardware data prefetcher engines have been extensively used to reduce the impact of memory latency. However, microprocessors' hardware prefetcher engines do not include any automatic hardware control able to dynamically tune their operation. This lacking architectural feature causes systems to operate with prefetchers in a fixed configuration, which in many cases harms performance and energy consumption. In this paper, a piece of software that solves the discussed problem in the context of the IBM POWER7 microprocessor is presented. The proposed solution involves using the runtime software as a bridge that is able to characterize user applications' workload and dynamically reconfigure the prefetcher engine. The proposed mechanisms has been deployed over OmpSs, a state-of-the-art task-based programming model. The paper shows significant performance improvements over a representative set of microbenchmarks and High Performance Computing (HPC) applications.

研究の動機と目的

  • ハードウェアプリリフェッチャーにおける自動ランタイムチューニングの欠如が、しばしばパフォーマンスとエネルギー効率の最適化を妨げることに対処する。
  • パフォーマンスを低下させ、帯域幅と電力を無駄に消費する固定またはデフォルトのプリリフェッチャー設定の限界を克服する。
  • ランタイムでのパフォーマンスメトリクスを用いて、アプリケーションに適応したPOWER7ハードウェアプリリフェッチャーの動的再構成を可能にする。
  • アプリケーションワークロードおよびタスクタイプに応じてプリリフェッチャー設定を適応的に変更することで、パフォーマンスとエネルギー効率を向上させる。
  • 生産環境レベルのタスクベースプログラミングモデル(OmpSs)への適応的プリリフェッチ制御の実現可能性と利点を示す。

提案手法

  • タスクレベルでのパフォーマンスカウンター収集を可能にするOmpSsランタイムシステムを活用し、アプリケーション動作の細粒度プロファイリングを実現する。
  • 二段階のメカニズムを採用:探索段階では複数のプリリフェッチャー設定が評価され、その後安定段階では最良の設定が使用される。
  • SMTスレッドごとにデータストリーム制御レジスタ(DSCR)を設定することで、プリリフェッチャーの深さ、ストライド検出、ストアプリリフェッチングの独立した制御を可能にする。
  • IPC、キャッシュミス、メモリ帯域幅の監視にハードウェアパフォーマンスカウンターを活用し、設定選択を支援する。
  • 性能向上が顕著でない場合に、積極的なプリリフェッチを無効化するしきい値ベースの電力節約戦略を適用する。
  • OmpSsタスクを種別することで、ワークロード固有のプリリフェッチャー設定を適用し、異なるタスクタイプが異なるメモリアクセスパターンを示すことに着目する。

実験結果

リサーチクエスチョン

  • RQ1実世界のHPCアプリケーションにおいて、ハードウェアプリリフェッチャー設定の動的ランタイム適応がパフォーマンスとエネルギー効率を向上させ得るか?
  • RQ2アプリケーション固有のメモリアクセス動作は、POWER7における最適なハードウェアプリリフェッチャー設定にどのように影響するか?
  • RQ3設定決定のためのランタイムパフォーマンスデータ収集に伴うパフォーマンスオーバーヘッドはどの程度で、最小限に抑えることができるか?
  • RQ4OmpSsにおけるタスクレベル分類は、より効果的かつ適応的なプリリフェッチャーチューニングを可能にするか?
  • RQ5性能を損なわせることなく、エネルギー消費を削減するため、どの程度まで積極的なプリリフェッチャー設定を回避できるか?

主な発見

  • 提案されたランタイムメカニズムは、代表的なマイクロベンチマークおよびHPCアプリケーションにおいて、最適なプリリフェッチャー設定を動的に選択することで顕著なパフォーマンス向上を達成する。
  • 不規則なメモリアクセスパターンを示すワークロードに対しても性能向上が確認され、規則的なストライドを超えた適応的設定の有効性が裏付けられる。
  • 探索段階におけるパフォーマンスオーバーヘッドは極めて小さく、パフォーマンスカウンターのサンプリング頻度が低く、かつアプリケーション内の少数のタスクに代表的なパフォーマンスデータが存在するためである。
  • タスクタイプ分類によりチューニングの正確性が向上し、異なるOmpSsタスクタイプが異なるメモリアクセス特性を示すため、それぞれに最適なプリリフェッチャー設定が有効に機能する。
  • IPC向上のしきい値未満の設定に限定して積極的プリリフェッチを無効化する電力節約戦略が、パフォーマンス劣化を伴わずエネルギー消費を効果的に削減した。
  • 本ソリューションは実ハードウェアでも移植可能で効果的であり、ランタイムソフトウェアが知的にハードウェアプリリフェッチャーを再構成することで、パワーサイズとパフォーマンスのバランスを最適化できることを実証した。

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

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

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

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