研究概要 |
本研究は、本申請者がこれまでの研究で開発したFortranプログラム粗粒度タスクの並列処理方式を土台として、階層的並列処理実現に関する研究を行なったもので、研究実績は次の通りである。 (1)細粒度並列処理と粗粒度並列処理の階層化の検討 階層的並列処理は粗粒度タスクをプロセッサクラスタへ割り当て、プロセッサクラスタ内のプロセッサ群を利用して細粒度並列処理を行なうものである。細粒度並列処理においてはコンパイル時に割り当てが行なわれることを利用して、同期コードの挿入を行なっている。一方粗粒度並列処理においてはダイナミックスケジューリング手法を用いることにより、実行すべきタスクが実行時に決定されるという問題に対処している。このため同期情報をハードウェア同期機構に挿入することをプログラム実行時に低オーバーヘッドに行なう必要がある。そこで本研究では同期情報の少ないRBCQ同期機構を考案した。 (2)階層的並列処理を実現する自動並列化コンパイラの開発 上記方式を実現する自動並列化コンパイラを作製した。対象プログラミング言語はC及びHigh Performance Fortranである。本コンパイラでは逐次中間コードを生成の後、並列性解析を行ない、並列中間コードを生成する。また細粒度並列処理のための同期コードおよび粗粒度並列処理のためのダイナミックスケジューリングコードもコンパイラが生成する。これにより実行時ののオーバーヘッドを軽減することが可能となる。なお、本コンパイラは大規模なソフトウェアとなるため、ワークステーションを利用した複数人数による開発となるが、本補助金で購入した設備により開発した。 (3)実マルチプロセッサシステム上での有効性評価 申請者が既に開発している実マルチプロセッサシステム上で本方式により各種アプリケーションプログラムを並列処理し、本自動並列化コンパイラによる階層的並列処理の有用性を検証した。 (4)研究成果のまとめと学会発表 以上の一部をまとめ学会に投稿し採録が決定した。 早川潔,本多弘樹「RBCQ同期機構およびその同期方式の提案と性能評価」並列処理シンポジウムJSPP '97論文集
|