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 可能会更好。
我有一个主节点和两个节点。它们与 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 可能会更好。