0

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

我现在所做的是,我为每个作业生成一个 Bash 脚本,然后分别提交它们中的每一个,所有这些都由我编写的 Perl 脚本控制。

如果我只是将所有作业放入一个文件,一行作业,那么 Grid Engine 将按顺序执行这些作业,这并不重要。

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

基本上我想要像 Grid Engine Array Jobs 这样的东西。但是数组作业的问题是,它们只有在每个作业之间的变化元素是一个数字或数组中的一个索引,并且这个数字/索引是均匀分布的情况下才有效。但我说的是完全不相关且不共享模式的工作。

4

1 回答 1

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
于 2013-10-16T14:39:23.403 回答