後藤弘茂のWeekly海外ニュース

東工大の次世代スパコン「TSUBAME3.0」はビッグデータとAIにフォーカス

ビッグデータやAIに最適化したスパコン

 東京工業大学の次世代スーパーコンピュータ「TSUBAME3.0」が、この夏8月に本稼働を開始する。NVIDIAのPascalベースのGPUスパコンで、システム全体ではピークで12.15PFLOPSの倍精度性能となる。平行して稼働を続けるTSUBAME2.5と合わせて、15~20PFLOPSの倍精度演算能力を目標とする。

 しかし、TSUBAME3.0の特徴は、トップクラスの演算性能の高さだけではない。「ビッグデータスパコンである点が重要。ビッグデータ解析とAIなど新分野に対して、我が国ではこれまでないタイプのプラットフォームとなる」と松岡聡教授(東京工業大学 学術国際情報センター(GSIC)、産業技術総合研究所 人工知能研究センター特定フェロー)は強調する。TSUBAME3.0では、膨大なデータを扱うビッグデータ解析や低精度の演算量が増えるAIマシンラーニングを見据え、広帯域ファブリックをノード接続に、単精度(32-bit)と半精度(16-bit)の性能の高いGPUを演算プロセッサに使う。

松岡聡教授(東京工業大学 学術国際情報センター(GSIC)、産業技術総合研究所 人工知能研究センター特定フェロー)
ディープラーニングでは単精度と半精度が多く使われる

 また、スパコンの最大の課題である電力効率において、これまでにない高効率を達成できる冷却システムを開発したことも画期的だ。コスト効率の高さや、アップグレードが容易な設計というTSUBAMEの特徴も引き継がれている。さらに大きなビジョンでは、TSUBAME3.0の技術をほかのスパコンへと転用することで、スパコンの世界での技術の共用化を図る。

HPC (High Performance Computing)でのリーディングスパコンだけでなく、ビッグデータへの最適化や電力性能の追求なども実現するTSUBAME3.0

TSUBAMEスパコンの系譜の頂点

 東工大は、2008年のTSUBAME1.2でNVIDIAの「Tesla S1070 (GT200)」を導入し、GPUスパコンの先陣を切った。続く2010年のTSUBAME2.0では、「Tesla M2050 (Fermi)」を採用、アップグレード版のTSUBAME2.5では「Tesla K20X (Kepler)」を採用した。設計思想としては、汎用GPUを利用しながら高密度なシステムアーキテクチャを取ることで、高い演算性能だけでなく、高い電力効率と高いコストパフォーマンスを実現することに特徴がある。同じCPUとGPUを使ったスパコンでも、システムアーキテクチャによって、実性能も電力効率も全く異なってくる。

GPUスパコンとして設計されたTSUBAME2.0
TSUBAME2.0からGPUをアップグレードした2.5
専用プロセッサを開発した京コンピュータよりコストパフォーマンスを高く

 TSUBAME3.0は、そうした東工大スパコンの現段階での最高到達点にある。GPUはNVIDIAのPascal世代の「Tesla P100 (GP100)」に、ネットワークファブリックはIntelの「Omni-Path」、冷却は水冷システムによる自然大気冷却になった。1計算ノードは、2個のXeon E5-2680 V4と4個のTesla P100の構成で、これを4リンクのOmni-Path 100Gbpsでスイッチに接続する。GPU同士はNVIDIAの広帯域インターコネクト「NVLink」で相互接続し、各GPUには732GB/sの超広帯域メモリHBM2を16GBずつ接続している。さらに、ノード毎に2TBのIntel製NVMe SSDもローカルストレージとして搭載する。IntelとNVIDIAの良いとこ取りをしたようなシステムとなっている。

TSUBAME3.0に採用されたNVIDIA Pascalアーキテクチャ
P100

密度の高いTSUBAME3.0の計算ノード

 ノード全体で見ると、CPUコアは28個、GPUのCUDAコア(単精度演算ユニット)は14,336個、GPUのメモリ帯域は2.86TB/s、メモリ容量はCPUが256GBでGPUが64GB、ネットワーク帯域は400Gbpsとなる。ノードのGPUの演算性能だけでも、従来のスパコンの指標である倍精度(64-bit)浮動小数点演算で21.2TFLOPS、単精度(32ビット)で42.4TFLOPSとなる。

 ノードの演算密度が高いことはTSUBAMEシリーズの特徴だ。前世代のTSUBAME2.xは、3 GPUで非対称のアーキテクチャだったが、今回のTSUBAME3.0では、CPUとGPU、ネットワークインターフェイスの配置が対称性が強い構成となっている。

TSUBAME3.0の計算ノードブレード「TSUBAME3.0 SGI ICE-XA Blade」
TSUBAME3.0ブレードのイメージ

 TSUBAME3.0のノードはブレードに収まっている。東工大とブレードを共同開発したのは、Hewlett Packard Enterprise子会社のSGI。同社のEng Lim Goh氏(PhD, VP & SGI CTO, Hewlett Packard Enterprise)によると「過去最も難しかったプロジェクトであり、社内では『Matsuoka Blade(マツオカブレード)』と呼んでいる」という。製品としては「SGI ICE-XA Blade」となる。

Eng Lim Goh氏(PhD, VP & SGI CTO, Hewlett Packard Enterprise)

 マツオカブレードが難しかったのは、ブレードに4リンクのOmni-Path(合計400Gbpsのネットワークインターフェイス)を実装し、さらにGPU間を4リンク/GPUのNVLinkで相互接続、さらにCPUとGPUにダイレクト水冷システムを配置し、プロセッサ以外のコンポーネントもエアフローで冷却できるようにしたためだという。

 ノードのアーキテクチャをさらに細かく見ると、2個のXeon CPUがQuickPath Interconnect (QPI)で相互接続されており、各Xeonに4チャネルのDDR4-2400メモリが接続する。また、2個のXeon CPUは、それぞれOmni-Pathインターフェイス「Omni-Path Architecture Host Fabric Interface (OPA HFI)」とPCI Express x16で直結する。2個のXeonは、もう1つのPCI Express x16で、2個のPCI Expressスイッチチップ「PLX」に接続する。

TSUBAME3.0の計算ノードのアーキテクチャ

 2個のPLXは、それぞれ4つのPCI Express x16を持っており、1個のPLXが2個のPascal GPU、Xeon、OPA HFIと接続する。Pascal GPUは、PCI Express x16以外に、NVLinkを4リンク備えており、4個のGPUで相互接続する。つまり、Xeon CPUはPLXを経由してPascal GPUにアクセス、Pascal GPU同士はNVLinkで高速結合されており、Pascal GPUからネットワークへは、PCI Express x16でPLXを経由する。つまり、2個のCPUにはそれぞれが1個ずつOPA HFIがぶら下がり、GPUは2個がOPA HFIへと接続されているような構成となっている。

 こうした仕組みによって、TSUBAME3.0では、NVIDIAのインターコネクトNVLinkと、IntelのファブリックOmni-Pathを共存させている。現状では、OPA HFIはまだIntel CPUに統合されておらず、Omni-PathとNVLinkを結ぶグルーチップも存在しないため、こうした構成となっている。

 それにも関わらず、Omni-PathとNVLinkを両採用したのは、GPU間の広帯域結合を実現しつつ、ノード間の広帯域接続を実現するためと見られる。

 TSUBAME3.0のブレードはCPU部とGPU部でセパレート構成になっており、CPUとGPUを個別にアップグレード可能となっている。現在はCPUがBroadwell、GPUがPascalだが、これをSkylake CPUとVolta GPUへと段階的に置き換えることも可能と見られる。発表会では、SGIのGoh氏が、すでに“マツオカブレード2”の仕様が存在することを明らかにしている。マツオカブレード2では、プロセッサのアップグレードのほか、不揮発性メモリを想定したDIMMスロットが加わる可能性があるという。

15ラックだけで構成される高密度なTSUBAME3.0

 TSUBAME3.0では、このブレードを36個ずつ(9ブレードの段が4つ)1つのラックに収めている。2個のラックの間に冷却ラックを挟んだ構成を取っており、2ラック/72ブレードで冷却も含めたシステムとなっている。システムは「SGI ICE-XA」と呼ばれる。

 東工大のTSUBAME3.0は、全体ではブレードを収めたラックが15個の構成となっている。下の写真の正面側に12ラック、後背側に3ラックの配置だ。そのほかに、ストレージラックとネットワークラックがある。

TSUBAME3.0のラック構成。左右に36ブレードずつ収めており、中央が冷却ラックとなっている。
TSUBAME3.0の設置予定ルーム
TSUBAME3.0は130mm2のスペースに収まる
15ラックで構成されるTSUBAME3.0

 システム全体で見ると、TSUBAME3.0はノード数は540、CPUは1,080個で15,120コア、GPUは2,160個で7,741,440 CUDAコア。メモリは168.8TB、メモリ帯域は1.66PB/s、ローカルストレージSSDは1,080TBに達する。そして、ノードネットワーク帯域の合計は片方向215Tbps、双方向432Tbpsにもなる。これは、現インターネットの平均通信量の総計の約2倍だという。これが、コンピュートラックで、たった15ラックに収まっている。全体で見ると、ラック数もノード数もコンパクトで高密度な設計だ。

TSUBAME3.0の全体システム
TSUBAME3.0の全体構成
TSUBAME3.0のシステムフィーチャ

 ノードあたりの性能を過去のTSUBAME2.xと比較すると、CPUコア数×動作周波数では2倍程度だが、GPUのFP32(単精度)性能では、TSUBAME2.5に対して3.58倍、FP16(半精度)では7.16倍となる。これは、NVIDIAのPascal P100アーキテクチャでは、FP16を2-way SIMD(Single Instruction, Multiple Data)として倍のスループットで実行できる機能が加わったためだ。

 従来の科学技術系ではFP64(倍精度)の性能が重要となるが、ディープラーニング/AIなどでは現在FP32が多用されており、FP16も使われつつある。そのため、一転して低精度の演算性能が重要となりつつある。TSUBAME3.0は、Pascal GPUを採用することで、そうしたトレンドに対応している。

TSUBAME3.0と従来システムとのパフォーマンス比較
単精度と半精度の性能のブーストがTSUBAME3.0の強味

 国内スパコンの倍精度浮動小数点演算ピーク性能で見ると、TSUBAME3.0は京とほぼ並び、東大のKnights Landingシステム「Oakforest-PACS (JCAHPC)」の半分程度となる。しかし、東工大では、最新GPUのこうした特性により、ビッグデータ解析やマシンラーニング/AI分野では、TSUBAME3.0+TSUBAME2.5が、ほかの国内スパコン拠点より優れた合算演算性能に達するとしている。