【问题标题】:Code updates during submission of condor jobs提交 Condor 作业期间的代码更新
【发布时间】:2021-01-27 16:00:18
【问题描述】:

当使用condor 在专用计算机集群中分配作业时,首先将作业提交到集群,然后等待它们实际开始运行。根据多种因素,它们可能会在相当长的一段时间甚至数小时内保持空闲状态。

假设我刚刚编译了要在作业中运行的代码。我可以通过condor 提交文件提交作业。然后我意识到我想更改原始代码,要么是因为其中有一些错误,要么是因为我想尝试不同的参数。如果代码在作业仍处于空闲状态时完成编译,集群中将运行哪个版本?换句话说,condor 是在提交作业时以某种方式存储代码的快照,还是在作业开始运行时选取它?

尽管认为第一个选项听起来更合理,但我从自己的工作中得到证据表明第二个是实际发生的选项。

【问题讨论】:

    标签: cluster-computing jobs hpc condor


    【解决方案1】:

    运行 condor_submit 时,可执行文件被复制到调度程序下的假脱机目录。这称为假脱机。如果您希望在提交后能够更改可执行文件,最好的办法可能是让您的可执行文件成为调用真正可执行文件的 shell 脚本,并将可执行文件放入 transfer_input_files 列表中。

    【讨论】:

    • 这是有道理的;我错误地假设将传输可执行文件所在的整个目录。我的可执行文件确实是一个调用 C++ 可执行文件的 shell 脚本。如果我正确理解您的回复,为了清楚地定义将要运行的代码,我必须传输我的 shell 可执行文件使用的所有可执行文件、脚本和最终的其他 shell 脚本(使用 inputshould_transfer_fileswhen_to_transfer_files命令)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-23
    相关资源
    最近更新 更多