「ABCI(AI Bridging Cloud Infrastructure)」は我が国のAI研究開発を加速するために産業技術総合研究所(産総研)に設置され、2018年8月1日に運用を開始したスパコンである。

IntelのXeon CPUを2176基、NVIDIAのV100 GPUを4352基使用する我が国のトップレベルのスパコンであるが、ユーザが増え、キャパシティ不足が目立ってきたため、今回、演算性能を2倍近くに引き上げる増強を行った。このシステムについて、GTC 2021において産総研の人工知能クラウド研究チームの小川チーム長が発表を行った。

次の図1の上の写真は計算センター棟で、中央の天井の高い部分がコンピュータ室、左の背の低い部分がオフィス、右手の奥はフェンスで囲まれたクーリングタワーである。図1の下の写真はコンピュータ室の中の様子で、通常のラックの上部に空気や冷却水の通路などが作られており、2階建てのような形になっている。

  • ABCI

    図1 産総研の柏キャンパスに作られた計算センター棟の外観(上)とコンピュータルーム内部の様子。2018年8月ころの様子で、現在は今回の拡張部のラックなどが追加されているはずである (出典:オンライン開催のGTC 2021での小川氏の発表スライド)

しかし、運用開始から1年も経つとユーザ数、利用プロジェクト数が増え、1000個のジョブが並列に実行され、実行の順番待ちのジョブが1000個溜まるという状況となってきた。システムの使用率は90%を超えるという状態になり、GPUの不足が顕在化してきた。また、共有ストレージへのI/Oがボトルネックになってきた。

ということで、計算ノードを追加して、演算性能をABCIの2倍程度に引き上げたい。また、ファイルI/Oもなるべく増強したい。加えて、最新のDLフレームワークがコンテナイメージを使って簡単に使えるという現ABCIの機能は維持するというシステムの増強が計画された。

この強化システムは「ABCI 2.0」と呼ばれ、遅くとも2021年のQ2には運用開始という目標である。

  • ABCI

    図2 第2世代(ABCI 2.0)に向けての要件。性能は2倍相当で、遅くとも2021年Q2には提供開始したい

次の図にABCI 2.0の全体概要を示す。この図で白いブロックは現ABCIで存在している部分で、水色に塗られているブロックが今回、追加される部分である。

現ABCIの計算ノード(V)は、IntelのXeon Gold 6148 ×2個のCPUにNVIDIAのV100 GPUを4個接続している。CPUメモリは384GBである。ABCIは、この計算ノードを1088個持っている。

ABCI 2.0では、計算ノード(A)が追加される。計算ノード(A)はIntel Xeon-SP×2個のCPU部に、8個のNVIDIAのA100 SXM4 GPUを接続する。メモリは2個のCPUに接続されたDDR4メモリで、容量は合計512GBである。今回の増強では120台の計算ノード(A)が追加される。

そして、ABCIのストレージはHDDとSSDの合計で約21PBで、さらにABCIクラウドストレージがある。これに対して、ABCI 2.0ではDDNのES7990Xを3台とDDNのES400NVXを3台追加する。これでABCI 2.0の(クラウドを除く)ストレージ容量は約11PB増加する。ES7990X 3台の部分は18TBのニアラインSAS HDD 801本で構成され、ES400NVX 3台は7.68TBのNVM2 SSDを69台使っている。

  • ABCI

    図3 ABCI 2.0の全体概要。NVIDIAのA100 GPU×8のGPUノードを120ノード追加。ストレージはDDNのES7990X HDDとES400NVX NVMe SSDを各3台追加

図4にコンピュートノードのブロックダイヤと諸元を示す。コンピュートノードは富士通のPRIMERGY GX2570で、CPUはIntelのIce Lakeを2個使用し、NVIDIAのA100 GPU 8個を接続している。8個のGPUはNVSwitchを経由して接続されているので、ノード内の各GPUに付いているHBM2メモリは連続したコヒーレントなメモリ空間として使う事ができる。

図4の右下の表にコンピュートノード(A)とコンピュートノード(V)の性能の比較がまとめられており、HPC性能は4.6倍、FP32/TF32でのDL学習では18倍、FP16/BF16でのDL学習では5倍、FP16でSparsityを使った場合は10倍の性能になる。そして、GPUメモリは64GiBから320GiBに増加し、ネットワークへの注入バンド幅は200Gbpsから800Gbpsに増加する。つまり、ノードごとの主要な性能指標の比較では、少なくとも4~5倍の性能になると考えられる。ただし、ノード(V)は1088個あるのに、ノード(A)は120個であるので、この比率で性能が向上するわけではない。

  • ABCI

    図4 コンピュートノード(A)のブロックダイヤとコンピュートノード(V)との性能比較

図5はコンピュートノードの接続ネットワークのダイヤグラムで、QM8790という40ポートのHDR InfiniBandスイッチをLeaf SWとして使い、24台のLeaf SWで120台のPRIMERGY GX2570を接続している。なお、Leaf SWは26台存在し、2台はストレージシステムの接続に使われている。

Spine SWもQM8790で、20台を使いLeaf SWごとに20ポートを使い、それが24ラックなので480ポートを使って接続している。また、ABCIのコンピュートノード(V)の部分との接続はEDR InfiniBandを40ポート使っている。

  • ABCI

    図5 ABCIのコンピュートノード(A)部分のネットワーク構造。40ポートのHDR SWをSpine SWに20台、Leaf SWに26台使っている

ABCIの2.0へのアップグレードを纏めると図6のようになっている。スケールアップの比率は、FP16/BF16での低精度DLとFP64でのシミュレーションでは1.5倍強で、目標の2倍程度の性能向上を下回っているが、その他のケースでは2倍を上回る性能になっている。

  • ABCI

    図6 ABCI 2.0へのアップグレートでの計算リソース増強のまとめ

図7はストレージIOの増強のまとめの図である。左の4つのストレージのブロックは既存のもので、右側のDDN ES7990X 3台とDDN ES400NVX 3台がABCI 2.0での追加分である。このアップグレードでストレージの容量は10.8PiB増え、ABCIの1.5倍の容量となった。また、実効IOバンド幅は60GB/sから120GB/sに向上した。

  • ABCI

    図7 ABCIの2.0へのアップグレートでのストレージIO増強のまとめ

ABCI 2.0としてのサービス開始は5月上旬を予定しているとのことである。