2012-06-22 19 views
9
  1. 如何在SGE中提交作业时请求节点数量(非procs)?通过SGE中的号码及其名称请求节点

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

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

    例如,在TORQUE,我们可以通过qsub -l nodes=abc+xyz+pqr,其中abcxyzpqr是主机名

    对于单一主机名,qsub -l hostname=abc它的工作原理做到这一点。但是,我如何分隔SGE中的多个主机名?

回答

14

请求具有Grid Engine的节点数量是间接完成的。 当你想提交并行作业,那么你必须与量插槽(处理器等):qsub -pe mytestpe 12的 要求 并行环境(man sge_pe)一起......

根据在并行环境中定义的allocation_ruleqconf -sp mytestpe)时隙分布在一个或多个节点上。如果您有一个所谓的固定分配规则,您只需添加一个特定的数字作为分配规则(如4)(每个 主机4个插槽),这很容易。如果你喜欢一个主机,只需提交-pe mytestpe 4 ,如果你想要10个节点只需提交-pe mytestpe 40

节点名称可由-l h=abc请求。由于Grid Engine中节点名称为 RESTRINGS(正则表达式字符串),因此您可以创建 主机筛选的正则表达式:qsub -l h="abc|xyz"。 您也可以创建主机组(qconf -ahgrp)和请求 所谓的队列域(qsub -q [email protected]@mygroup)。

丹尼尔

http://www.gridengine.eu

0
  1. 可以使用-tc限制并发任务的数量(即,将用于阵列作业时隙的数目)。当我提交包含100个子作业的阵列作业以限制对我们的队列的影响时,我使用这个选项,默认使用-tc 10默认10个同时作业。每个作业完成后,将提交暂挂池中的另一个阵列作业。

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

相关问题