有可能使用Python集成的DMTCP来在并行执行中检查点子进程吗?
我的情况如下:我有一个multiprocessing.Pool,其中有几个工作进程接收异步任务(使用apply_async)。某些大任务需要所有资源(CPU核心和内存)。当接受其中一个这样的任务时,我想检查点所有待处理进程,将它们退出执行,启动大型任务,最后恢复检查点的进程。
有可能使用Python集成的DMTCP来在并行执行中检查点子进程吗?
我的情况如下:我有一个multiprocessing.Pool,其中有几个工作进程接收异步任务(使用apply_async)。某些大任务需要所有资源(CPU核心和内存)。当接受其中一个这样的任务时,我想检查点所有待处理进程,将它们退出执行,启动大型任务,最后恢复检查点的进程。
dmtcp_launch python ...
或dmtcp_launch ./myapp.py
启动Python程序,则主进程创建的所有子进程都会自动处于检查点控制之下。因此,当您尝试从主进程内部对计算进行检查点时,所有其他进程也会被检查点。