研究概要 |
本研究では,大量のデータを扱う大規模科学値計算プログラムに対して,入力データを高速に供給するとともに計算結果を高速にファイル出力させるために,並列スーパーコンピュータ等で広く利用されているMPI(message passing interface)の上で,並列にファイル入出力を行うための機構を研究している. 本年度は,MPIで書かれたプログラムの並列実行部分から呼び出されて集団型入出力(collective I/O)を行う関数群を構築するための基礎技術の開発と,プロトタイプの実装を行った.また,このプロトタイプを用いて,MPIの実装の中でもっとも普及しているMPICHとの性能比較実験を行った.この実験の結果,以下のようなことが明らかとなった. (1)本研究で提案している集団型入出力機構は,プログラミング上の負担が軽減できるだけでなく,複数のディスクを用いれぱ十分な並列効果を生むことができる.また,単一のディスクしか利用できないような環境でも,大幅な性能低下を生じない. (2)比較の対象に取り上げたMPICHに採用されている集団型入出力関数の実装は極めて非効率的であり,本研究で開発したプロトタイプよりも最大で数十倍も性能が低いため,この点で改善の必要がある. 一方,プログラムとディスクの間の高速データ転送のためのもうひとつの手段として,メモリマップトファイル入出力がある.そこで,これを並列実行モードで用いることができるような並列プログラミング言語を実現するため,これに向けた予備的な検討も行った.
|