世界のスーパーコンピュータとそれを動かす人々


7月 31, 2013

Vampir、ORNLで大活躍

HPCwire Japan

Alex Woodie

イベントをトレースしてHPCアプリケーションの問題を確認するための性能ツールであるVampirを使って、最大規模のスーパーコンピュータで並列アプリケーションの実行を高速化する可能性で研究者達は唇を舐めている。Vampirにおけるスケーラビリティの進展はオークリッジ国立研究所におけるTitanの前身であるJaguarにおける作業の結果としてもたらされた。

Vampir(Visualization and Analysis of MPI Resources)は並列HPCアプリケーションで発生する問題解決をサポートするために、ドレスデン大学で開発された。

現在はMPIに加えてOpenMP、PthreadsおよびCudaをサポートするこのツールは、

研究者がより大規模な並列クラスタで自分達のコードを実行した際に発生する無数のバグやその他の問題を浄化させることに特に役立つ。

研究者は超並列マシンで自らの並列コードを流し始めるわけではないので、スケールアップのプロセスをスムーズにすることができる可能性は取り分け重要である。その代わり、研究者は部門クラスタや大規模マシンの小規模セット上で、おそらく一度に100プロセッサ単位で始めることができる。研究者がより大規模なマシンでHPCアプリケーションを実行して、初めて現れる多くの問題がある。バリアやI/Oチェックポイントの使い過ぎなど。そして、スケールアップのプロセスはめったに線形やスムーズではないのだ。

 20130731-S1

このグラフからVampirが如何に帯域性能や最大ジョブサイズを増やしたかがわかる。

オークリッジ・リーダーシップ・コンピューティング・ファシリティのウェブサイトで最近公開されている話によると、研究者が打ち勝たなければならなかったいくつかの問題はVampirそのものをスケールさせることであったようだ。研究者が克服しなければならなかったひとつのハードルは、Vampirがいかにメモリを使うかでした。Vampirは各ノードのメモリの一部に、HPCアプリケーションで起こるイベントのログを取るための小さいサイズのソフトウェアをインストールすることによって動作する。

しかし、もし全てのイベントを取るための十分なメモリがなければ(アプリケーションの実行時間が長かったり、非常に詳細なイベントを収集するようにVampirを設定したり)、プログラムはファイルシステムに大量のデータを書き込むためにスローダウン、即ち低速になってしまう。研究者のチームは、迅速に行い、トラブルフリーになるように手順を修正してこの問題を解決した、とORLCFのストーリーで述べている。

このチームは2012年にJaguar上で、Vampirをすべての220,000CPUまでスケールして実行することに成功している。Jaguarが約300,000CPU(さらに18,000 GPU以上も持っている)を誇り現在世界3位のスーパーコンピュータであるTitanに更新される以前であった。これより以前はVampirは86,400コアのマシン上でしか動作証明されていなかった、とORLCFのストーリーで語っている。

20130731-S1-2

オークリッジ国立研究所のテリー・ジョーンズ(左)とドレスデン工科大学のジョセフ・シュシャルトは、エクストリーム・スケールなスーパーコンピュータ上でVampir性能ツールを機能させる準備チームのメンバーであった。

「Vampirを使って新しいスケールでコードの挙動を理解するのは巨大です。」とORNLのコンピュータ科学者であるテリー・ジョーンズはORLCFに語っている

「リーダーシップクラスの高速なプログラムを作り上げている人々のために、我々はフルサイズでイベントのトレースが可能なとても強力なツールを提供しました。それは大規模では発生する事象が小規模では発生しないからです。」

この作業に携わった研究者達(ORNL、アルゴンヌ国立研究所およびドレスデン工科大学を含む)は6月に“Optimizing I/O forwarding techniques for extreme-scale event tracing”というタイトルの論文を発表している。