Amazon ec2 正在请求尚未使用qsub在SGE中分配的内存

Amazon ec2 正在请求尚未使用qsub在SGE中分配的内存,amazon-ec2,sungridengine,Amazon Ec2,Sungridengine,我在AWS EC2上有一个Sun Grid引擎集群,我使用Starcluster设置了它。每个节点有4个处理器和16G RAM。我想提交一个任务数组,它将一次分派2个作业,每个作业使用一个完整的节点(全部4个处理器和16G RAM)。然而,我不想创建一个带有-pe smp 4这样标志的并行环境,因为根据经验,这会大大降低性能。qsub是否有一个类似“将作业提交到具有16G内存但尚未分配给任何其他作业的节点”的标志?我知道的旗帜是 -l mem_free=16g-如果节点当前有16g空闲,则将作业

我在AWS EC2上有一个Sun Grid引擎集群,我使用Starcluster设置了它。每个节点有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个节点,然后它们会同时耗尽内存。

我使用手动变量来实现这一点。这是星团

所以基本上它创建了一个变量“da_mem_gb”。每台机器的初始值等于其RAM。然后作业请求使用该变量需要多少RAM。如果他们需要一台机器的所有RAM,则一次为该机器分配一个作业