我通过以下代码使用无头NetLogo将作业提交到HPC服务器:

#!/bin/bash
#$-N r20p
#$-q all.q
#$-pe mpi 24
/home/abhishekb/netlogo/netlogo-5.1.0/netlogo-headless.sh \
    --model /home/abhishekb/models/corrected-rk4-20presults.nlogo \
    --experiment test \
    --table /home/abhishekb/csvresults/corrected-rk4-20presults.csv

以下是使用以下内容的群集队列的快照:

qstat -g c

我想知道我可以为我的模拟增加CQLOAD,它也意味着什么.我在网上找不到清楚的解释.

CPU使用检查:


qhost -u abhishekb

当我通过gui在我的PC上运行行为空间时,为任务分配高优先级使得它使用近99%的CPU,这使得它运行得更快.它使用更大比例的CPU处理器.我希望在这里完成同样的事情.

编辑:

编辑2;

解决方法:

典型的HPC环境,设计为每个CPU内核只运行一个MPI进程(或OpenMP线程),因此可以访问100%的CPU时间,而且无法进一步增加.相比之下,在传统的桌面/服务器机器上,许多进程争用CPU时间,并且确实可以通过设置适当的优先级来提高其中一个的性能.

似乎CQLOAD是该计算队列的平均负载平均值.如果您没有使用其中的所有CPU核心,则它不是一个有用的指标.此外,即使每次运行的核心负载平均值也只能转换此HPC群集上代码的效率.例如,每个核的值为0.7意味着代码花费70%的时间进行计算,而剩下的30%可能花费在等待与其他计算节点通信上(这也是必要的).

最重要的是,在HPC集群上增加CPU使用率的唯一方法是优化代码.但通常情况下,人们更关心的是并行扩展(即解决方案的时间如何随CPU核心数量减少)而不是使用CPU百分比.

标签: linux, cloud, hpc, netlogo

相关文章推荐

添加新评论,含*的栏目为必填