首页 > 解决方案 > 为什么首先从检查点恢复操作?

问题描述

当我在看一个在gem5上实现的顶级会议的源代码时,它们都首先用于--take-checkpoint=$INST_TAKE_CHECKPOINT生成100,000条指令的检查点。当它实际运行时,从检查点开始运行。但是我一直以为check-point是在程序崩溃的时候恢复的?或者将一个大型基准测试分成几个运行?但是为什么你一开始就检查点呢?这是什么意思?

标签: gem5checkpoint

解决方案


根据我的经验,检查点的主要应用是在启动后快进模拟(使用快速 CPU 完成),然后开始在详细的 CPU 中运行内容,相关:https ://cs.stackexchange.com/questions/69511/什么是快速转发意味着在 cpu 模拟/120980#120980 的上下文中

我认为--take-checkpoint采取多个检查点的动机就像您所说的将大型基准测试分成多个运行。首先快速 Atomic 运行直到结束,生成几个检查点,然后从检查点开始在几台不同的机器上进行更详细和更慢的运行以并行化工作,然后以某种方式组合结果,这可能是有意义的。


推荐阅读