研究概要 |
本研究の目的は,高並列クラスタ計算環境において,共有メモリ型並列プログラミングモデルを採用することにより,プログラミング時の負担軽減と,並列実行時の効率向上との両立を図ることにあった。 まず,並列プログラムの実行評価実験を行うためのプラットホームとして,ノード8台から成る基礎的なクラスタシステムを構築した。また,共有メモリ型並列プログラミングモデルの代表としてはOpenMPを,一方の高並列クラスタ計算環境における並列プログラム実行方式の代表としてはMPI通信ライブラリを,それぞれ主たる検討対象として選定し,両者の比較対照研究を行った。そして,前者によって記述されたプログラムから,後者の分散メモリ型並列プログラムへの変換を自動的に行うトランスレータ(翻訳系)を開発することで,本研究の目的の達成を図ることとした。 OpenMPとMPIの相違点は,「データ属性」に集約される。すなわち,前者では,スレッド間で共有する「sharedデータ」が存在し,それがプログラマの負担軽減の大きな要因となっている。ところがMPIでは,各プロスセスに固有の「privateデータ」のみしかなく,この差異をいかに吸収するかが最大の課題であった。 共有メモリ型並列プログラミングモデルの例として,UPCについても検討したが,データ属性のデフォルトが「private」であることをはじめ,標準化や普及の度合いの点からもOpenMPを凌駕するには至らないとの結論に達した。 本研究で開発したトランスレータを用いて数種類のOpemMPプログラムをMPIプログラムに変換し,その効果について評価した。その結果,局所性の高いプログラムについては,仮想分散共有メモリシステムによる実装方式よりも,高い並列実行効率を発揮させられることが確認できた。
|