Condor运行有多种模式,不同的模式有各自不同的功能。
在standard模式下,Condor提供检查点和远程系统调用。这些特性使得任务的运行更加可靠并且允许任务从机群中的任何地点以相同方式访问资源。要把一个程序配置成标准模式任务,就必须使用condor_compile进行重连接。大多数程序都能配置成标准模式任务。
一个检查点映像本质上就是任务当前运行状态的一幅快照。如果某件任务必须从一台机器迁移到另一台上面,Condor就会创建一个检查点映像,然后把这个映像拷贝到新机器上,随后从刚才中断的位置重新启动这个任务。如果一台机器在它正在运行某项任务的时候出现崩溃或故障,Condor能够采用最近期的一份检查点映像在某台新机器上重新启动这项任务。这样一来,任务就可以经年累月的运行而不用担心突发性的计算机故障。
要想获得检查点功能,必须用condor_compile把源程序与condor库进行链接。
设立检查点有2种方式:
1,在程序运行期间发送信号,使condor做检查点,需要人为控制。若希望进程进行一次检查点操作后中止运行,用户键入CTRL+Z;若希望进程进行一次检查点操作后进程继续运行,键入CTRL+C。
2,在源程序中调用condor检查点函数库,程序自动做检查点。
利用检查点文件恢复被中断的进程,键入命令:
<程序名> -_condor_restart <检查点文件名>
Condor检查点库:
① void init_image_with_file_name(char *ckpt_file_name) 设置检查点映像文件名。
② void init_image_with_file_descriptor(int fd) 设置文件描述符名。<