在SGE中按数字及其名称请求节点

时间:2012-06-22 09:24:55

标签: sungridengine

  1. 如何在SGE中提交作业时请求节点数(不是过程)?

    例如在TORQUE中,我们可以指定qsub -l nodes=3

  2. 如何在SGE中按名称请求节点?

    例如在TORQUE中,我们可以qsub -l nodes=abc+xyz+pqr执行此操作,其中abcxyzpqr是主机名

    对于单个主机名,qsub -l hostname=abc可行。但是如何在SGE中划分多个主机名?

2 个答案:

答案 0 :(得分:15)

使用Grid Engine请求节点数是间接完成的。 如果要提交并行作业,则必须提出要求 并行环境(man sge_pe)和金额 像qsub -pe mytestpe 12 ...

那样的插槽(处理器等)

取决于并行环境中定义的allocation_ruleqconf -sp mytestpe)插槽分布在一个或多个上 节点。如果你有一个所谓的固定分配规则 只需添加一定数量的分配规则,如4(每个4个插槽) 主持人)这很容易。如果您喜欢一位主持人,只需提交-pe mytestpe 4 如果您想要使用-pe mytestpe 40提交10个节点。

-l h=abc可以请求节点名称。由于节点名称是 您可以创建Grid Engine中的RESTRINGS(正则表达式字符串) 主机过滤的正则表达式:qsub -l h="abc|xyz"。 您还可以创建主机组(qconf -ahgrp)并请求 所谓的队列域(qsub -q all.q@@mygroup)。

丹尼尔

http://www.gridengine.eu

答案 1 :(得分:0)

  1. 您可以使用-tc来限制并发任务的数量(即,将用于阵列作业的插槽数)。当我提交包含100个子作业的阵列作业以限制对队列的影响时,我使用它,使用-tc 10默认为10个并发作业。当每个作业完成时,将提交来自待处理池的另一个阵列作业。

  2. 我能够做到这一点的唯一方法是设置特定的资源配额集(使用qconf -mrqs),指定要使用的特定主机组。您必须首先设置所需的所有组合。但是,我没有看到指定特定主机的真正原因,除非这些主机具有您要使用的特定资源(在这种情况下,我会为这些主机设置可用资源并将适当数量的资源应用于每个主机可以提供它们,然后使用它而不是为特定作业指定特定主机。)