问题描述
使用condor
在专用计算机群集上分配作业时,首先将作业提交到群集,然后等待它们实际开始运行。根据多种因素,它们可能会保持空闲状态一段时间,甚至几小时。
让我们说我刚刚编译了将在作业中运行的代码。我可以通过condor
提交文件来提交作业。然后,我意识到我想更改原始代码,或者是因为其中有一些错误,或者是因为我想尝试不同的参数。如果在作业仍处于空闲状态时代码完成编译,那么群集中将运行哪个版本?换句话说,condor
是在提交作业时以某种方式存储代码快照,还是在作业开始运行时才选择代码快照?
尽管认为第一种选择听起来更合理,但我从自己的工作中得到的证据表明第二种是实际发生的选择。
解决方法
运行condor_submit时,可执行文件将复制到调度程序下的假脱机目录中。这称为假脱机。如果您希望在提交后更改可执行文件,那么最好的办法是使您的可执行文件成为一个调用真实可执行文件的shell脚本,并将该可执行文件放入transfer_input_files列表中。