Design

Storage Architecture

Size storage for models, checkpoints, and datasets — and the throughput they demand during bursts. Pick the right tier per workload and follow the principles that keep GPUs fed.

Storage planner
Capacity
Model

140 GB

FP16 weights

Checkpoint

420 GB

per checkpoint

Checkpoint storage

10.1 TB

24 retained

Dataset

26 TB

+ overhead

Total

36.2 TB

capacity

Write throughput

0.5 GB/s

checkpoint burst

Read throughput

64 GB/s

aggregate data-loading

Recommended tier

Parallel FS (checkpoints + datasets) + object cold tier

Burst checkpoint writes and high-throughput dataset reads need a parallel file system; keep cold data in object storage.

Notes
  • ~64 GB/s aggregate read — enable GPUDirect Storage and cache datasets near the GPUs.
  • Size for throughput (GB/s) and IOPS during bursts, not only total capacity.

Planning heuristics — validate against the framework, checkpoint format, and data pipeline.

Storage types
TypeThroughputScaleBest for
Local NVMeHighest per-node (GB/s)Node-local onlyScratch, dataset cache, checkpoint staging
Caveat: Not shared — data is lost with the node.
Parallel FS (Lustre / GPFS / BeeGFS)Very high aggregate (TB/s at scale)Cluster-wide, scales with serversTraining datasets and burst checkpoint writes
Caveat: Complex to operate; needs dedicated storage servers + network.
Object (S3 / MinIO)High aggregate, higher latencyEffectively unlimitedDatasets, model weights, artifacts, cold tier
Caveat: Not a POSIX filesystem; stream or cache for training.
NFSModerateShared, limited by the serverHome directories, configs, small shared assets
Caveat: Rarely sustains large checkpoint bursts.
CephFS / RookModerate–highSoftware-defined, scales outGeneral shared storage on commodity hardware
Caveat: Tuning matters; not always parallel-FS fast.
By workload

Distributed training

Parallel FS + object cold tier

Parallel FS sustains burst checkpoint writes and high-throughput dataset reads; keep cold datasets in object storage.

Fine-tuning

Local NVMe + object

Cache the base model and adapters on local NVMe; pull from object storage.

Real-time inference

Object + local NVMe cache

Model weights live in object storage / a registry; cache them on local NVMe to cut cold-start.

RAG

Vector DB + object

Vectors in the vector store, source documents + embeddings in object storage, hot contexts cached.

Batch inference

Object in + object out

Stream inputs from and write results to object storage; cache the model locally.

Design principles

GPUDirect Storage

Let storage DMA directly into GPU memory, bypassing the CPU bounce buffer — cuts data-loading overhead for training.

Tiering

Hot (local NVMe) → warm (parallel FS) → cold (object). Move data down as it ages to control cost.

Checkpoint strategy

Async and sharded checkpointing overlaps I/O with compute so a checkpoint never stalls the GPUs; size storage for the burst.

Data locality & caching

Cache datasets near the GPUs and reuse across epochs; a cold read path silently starves utilization.

Throughput, not just capacity

Size for the required GB/s and IOPS during checkpoints and data loading, not only for total terabytes.