在引用维基百科时, 检查点 “基本上包括存储当前应用程序状态的快照,稍后将其用于在发生故障时重新启动执行。
我需要检查点并恢复一个C ++科学应用程序(我们写的)。 该程序是单线程的 ,不依赖于其他正在运行的应用程序: 没有GUI,没有networking,没有pipe道,没有叉等。它只是计算和文件I / O。
在Linux上, DMTCP对我来说工作得非常好。 它甚至不需要修改源代码,也不需要重新链接。 BLCR和Condor也支持Linux上的检查点。
在不久的将来,我将不得不在Windows上运行应用程序。 我四处search,无法findWindows的任何检查点库。 原则上,我可以修改应用程序,以便根据请求将其状态转储到磁盘上,并在下次运行时重新加载数据。 但是,由于应用程序的复杂性,即使在序列化库的帮助下也需要付出很大的努力。
使用Linux恢复Windows Spanned disks(LDM)?
Windows卷影复制错误:2155348129
Linux挂起/恢复代码stream(在android手机上)
更改核心转储的位置
那么, Windows上有没有C / C ++检查点库? 如果库需要在我的代码中进行修改,那很好。 理想情况下,图书馆将允许我根据请求 (例如通过发送信号/消息)来检查点,而不是只能保存代码中特定点的状态。
(我知道类似的问题 ,说检查点通常是不可能的,但是我的情况是可能的,而且我一直在Linux上这样做)。
从光学媒体恢复忽略读取错误
如何在debian / ubuntu上编写系统调用
使用SC安装Windows服务,然后设置恢复属性
尝试将你的程序建立为一个共享库,并从factor或sbcl中调用它。 然后使用两者的建立检查点功能。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。