NVIDIAのDGX Saturn Vのレベル2測定

Capps氏は、Volta V100 GPUを搭載したSaturn Vシステムの写真として、次の図を示した。この写真は、GTC2017でJensen Huang CEOの基調講演の背景として使われた写真と非常に似ており、天井の照明やパネルの配置は一致している。

NVIDIAのDGX Saturn Vについて発表するLouis Capps氏

しかし、Green500で4位になったシステムはDGX-1 Voltaが33台のシステムであり、12キャビネットに収まるはずである。また、実写と考えられるものと比較すると、DGX-1が多少ずんぐりで、筐体間の空きが広い。それから、奥行き方向に4つの筐体列が見えるが、全部、同じ方向を向いている。DGX-1は空冷であるので、一列おきに逆向きにして、吸気と排気側同士を向かい合わせてHot-Coldアイルにしない配置は考えられない。

したがって、この図は実写ではなく、CGで作られたフェイク写真であると考えられる。この図はPath to ExaScaleと書かれているように、DGX-1を並べてExaScaleのシステムを作るとこんな感じというイメージ画と思って見て戴きたい。

  • Volta GPU搭載のDGX-1を並べて作るExaScaleシステムのイメージ画

    Volta GPU搭載のDGX-1を並べて作るExaScaleシステムのイメージ画

このシステムは36台のDGX-1からなるDGX PODを単位として構成されている。216ポートのInfiniBandのスイッチで6ラック36台のDGX-1を接続し、このスイッチから72ポートを他のDGX PODへの接続に充てている(それなのに、前のイメージ画は11ラック66台がひとまとまりである)。そして、青い箱はマネジメント用のEthernetスイッチとメインEthernetスイッチである。メインEthernetはネットワーク接続やストレージの接続に使われる。

  • 6ラック36台のDGX-1を216ポートのInfiniBandスイッチで接続したDGX PODを単位として並べて大規模システムを作る

    6ラック36台のDGX-1を216ポートのInfiniBandスイッチで接続したDGX PODを単位として並べて大規模システムを作る

大規模システムではDGX PODを並べてInfiniBandのディレクタスイッチで接続する。また、マネジメントとメインのEthernetもEthernetのディレクタスイッチで結合し、ストレージやログインサーバなどを接続する。

  • 多数のDGX PODをInfiniBandやEthernetのディレクタスイッチで接続して大規模システムを作る

    多数のDGX PODをInfiniBandやEthernetのディレクタスイッチで接続して大規模システムを作る

今回、Green500で4位となったのは33台のDGX-1を使うシステムで、DGX PODから3台のDGX-1が欠けた形のシステムである。InfiniBandは各ノードに4ポートを接続するファットツリー接続となっている。

  • 今回、Green500で4位となったシステムは33台のDGX-1を使うシステム

    今回、Green500で4位となったシステムは33台のDGX-1を使うシステムである。これらを216ポートのEDR InfiniBandスイッチで接続している

電力の測定であるが、2台のラックごとにPDUを設置し、PDUへの入力電力を定期的に読んでログファイルに書き込んでいる。ログファイルに書き込まれたタイムスタンプを使って、時刻を合わせて消費電力を合計している。なお、測定対象はクラスタを構成するすべてのハードウェアで、計算ノード(この場合はDGX-1)、スイッチ、ストレージを含んでいる。

Green500のルールではレベル2の測定になっているとのことであるが、全ハードウェアを含んだ測定であるから、エネルギー積分型の電力計を使うなどマイナーな改善で、レベル3になりそうな感じである。

HPLの実行は、行列がGPUメモリに格納できるように、行列サイズNは72万3456元とした。システムのピーク演算性能は1,820TFlopsで、HPLの測定値は937TFlops、平均消費電力は62kWであった。結果として、性能/電力は15.1GFlops/Wとなっている。

  • Green500の測定は、2ラックごとにPDUをつけ、PDUへの入力電力をタイムスタンプ付きでロギングした

    Green500の測定は、2ラックごとにPDUをつけ、PDUへの入力電力をタイムスタンプ付きでロギングした。測定対象はクラスタを構成する全ハードウェアで、レベル2の測定になっている

測定に使用していないノードの電力が計測に含まれていることがあり、測定にあたっては、電力が正しく分配されていることを確認する必要があったという。また、ipmiを使っての電力計の読み取りやロギングの開始、終了とHPLの実行のタイミングを合わせるが難しいこともあったという。

  • 全ハードウェアを測定するレベル2測定を行った

    全ハードウェアを測定するレベル2測定を行った。しかし、測定に使用していないノードの電力が含まれたりしており、電力の分配を確認する必要があった

Green500の測定を行ったことにより、システムがアイドル時に電力を食いすぎていることが分かった。また、CPUは、低アクティビティーの状態での消費電力が大きく、コードやCPUの電力ステートの移行などをレビューした。

そして、将来に向けては、電力と性能のチューニングを行うことがクリティカルであることが分かったという。

  • システムのアイドル時の消費電力が大きい、低アクティビティ状態のCPUの消費電力が大きいなどの問題が見つかった

    システムのアイドル時の消費電力が大きい、低アクティビティ状態のCPUの消費電力が大きいなどの問題が見つかった。将来に向けて、電力と性能のチューニングが重要であることが分かった

(次回は12月14日に掲載します)