スーパーコンピュータ(スパコン)のエネルギー効率を競うランキング「Green500」の2017年6月版は、東京工業大学(東工大)の「TSUBAME3.0」が1位、Yahoo Japanの「kukai」が2位、産業総合研究所(産総研)の「AI Cloud(AAIC)」が3位、理化学研究所(理研)の「RAIDEN」が4位とトップ4システムを日本のシステムが占めた。また、7位に海洋開発研究機構の「Gyoukou(暁光)」、8位に国立環境研究所のシステムと、トップ10位の内の6システムが日本のシステムである。

これは喜ばしいことであるが、裏を覗いてみると、7位のGyoukouを除いた他のシステムは、すべてIntelのXeon CPUにNVIDIAのP100 GPUをアクセラレータとして接続したシステムであり、これは日本の成功というより、NVIDIAの成功とも言うべき状況である。

しかし、Xeon CPUとP100 GPUを使っていても、そのエネルギー効率には違いがある。そこで、ここでは、それぞれのシステムがどのようになっているのかを見て行きたいと思う。

1位に輝いた東工大のTSUBAME3.0

今回のGreen500で1位になった東工大のTSUBAME3.0は、HPE(旧SGI)のICE XAシステムであり、14コアのXeon E5-2680v4(クロック2.4GHz)を288チップ、P100 SMX2 GPUを576チップ使っている。そして、1.998PFlopsのLINPACK性能を141.6kWで達成し、エネルギー効率が14.11GFlops/Wで1位に輝いている。

次の写真は、今年2月に行われたTSUBAME3.0の記者発表で撮影したものであるが、TSUBAM3.0は540計算ノードで倍精度浮動小数演算で12.1PFlopsと書かれている。

2017年2月の記者発表でTSUBAM3.0を説明する松岡教授。540計算ノードで12.1PFlopsと書かれている

しかし、今回測定されたシステムはCPUが288チップ、GPUが576チップであるので、144ノードである。これは540ノードと書かれているTSUBAME3.0全体の約1/4のシステムということになる。また、このシステムは東工大には、まだ、納入されておらず、この測定はウイスコンシン州のチッペワフォールズの工場で測定されたものであるという。なお、Top500/Green500のルールでは、ユーザが工場での納品、検収を認めた場合は、工場での測定でも良いことになっており、過去にも出荷前にIBMの工場で測定された結果が使われた例がある。

記者発表のスライドでは、2017年8月本稼働と書かれており、6月初めのTop500/Green500締め切り時点では、メーカーの工場で、この規模のシステムを作って測定するのがギリギリという事情が透けて見える。

TSUBAM3.0の計算ノードは2個のXeon CPUと4個のGPUで構成されており、4個のGPUの間は、NVLinkで接続されている。

次の写真は、TSUBAM3.0の水冷のノードブレードで、手前側の4個のコールドプレートの下にP100 SMX2 GPUが存在する。この写真ではGPUボードの下になっているので見えないが、2個のXeon CPUもコールドプレートで水冷されている。

TSUBAM3.0の水冷ブレード。2CPUと4GPUを搭載する (出典:TSUBAME3.0の記者発表資料)

しかし、その他のLSIやメモリDIMMなどは空冷で冷却されている。ICE XAの筐体はリアドアを水冷する構造になっており、DIMMなどを冷却して温まった空気を水冷して、排気温度を吸気温度と同じになるように制御している。このため、TSUBAM3.0は計算機室の空調には負荷をかけない作りになっている。しかし、ファイルシステムやOmni-Pathのトランクスイッチなどは、通常の空冷の設計であり、計算機室の空調が必要になる。

TSUBAM3.0の水冷リアドア筐体 (出典:TSUBAME3.0の記者発表資料)

僅差で2位となったYahoo Japanのkukai

PEZYグループのExaScalerのスパコンは、絶縁性の液体に、同社が「ブリック」と呼ぶ長い角柱状のモジュールを浸漬して冷却するという構造になっている。ブリックには色々なバリエーションがあり、PEZYのメニーコアチップを使ったものが有名であるが、通常のGPUをアクセラレータとして使う計算ノードや大容量のSSDを搭載したストレージノードなどの製品がある。

Yahoo Japanのkukai(空海)は、14コアのXeon E5-2650Lv4(クロック1.7GHz)をCPUとして使い、2台のNVIDIA P100 GPUをアクセラレータとして接続する計算ノードを使っている。なお、kukaiのP100 GPUはPCI Express接続のフルサイズのもので、サーバ用のSMX2版のようなNVLinkはサポートしていない。

kukaiの計算ノードは、Xeon E5-2650Lv4 1個とP100 GPU 2個で構成されており、次の図に示す1本のブリックには、この計算ノードが4ノード収容されている。なお、この図ではCPUに接続されるDDR4 DIMMが256GBとなっているが、kukaiでは128GBとなっている。

ExaScalerのブリック。4個のXeon CPUと8個のフルサイズのGPGPUを収容できる (写真提供:ExaScaler)

kukaiシステムに使用されているZettaScaler-1.6システムは、4×5の20ブリックを収容できる液浸槽を持つ。したがって、kukaiは、80ノードのシステムとなっている。また、20ブリックをFDRのInfiniBandで接続しており、 InfiniBandスイッチも液浸槽に内蔵して液冷している。

kukaiのLINPACK性能は460.7TFlopsで消費電力は32.8kWであり、エネルギー効率は14.046GFlops/Wとなっている。このエネルギー効率は、1位のTSUBAM3.0と比較して0.5%以下の僅差で2位になっている。

次の写真は、kukaiの液浸槽を示すものであるが、奥の6ブリックだけが挿入された状態を示している。実際のkukaiでは20ブリック全部が挿入され、冷媒のフロリナートで満たされた状態になっている。

CPUやGPUやDIMMなどを冷却して温まったフロリナートは、上部から吸い出され、冷却器で冷やされて液浸槽に戻されて、循環している。液体のフロリナートは空気と比較すると体積当たり1000倍以上の熱を運ぶことができるので、高密度の発熱に対応でき、装置を小型にすることができる。

20ブリックを収容する液浸槽。この写真の状態は、6ブリックが挿入された状態である (写真提供:ExaScaler)

次の図は、Yahoo Japanの子会社であるIDCフロンティアの白河データセンタに設置されたkukaiの写真で、右側の銀色の箱が液浸槽である。垂直に伸びている柱は、保守などを行う場合にブリックを引き上げるためのクレーンである。

Yahoo Japanのkukaiシステム。右の銀色の箱が液浸槽。縦長の柱はブリックの挿抜用のクレーン (写真提供:Yahoo Japan)