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


12月 3, 2013

エクサスケール競争、クールでしっかりとした勝利を

HPCwire Japan

Osman Sarood, Laxmikant Kale & Esteban Meneses

電力、エネルギーと信頼性は、大規模なマシンを作る努力の中で、HPC研究者に大きなチャレンジを課している。我々がエクサスケールの時代に近づくにつれて、性能を最適化している間に、ハードウェア、ソフトウェア双方の設計者がこれらの課題に対して責任をもつ必要がある。イリノイ大学Urbana-Champaign (UIUC)校のParallel Programming Laboratory (PPL)は、Charm++プログラミング・モデルの適応型ランタイムシステムを導入することによって、これらの課題に活発に取り組んでいる。

現在のペタスケール・マシンは平均故障間隔が数時間から数日のあたりだ。いくつかのレポートでは、エクサスケール・マシンは35分から40分程度のMTBFしかないと報告している。興味をそそるように、過去の研究はプロセッサの温度を信頼性の関係を記述している:温度が10度上昇する毎に故障率は倍増する。我々の研究では、プロセッサの温度を抑制することによって、プロセッサ温度と信頼性の関係を適用している。それによって故障の頻度を減らし、結果的に故障しがちな環境の中でアプリケーションの性能を向上させている。

SC13において、動的電圧周波数制御(DVFS)による温度制御を使った、信頼性の向上におけるコストと利益について説明を行った。改善された信頼性は直接的に故障を減少させるばかりでなく、プログラムのチェックポイントの回数を減らし、オーバーヘッドを減らすことができる。しかし、低速なプロセッサによるコストの増大や負荷の不平衡の増加もある。

プロセッサ温度を制御することによって、実行システムに対して、予測故障率を許諾可能なレンジになるように設定することができる。我々の制御戦略においては、温度が閾値以下の場合には各プロセッサは最大周波数で動作させる。もしプロセッサの温度が最大閾値を超えた場合には、DVFSを使って電圧を周波数を下げる。電圧と周波数を減少させると、電力消費量は下がり、プロセッサの温度は下がる。

DVFSがクラスタ内のコアの周波数を異なって調整した場合、これらのコア上の負荷はお互いと比較して変化する。これはプロセッサが次のステップに進む前にタイムステップ後の同期を行うため、蜜結合型アプリケーションの性能を著しく低下させる。
我々は、これらのプロセッサ上の異なる速度に意識した負荷分散戦略により、結果として生じるタイミングのペナルティを軽減している。

我々の負荷分散戦略は、過度な分解とオブジェクトの移動に基づいており、プロセッサの利用効率を上げるためのCharm++適応型ランタイムシステムを使っている。このシステムは、調整された周波数における各プロセッサの負荷を解析し、高負荷なのか低負荷なのかを決定する。一旦決定が成されると、我々のスキームは知的にオブジェクトを高負荷のプロセッサから低負荷のプロセッサに移動させ負荷のバランスを取る。温度監視と対応する負荷分散についてはユーザ定義の間隔で実行される。

ひとつのねじれは、異なるアプリケーションにおいて、ある周波数でプロセッサをどのくらい熱くするのか、それから異なる周波数において性能にどの程度影響するのかが変化することだ。異なるアプリケーションが実は同じマシン上でも異なるMTBFを経験するかもしれないことが意味することを注意すべきだ!かくして、我々は異なる状態を示す3つのアプリケーションを使っている。

MTBFにおける温度制御の効果と、それに関わるアプリケーション性能を測定するために、アプリケーションの総合実行時間と信頼性および温度抑制にに関連する低速化とのを関連付けるモデルを公式化している。このモデルは異なる周波数における実行時間、MTBFに依存するチェックポイントのオーバヘッドとリカバリ時間、および負荷不平衡におけるオーバーヘッドを計算する。我々は小規模の試験用テストベッドを使って各アプリケーションにおける、このモデルの精度を確認している。

この有効なモデルを使って大規模なマシンでの我々のスキームの利点を予測している。その結果は信頼性の向上と温度制御によるコストとのトレードオフを指摘している。このトレードオフはアプリケーションとマシン規模における最適な温度閾値を決定している。

次の図は2次元ステンシルアプリケーションにおける温度制御無しの基準実行と温度閾値48度Cに設定した実行におけるマシン効果(有効な作業に使われる時間割合)を示している。32Kソケット以下の場合、基準より低い効率だ。しかし32Kソケットを超えると、我々のスキームは基準ケースより優れ始めている。参考までにNCSAのBlue Watersシステムは約50Kソケットだ。256Kソケットになると、基準0.08の効率に比べて我々のスキームは0.29の効率でマシンを操作できていることがわかる。最後に、340Kソケットでは、基準での効率が0.01に落ちほぼマシンが動作できない状態になるが、我々のスキームでは効率0.22でまだマシンを動作させることができる。

20131112-F1-2

これらの有望な結果は、さらに詳細なモデル、より大規模な実験システム、およびメッセージログや並列リカバリのような先端的な故障許容制御プロトコルを研究することを促進している。

この研究は我々のグループの研究テーマの一部だ:高度なアプリケーションとハードウェアの複雑性によって示される難問を扱うための適応可能型ランタイム制御を使うこと。Parallel Programming Laboratoryは過去20年間、商用レベルの品質を持った並列プログラミング言語としてCharm++を開発している。多くのCSEアプリケーションで利用されており、ゴードンベル賞を受賞した生体分子シミュレーションプログラムNAMDも含まれる。