在Grid Engine上并行启动许多不相关的作业?

时间:2012-11-27 06:52:54

标签: cluster-computing qsub sungridengine

我经常想在Grid Engine集群上启动一组完全不相关(“令人尴尬”并行)的作业,以实现负载平衡。

我现在做的是,我为每个作业生成一个Bash脚本,然后分别提交每个作业,全部由我写的Perl脚本控制。

如果我只将所有作业放入一个文件,一行一个作业,那么Grid Engine将按顺序执行除了该点之外的作业。

我有什么方法可以只有一个文件,并告诉Grid Engine它应该并行执行每一行/作业吗?

基本上我想要Grid Engine阵列作业。但是阵列作业的问题是,只有当每个作业之间的变化元素是数字或数组中的索引时,它们才有效,并且如果这个数字/索引是均匀间隔的话。但我所说的工作完全不相关,并且没有共享模式。

1 个答案:

答案 0 :(得分:0)

使用中等强大的解释器提交数组作业,将$ SGE_TASK_ID转换为您想要的任何内容:

#$ -t 1-3    
#$ -S /bin/bash
case $SGE_TASK_ID in
1)echo "I'm a teapot short and stout";;
2)cat /etc/passwd;;
3)touch ~/job3run;;
esac