【发布时间】:2017-01-17 00:16:52
【问题描述】:
我在 AWS EC2 上使用 Starcluster 设置了一个 Sun Grid Engine 集群。每个节点有 4 个处理器和 16G RAM。我想提交一个任务数组,该数组一次分派 2 个作业,每个作业都用完一个完整节点(所有 4 个处理器和 16G RAM)。但是,我不想使用 -pe smp 4 之类的标志创建并行环境,因为根据经验,这会大大降低性能。 qsub 是否有一个标志,上面写着“将作业提交到具有 16G 内存但尚未分配给任何其他作业的节点”?我知道的标志是
-l mem_free=16g - 如果当前有 16g 空闲,则将作业提交给节点 -l h_vmem=16g - 如果内存使用量超过 16g,则终止作业
这些都不能解决我的问题。在 mem_free=16g 的情况下,由于作业最初使用内存很慢,qsub 将所有任务分配给 2 个节点,然后它们都同时耗尽内存。
【问题讨论】: