【问题标题】:Make next condor job wait until the previous finishes copying input files让下一个神鹰作业等到前一个完成复制输入文件
【发布时间】:2015-05-12 21:55:31
【问题描述】:

我在大学的一个计算集群上使用 condor 来管理大量工作。我的程序读入两个大 (~1Gb) 输入文件并生成一个小 (~100kb) 输出文件。我所有的输入文件都位于同一个网络磁盘上,所有 condor 节点都可以读取(我们大约有 150 个)。我注意到,在我提交大量作业后,它们开始运行速度变慢,我怀疑这是由于 IO 延迟,因为磁盘磁头必须移动更多才能同时读取许多文件。我想通过在运行作业之前将文件复制到节点来优化这一点。更准确地说,我希望一次只复制一个文件,以便更按顺序读取磁盘。我尝试使用

should_transfer_files = YES
when_to_transfer_output = ON_EXIT
transfer_input_files = file1, file2

但这似乎不会强制后续作业等待前面的作业完成复制文件。

【问题讨论】:

    标签: condor


    【解决方案1】:

    如果您希望作业 B 等待作业 A 的完成,您需要将它们关联起来。这可以通过使用 DAG 来执行(请参阅 DAGman)

    JOB FIRST a.submit
    JOB SECOND b.submit
    PARENT FIRST CHILD SECOND
    

    在上面的示例中,由 b.submit 定义的文件作业只有在作业 a.submit 完成正常时才会执行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-01-04
      • 1970-01-01
      • 2020-10-31
      • 1970-01-01
      • 1970-01-01
      • 2021-01-02
      • 1970-01-01
      相关资源
      最近更新 更多