1、 蚂蚁集团缓存加速系统PCache演讲人:顾树威AI训练对存储的需求和挑战PCache系统介绍面向AI场景的优化生态介绍目录0102030401AIAI训练对存储的需求和挑战训练对存储的需求和挑战第一章节大模型训练对IO的需求模型启动阶段顺序读checkpoint文件顺序读数据集索引文件迭代训练随机读数据集顺序写checkpoint文件AI数据读取的挑战数据规模大语言模型数据集文件数:亿级别,容量:PB级别多模态训练集:十亿级别,容量:10PB级别。流量特征爆发式的读checkpoint、dataset 索引文件流量持续性的随机读数据流量AI数据写的挑战训练Checkpoint机制流量特征周期
2、性爆发式写checkpoint时,GPU全局停顿写的越快,GPU停顿时间越短02PCachePCache系统介绍系统介绍第二章节系统概述引擎层Master:元数据管理节点Worker:数据节点JobMaster:内置Job管理节点接口层FUSE:Posix APIProxy:多语言服务UnifileSdk:PyTorch DataLoader持久化层对象存储文件存储功能概述预热(load):数据从持久化存储加载到缓存系统持久化(persist):数据从缓存写入底层持久化存储淘汰(evict):数据从缓存系统中删除,还可以从UFS重新预热数据读直读/穿透读数据写先写PCache,在异步写到持久化
3、存储副本管理:副本补齐、数据淘汰容量管理:挂载点级别quota管理部署架构:和训练容器混部,0成本打造近端缓存系统成本:存储“0成本”容量:0成本带宽:机房内部流量 代替VPC流量性能网络时延充分利用data locality:unix socket、gds等可行性分析:训练和存储使用资源互补训练:GPU/网络/内存/CPU存储:磁盘/网络/CPU验证云环境问题:单机故障频繁CPU机器年化故障率 2%-3%GPU 5%-8%核心工作:打造一个高可用、高性能的缓存加速系统高可用:k8s和引擎深度结合,打造云原生缓存系统k8s高阶定制能力节点域名化,解决IP变动问题,保证RaftID/Worker
4、ID重启不变PVC(Persistent Volumes Claim)数据节点重启不丢失和Pod自动绑定Kubernetes强大的基础运维能力容器编排服务注册配置托管灵活的定制能力Operator/Webhook引擎和k8s深度结合故障机时,数据自动迁移从IO流程看,系统高可用的必要条件1.服务高可用各个模块具备Failover能力故障节点具备快速恢复能力,使集群解除风险状态2.IO链路高可用3.数据高可用必要条件1:服务高可用-各模块具备高可用能力Master元数据模块RaftPVC元数据重启不丢PeerId重启保持不变 operator确保pod name不变service,保证连通性异常
5、主动切换:增加hook,Leader异常退出时,通知集群主动发起选主,15s-5sWorker数据模块PVC数据高可用故障节点快速隔离心跳机制读写巡检:真实IO测试节点状态状态:READ_ONLY、SUSPEND、LOST、READ_WRITE必要条件1:服务高可用-“快速”恢复,解除风险状态Master启动加速Snapshot恢复不同元数据分开Snapshot,便于并行化预解压:空间换时间机制更新:Log Redo-RocksDB snapshot机制FileSyste初始化核心类并行化非核心链路异步化,不阻塞主干流程Worker启动加速Worker lost toleration机制:减少
6、pod重启导致不必要的注册注册加速:异步、批量集群物理机全量重启,上亿文件数、PB级规模集群8分钟内恢复读写能力必要条件2:IO链路高可用读链路直读读:多副本穿透读写链路双写任一链路异常不会中断写系统后台清理未commit的数据块Block级别数据bufferIO核心链路,每个方法具备幂等重试能力必要条件3:数据可靠性物理机宕机,无迁移窗口副本自动补齐有迁移窗口:故障Pod自动搬迁k8s operator全托管transfer service sidecar数据可靠性基础双副本底层持久化冷备如何处理数据节点单机故障?完善的监控报警体系可观测性:log/m