2003 Fiscal Year Annual Research Report
オンチップマルチプロセッサのスレッド抽出と投機的実行に関する研究
Project/Area Number |
15500036
|
Research Institution | Nagoya University |
Principal Investigator |
島田 俊夫 名古屋大学, 工学研究科, 教授 (60252251)
|
Keywords | チップマルチプロセッサ / スレッド分割 / ハードウェア制約 |
Research Abstract |
複数のプロセッサを単一チップに集積するチップマルチプロセッサ(CMP)は,プロセッサ間の通信レイテンシを減少させることが可能であるため,粒度の小さなスレッドレベル並列性を効率よく利用することが可能である.CMPにおいて大きな性能向上を達成するために,コンパイラはプログラムを並列性の高いスレッドに分割する必要がある.しかし非数値計算プログラムは内在する並列性が少なく、5命令に1回程度分岐命令が出現するため制御構造が複雑で,数値計算プログラムに用いられるループのイタレーションのような単純な分割では必ずしも性能は向上しない.この問題に対処するためには,スレッド分割の性能向上を正確に見積もり,多数のスレッド分割候補の中から性能向上が期待できるスレッド分割のみを選択することが必要である. 本研究では2つの性能見積もり方法を提案した。 第一は、スレッド間データ依存が存在する命令間の距離に着目した方法である。あるスレッドで定義された変数を、後続のスレッドで使用する場合、その2命令間の距離を命令数で計り、この距離ができるだけ長くなるようにスレッドを分割する。この方法は正確ではないが簡単であるためコンパイル時間が短縮できる利点がある。 第二は、ハードウェアの特性と資源制約を考慮した、より正確な方法であるがコンパイル時間は長くなる。考慮した特性はノンブロッキングな通信同期機構とアウトオブオーダ実行機構、リオーダバッファとロードストアキューのエントリー数である。コンパイラはこれらの制約を考慮したデータフローグラフを作成し、利得を計算すれば、実際のハードウェア実行をさらに正確に見積もることができる。 SPECint95を用いて評価した結果、第一の方法は1プロセッサに対して最大50.9%、平均24%の性能向上を達成した。第二の方法は第一の方法に対して最大13.4%、平均4.5%の性能向上を得ることができた。
|
Research Products
(1 results)