研究概要 |
本研究の目的は,並列計算機システムの複雑な協調動作を視覚的に表し,並列アルゴリズムの分析やパフォーマンス改善を行うための視覚化ツールの開発であった. 研究は以下の手順で行った. (1)対象言語としては並列プログラミング言語Lindaを用いた.Lindaはサーバ・クライアントモデルに基づく並列プログラミング言語で、各クライアントはサーバを通じて他のクライアントと通信を行い,並列に動作する.我々は,Lindaサーバを改造し視覚化を行うための手続きを付加した.つまり,クライアントからの通信要求が到着すると,サーバはその通信種別,通信内容,到着時間を視覚化モジュールに渡す. (2)視覚化モジュールはSiliconGraphics社製3次元グラフィックスワークステーションIRIS Indigo-上に実現された.視覚化に3次元空間を利用することで,クライアント間関係(つまりどのプロセッサ内でどのプロセスが走っているか)をxy平面に記述しつつ,z軸を時間軸にとることで,プロセスの時間関係を同時に把握することができた.視覚化モジュールはLindaサーバから情報を受け取ると直ちに描画を行う.クライアント間の通信は線として表現される. 我々は本システムを用いて幾つかの並列プログラムの視覚化を行った結果,以下のようなことが明らかとなった. (1)複雑な並列システムの協調動作が図として表現されるため並列プログラムに対する理解が深まる. (2)各クライアント間の関係が容易に把握できると同時に,それらの時間変化をも理解できる. (3)処理のボトルネックとなるプロセスの発見が容易 (4)プログラム変更後に再び視覚化を行い,前回の図と比較することでパフォーマンスの評価が可能
|