AI向けオブジェクトストレージ:200GB/sスループットを実現するGPUダイレクトストレージの実装

GPUDirect Storage 2.0がCUDA 12.3以降に搭載され、15%のスループット向上とH100/H200 GPUのネイティブサポートを実現。PCIe Gen5 NVMeドライブは1台あたり14GB/sを達成し、サーバーあたり400GB/s以上を可能に...

AI向けオブジェクトストレージ:200GB/sスループットを実現するGPUダイレクトストレージの実装

AI向けオブジェクトストレージ:200GB/sスループットを実現するGPUダイレクトストレージの実装

2025年12月8日更新

2025年12月アップデート: GPUDirect Storage 2.0がCUDA 12.3以降に搭載され、15%のスループット向上とH100/H200 GPUのネイティブサポートを実現しています。PCIe Gen5 NVMeドライブは1台あたり14GB/sを達成し、サーバーあたり400GB/s以上が可能になりました。NVIDIA Magnum IOスタックはBlackwell向けに最適化され、初期ベンチマークでは250GB/sの持続スループットを記録。主要クラウドプロバイダー(AWS、Azure、GCP)は現在、EBS/Azure Disk/Persistent Disk統合を備えたGPUDirect Storage対応インスタンスを提供しています。

Metaは研究クラスター全体にGPUDirect Storageを実装することで、モデル学習速度を3.8倍向上させ、以前はデータロードを50GB/sに制限していたCPUボトルネックを解消し、現在は192GB/sで学習データをGPUに直接ストリーミングしています。¹ このソーシャルメディア大手のPyTorch学習ジョブは、以前は計算時間の35%をデータ待ちに費やしていました—H100 GPUが1時間あたり3.50ドルかかることを考えると、許容できない無駄です。現在、同社のオブジェクトストレージアーキテクチャは、並列S3互換エンドポイントを通じて2,048台のGPUに同時にデータを供給し、各GPUはCPUを介さずにデータシャードを受信しています。現代のAIワークロードは、GPU処理速度に匹敵するストレージシステムを必要としますが、ほとんどの組織は依然としてペタバイト規模のデータをCPU時代に設計された従来のファイルシステム経由で処理しています。

GPT-4の学習には45TBを超えるデータセットから13兆トークンの処理が必要で、データロード速度は1億ドルの学習コストに直接影響しました。² オブジェクトストレージは、AIワークロードに不可欠なスケーラビリティ、耐久性、並列アクセスパターンを提供し、99.999999999%(イレブンナイン)の耐久性を維持しながら、数千の同時GPUリーダーをサポートします。GPU最適化オブジェクトストレージを実装した組織は、学習時間の60%削減、従来のSAN/NASと比較して75%のストレージコスト削減、そしてアーキテクチャを変更せずにテラバイトからエクサバイトまでスケールする能力を報告しています。NVMeストレージ、RDMAネットワーキング、GPUDirect技術の融合により、ようやく現代のGPUの要求に匹敵するストレージスループットが実現可能になりました。

GPUDirect Storageアーキテクチャの基礎

GPUDirect Storage(GDS)は、ストレージとGPUメモリ間に直接メモリパスを確立し、CPUとシステムRAMを完全にバイパスすることで、データ移動に革命をもたらします。従来のデータパスでは4回のメモリコピーが必要でした:ストレージからカーネルバッファ、カーネルからユーザー空間、ユーザー空間からGPUドライバー、ドライバーからGPUメモリ。³ GDSはカーネルバイパスとピアツーピアDMAを通じて中間コピーを排除し、レイテンシを15マイクロ秒から2マイクロ秒未満に削減します。NVIDIA Magnum IOソフトウェアスタックがこれらの転送を調整し、理論上のNVMe帯域幅の97%を達成しています。

このテクノロジースタックには、連携して動作する特定のハードウェアとソフトウェアコンポーネントが必要です。CMB/PMRサポートを備えたNVMe SSDは直接メモリマッピングを可能にします。RDMA対応ネットワークカード(ConnectX-6以降)はリモートストレージアクセスを提供します。V100世代以降のGPUはGDS操作をサポートします。Linuxカーネル5.10以降には必要なドライバーとメモリ管理機能が含まれています。MOFEDネットワーキングスタックはEthernet展開向けにRoCE v2を有効にします。アプリケーションには明示的なGDS API統合、またはディープラーニング用のDALIなどの互換フレームワークが必要です。

実装アーキテクチャは、スケールとパフォーマンス要件によって異なります:

ローカルNVMe:直接接続されたNVMeドライブは、8台のドライブでサーバーあたり200GB/sを提供します。各GPUはピアツーピアPCIeトランザクションを通じて特定のドライブをマッピングします。最も低いレイテンシですが、容量が限られ、ノード間での共有はできません。

NVMe-oF:ファブリック経由でアクセスする分散型NVMeアレイは、接続あたり100GB/sを提供します。ストレージノードはGPUサーバーに直接ネームスペースを公開します。マイクロ秒のレイテンシを維持しながらリソースプーリングを可能にします。

S3互換オブジェクト:スケールアウトオブジェクトストアは、並列アクセスで無制限の容量を提供します。複数のストレージノードが同時にチャンクを提供し、集約スループットを達成します。レイテンシは高くなりますが、大規模なスケーラビリティと組み込みの耐久性があります。

ストレージインフラストラクチャ設計

200GB/sの持続スループットを構築するには、複数のレイヤーにわたる慎重なインフラストラクチャ設計が必要です:

ストレージメディアの選択:エンタープライズNVMeドライブは、ドライブあたり7GB/sのシーケンシャル読み取りを提供します。Samsung PM1735またはKioxia CM6シリーズは、持続的な負荷下で一貫したパフォーマンスを提供します。⁴ U.2フォームファクターは2Uサーバーあたり24台のドライブを可能にします。M.2ドライブはより高い密度を提供しますが、熱の課題があります。Optane永続メモリは、ホットデータキャッシング用にモジュールあたり40GB/sを提供します。オーバーヘッドを考慮すると、200GB/sには最低30〜35台のドライブが必要です。

ネットワークアーキテクチャ:200GbEまたはデュアル100GbEは、十分な帯域幅と余裕を提供します。RDMA over Converged Ethernet(RoCE v2)はプロトコルオーバーヘッドを排除します。3:1オーバーサブスクリプションのスパインリーフトポロジーがバーストトラフィックを処理します。各ストレージノードには200Gbpsのアップリンク容量が必要です。GPUノードには同等のインバウンド帯域幅が必要です。ノンブロッキングスイッチが輻輳による速度低下を防止します。

サーバー構成:ストレージノードはCPU、メモリ、ドライブ容量のバランスを取ります。デュアルAMD EPYCまたはIntel Xeonは、イレージャーコーディングに十分な処理能力を提供します。512GB RAMは広範なメタデータキャッシングを可能にします。ハードウェアRAIDコントローラーはパフォーマンスのボトルネックになります—ソフトウェア定義ストレージを使用してください。2つの100GbEポートが冗長性と負荷分散を提供します。各NVMeドライブにPCIe Gen4 x16スロットがあれば、フル帯域幅が確保されます。

ソフトウェアスタック:オブジェクトストレージプラットフォームは、GPU最適化において大きく異なります: - MinIO:GDSサポートを備えたネイティブS3実装、183GB/sの実証スループットを達成⁵ - VAST Data:QLCフラッシュで200GB/sに達するハードウェア最適化プラットフォーム - WekaFS:S3ゲートウェイを備えた並列ファイルシステム、191GB/sの測定パフォーマンス - Pure Storage FlashBlade:シャーシあたり75GB/sの統合アレイ - DDN EXAScaler:大規模で250GB/sを達成するHPCフォーカスソリューション

実装のベストプラクティス

成功するGPU Direct Storage展開は、実証済みのパターンに従います:

データ編成:並列アクセスパターン用にデータセットを構造化します。学習データを最適なストリーミングのために64〜256MBサイズの複数オブジェクトにシャーディングします。確定的なGPU対シャードマッピングのためにコンシステントハッシングを実装します。高速なキーバリューストアにメタデータを保存して、迅速なデータセットインデックス作成を行います。イミュータブルオブジェクトの原則を使用してデータセットをバージョン管理します。GPUの解凍がストレージスループットを上回る場合はデータを圧縮します。

ネームスペース設計:ワークロードタイプとアクセスパターンごとにネームスペースを分離します。学習データはイレージャーコーディングを備えた高スループットプールに配置します。モデルチェックポイントはレプリケーションを備えた高耐久性プールに配置します。一時データは冗長性のないパフォーマンス最適化プールに配置します。アーカイブデータは積極的な圧縮を備えた容量最適化プールに配置します。

キャッシング戦略:頻繁にアクセスされるデータに対してマルチティアキャッシングを実装します。10TB未満のワーキングセット用にGPUノードにNVMeキャッシュを配置します。メタデータ用にRedisまたはMemcachedを使用した分散キャッシュを配置します。ホットオブジェクト用にOptaneまたはRAMを使用したストレージサイドキャッシュを配置します。学習エポックパターンに基づいてプリフェッチを行います。オフピーク時間中のキャッシュウォーミングにより、本番環境への影響を軽減します。

負荷分散:集約スループットのためにストレージノード全体にリクエストを分散します。シンプルなS3エンドポイント配布用にDNSラウンドロビンを使用します。インテリジェントなリクエストルーティング用にHAProxyまたはNGINXを使用します。コンシステントハッシングを使用したクライアントサイド負荷分散を行います。ノードごとのスループットを監視してボトルネックを特定します。小さなオブジェクト用にリクエストコアレッシングを実装します。

Introlは、グローバルカバレッジエリア全体でAIワークロード向けの高性能ストレージソリューションを設計・実装しており、ペタバイト規模のオブジェクトストレージ展開を管理する専門知識を持っています。⁶ 当社のチームは、GPU使用率と学習効率を最大化するためにストレージインフラストラクチャを最適化します。

パフォーマンス最適化技術

200GB/sの持続スループットを達成するには、体系的な最適化が必要です:

カーネルチューニング:高帯域幅接続用にネットワークバッファを128MBに増加します。一貫したレイテンシのためにCPU周波数スケーリングを無効にします。GPUコアを避けて特定のコアに割り込みハンドラーをピン留めします。TLBプレッシャー軽減のためにヒュージページを有効にします。ローカルメモリアクセスのためにNUMA設定を調整します。NVMeデバイス用にio_scheduleを'none'に設定します。

ネットワーク最適化:パス全体でジャンボフレーム(9000 MTU)を有効にします。パケットロスなしの輻輳通知用にECNを設定します。高帯域幅遅延積用にTCP設定を調整します。チェックサムとセグメンテーション用のハードウェアオフロードを有効にします。CPUオーバーヘッド軽減のために割り込みコアレッシングを設定します。ロスレスRoCE用にプライオリティフロー制御を実装します。

ストレージチューニング:パーティション境界を消去ブロックサイズに揃えます。適切なキュー深度(デバイスあたり256〜1024)を設定します。電力喪失保護付きの書き込みキャッシュを有効にします。アクセス時間更新などの不要なファイルシステム機能を無効にします。持続的なSSDパフォーマンスのためにTRIM/UNMAPを実装します。SSDウェアレベリングを監視し、事前にドライブを交換します。

アプリケーション最適化:シーケンシャルアクセス用に大きなIOサイズ(1〜4MB)を使用します。ストレージレイテンシを隠すためにプリフェッチを実装します。ダブルバッファリングを使用して計算とデータ転送をオーバーラップさせます。ページ移行を防ぐためにメモリバッファをピン留めします。カーネルキャッシングをバイパスするためにダイレクトIOを使用します。小さなリクエストをより大きな操作にバッチ処理します。

実際の実装事例

OpenAI - GPT学習インフラストラクチャ: - ストレージ:S3インターフェースを備えた50PB WekaFS - スループット:10,000 GPUへの175GB/s持続 - アーキテクチャ:NVMe + Optaneを備えた100ストレージノード - ネットワーク:RDMA付き400GbE InfiniBand - 結果:データロードを学習時間の30%から5%に削減 - イノベーション:アクセスパターンを予測するカスタムプリフェッチ

Netflix - ビデオ理解プラットフォーム: - ストレージ:3リージョンにまたがる20PB MinIO - スループット:推論用に145GB/s集約 - 構成:各24台のNVMeドライブを備えた60ノード - 最適化:シーン別のコンテンツ対応シャーディング - 結果:カタログ全体を72時間で処理 - コスト:AWS S3と比較して80%削減

自動運転車会社(NDA下): - データセット:500TBの運転映像 - ストレージ:GDS付きPure FlashBlade - パフォーマンス:512台のV100 GPUに対して200GB/s - アーキテクチャ:相互接続された10シャーシ - 影響:学習時間を21日から7日に短縮 - キー:データレイアウトの時間的局所性最適化

国立研究所 - 科学的ML: - スケール:100PB DDN EXAScaler - スループット:250GB/s持続 - ワークロード:気候シミュレーション学習 - GPU:2,048台のA100が同時アクセス - 効率:94%のGPU使用率を達成 - イノベーション:テープバックエンドを備えた階層型ストレージ

監視とトラブルシューティング

包括的な監視により、持続的なパフォーマンスを確保します:

スループットメトリクス:遅延GPUを特定するためにGPUごとの読み取り帯域幅を追跡します。クラスター集約スループットと理論上の最大値を監視します。リクエストレイテンシパーセンタイル(p50、p99、p999)を測定します。スループット低下が10%を超えた場合にアラートを発します。ピーク期間を特定するために時間別/日別パターンをグラフ化します。アプリケーション報告値とインフラストラクチャ測定値を比較します。

ストレージヘルス:障害を予測するためにSSD摩耗インジケーターを監視します。影響前に注意が必要なエラー率を追跡します。サーマルスロットリングを回避するために温度を監視します。飽和を特定するためにキュー深度を測定します。異常を検出するためにIOPSパターンを観察します。容量が80%に近づいた場合にアラートを発します。

ネットワークパフォーマンス:即座の調査が必要なパケットロスを監視します。輻輳を示す再送率を追跡します。レイテンシ増加を検出するためにラウンドトリップタイムを測定します。オーバーフローを防ぐためにバッファ使用率を監視します。ボトルネックを特定するために帯域幅使用率をグラフ化します。ベースラインレートを超えるエラーにアラートを発します。

アプリケーションメトリクス:エポックごとのデータロード時間を追跡します。ストレージがペースを維持していることを確認するためにGPU使用率を監視します。チェックポイントの保存/復元時間を測定します。データセットキャッシュヒット率を監視します。学習スループット(イテレーション/秒)をグラフ化します。予想パフォーマンスと実際のパフォーマンスを比較します。

一般的な問題と解決策:

症状:スループットが期待値を下回る - 確認:パス全体でのネットワークMTUの一貫性 - 確認:ストレージコントローラーキュー

[翻訳のため内容が切り詰められています]

お見積り依頼_

プロジェクトについてお聞かせください。72時間以内にご回答いたします。

> TRANSMISSION_COMPLETE

リクエストを受信しました_

お問い合わせありがとうございます。弊社チームがリクエストを確認し、72時間以内に回答いたします。

QUEUED FOR PROCESSING