具备改进最坏情况保证的在线检查点技术
1. 引言
检查点技术是指存储一系列长时间计算的中间状态,这样能使系统更快地恢复到之前的状态,因为只需重新执行从最近检查点开始的计算。它是计算机科学中的一项基础技术,经典成果可追溯到上世纪七十年代,近年来在分布式、传感器网络和云架构等领域也有相关研究。
传统的检查点技术研究主要聚焦于容错,即针对可立即检测到的故障,通常只需要恢复到最近的检查点。但设置检查点可能成本较高,因为需要将整个系统状态复制到二级存储中。所以核心问题是在随机故障模型和设置检查点成本等假设下,确定设置检查点的最佳频率,以最小化设置检查点和重新计算的总时间。
而本文研究的检查点问题有所不同。当检查点的目的不是系统容错时,检查点可以存储在主内存中,这种应用场景包括数据压缩和数值计算等。在这些场景中,设置检查点的成本相对常规计算成本较小,因此存储检查点所占用的内存成为瓶颈。
Ahlroth 等人首次提出了一个独立于特定应用的框架。他们不假设会请求哪种恢复操作,只是研究如何在线设置检查点,以使检查点在计算历史中的分布始终保持平衡。他们假设系统最多能存储 k 个检查点(加上时间为 0 时的一个免费检查点),在任何时间点都可以丢弃一个旧检查点并将当前状态作为新检查点,且忽略这种更改带来的成本。他们主要使用最大间隙比作为检查点算法的差异度量,即所有当前时间 T 下,最长间隔与最短间隔(忽略最后一个间隔)的最大比率。他们展示了一个简单算法,其差异度为 2:初始时将所有检查点均匀放置,例如在时间 1 到 k 处。在偶数时间 T 时,移除一个奇数时间的检查点并将其放置在 T 处。当 T = 2k 时,所有检查点将位于偶数时间 2、4 到 2k 处,这些检查点是初始检查点的缩
超级会员免费看
订阅专栏 解锁全文
171万+

被折叠的 条评论
为什么被折叠?



