SC13において、中国人民解放軍国防科学技術大学(National University of Defense Technology:NUDT)のYutong Lu教授が天河2号(Tianhe-2)スパコンについて招待講演を行った。天河2号はLINPACKの実行で33.8627PFlopsの記録を持つTop500 1位のスパコンである。

SC13において天河2号について講演するNUDTのYutong Lu教授

天河2号はNUDTが開発し、現在は長沙市にあるNUDTに設置されているが、最終的には広州市に建設されたスパコンセンターに移設される予定であるという。

2013年の天河2号は33.86PFlopsであるが、中国は2015年には100PFlopsのシステムを作る計画である

この図のように、中国はスパコンを開発してきており、その最新のものが天河2号である。そして、2015年には100PFlopsのスパコンを実現する計画である。

天河2号の計算ノードはIntelの12コアのXeon E5-2692を2ソケットに、同じくIntelのXeon Phi 31S1 Pを3台接続したものを使用している。天河2号は、この計算ノードを1万6000個使い、メインメモリの総量は1.4PB、ファイルシステムの容量は12.4PBで、消費電力は17.8MWとなっている。

天河2号の概要。IntelのIvy BridgeとXeonPhiからなる計算ノードを独自開発の「TH-Express2インタコネクト」で接続している

実装はちょっと変わっていて、CPMというボードに4個のXeon E5とXeon Phi 1台を搭載し、APMと呼ぶボードに5台のXeon Phiを搭載し、この2枚を横に並べてコネクタで接続して2ノードのユニットにしている。この2枚のボードのペアは挿抜を容易にするため、分離して独立に着脱できるようになっている。

このボードを8枚(8ペア)を搭載するフレームがあり、ラックには8フレームが搭載される。従って、ラックには128ノードが収容されることになる。このラックを125本並べることで、1万6000ノードのシステムとなる。システム全体では、スイッチやファイルシステムを含めて、合計170ラックで、設置面積は720m2となっている。

17.8MWを170本のラックが均等に消費すると仮定すると、ラックあたりの消費電力は約100kWとなり、この熱密度は空冷では冷やせない。したがって、天河2号は水冷になっている。

この1万6000ノードを独自開発の「TH-Express2」と呼ぶインタコネクトで接続している。今回の講演では、TH-Express2インタコネクトと、このインタコネクトを使うMPIの話が中心であった。

NUDTは、TH-Express2用の、ネットワークインタフェースチップ(NIC)とネットワークルータチップ(NRC)の2種のチップを開発している。

TH-Express2のNICは、RDMA、エラー検出と再送、Collective通信機能を持っている。TH-Express2はPCI Express Gen2 x16でホストに接続し、ネットワークは10Gbps x8、TH-Express2+はPCI Express Gen3 x16で、14Gbps x16

TH-Express2は10Gbpsの伝送路が8レーン並列になっており、10GB/sのピークバンド幅を持っている。また、TH-Express2+という改良版があり、こちらは14Gbpsの伝送路が8本で14GB/sとバンド幅が高いだけでなく、スイッチの通過レーテンシも短縮されているようである。

TH-Express2のNICは、メッセージパッシングに加えてRDMA(Remote DMA)機能を持つ。また、ノード群の計算結果の最大値を取ったり、合計を計算したりするCollective通信のオフロード機能を持っている。

TH-Express2は適応型のルーティングを行っており、パケットの到着順序が入れ替わることがあるが、NICはこれを正しい順序に並び替える。さらに、NICは通信のエラー検出を行い、エラーの場合はそのパケットを再送して訂正を行う機能も持っている。

NRCは16ポートのスイッチで、4×4のスイッチを4×4に配置する2レベルのスイッチになっている。そして、ネットワークの混雑状況を見て、渋滞を回避する適応型のルーティングを行う。デッドロックを回避するため複数のVC(Virtual Channel)を持つのは他のインタコネクトと同様である。

NRCは16ポートの2レベルのスイッチで、ネットワークの混雑状況に応じて渋滞を回避するようにルーティングする機能を持つ

ラックには128ノードが収容されているので、8個のNRCで16ノードずつを分担し、ラック内ノードの相互接続とトランクスイッチのラックへのケーブルを引き出している。

4台のトランクスイッチラックで、16ラックの計算ノードを繋いでいる。最大ホップ数は11、ルータの通過時間は78.4nsである

そして、各ラックからのケーブルは、中間に描かれた4台のトランクスイッチに接続されている。トランクスイッチは6個のNRCを搭載したカード、直交する2個のNRCを搭載したカードに繋がっており、この構成が上下で対称になっている。そして、ラック内に1段のNRCがあるので、ノード間のNRCの通過段数は6段であるが、16ラックの間を繋ぐスイッチがある、あるいは適応型ルーティングで迂回するなどで、最大11ホップになるようである。ルータの通過時間は78.4nsである。

そして、4台のトランクスイッチは2台ずつが並列になっていて、1箇所が故障しても運用が続けられるようになっていると思われる。