一句话:提出 Relight,首个面向分布式任务型程序的自动检查点与快速前向重放框架,几乎无需改动代码即可完成完整作业恢复。
长时间运行的程序常借助检查点(定期把程序状态保存到存储)来应对非确定性缺陷、硬件故障与作业时限。传统方法要求用户手动管理检查点捕获与恢复执行时的数据迁移,负担沉重。针对任务型程序,用户已将计算拆分为任务、将数据组织为集合,这些结构信息足以支撑自动检查点。Relight 是首个面向任务型程序的自动分布式检查点框架,能在极少代码修改的前提下自动捕获与恢复检查点,并提供高效的快速前向重放(fast-forward replay)以实现完整作业恢复。作者在已充分优化的基准程序上、于 Piz Daint 超算最多 512 个节点进行评测,结果表明其检查点性能与可扩展性可与未修改的原始代码相当。
Checkpointing, or periodic saving of program state to storage, is the de facto standard technique used to mitigate risks of nondeterministic bugs, hardware faults, and job wall-time limits in long-running programs. Traditional approaches require users to manually manage the migration of data to and from storage when capturing checkpoints and when resuming execution. However, for task-based programs, where the user has already factored the computation into tasks and the program data into collections, sufficient information is available to automatically capture and resume from checkpoints with minimal code changes. We present Relight, the first framework for automatic, distributed checkpointing of task-based programs that provides an efficient fast-forward replay for full job recovery. On a set of already-optimized benchmarks, we demonstrate that Relight delivers checkpointing performance and scalability comparable to the original, unmodified codes when running on up to 512 nodes of the Piz Daint supercomputer.
@article{paperbot12098,
title = {Relight: Simple User-Level Checkpointing and Fast-Forward Replay for Distributed Task-Based Systems},
author = {Elliott Slaughter and Rupanshu Soi and Michael Bauer and Alex Aiken},
journal = {Proceedings of the ACM on Programming Languages},
volume = {10},
number = {OOPSLA2},
year = {2026},
doi = {10.1145/3839482}
}