【问题标题】:PBS deferred execution with job array带有作业数组的 PBS 延迟执行
【发布时间】:2014-10-09 21:46:03
【问题描述】:

我正在尝试编写一个作业数组,以便各个作业在稍微不同的时间点开始。 (因为我调用的程序使用最接近秒的时间作为随机种子,如果同时提交所有作业,它将生成相同的结果。)

这是我正在使用的指令:

#!/bin/bash
#PBS -N test
#PBS -t 1-10                   # Job array
#PBS -a hhmm.ss                # Deferred execution

echo Time is `date` >> test.out

但我希望 -a 被隔开。我正在考虑编写一个小子程序,以该格式打印出随机数并将其提供给 -a,但我不知道如何使 -a 采用变量的选项。

欢迎任何其他方面的解决方案,唯一的要求是作业数组中的作业以随机时间间隔开始。

希望这是有道理的,否则我很乐意澄清。

【问题讨论】:

  • 如果这是 TORQUE 2.4 或更高版本,您可以通过将 #PBS -t 1-10 更改为 #PBS -t 1-10%1 来强制所有作业都不会同时执行。如果您可以编辑程序,我强烈建议您使用不同的随机种子,因为有很多更好的方法可以做到这一点。

标签: job-scheduling pbs deferred-execution


【解决方案1】:
#!/bin/bash
#PBS -N test
#PBS -t 1-10                   # Job array

sleep `expr $RANDOM % 60`     
echo Time is `date` >> test.out

有朋友建议在脚本开头使用wait或sleep,让job在重新开始前等待。这个 expr $RANDOM % 60 将它们隔开几秒钟(小于 60)。请注意,您不再需要延迟执行(没有 -a 指令)。

【讨论】:

    猜你喜欢
    • 2012-03-29
    • 2015-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-22
    • 1970-01-01
    • 2015-08-11
    • 1970-01-01
    相关资源
    最近更新 更多