## 概要
NVIDIA が提供するストレージ直接アクセス技術。`libcufile` と `nvidia-fs` スタックを通じて、NVMe デバイスと GPU High-Bandwidth Memory(HBM)の間を PCIe 経由で直接 DMA 転送し、ホスト CPU の DRAM とカーネルバッファをバイパスする。[[NIXL]] では KV キャッシュ転送のバックエンドの1つ(UCX/GDS/OBJ/MoonCake/HF3FS の5種)として位置づけられている。
## 性能特性(Source: [[@2026__POMACS__Towards Scalable Storage Architectures for GPU Clusters Running Large Language Models]])
- **大規模・整列済みシーケンシャル転送(事前学習・ファインチューニング)で優位**: NVMe 上のメディア律速スループット上限(≈6.14 GB/s)に、libaio(~49% CPU)・interrupt-driven io_uring(~100% CPU)に対し ~12% の CPU 使用率で到達する(Figure 17)。
- **細粒度・ランダムな推論 I/O では劣る**: 16 KiB のブロックサイズで平均レイテンシは CPU パス(interrupt-driven io_uring: 133〜137 μs)より ~20〜80 μs 遅い ~152 μs であり、64 KB 未満の I/O サイズでは POSIX 相当の挙動に後退し setup time・レイテンシが悪化する(Figure 14・15)。
- 上記の非対称性(粗粒度で圧勝・細粒度で劣後)から、論文は「GDS は事前学習・ファインチューニングに、interrupt-driven io_uring は推論に」というフェーズ意識的な使い分けを提唱する。
## API とアーキテクチャ(Source: [[@2025__OReilly__AI Systems Performance Engineering - Chapter 5 GPU-Based Storage IO Optimizations]])
- CUDAの`cuFile`ライブラリ(`cuFileRead`/`cuFileWrite`、非同期版`cuFileReadAsync`/`cuFileWriteAsync`)を通じてアプリケーションから利用する。`nvidia-fs`カーネルドライバがGPUデバイスバッファを登録し、ストレージデバイスまたはRDMA NICとGPUメモリ間のDMAを直接オーケストレーションする。ホストピン留めメモリはstorage→GPUのデータパスでは使用されない。
- [[GPUDirect RDMA]]がネットワーク-GPU間DMAを担うのに対し、GDSはストレージ-GPU間DMAを担う相補的技術である。どちらもCPUによるI/Oのオーケストレーション自体は排除しない(ホストメモリのバウンスバッファのみを排除する)。
- サポート対象は局所NVMe/NVMe-oF(XFS/EXT4、`O_DIRECT`)、RDMA経由NFS、BeeGFS・WekaFS・VAST・IBM Storage Scale等の`nvidia-fs`統合済み並列ファイルシステムに及ぶ。FUSEでユーザー空間実装されたファイルシステムはカーネルレベル統合を欠くためGDSパスを提供できない。
- `gdsio`ベンチマークツール(`/usr/local/cuda/gds/tools`)による実測比較(同一構成、`-x 2`=CPU仲介・`-x 0`=GDS)では、スループットが8.0GB/sから9.6GB/s(+20%)へ、レイテンシが1.25msから1.00ms(-20%)へ改善した。
- VAST Dataの報告では、GDSはNVIDIA A100 GPUで20%、H100 GPU(より高いNICバンド幅とCPU負荷のため)で30%超の読み取りスループット改善をもたらす。改善幅はIOサイズ・キュー深度・NIC世代・ファイルシステム実装に依存するため、自環境での実測検証が推奨される。
## 関連
- [[GPUストレージIOデータパス]] — GDS を含む4種のデータパス比較の全体像
- [[NIXL]] — KV キャッシュ転送のバックエンドとして GDS を利用
- [[3FS]] — DeepSeekはページキャッシュを完全バイパスする独自ファイルシステムで、GDSと同様の「ホストメモリコピーを排除する」設計思想を共有するが、GDSのカーネルレベル統合とは異なりRDMA転送で直接GPU可読データを届ける
- [[@2026__POMACS__Towards Scalable Storage Architectures for GPU Clusters Running Large Language Models]]
- [[@2025__OReilly__AI Systems Performance Engineering - Chapter 5 GPU-Based Storage IO Optimizations]]
## 出典
- [[@2026__POMACS__Towards Scalable Storage Architectures for GPU Clusters Running Large Language Models]](§2.2, §3.2.8, §3.3, §3.4)
- [[@2025__PyTorchConference__Scaling KV Caches for LLMs - How LMCache + NIXL Handle Network and Storage Heterogeneity]](NIXL のバックエンドとしての言及)
- [[@2025__OReilly__AI Systems Performance Engineering - Chapter 5 GPU-Based Storage IO Optimizations]](§Using NVIDIA GDS, §Measuring GDS with gdsio)