ai-infra-interview-305

第 163 题:训练数据的caching策略?SSD作为burst buffer

题目

训练数据的caching策略?SSD作为burst buffer


完整讲解

一、训练数据 Caching 目的

数据反复读自远程或慢盘会成为瓶颈;Caching 把热数据放在更快介质(内存、本地 SSD),减少重复 IO 与延迟。策略:全量缓存(数据集可放入内存或本地 SSD 时)、LRU 等淘汰(部分缓存、按访问热度)、预取(训练前或后台把即将用到的 shard 拉到本地)。

二、SSD 作为 Burst Buffer

Burst buffer:在计算节点与慢存储(如 Lustre、对象存储)之间加一层高速缓冲(常为 SSD/NVMe),写时先落缓冲、后台异步刷回慢存储,读时优先从缓冲取。这样训练过程主要与 SSD 交互,削峰填谷、减轻对共享存储的瞬时压力,并降低读延迟。多节点训练时可在每节点配本地 SSD 做节点级 cache,或共享的 SSD 池做 burst buffer;数据生命周期管理(预热、淘汰、持久化)需与作业与存储策略配合。

三、工程要点

缓存一致性:多进程/多节点时注意 invalidation;预取与 DataLoader 的 worker 数、shard 划分配合;监控 cache hit 与 IO 延迟,评估是否仍为瓶颈。


面试要点


记忆要点

  1. Caching = 热数据放内存/SSD;全量/LRU/预取。
  2. Burst buffer = SSD 缓冲层,写先缓冲、读优先缓冲;削峰降延迟。
  3. 多节点节点级或共享池;一致性、预取、监控。
返回模块 返回总览