2012 Fiscal Year Annual Research Report
動的スカラ展開によるオンザフライ並列化に関する研究
Project/Area Number |
22500046
|
Research Institution | Kyoto Institute of Technology |
Principal Investigator |
柴山 潔 京都工芸繊維大学, 工芸科学研究科, 教授 (70127091)
|
Co-Investigator(Kenkyū-buntansha) |
平田 博章 京都工芸繊維大学, 工芸科学研究科, 准教授 (90273549)
布目 淳 京都工芸繊維大学, 工芸科学研究科, 助教 (60335320)
|
Project Period (FY) |
2010-04-01 – 2013-03-31
|
Keywords | 並列処理 / スカラ展開 / メモリリネーミング / スレッドレベル並列性 / 投機実行 / マルチプロセッサ / キャッシュ機構 |
Research Abstract |
近年、マルチコアプロセッサが商用のマイクロプロセッサとして市販され普及しており、複数のスレッドを並列に実行するスレッドレベル並列処理が注目されている。しかし、逐次実行を前提として記述されたプログラムから自動的にスレッドレベルの並列性を抽出することは困難な現状にある。スレッドレベルの並列性抽出を妨げる依存関係には、データ自体に関する依存関係であるフロー依存だけでなく、データの格納場所に関する依存関係である逆依存と出力依存がある。 このうち、本研究では、逆依存と出力依存によるハザードを除去する技術を開発した。かつてベクトル化コンパイラで利用されたスカラ展開をスレッドレベル並列処理用に一般化したものであり、マルチプロセッサ上でオンザフライ(実行時)にスレッド間の逆依存と出力依存の関係によるハザードを除去する。メモリリネーミングと名付けた本方式は、メモリ上のデータを対象として大規模なデータ依存解析を実現可能とする点、及び、静的スカラな展開技術を一般化してオンザフライ並列化技術として実現するという点で、学術的に高い独創性と意義を有する。 メモリリネーミングでは、並列実行する各スレッドで共有する変数に対して、キャッシュを用いてスレッドごとに格納場所を用意する。メモリリネーミングを実現するための各機構について、具体的な実現方式を開発及び設計し、その有効性をシミュレーションによって評価及び検証した。その結果、実際のプログラムに内在するスレッド間依存関係の大部分が逆依存と出力依存によるものであることを確かめ、また、それらによって引き起こされるハザードを完全に除去できることを確認した。スレッドレベル並列処理の適用範囲を拡大する点で多大な成果を上げたと言える。
|
Current Status of Research Progress |
Reason
24年度が最終年度であるため、記入しない。
|
Strategy for Future Research Activity |
24年度が最終年度であるため、記入しない。
|