windows - Windows 上的检查点(快照/恢复)库?

标签 windows serialization resume checkpoint

引用维基百科,checkpointing “基本上包括存储当前应用程序状态的快照,稍后,在出现故障时使用它重新启动执行。”

我需要检查点并恢复 C++ 科学应用程序(我们编写的)。该程序是单线程,不依赖于其他正在运行的应用程序:没有 GUI,没有网络,没有管道,没有 fork 等。它所做的只是计算和文件输入/输出。

在 Linux 上,DMTCP对我来说效果很好。它甚至不需要修改源代码或重新链接。 BLCR 和 Condor 也支持 Linux 上的检查点。

在不久的将来,我将不得不在 Windows 上运行该应用程序。我四处搜索,找不到任何适用于 Windows 的检查点库。原则上,我可以修改应用程序,使其根据请求将其状态转储到磁盘上,并在下次运行时重新加载数据。然而,由于应用程序的复杂性,即使借助序列化库,这也需要付出很多努力。

那么,Windows 上有任何 C/C++ 检查点库吗? 如果库需要修改我的代码,那完全没问题。理想情况下,该库允许我根据请求(例如,通过发送信号/消息)检查点,而不是只能在代码中的特定点保存状态。

(我知道 similar questions 说检查点通常是不可能的。但是,我的情况是可能的,而且我一直在 Linux 上这样做。)

最佳答案

尝试将您的程序构建为共享库,并从内部因素或 sbcl 中调用它。然后使用其中任何一个的构建检查点功能。

关于windows - Windows 上的检查点(快照/恢复)库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10711243/

相关文章:

windows - 如何批量清空文件

python - Python 中嵌套 NamedTuples 的 JSON 反序列化

c++ - boost序列化库中的<<和&有什么区别?

java - YamlDotNet:如何处理!!set

windows - Windows Installer在Win 10上失败,但在使用WIX的Win 7上失败

python - 在 Windows 上成功 shutil.rmtree 后,os.mkdir 可能会因 PermissionError 而失败

windows - Windows任务管理器中的峰值工作集是什么

android - Activity 从模拟器中的主屏幕启动器恢复,但不是在 Android 设备上

c++ - C++中线程的挂起和恢复

iphone - 如何在暂停后恢复执行选择器方法?