在HPC上无头运行NetLogo,如何增加CPU使用率? [英] Running NetLogo headless on HPC, how to increase CPU usage?

查看:121
本文介绍了在HPC上无头运行NetLogo,如何增加CPU使用率?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用行为空间在HPC上无头运行NetLogo. HPC上的一些非NetLogo其他用户向我抱怨说,我使用CPU内核的程度很小,应该增加.我不知道该怎么做,请帮忙.我猜renice不会有任何帮助.

I was running NetLogo headless on HPC using behaviourspace. Some non-NetLogo other user on the HPC complained to me that I am not utilizing the CPU cores to very little extent and should increase. I don't know exactly know to how to do so, please help. I am guessing renice won't be of any help.

代码:

#!/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 

推荐答案

在注释中,您链接您的相关问题,您在哪里尝试使用linux进程优先级来使作业运行更快/使用更多的CPU

In comments you link your related question where you're trying to use linux process priority to make jobs run faster / use more CPU

你问

CQLOAD(这也意味着什么?)

CQLOAD (what does it mean too?)

很难找到用于此目的的文档,但是您链接到集群的规范,它告诉我们它的调度引擎是Sun的* Grid Engine".手册页在这里(您也可以在本地访问它们-特别是键入man qstat)

The docs for this are hard to find, but you link to the spec of your cluster, which tells us that the scheduling engine for it is Sun's *Grid Engine". Man pages are here (you can access them locally too - in particular typing man qstat)

如果搜索qstat -g c,将看到描述的输出.特别地,第二列(CQLOAD)描述为:

If you search through for qstat -g c, you will see the outputs described. In particular, the second column (CQLOAD) is described as:

输出格式

...

所有队列的归一化负载平均值的平均值 主机.为了反映每个主机的不同含义 可以将已配置插槽的数量用作权重- 确定集群队列负载时的重要因素.请 请注意,仅考虑具有np_load_value的主机 为此值.当应用队列选择时,仅数据 此公式考虑了有关选定队列的信息.如果 负载值在任何主机上均不可用- 将打印NA-',而不是复数中的值 属性定义.

an average of the normalized load average of all queue hosts. In order to reflect each hosts different signifi- cance the number of configured slots is used as a weight- ing factor when determining cluster queue load. Please note that only hosts with a np_load_value are considered for this value. When queue selection is applied only data about selected queues is considered in this formula. If the load value is not available at any of the hosts '- NA-' is printed instead of the value from the complex attribute definition.

这意味着CQLOAD指示处理器在队列中的使用情况. 您的输出显示0.84 :all.q中处理器的平均负载是84%.这似乎不太低.

This means that CQLOAD gives an indication of how utilized the processors are in the queue. Your output shows 0.84: the average load on processors in all.q is 84%. This doesn't seem too low.

您指出同事在抱怨您的进程没有使用足够的CPU.我不确定该基于什么,但是我想知道这是否仅是因为您使用了很多节点(即使只是很短的时间).

You state colleagues are complaining that your processes are not using enough CPU. I'm not sure what that's based on, but I wonder if it's just because you're using a lot of nodes (even if just for a short time).

您可能想尝试使用更少的节点(除非您的结果非常慢)-这是通过更改行#$ -pe mpi 30来实现的-可能将数字30减小了.您可以通过计时在计算机上运行一次模型并使用多长时间来确定所需的节点数(大约)

You might want to experiment with using fewer nodes (unless your results are very slow) - that is achieved by altering the line #$ -pe mpi 30 - maybe take the number 30 down. You can work out how many nodes you need (roughly) by timing how long 1 model run takes on your computer and then use

N = (time to run 1 job) * number of runs in experiment) / time you want the run to take 

这篇关于在HPC上无头运行NetLogo,如何增加CPU使用率?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆