目次:
NVIDIA DGX SuperPOD™は、NVIDIA DGX™A100システムを搭載した人工知能(AI)スーパーコンピューティングインフラストラクチャです。最先端の深層学習(DL)モデルのトレーニングに必要な計算能力を提供し、将来のイノベーションを促進します。DGX SuperPODは、数週間で展開可能で完全に統合されたシステムとして、画期的なパフォーマンスを提供し、グローバルに最も困難な計算問題を解決するように設計されています。
本DGX SuperPODリファレンスアーキテクチャは、DLサイエンティスト、アプリケーションパフォーマンスエンジニア、およびシステムアーキテクトが協力し、最も広範なDLワークロードをサポートするシステムを構築することを目的として作成されています。DGX A100システムを搭載したDGX SuperPODは、画期的なパフォーマンスを提供し大規模なDLモデルの迅速なトレーニングを可能にします。プロビジョニング、管理、計算、ネットワーキング、および高速ストレージの統合アプローチにより、データ分析、モデル開発、AI推論を網羅する多様なマルチテナントシステムを実現できます。
本書では、DGX SuperPODに接続された場合のDLワークロードをサポートするためのDDN® AI400X2アプライアンスの適合性を評価しました。AI400X2アプライアンスは、コンパクトで低消費電力のストレージプラットフォームであり、ストレージにNVMeドライブを使用し、ネットワークトランスポートとしてInfiniBandまたはEthernet(RoCEを含む)を利用して驚異的なパフォーマンスを提供します。各アプライアンスは、AIおよびHPCアプリケーション向けに最適化されたDDN EXAScaler並列ファイルシステムを完全に統合しています。EXAScalerは、オープンソースのLustreファイルシステムをベースにし、パフォーマンス、管理性、および信頼性の向上を強化しています。複数のアプライアンスを単一のファイルシステムに集約して、非常に大規模なネームスペースを作成できます。AI400X2アプライアンスはDGX SuperPODにおいてさまざまな規模において検証されたターンキーソリューションです。また、DDNは、グローバルに高い信頼性をもつサポートサービスを提供しています。
EXAScaler共有並列ファイルシステムは、データアクセスを簡素化し、効率的なトレーニングに必要な高速データをローカルキャッシングが不十分な場合においても利用がサポートされます。シングルスレッドおよびマルチスレッドの高い読み取り性能により、以下の用途に利用できます:
トレーニングパフォーマンスは、データをストレージから読み取る速度に制約されることがあります。パフォーマンスの鍵は、データを複数回読み取る能力にあり、理想的にはローカルストレージから読み取ることです。データがGPUに近いほど、より速く読み取ることができます。ストレージは、パフォーマンス、容量、コストのニーズをバランスさせるために、永続的または非永続的なさまざまなストレージ技術の階層を考慮して設計する必要があります。
DGX A100システムのストレージキャッシング階層は表1に示されています。データのサイズやパフォーマンスのニーズに応じて、階層の各ティアを活用してアプリケーションのパフォーマンスを最大化できます。
ストレージ階層レベル | テクノロジ | 容量 | パフォーマンス |
---|---|---|---|
RAM | DDR4 | 2TB per system | >200GB/s per system |
内蔵ディスク | NVMe | 30 T per system | >50 GB/s per system |
ローカルRAMにデータをキャッシュすることは、読み取りにおいて最高のパフォーマンスを提供します。このキャッシングは、データがファイルシステムから読み取られた後に透過的に行われます。ただし、DGX A100システムではRAMの容量は2.0 TBに制限されており、その容量はオペレーティングシステム、アプリケーション、およびその他のシステムプロセスと共有する必要があります。DGX A100システムのローカルストレージは、PCIe Gen 4 NVMe SSDストレージで30 TBを提供します。ローカルストレージは高速ですが、マルチノード環境でローカルディスクだけで動的な環境を管理するのは現実的ではありません。機能的には、多くのワークロードにおいて統合ストレージはローカルストレージと同じくらい高速です。
高速度ストレージのパフォーマンス要件は、使用されるAIモデルとデータ形式の種類によって大きく異なります。DGX SuperPODは、今日および将来のあらゆるワークロードに対応できる能力を持つシステムとして設計されています。ただし、システムが特定のワークロード、例えば自然言語処理に絞った場合には、ストレージシステムのパフォーマンスニーズをより正確に見積もることが可能です。
顧客がパフォーマンス要件を特徴づけるために、一般的なワークロードとデータセットに関する一般的なガイダンスが表2に示されています。
要求されるストレージパフォーマンスレベル | ワークロード例 | データセットストレージ要件 |
---|---|---|
Good | 自然言語処理 | ほとんどすべてのデータセットがキャッシュに収まる |
Better | 圧縮画像による画像処理、imageNet/ResNet-50 | 大多数のデータセットがローカルストレージに収まる |
Best | 1080p、4K、または非圧縮画像、ETL | データセットが大きすぎ、キャッシュには収まらない |
以下の表3では、表2のガイドラインを満たすために必要なストレージシステムのパフォーマンス推定値を示します。これらのパフォーマンス特性を達成するためには、TFRecord、RecordIO、またはHDF5のような最適化されたファイル形式の使用が必要となる場合があります。
パフォーマンス特性 | Good, GB/s | Better, GB/s | Best, GB/s |
---|---|---|---|
140 system Read | 50 | 140 | 450 |
Single SU system Read | 6 | 20 | 65 |
Single SU system Write | 2 | 6 | 20 |
Single system Read | 2 | 4 | 20 |
Single system Write | 1 | 2 | 5 |
高速ストレージは、組織や企業のデータに対する共有ビューをすべてのシステムに提供します。このストレージは、小さなランダムI/Oパターンに最適化され、遭遇するさまざまなワークロードに対応するために、高いピークシステムパフォーマンスおよび高い総合ファイルシステムパフォーマンスを提供する必要があります。
DDN AI400X2アプライアンスは、上記の要件を満たし、DGX SuperPODおよびデータセンターでのシステム管理のパフォーマンスを最大化するために重要な複数の機能を提供します。
DDN AI400X2アプライアンスの主な特徴は以下の通りです:
DGX SuperPODにおける特定のストレージ技術と構成の評価には、以下の3つのクラスの検証テストが使用されます: マイクロベンチマークパフォーマンス、実際のアプリケーションパフォーマンス、および機能テストです。マイクロベンチマークは、DLトレーニングのための主要なI/Oパターンを測定し、CPUのみのノードで実行できるように設計されています。これにより、大規模なGPUベースのシステムをストレージの検証にのみ必要とすることが減ります。その後、実際のDLトレーニングアプリケーションがDGX SuperPOD上で実行され、アプリケーションが期待されるパフォーマンスを満たすことが確認されます。パフォーマンスだけでなく、ストレージソリューションは機能テストの一環として堅牢性と回復性がテストされます。
NVIDIA DGX SuperPODストレージ検証プロセスは「PassまたはFail」メソッドを活用しています。マイクロベンチマークテストには具体的なターゲットが設定されています。各ベンチマークの結果は「良好」「普通」「不良」と評価されます。合格するには、テストの80%以上が「良好」であり、「不良」がない必要があります。また、テスト中に壊滅的な問題が発生してはなりません。アプリケーションテストでは、合格するためには、すべてのケースがDGX A100 内蔵のNVMeにデータをステージングして同じテストを実行した場合の性能上限の5%以内で完了する必要があります。機能テストでは、すべての機能テストが期待される結果を満たす必要があります。
表3には、ストレージシステムがDGX SuperPODソリューションとして認定されるために満たすべきいくつかの高レベルなパフォーマンス指標がリストされています。現在のテストでは、ソリューションが表で議論された「Best」の基準を満たす必要があります。これらの高レベルな指標に加えて、提案されたソリューションの全体的な能力を検証するためにいくつかのグループのテストが実施されます。これには、スレッドの数を変化させた単一ノードテストや、スレッドの数を固定しノードの数を変化させたマルチノードテストが含まれます。さらに、各テストはBuffered I/OおよびDirect I/Oモードで実行され、I/Oが別々のファイルに対して行われる場合や、すべてのスレッドおよびノードが同じファイルで動作する場合でテストが実施されます。
4種類の異なる読み取りパターンが実行れ、最初の読み取り操作は、キャッシュにデータがない場合のシーケンシャルリードです。次に、キャッシュにデータを保存するファイルシステムの能力をテストするために、最初の読み取り直後に読み取り操作が実行されます。キャッシュが消去され、データが再度ランダムに読み取られます。最後に、データが再度ランダムに読み取られ、データキャッシングをテストします。
単一ノードおよびマルチノードテストにはIOR(https://wiki.lustre.org/IOR)ベンチマークが使用されました。
ヒーローベンチマークは、全体のソリューションのピークパフォーマンス能力を確立するのに役立ちます。ストレージパラメータ(ファイルシステム設定、I/Oサイズ、CPUアフィニティの制御など)は、最良の読み取りおよび書き込みパフォーマンスを達成するように調整されました。ストレージデバイスは、見積もり性能が測定性能に近いことを示す必要があります。他のテストでは、すべてのI/Oパターンがこのレベルのパフォーマンスを達成できるわけではありませんが、ピークパフォーマンスと取得可能なパフォーマンスの違いを理解するのに役立ちます。
単一のSUに対して提供されるソリューションは、書き込みで20 GiB/s、読み取りで65 GiB/s以上を示さなければなりません。理想的には、書き込みパフォーマンスは読み取りパフォーマンスの50%以上であるべきです。ただし、ストレージアーキテクチャによっては読み取りと書き込みのパフォーマンスバランスが異なるため、これはあくまでガイドラインであり、読み取りパフォーマンスが書き込みよりも重要です。
単一ノードパフォーマンスでは、スレッドの数を増加させながらI/O読み取りおよび書き込みパフォーマンスが測定されます。各スレッドは、同じディレクトリ内の自分自身のファイルに書き込み(および読み取り)を行います。
単一ノードパフォーマンステストでは、スレッドの数が1から、パフォーマンスを最大化するための理想的なスレッド数(通常は物理コアの半数以上64、ただし128を超えない)まで変化させます。I/Oサイズは128 KiBから1 MiBまで変化させ、テストはBuffered I/OおよびDirect I/Oで実行されます。
Thread | Buffered or Direct | I/O Size (KiB) | Performance (MiB/s) | ||||
---|---|---|---|---|---|---|---|
Write | Read | Reread | Random Read | Random Reread | |||
1 | Buffered | 128 | 512 | 1,024 | 1,536 | 246 | 1,536 |
1 | Buffered | 1024 | 800 | 3,072 | 4,608 | 768 | 1,024 |
1 | Direct | 1024 | 1,024 | 1,024 | - | 1,204 | - |
単一ノードのパフォーマンスを最大化する際、スレッドの数は変動する可能性がありますが、追加のスレッドを使用しても、パフォーマンスが著しく低下しないことが期待されます。
複数のスレッドを使用した単一ノードパフォーマンスのターゲットパフォーマンスは、表5に示されています。最適なスレッド数は、特定のストレージ構成によって異なる場合があります。
Thread | Buffered or Direct | I/O Size (KiB) | Performance (MiB/s) | ||||
---|---|---|---|---|---|---|---|
Write | Read | Reread | Random Read | Random Reread | |||
不定 | Buffered | 128 | 8,000 | 12,000 | 18,000 | 12,000 | 18,000 |
Direct | 128 | 8,000 | 15,000 | - | 15,000 | - | |
Buffered | 1024 | 10.000 | 20,000 | 30,000 | 20,000 | 30,000 | |
Direct | 1024 | 10,000 | 20,000 | - | 20,000 | - |
リリードパフォーマンスは、異なるストレージソリューション間で大きく異なる可能性があります。リリードパフォーマンスは、シーケンシャルおよびランダム読み取りの両方において、読み取りパフォーマンスの少なくとも50%であるべきです。
次に実施されるテストは、マルチノードI/O読み取りおよび書き込みテストです。このテストは、ストレージアプライアンスがDGX SuperPODに必要な最低限のバッファリング読み取りおよび書き込みをシステムごとに提供できるかを確認するために行います。このベンチマークの目的は、特定のファイルシステムが異なるI/Oパターンのパフォーマンスをスケールさせる能力をテストすることです。パフォーマンスは1ノードから数ノードまで線形にスケールし、最大パフォーマンスに達し、その後、ノードが追加されても著しく低下しないことが望まれます。
20ノードの単一SUに対するターゲットパフォーマンスは、I/Oサイズが128 KiBまたは1,024 KiB、I/Oがダイレクトまたはバッファリングであっても、読み取りで65 GiB/sです。書き込みパフォーマンスは少なくとも20 GiB/sであるべきですが、理想的には読み取りパフォーマンスの50%であるべきです。これらの結果は、単にハードウェアを追加することでこれらのレベルを達成する可能性があるため、慎重に解釈する必要があります。全体的なパフォーマンスが目標ですが、そのパフォーマンスが使用に対して過剰に設計された効率的なアーキテクチャから得られることが望ましいです。
重要なI/Oパターンの1つは、単一のファイルからデータを読み取ることです。データがすべて1つのファイルに整理されている場合、たとえばRecordIO形式の場合、データを読み取る最も速い方法になることがよくあります。これは、データが複数の大きなファイルに整理されている場合に必要なOpenおよびCloseの操作が排除されるためです。単一ファイルの読み取りは、DGX SuperPOD構成において重要なI/Oパターンです。
ターゲットパフォーマンスおよび期待されるI/Oの挙動は、単一ノードでマルチスレッド書き込みがファイルを正常に作成でき、シーケンシャル読み取りおよびランダム読み取りのパフォーマンスが良好であり、読み取りパフォーマンスがノードの増加に伴ってスケールすることです。マルチノード、マルチスレッドでの単一ファイル書き込みはテストされません。また、バッファリングリリードパフォーマンスがマルチファイルリリードパフォーマンスと類似であることが期待されます。
単一ファイルのI/Oパフォーマンスターゲットを表6に示します。
Node | Buffered or Direct | I/O Size (KiB) | Performance (MiB/s) | |||
---|---|---|---|---|---|---|
Read | Reread | Random Read | Random Reread | |||
1 | Buffered | 128 | 2,500 | ※1 | 2,500 | ※1 |
1 | Direct | 128 | 15,000 | - | 15,000 | - |
1 | Buffered | 1024 | 3,000 | ※1 | 3,000 | ※1 |
1 | Direct | 1024 | 20,000 | - | 20,000 | - |
20 | Buffered | 128 | 65,000 | ※1 | 65,000 | ※1 |
20 | Direct | 128 | 65,000 | - | 65,000 | - |
20 | Buffered | 1024 | 65,000 | ※1 | 65,000 | ※1 |
20 | Direct | 1024 | 65,000 | - | 65,000 | - |
※1キャッシュされたRereadパフォーマンスは、複数ファイルのRereadテストと近い結果になる必要があります |
マイクロベンチマークは主要な指標のピークパフォーマンスを示しますが、最も重要なのはアプリケーションパフォーマンスです。MLPerfトレーニングベンチマークのサブセットが、ストレージパフォーマンスと機能の検証に使用されます。ここでは、単一ノードおよびマルチノードの構成がテストされ、ファイルシステムが異なるI/Oパターンとワークロードをサポートできるかどうかを確認します。データがDGX A100 内蔵のNVMeにステージングされたときのトレーニングパフォーマンスがパフォーマンスの基準として使用されます。目標は、データが共有ファイルシステムにステージングされた場合のトレーニングパフォーマンスが、ローカルRAIDにステージングされたときに測定されたものと5%以内であることです。これは、個別の実行だけでなく、DGX SuperPOD全体で複数のケースが同時に実行される場合にも適用されます。
ResNet-50は、代表的な画像分類ベンチマークです。そのデータセットのサイズは100 GiB以上で、迅速なデータ取り込みが要求されます。DGX A100システムでは、単一ノードのトレーニングには約3 GiB/秒のデータ転送が必要で、データセットが小さくキャッシュに収まります。前処理は異なる場合がありますが、典型的な画像サイズは約128 KiBです。このベンチマークの1つの課題は、NVIDIAでは処理された画像がRecordIO形式で保存されることであり、これはMLPerfに最適なパフォーマンスを提供するために全データセットを1つの大きなファイルとして扱います。単一ファイルであるため、データを複数のターゲットやコントローラーに分散させない共有ファイルシステムアーキテクチャにストレスを与える可能性があります。
BERTは、参照標準の自然言語処理モデルです。このテストでは、システムに2つの8ノードジョブと4つの単一ノードジョブ(またはSUの20ノード全てが利用できない場合はそれ以下)が配置されます。トレーニングの合計時間が、ローカルRAIDからのトレーニング時に測定された時間の5%以内であることが期待されます。このテストはファイルシステムにストレスを与えるものではありませんが、ローカルキャッシングが必要に応じて機能していることを確認します。
レコメンダーモデルは、ResNet-50やBERTとは異なるトレーニング特性を持ち、モデルは1エポック未満でトレーニングされます。これにより、データセットが1回以上読み取られることはなく、データのローカルキャッシングは使用できません。完全なトレーニングパフォーマンスを達成するためには、DLRMは6 GiB/秒以上でデータを読み取る必要があります。さらに、ファイルリーダーはDirectIOを使用し、他の2つのファイルとは異なる方法でファイルシステムにストレスを与えます。データは1つのファイルにフォーマットされています。
このテストは単一ノードテストとしてのみ実行されますが、同時ジョブの数が1から利用可能なノードの総数まで変わるいくつかのテストが実行されます。共有ファイルシステムは、ヒーローテストで測定されたピークパフォーマンスまでのパフォーマンスを持続することが期待されます。20の同時ケースの場合、ストレージシステムは120 GiB/s以上の持続的な読み取りパフォーマンスを提供する必要があり、これは表3で示されているものを超えています。この表で示された最高のパフォーマンスでさえ、すべてのワークロードをサポートするためのものではありません。システムを過剰に設計することなく、高いスループットを提供するバランスを目指しています。
パフォーマンスに加えて、ストレージソリューションがDGX SuperPOD統合の要件を満たしており、最高レベルの稼働率が確保されていることを確認する必要があります。ソリューションの回復力を検証するために、1つのコンポーネントの故障がDGX SuperPODの操作を中断しないことを保証するためのいくつかのテストが実施されます。テストの詳細を表7に示します。
テスト項目 | 期待される結果 |
---|---|
DGX OS でのクライアントソフトウェアのビルドとインストール | 追加の手順を必要とせず、ドキュメント通り動作すること |
DGX OS でのクライアントソフトウェアの再ビルドとアップグレード | 追加の手順を必要とせず、ドキュメント通り動作すること |
クライアントのInfiniBand障害:ストレステスト中にストレージアクセスに使用される1つのInfiniBandケーブルを抜線 | ストレージテストは一時的に停止が最小限で、パフォーマンスの低下はあるものの、正常に動作し続ける |
サーバのInfiniBand障害:ストレステスト中に、InfiniBandリンクを1つストレージアクセスから遮断 | ストレージテストは一時的に停止が最小限で、パフォーマンスの低下はあるものの、正常に動作し続ける |
サーバの電源遮断:1台以上のストレージサーバへの単一電源を遮断 | ストレージテストは正常に動作し続け、最大のパフォーマンスを提供し続ける |
ストレステストの実行中に、サーバハング、1つサーバの電源をすべて遮断 | ストレージテストは一時的に停止が最小限で、パフォーマンスの低下はあるものの、正常に動作し続ける |
ストレステスト中にドライブの障害をシミュレートの実施 | ストレージテストは一時的に停止が最小限で、パフォーマンスの低下はあるものの、正常に動作し続ける |
InfiniBandスイッチ障害:ストレステスト中にストレージとクラインとを接続している1つのInfiniBandスイッチの電源を突然オフにする | ストレージテストは一時的に停止が最小限で、パフォーマンスの低下はあるものの、正常に動作し続ける |
NVIDIAの評価によれば、DDN AI400X2アプライアンスはDGX SuperPODのパフォーマンスと機能要件を満たしており、現在および将来のストレージニーズに対応するためにDGX SuperPODと組み合わせるのに適した選択です。
ストレージの要求が増加するにつれて、AI400X2アプライアンスを追加することで、容量、パフォーマンス、および機能をシームレスにスケールさせることができます。NVMeハードウェアとDDNの共有並列ファイルシステムアーキテクチャの組み合わせにより、ランダムリード性能が優れており、通常はシーケンシャルリードパターンと同じくらいの速さです。2Uのフォームファクターにより、ストレージプールを構成してDGX SuperPODのパフォーマンス要件を満たすか、超えることができます。
DGX SuperPODにおいて、AI400X2アプライアンスが最も要求の厳しいI/Oニーズを満たすことができることが検証できました。