sun grid engine qsub 到所有节点

sun grid engine qsub to all nodes

我有一个主节点和两个节点。它们与 SGN 一起安装。我还在所有节点上准备了一个 shell 脚本。现在我想使用 qsub 在我的所有节点上提交作业。 我用过:

qsub -V -b n -cwd /root/remotescript.sh

但似乎只有一个节点在做这项工作。我想知道如何为所有节点提交作业。命令是什么。 我的参考是这个enter link description here

SGE 旨在将作业分派给工作节点。在您的示例中,您创建了一项工作,因此一个节点将 运行 它。如果你想在你的每个节点上 运行 一个作业,你需要提交多个作业。如果你想定位节点,你可能应该使用更接近

的东西
qsub -V -b n -cwd -l hostname=node001 /root/remotescript.sh
qsub -V -b n -cwd -l hostname=node002 /root/remotescript.sh

“-l 主机名=*”参数将需要特定主机才能运行 作业。

你想做什么?使用网格引擎的一般用例是让调度程序分派作业,这样您就不必使用“-l hostname=*”参数。所以从技术上讲,您应该只向 SGE 提交一堆作业,然后让它根据节点可用性进行调度。

Finch_Powers 答案很好地描述了 SGE 如何分配资源。因此,我将在下面详细说明您提出的问题的具体情况,这可能就是您未获得预期结果的原因。

您提到通过以下方式启动远程脚本:

qsub -V -b n -cwd /root/remotescript.sh

此外,您再次提到这些脚本位于节点上:

"And I have a shell script ready on all the nodes as well"

不是 SGE 设计的工作方式,尽管它可以做到这一点。典型的用法是让相同的单个(或多个)脚本 可访问 通过网络安装在执行节点上的存储的所有节点,并让 SGE 决定在哪些节点上 运行 脚本。

对于 运行 远程代码,使用纯 SSH 可能会更好。