[論文レビュー] Compiler Enhanced Scheduling for OpenMP for Heterogeneous Multiprocessors
本稿では、big.LITTLE非均質マルチプロセッサにおけるOpenMP向けに、ハードウェアに配慮したコンパイラ拡張スケジューリング(CES)フレームワークを提案する。コンパイラ変換とスケジューリングディレクティブを用いて、ワークロード特性に基づくスレッド配置最適化を実現する。NPBおよびFSUベンチマーク全体で平均して実行時間を18%削減し、エネルギー消費量を14%削減する。実行時スケジューリングに比べて、静的解析とワークロード盗み(work-stealing)ヒューリスティクスを活用することで優れた性能を発揮する。
Scheduling in Asymmetric Multicore Processors (AMP), a special case of Heterogeneous Multiprocessors, is a widely studied topic. The scheduling techniques which are mostly runtime do not usually consider parallel programming pattern used in parallel programming frameworks like OpenMP. On the other hand, current compilers for these parallel programming platforms are hardware oblivious which prevent any compile-time optimization for platforms like big.LITTLE and has to completely rely on runtime optimization. In this paper, we propose a hardware-aware Compiler Enhanced Scheduling (CES) where the common compiler transformations are coupled with compiler added scheduling commands to take advantage of the hardware asymmetry and improve the runtime efficiency. We implement a compiler for OpenMP and demonstrate its efficiency in Samsung Exynos with big.LITTLE architecture. On an average, we see 18% reduction in runtime and 14% reduction in energy consumption in standard NPB and FSU benchmarks with CES across multiple frequencies and core configurations in big.LITTLE.
研究の動機と目的
- big.LITTLEのような非均質マルチプロセッサ上でマルチスレッドOpenMPプログラムをスケジューリングする際、ハードウェアに無関心なコンパイラによる非効率を是正すること。
- コンパイル時に静的プログラム解析とハードウェアに配慮したスケジューリング意思決定を統合することで、実行時およびエネルギー効率を向上させること。
- ワークロードパターンとコア特性に基づいてコンパイラがスレッド配置をガイドできるようにすることで、動的実行時スケジューリングへの依存度を低減すること。
- 実際のbig.LITTLEハードウェア上で、コア数、周波数、スレッドワークロードの変動に応じたコンパイラ指向スケジューリングの有効性を評価すること。
提案手法
- コンパイラは、計算およびメモリアクセスパターンに基づいて、OpenMPのワークシェアリング構文(例:parallel for、sections)を分類する静的解析を実行する。
- 不規則的または負荷が偏ったループに対しては、動的負荷分散のためのワークリスト生成と、ワークロード盗み(work-stealing)を用いたプログラム変換を適用する。
- 実行時スケジューラが特定のスレッドをbigコアまたはLITTLEコアに割り当てるように誘導するスケジューリングディレクティブを挿入する。この割り当ては、予測された性能およびエネルギー影響に基づく。
- 静的、動的、ガイド付きの複数のスケジューリングポリシーをサポートし、各ポリシーに適した変換を適用することで、オーバーヘッドを最小限に抑え、負荷バランスを向上させる。
- 2+2、4+2、4+4コアなどの異なるハードウェア構成や、1.3GHz、1.9GHzなどの周波数変更に対応するため、コンパイル時にスレッド配置を再最適化する。
- Samsung Exynosのbig.LITTLEアーキテクチャ上で、NPBおよびFSU-OpenMPベンチマークを用いて、プロトタイプコンパイラを実装および評価した。
実験結果
リサーチクエスチョン
- RQ1純粋な実行時スケジューリングと比較して、コンパイラに配慮したスケジューリングフレームワークは、big.LITTLEアーキテクチャ上で実行時およびエネルギー効率を向上させることができるか?
- RQ2OpenMP構文の静的解析は、単独での動的ヒューリスティクスに比べて、より優れたスレッド配置意思決定を可能にするか?
- RQ3変換済みのループにおけるワークロード盗み(work-stealing)は、異なるコア構成において、性能とスケーラビリティをどの程度向上させるか?
- RQ4異なるコア周波数および比率が、コンパイラ拡張スケジューリングによる性能およびエネルギー利得にどのように影響するか?
主な発見
- big.LITTLEシステム上で複数のNPBおよびFSUベンチマークを対象に平均して、CESフレームワークは実行時間を18%削減し、エネルギー消費量を14%削減した。
- ワークロード盗み(work-stealing)を有効にしたEPベンチマークでは、実行時間が20%改善され、エネルギー効率が8%向上した。これは、ワークロードサイズに応じたスケーラビリティの向上を示している。
- LITTLEコア周波数を低めの1GHzに設定したISベンチマークでは、エネルギー削減率が特に高く(28%)なった。これは、非対称周波数スケーリング下でも優れた負荷バランスを実現していることを示している。
- 2+2、4+2、4+4の異なるコア比率に対しても、一貫した性能向上を維持しており、ハードウェア構成の変更に適応可能であることを示している。
- セクションアフィニティを強制した変更済みマルチタスクベンチマークでは、エネルギー効率に顕著な利益(最大28%)が得られ、スケジューリングのばらつきが低減され、予測可能性が向上した。
- 静的解析とターゲットドリブンなコンパイラ変換を活用することで、実行時変動を低減し、エネルギー効率を向上させた。このアプローチは、HMPスケジューリングを上回った。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。