【问题标题】:sun grid engine qsub to all nodessun Grid Engine qsub 到所有节点
【发布时间】:2015-05-07 00:04:29
【问题描述】:
我有一个主节点和两个节点。它们与 SGN 一起安装。我在所有节点上也准备好了一个 shell 脚本。现在我想使用qsub 在我的所有节点上提交作业。
我用过:
qsub -V -b n -cwd /root/remotescript.sh
但似乎只有一个节点在做这项工作。我想知道如何为所有节点提交作业。命令会是什么。
我的参考是这个enter link description here
【问题讨论】:
标签:
cluster-computing
sungridengine
qsub
【解决方案1】:
SGE 旨在将作业分派到工作节点。在您的示例中,您创建了一项作业,因此一个节点将运行它。如果您想在每个节点上运行一个作业,您需要提交多个作业。如果你想定位节点,你可能应该使用更接近
qsub -V -b n -cwd -l hostname=node001 /root/remotescript.sh
qsub -V -b n -cwd -l hostname=node002 /root/remotescript.sh
“-l hostname=*”参数将需要特定的主机来运行作业。
你想做什么?使用网格引擎的一般用例是让调度程序分派作业,因此您不必使用“-l hostname=*”参数。所以从技术上讲,你应该只向 SGE 提交一堆作业,并让它在节点可用的情况下调度它。
【解决方案2】:
Finch_Powers 的答案非常适合描述 SGE 如何分配资源。因此,我将在下面详细说明您的问题,这可能是您没有得到预期结果的原因。
您提到通过以下方式启动远程脚本:
qsub -V -b n -cwd /root/remotescript.sh
另外,您再次提到这些脚本位于节点上:
“我在所有节点上都准备好了一个 shell 脚本”
这不是 SGE 设计的工作方式,尽管它可以做到这一点。典型用法是通过执行节点上的网络安装存储让所有节点可访问相同的单个(或多个)脚本,并让 SGE 决定在哪些节点上运行脚本。
要运行远程代码,最好使用普通 SSH。