[目次] [1ページ目に戻る] [前ページ] [次ページ] [質疑応答]


(4/7)
4.並列プログラム実行支援環境PPExe

 PPExeはPPDE上で作成したプログラムの実行を支援するための統合利用環境である。ネットワーク上に散在する計算機資源を利用し計算を行うためには、利用者のデータやアプリケーションの所在を正確に把握し、計算に用いるデータを正しいファイルディレクトリ上に用意し、正しい手順でプログラムを起動させなくてはならない。単一計算機上であれば困難ではないが、対象となる計算機が複数となったときには、機種による幾つかの差異の問題、スケジューリングの問題等々を解決しなくてはならない。
 PPExeではこれら問題を解決するために、時々刻々変化する分散システムの情報を正確に把握し、利用者ならびにシステムの資源を仮想的にひとつのシステムとして見せることで分散並列計算を容易なものとする。またユーザインターフェースを簡易なものとして提供することで、より簡単な操作で分散並列計算を実現可能な環境を提供する。さらに収集した資源情報を元にして分散並列プログラムの効率的な実行を実現する新たなスケジューリング手法の実現を目指している[16]

 PPExeの機能は次の4項目から構成される。

4.1 RIM(資源情報サーバ)

 RIMは分散並列システム上に存在する各種資源に関する情報を常時収集・解析し必要に応じて他のサービスに提供するサービスである。情報資源サーバが提供するは各種多岐にわたり、各並列計算機の演算能力、記憶容量、 ネットワーク性能や負荷状態等々の現時刻での情報および統計・予測情報である。資源情報サーバはSSP上の様々なサービス群から参照され、提供する情報は分散並列プログラムの効率的な実行に利用される。また利用者が資源情報を逐次参照する機能も提供されており、各並列計算機の利用状況を利用者が参照しプログラム実行時に利用することも可能である。

4.2 EMS(分散資源管理システム)

 EMSは開発した並列プログラム、 データファイル、特定機種に依存するアプリケーション(可視化ツールなど)等の異機種計算機上に分散する資源の所在を正確に把握するとともに、利用者が指定したファイル間の関係をデータベースとして管理する。他システムからの要求に応じて、計算時に必要なデータを実際に計算するマシンに対して転送すると共に、プログラムの起動や終了の監視を行う。プログラム実行中に作成されたデータの管理も同様に本システムがその役割を担う。

4.3 TME(タスクマッピングエディタ)

 TMEはネットワーク上の様々な計算機に分散するアプリケーションやデータの依存関係をドローツールの感覚で定義するエディタ(図4)であると同時に分散並列アプリケーションの実行を行うハンドリングツールでもある。 TMEによって定義されたデータの流れはEMSとの連携により実行時に必要な計算機上に自動的に転送され、定義された順にアプリケーションが逐次実行される。TMEで定義された処理は新たなアプリケーションとして扱うことができ、それらを組み合わせたアプリケーションをTME上で更に定義していくことができる。
 TMEを用いることにより、利用者は計算機が分散して稼働していることを特に意識する必要がなく、単一システムを操作する感覚で作業を行うことができる。


図4 TMEとタスクマッピング

4.4 メタ・スケジューリング機構

 メタ・スケジューリング機構は、資源情報サーバから提供される負荷情報に基づきマクロタスクと呼ばれる処理単位を動的にプロセッサに割り当て効率的な並列処理を実現するものである。本機構は笠原らの提案するマルチグレイン並列化[17]に基づいている。マルチグレイン並列化はコンパイラがループのみに対して行っていた従来の並列化を改善し、様々な粒度の並列処理を階層的に組み合わせる新しい並列化手法である。我々はタスクをプロセッサに割り当てる部分に、資源情報サーバからの情報に基づいた動的なスケジューリング方式を利用する新たな手法メタ・スケジューリングを提案した。

 以下に、メタ・スケジューリング手法の処理概要を説明する。

 まず始めにコンパイラがソースコードをマクロタスクに分割し、 各マクロタスクに対して動的スケジューリングコードを埋め込んだ複数個の並列計算機コードを生成する。動的スケジューリングルーチンは資源情報サーバから提供される情報と個々のマクロタスクの依存関係を参照しながら、 各マクロタスクと並列計算機の組合わせを決め、 次に実行すべきマクロタスクをネットワーク上の適切な並列計算機に割り当て、次のマクロタスクに必要なデータを送るとともに実行制御を移す。マクロタスクに埋め込まれた動的スケジューリングルーチンが資源情報サーバの情報をもとに次に実行すべきマシンを決定し実行制御を移す様子を図5に示す。


図5 メタ・スケジューリングの概念図


[目次] [1ページ目に戻る] [前ページ] [次ページ] [質疑応答]