150万コアの超大規模並列システム「Sequoia」
SC12で発表された第40回Top500ではTitanに抜かれて2位になったが、米国ローレンスリバモア国立研究所(Lawrence Livermore National Laboratory:LLNL)のSequoiaは世界トップクラスのスパコンである。この巨大スパコンの立ち上げの経験について、SC12においてLLNLのコンピュート部門リーダーのKimberly Cupps氏が講演を行った。
SequoiaはIBMのBlueGeneシリーズの第3世代であるBG/Qスパコンで、1.5Mコアで20PFlopsのピーク演算性能を持ち、4PB/sのバンド幅を持つ1.5PBのメインメモリを搭載している。そして、ファイルシステムとして55PBのディスクが付いている。
そして、4000ft2(約400m2)の設置面積で9.6MWの電力を消費する。非常に大規模な超並列システムであるので、ハードウェア、ソフトウェア、アプリケーションのスケーラビリティを確保するのがチャレンジであるという。
2012年の4月16日に全ハードウェアが納入され、11月には一般の科学技術プログラムを使った初期稼働(Early Science)が始まったという。そして、12月に最終的な検収を行い、2013年3月からは、核のカーテンの向こうに入り、機密の研究に使用されることになる。この検収の条件であるが、100TFlops級のASC Purpleスパコンで動いていたプログラム24本を同時走行し、さらに、核関係のシミュレーションプログラムが4PFlopsの実効性能で走行するというものである。
1ラックに1024このBG/Q計算ノードを搭載
BG/Qシステムは18コア(計算用は16コアで、1コアはOS走行用、1コアはスペアである)のBG/Qチップをパッケージに入れ、これとDRAMチップを上図の3と書かれたCompute Cardに搭載する。そして、32枚のCompute Cardを上図の4と書かれたNode Cardに搭載する。この図では分かりにくいが、Node Cardの手前側の右端に見える2本の突き出たものは水冷のための給排水のパイプであり、Compute Cardは水冷となっている。
16枚のNode Cardをまとめたものが上図5aのMidplaneである。また、I/O用の5bのI/O drawerと呼ぶモジュールがあり、これらを6のラックに搭載する。ラックには2つのMidplaneと最大4台のI/O drawerが搭載される。結果として、ラックには1024個のBG/Q計算ノードが搭載されていることになる。
1.6GHzクロックのBG/Qチップのピーク演算性能は204.8GFlopsであるので、ラックのピーク演算性能は209.7TFlopsとなる。このラックを96本並べてピーク演算性能20.13PFlopsのSequoiaが構成されている。
9.6MWの消費電力の91%の熱は水冷され、冷却水のループの新設が必要。また、残りの9%の熱を運び出すためには163,000CFM(約73m3/秒)の空気を動かす空冷が必要となった。また、96本のラックの重量は30頭の象の体重に匹敵する210トンで、これに耐える床が必要になる。それも、設置の2日前にラックの重量が25%も増えるという連絡があり、急遽、床の支えを増強する必要が出たという。
立ち上げ時には種々の問題が続出
ラックやケーブルを設置しSequoiaシステムを徐々に動かし始めると、次々と問題が出てきて、1つの問題を解決すると、次の問題が出てくるという玉ねぎの皮むき状態であったという。
最初の問題は、冷却水の異物混入である。
水の循環系にソックスを入れて水を濾すと異物があり、白いソックスがピンクに染まってしまった。赤いものを探すと、水を循環させるポンプが赤く塗られており、調べてみると、外側だけでなく内側も赤く塗装されており、この塗料が剥げて水に混入していることが分かった。そこで、内側の塗料を剥がしてクリーニングすることで、この問題は解決したという。
また、Sequoiaシステムを組み上げていく過程でも多くの問題が発生した。
その第一がCompute Cardのコネクタのピン曲りである。ガイドが無く、傾いた角度で挿入しようとしてピンを曲げてしまったという事故が多く発生したという。第二はCompute Cardの試験の時にカードに不均一な力が掛り、それによりDRAMパッケージとプリント基板のBGA接続が割れ、使っているうちに接続不良が発生するという問題が出た。その他にもNode Cardに供給される冷却水の質の問題で、Node Card内の冷却水のパイプの中に錆がついてしまうという問題、電源モジュール間の負荷分散がうまく機能しないという問題、電源モジュールのガスケットの不良によるEMIの発生、冷却水の流量モニタの誤動作によるラック全体の電源断などが発するというように次々と問題が発生したという。
これらの問題の内の電源モジュール間の負荷分散がうまく行っていない件は、QCD(色量子力学)の計算コードを実行中に、稀に電源が落ちるということから発見されたという。また、実行の結果がおかしく、プログラムのバグを探してスタックトレースを見ていて、157万個のコアの中の1個のコアのDecrementer(-1する回路)が故障していることを発見したことがあるという。
アプリケーションの超並列化がSequoiaを使いこなす鍵であり、まだ、初期の段階であるが、次の図のように大部分のもので100万並列を上回る並列化に成功している。
そして、検収のための受け入れ試験では、Synthetic Workloadで7日間の連続走行をやり、その過程で性能、安定性などを評価する。また、このテストではMTBFの測定も行う。そして実アプリケーションの走行では、次の図に示すようにLAMMPSに多くの実行リソースを割り当て、その他に24個のアプリケーションプログラムを並列に実行する
24個のアプリケーションの走行では、 ASC Purple(100TFlops級のスパコン)24台で実行したのと同等のスループットが得られ、LAMMPSではBlueGene/Lの20~50倍の性能を確認することがゴールであるという。
講演の後の質疑で、Sequoiaの故障率に関しての会場から質問があり、現状では1日に1.25回程度故障が発生しており、これは目標より3倍高い発生率であるという回答であった。