我使用行为空间在HPC上运行NetLogo无头。 HPC上的一些非NetLogo其他用户向我抱怨我没有在很小程度上使用CPU内核并且应该增加。我不知道该怎么做,请帮忙。我猜renice赢得了任何帮助。
代码:
#!/bin/bash
#$ -N NewPara3-d
#$ -q all.q
#$ -pe mpi 30
/home/abhishekb/netlogo/netlogo-5.1.0/netlogo-headless.sh \
--model /home/abhishekb/models/Test_results3-d.nlogo \
--experiment 3-d \
--table /home/abhishekb/csvresults/Test_results3-d.csv
答案 0 :(得分:2)
在评论中link your related question您尝试使用Linux进程优先级来使作业运行更快/使用更多CPU
你要求
CQLOAD(这又是什么意思?)
很难找到这方面的文档,但是你link to the spec of your cluster告诉我们,它的调度引擎是Sun的* Grid Engine"。 Man pages are here(您也可以在本地访问它们 - 特别是键入man qstat
)
如果您搜索qstat -g c
,您将看到所描述的输出。特别是,第二列(CQLOAD)被描述为:
输出格式
...
所有队列的标准化负载平均值的平均值 主机。为了反映每个主机不同的意义 - 取消配置的插槽数量用作重量 - 确定集群队列负载时的因素。请 请注意,只考虑具有np_load_value的主机 这个价值。当队列选择仅应用数据时 关于选定的队列在此公式中被考虑。如果 任何主机都无法提供负载值' - NA - '打印而不是复杂的值 属性定义。
这意味着CQLOAD指示了处理器在队列中的使用情况。 Your output shows 0.84
:all.q
中处理器的平均负载为84%。这看起来并不太低。
您说同事抱怨您的进程没有使用足够的CPU。我不确定它是基于什么,但我想知道它是否只是因为你使用了很多节点(即使只是很短的时间)。
您可能希望尝试使用较少的节点(除非您的结果非常慢) - 这是通过更改行#$ -pe mpi 30
来实现的 - 可能会将数字30
缩小。通过计算1个模型运行在计算机上运行多长时间,然后使用
N = (time to run 1 job) * number of runs in experiment) / time you want the run to take
答案 1 :(得分:0)
我不是专家,但OpenMole似乎支持cluser上的调度程序。
OpenMole是Embed your NetLogo model在许多环境中透明的很好的解决方案。它可以解决方案......