電源断後に残るかから始める
DRAMはactive stateをprocessor近傍に置くvolatile memoryでrefreshを要する。NAND flashは電源断後も保持し、page単位でread/programし、より大きいblockでeraseする。AIではweight/tensorは実行時にDRAM/HBM、dataset/checkpoint/index/logはSSDやnetwork storageに置かれる。両者は代替品ではなくpipelineの補完物である。
- 1dataset/checkpoint
- 2NAND SSD
- 3host DRAM
- 4HBM
- 5execution
- 1persistent capacity
- 2staging
- 3active state
- 4arithmetic
shard読込みで止まるならstorage throughput、queue depth、decompression、network localityを調べる。kernel内で止まるならHBM trafficかcomputeを疑う。NVIDIA H200発表の141GB・4.8TB/sは製品仕様、Micron HBM3Eはcomponent仕様であり、SSD比較ではない。
NANDでは更新はout-of-placeになり、flash translation layerがlogical addressをphysical locationへ対応付け、garbage collection、wear leveling、spare blockを管理する。従ってfreshなread-mostly driveと、満杯でwrite-heavyなdriveは同じinterfaceでも挙動が違う。1TB training cacheがSSDに収まっても1TB GPU working setにはならない。active tensor 40GBとworkspace 10GBが必要なら50GBはdevice常駐かstep中transferを要する。
SolidigmのAI storageページは段階ごとに異なるstorage特性が必要だと主張するvendor materialである。DRAM/NANDのcycleを同一視して、accelerator出荷増から全supplierの同じ売上を導かない。workload変化→必要なactive/persistent memory→qualified configuration→bit shipmentと価格→reported revenueの各矢印を条件として置く。
演習
raw data、shard、checkpoint、weight、KV cache、outputを列挙し、persistence、容量、read/write pattern、step中の場所を記録する。warm local cacheとcold/remote sourceを安全に比較し、load時間とdevice executionを分ける。DRAM仮説とNAND仮説を一つずつ書き、反証metricを添える。
更新単位が設計を変える
DRAMはaddressableなworking stateを短い時間で読み書きするため、CPU/GPUが同じlocationを細かく更新する用途に合う。NANDではpageをprogramし、eraseはblock単位なので、上書きは新しい場所への書込みと古いpageのinvalid化になる。SSD controllerはこの差をflash translation layerで隠すが、物理的なeraseを消せない。空きblockが少なく小さいrandom writeが続けば、garbage collectionがforeground I/Oと競合し、tail latencyが伸び得る。
玩具例を作る。10TB corpusをNANDに保持し、各requestが10MBだけretrievalするなら、HBMへ常駐させるべきなのはその時点のsubsetである。50GBのweights、30GBのKV cache、10GBのworkspaceを使うならactive working setは90GBで、device容量とbatchが直接関係する。corpus容量を増やすSSD選択と、KV cacheを収めるHBM選択は同じ「memory market」でも異なる設計変数になる。
cycleを分析するときはbit shipment、ASP、inventory、wafer投入、controller/firmware mix、end marketを別にする。AI serverの増加がDRAM/HBMのactive capacityを増やす可能性はあるが、NANDではdataset retention、server SSD構成、write endurance、storage architectureが追加変数になる。byte数の増加を各社の売上やmarginへ直接変換しない。
演習の結果を表にする。objectごとに「電源断後に必要か」「read-mostlyかwrite-heavyか」「page cacheで温まるか」「deviceへいつ移すか」を書く。remote sourceでtime-to-first-batchだけが悪化し、steady-state kernel時間が同じなら、最初の対策はstorage/network pathである。context増でOOMが先に出るなら、NANDの容量でなくactive DRAM/HBM capacityを検査する。これが反証可能な診断になる。
ROOFLINE / 仮想的な入力
メモリは計算装置へ十分にデータを送れるか。
上限 = min(計算の上限, 帯域 × 演算密度)。TBは10¹² byte。キャッシュ、アクセスの形、通信、実際の稼働率を省いた上限で、製品の測定ではありません。容量を増やしても帯域が増えるとは限りません。
出典
01自分のノート