大規模並列システムのための効率的なプロセッサ割当て方針に関する研究
【研究分野】計算機科学
【研究キーワード】
並列計算 / 並列プログラミング環境 / MPI / プロセッサ割当て / スケジューリング / 分子動力学計算 / 計算化学 / 大規模並列計算機 / 科学技術計算 / 分子動力学シミュレーション / 空間分割法 / 大規模並列システム / マスタ / スレープ方式
【研究成果の概要】
本研究では、並列計算を基本ソフトウェアのレベルから支援するためシステムParsleyと、その上で動作する分子動力学計算の並列プログラムの開発を行った。Parsleyでは、アプリケーションプログラムは並列処理可能な部分問題(サブタスクと呼ぶ)に分割され、それらを単位としてプロセッサが割り当てられ実行される。サブタスク間には、実行の先行制約が依存関係として定義され、それとともにサブタスクグラフが形成される。システムはそのサブタスクの内容に従ってプロセッサの割り当て(スケジューリング)を行う。サブタスクの定義は、物理的なハードウェア構成とは独立であり、また、サブタスク間の通信も実行時にプロセッサ間の通信(MPIの通信命令)に変換される。分子動力学計算のプログラムを、Parsleyを用いて実現し、日立SR2201(プロセッサ数125台)上で実行して、従来の空間分割法と実行時間を比較したところ、空間分割法に比べて3.8倍の高速化を達成した。また、COMPAQ DS20クラスタ(プロセッサ数16台)では、10倍以上の高速化を達成した。このような性能を得るのに、プログラムの変更は、まったく必要とせず、Parsleyの動的なスケジューリング機能が、ハードウェア環境に十分適応できることを示すことができた。さらに、上記の計算機やワークステーションから構成される異種分散環境においても、プログラムの変更なしに、プロセッサを有効に利用し、高い性能が得ることができることを示した。本研究では、タスク間の依存関係に繰り返し構造がある場合、過去の実行履歴をもとにタスクの優先度を自動的に調整する、新しい機構を開発した。この機構により、プロセッサの利用率を通常の動的なプロセッサ割当てに比べて、35〜55%向上させることができた。本研究で開発したシステムのソースプログラムは一般に公開している。
【研究代表者】
【研究分担者】 |
中村 周吾 | 東京大学 | 大学院・農学生命科学研究科 | 助手 | (Kakenデータベース) |
池口 満徳 | 東京大学 | 大学院・農学生命科学研究科 | 助手 | (Kakenデータベース) |
|
【研究種目】基盤研究(C)
【研究期間】1998 - 2000
【配分額】3,200千円 (直接経費: 3,200千円)