本研究では、共有メモリ型マルチプロセッサシステム上での粗粒度並列処理手法であるマクロデータフロー処理手法の実現方式の検討と性能評価を行った。従来よりマルチプロセッサシステム上で用いられているマルチタスキング等の粗粒度並列処理手法では、ユーザによる粗粒度タスク(マクロタスク)間の並列性抽出が困難である、OS等によるマクロタスクのダイナミックスケジューリングはオーバーヘッドが大きいという問題がある。これに対して本マクロデータフロー処理では、コンパイラが自動的にマクロタスク間の並列性を抽出するとともに、マクロタスクのダイナミックスケジューリングがコンパイラの自動生成するダイナミックスケジューリングコードによって行われるため、オーバーヘッドを低く抑えることが可能である。本研究では、はじめにターゲットアーキテクチャとなる共有メモリ型マルチプロセッサシステムのハードウエアや実行論理等を調査した。次に、本調査結果をもとにマクロデータフロー処理の実マルチプロセッサシステム上で実現方式を検討した。さらに、主記憶共有メモリ型マルチプロセッサシステムであるAlliant FX/4および分散共有キャッシュメモリ型マルチプロセッサシステムであるKendall Square Research KSR1上でマクロデータフロー処理を実現し、性能評価を行った。性能評価の結果、マクロデータフロー処理が、マルチタスキング等の従来手法を適用した場合に比べて、プログラムの実行時間を1/1.92から1/8.10に短縮することが確認され、マクロデータフロー処理の有効性が確認された。最後に本研究成果を論文として発表した。
|