Real World Computing Project 1992-2001 10年史 RWC NEWS
 RWCP10年史 > RWC NEWS(一覧) > Vol. 9  Aug. 1997
Vol. 9  Aug. 1997

並列分散システムパフォーマンス

つくば研究室の研究活動状況

研究室長 佐藤三久

 本研究室の目標は、並列システムの様々な側面での性能評価と、それを活用した高性能化の手法を開発することである。

 並列システムにおける性能とは、これまでの単一プロセッサシステムにおける逐次性能に加えて、台数を変化させた場合の性能やデータやタスク配置を変えた場合の性能など、様々な評価要素がある。ワークステーションクラスタから超並列機など多様な並列計算環境が利用できるようになったが、ある並列アプリケーションに対してどのような性能が必要か、あるいは特定の並列システムでどのような性能が得られるかについては、経験的にしか得ることができず、並列への移行を困難にしている。例えば、逐次プログラムでは基本的なプロセッササイクルが性能決定の主要素になっているが、並列プログラムでは通信性能に大きく関わってくる。それのみならず、並列プログラムがどのような並列構造をもっているかに左右される。これらの評価を予め既にある逐次あるいは並列プログラムを用いて解析し、プログラム開発者に対して有効な支援をすることが必要となっている。また、これからの並列計算機アーキテクチャの開発者に対しても、どのような要素が重要であるかについての示唆を与え、高性能化の研究にフィードバックすることができる(図1)。


図1:性能評価と位置づけ

 図2に本研究室のテーマと関連を示す。


図2:並列パフォーマンス研究室の研究テーマ

 これまで、並列システムを特徴づける性能指標として、データ並列プログラムの基本的な各種Collective通信を取り上げ、つくば研究センタにある超並列機、ワークステーションクラスタ等での通信性能を収集し、データベースを構築してきた。

 このデータは、並列システムの性能評価の基礎データとして、ベンチマークプログラムとともにWWW上で公開している。このデータは、並列システムの利用者に並列システム利用の指針を与えるだけでなく、並列システムの性能の障害となるボトルネック解析に役に立つ。さらに、このデータを基にしてプログラムを解析し、自動的に並列プログラムの性能を予測する手法について研究を進めている。

 並列システムの性能を詳細に解析するためにはシミュレーションによる解析が必要であるが、大規模な並列プロセッサをシミュレーションするには高速化が必須になる。筑波大学の朴研究室と協力して、1000台規模までを目指したシミュレーションシステムの開発を進めている。その第一段階として、対象プログラムコードに解析コードを付加するインストルメンテーションシステムexcitを開発した。この手法は、シミュレーションに比べ高速であるが、これまで、精度に問題があった。現在、さらに高精度化する技法、挙動に関する可視化GUIについて研究中であり、これにより、高速でかつ高精度なキャッシュメモリの解析、性能ボトルネックなどの解析が容易になることが期待される。

 本研究室では、オブジェクト指向技術を今後の並列化プログラミングにおいて重要な技術と位置づけている。並列環境において、オブジェクト技術は繁雑な並列プログラミングをユーザから隠蔽し、並列プログラミングを容易にする。これまで、C++のテンプレート機能を用いて、配列オブジェクトなどの演算での一時変数を除去する技法Template Closureを開発した。今後、この機能を含めた有用な並列クラスライブラリを整備し、公開していく予定である。さらに、これらのライブラリを利用して、アプリケーションの開発を進めている。また、並列オブジェクト指向技術の応用として、並列流体計算、並列有限要素法の適応メッシュ法のプログラムを開発を行っている。

 現在、本研究室のプラットフォームとして、4つのPentiumProを結合したSMP共有メモリプロセッサ(東芝 GS700)をノードとして、8ノードをmyrinetと100base-T イーサスイッチで結合したシステムCOMPASS(Cluster of MultiProcessor SyStem)を構築した(図3)。小規模なSMPをノードとして用いる分散メモリシステムはこれからのクラスタシステムの1つであると考えられるが、共有と分散が混在するこのような形態では、プログラミング上、性能上の未知な問題点が多く、性能評価研究の適用の実証環境として活用している。


図3(写真):SMPクラスタ:COMPASS

 本研究室の性能評価研究の最終的な目標は、性能評価結果を利用者の理解を助ける手段にするだけではなく、それをもう一歩進めて、性能改善までの手順を自動化することにあると考えている。これを達成する方法の一つが、動的な情報を利用した最適化コンパイラ環境であり、性能解析で得られた動的、静的な情報は、プログラマに性能向上に関する示唆を与えるだけでなく、コンパイラにおいて利用することにより、自動的に並列プログラムの効率化を図ることが可能になる。これまでにも逐次および並列コンパイラにおいて、実行時の情報を取り込むことは提案されているが、いまだ多くは静的な解析が主であり、実用的な段階に至っていない。逐次プログラムに比べ、プロセッサ規模という動的な要素が並列化の方法を左右する場合が多く、並列環境においてこそ動的な情報を用いたコンパイラは重要になる。これについては、現在、検討段階にあり、来年度からの開発開始を予定している。

 

Real World Computing Project (1992-2001)  RWCPメモリアル