[论文解读] VELOC: VEry Low Overhead Checkpointing in the Age of Exascale
VELOC 是一个面向百亿亿次 HPC 工作负载的生产就绪、多级、异步检查点系统,旨在最小化 I/O 开销并提升容错能力。它采用简单的用户 API,透明地利用异构存储(包括突发缓冲区和本地内存),并通过后台检查点机制实现最小的运行时干扰,在 Summit 上实现了高达 224 TB/s 的 I/O 吞吐量,性能开销可忽略不计。
Checkpointing large amounts of related data concurrently to stable storage is a common I/O pattern of many HPC applications. However, such a pattern frequently leads to I/O bottlenecks that lead to poor scalability and performance. As modern HPC infrastructures continue to evolve, there is a growing gap between compute capacity vs. I/O capabilities. Furthermore, the storage hierarchy is becoming increasingly heterogeneous: in addition to parallel file systems, it comprises burst buffers, key-value stores, deep memory hierarchies at node level, etc. In this context, state of art is insufficient to deal with the diversity of vendor APIs, performance and persistency characteristics. This extended abstract presents an overview of VeloC (Very Low Overhead Checkpointing System), a checkpointing runtime specifically design to address these challenges for the next generation Exascale HPC applications and systems. VeloC offers a simple API at user level, while employing an advanced multi-level resilience strategy that transparently optimizes the performance and scalability of checkpointing by leveraging heterogeneous storage.
研究动机与目标
- 解决百亿亿次 HPC 系统中日益严重的 I/O 瓶颈问题,即计算能力的增长远超 I/O 带宽。
- 克服传统检查点机制依赖单一外部存储所导致的 I/O 竞争和可扩展性差的问题。
- 提供一种可移植、可扩展且高性能的检查点解决方案,适用于包括突发缓冲区、键值存储和并行文件系统在内的多样化存储堆栈。
- 通过智能利用空闲资源并优化跨存储层级的数据移动,最小化后台检查点对运行时的干扰。
- 为新兴的 HPC 工作负载(如深度学习和数据密集型科学计算)提供高效、低开销的检查点支持。
提出的方法
- 为应用程序暴露一个简单的集体式 API,用于声明关键内存区域,实现声明与检查点启动的解耦。
- 实现一种透明的多级检查点策略,利用节点本地存储(如 DRAM、NVRAM)作为快速中间层,再将数据刷新到持久化存储。
- 采用异步、后台刷新机制将数据写入外部存储(如 Lustre、DAOS),以减少阻塞和 I/O 竞争。
- 基于内存布局和访问模式,应用智能的数据移动与序列化优化,以减少 I/O 数据量并提升效率。
- 通过优化的键值 API 与先进存储系统(如 DAOS)集成,支持可扩展、低延迟的检查点机制。
- 利用 DeepClone 和数据状态等技术,实现深度学习工作负载的零拷贝模型复制和基于血缘的检查点发现。
实验结果
研究问题
- RQ1在计算与 I/O 比率极高的百亿亿次系统中,如何最小化检查点的开销?
- RQ2如何最优地利用异构存储层级(如本地内存、突发缓冲区、并行文件系统)以提升检查点性能和容错能力?
- RQ3如何调度后台检查点以避免运行时干扰,同时保持低延迟?
- RQ4是否可以使用单一、可移植的 API 抽象化 HPC 平台间多样化的存储 API 和硬件特性?
- RQ5如何高效扩展检查点机制,以支持需要频繁、细粒度模型快照的深度学习工作负载?
主要发现
- VELOC 在 Summit 上实现了高达 224 TB/s 的本地内存检查点 I/O 吞吐量,展现出卓越的可扩展性。
- 即使在全规模应用执行期间,将本地检查点异步刷新到 Lustre 时,系统引入的运行时开销也可忽略不计。
- 通过将节点本地存储用作快速中间层,VELOC 减少了昂贵的外部 I/O 操作频率,显著提升了整体 I/O 效率。
- 通过优化的键值 API 与 DAOS 集成,验证了系统向下一代可扩展存储系统扩展的潜力。
- VELOC 已成功在预百亿亿次系统(如 Summit、Sierra 和 Fugaku)上支持 HACC、LatticeQCD 和 EXAALT 等生产级 HPC 应用。
- DeepClone 和数据状态等技术实现了深度学习模型的高效零拷贝复制,降低了检查点延迟,并支持基于血缘的模型管理。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。