多様な並列・分散システムのハードウェア基盤に対し、分散する様々な計算機資源を有効に利用し、利用者がハードウェア基盤の多様性を意識しないで分散するデータを効率的に共有することのできる並列プログラミング環境を開発した。本ソフトウェアは、1.大域的なデータの管理を行い、データを利用者の指定やシステムの自動的な割当てによって配置する資源管理システム、2.共有メモリに基づくプログラミングモデルを提供する並列プログラミング環境、3.その上に実現される大域的配列(行列)操作ライブラリから構成される。本研究では、現実の利用を考え、共有データ領域へのアクセスに関する部分以外は、既存のプログラムの変更がほとんど必要ないようにした。また、データの配置や複製の作成について、資源管理機構を実現し、それらの半自動化を図った。本ソフトウェアでは、各ノードが巨大な配列の部分的なレプリカを保持することにより、効率的なデータ共有を実現する。レプリカは互いに重複して保持することができ、しかも動的にその範囲を変更できるようにしている。そのため、重複部分のデータ管理には、申請者らが開発したグループメンバシッププロトコルを採用し、非同期に封鎖することなく、レプリカの維持・管理が行えるようにした。開発したシステムを、遺伝子クラスタリシグ、配列のマルチプルアラインメント、分子動力学計算など、生命情報科学の現実のアプリケーションに対して適用し、分散するデータを効率的に操作・管理できること、MPIのプログラムと比較して、ノード数が増大してもスケーラブルな性能が得られることを確認し、本システムの有効性を実証した。
|