linux - Netlogo HPC CPU 使用百分比增加

标签 linux cloud netlogo hpc

我通过以下代码使用headless 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

enter image description here

我想知道我能否为我的模拟增加 CQLOAD,它也意味着什么。我在网上找不到明确的解释。

CPU 使用情况检查:

qhost -u abhishekb

enter image description here

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

编辑: enter image description here

编辑 2;

enter image description here

最佳答案

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

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

归根结底,提高 HPC 集群上 CPU 使用百分比的唯一方法是优化代码。不过通常情况下,人们更关心并行扩展(即求解时间如何随 CPU 内核数量而减少)而不是 CPU 使用百分比。

关于linux - Netlogo HPC CPU 使用百分比增加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28628527/

相关文章:

创建一个简单的 shell 我的 for 循环为每个要读入的单词创建一个单独的进程

amazon-web-services - 如何在云中拥有服务器 2012,而我的用户在不同位置

list - 从项目 0 到项目 314 过滤列表

netlogo - 试图让海龟品种避免出现特定颜色的斑 block

python - Tkinter 在尝试关闭时拆分菜单和主窗口

linux - 中断处理程序使用哪个堆栈 - Linux

cloud - 如何将 EC2 实例自动添加到现有安全组、弹性 IP 和 VPC 中?

mysql - 哪种数据库技术适用于大结构化数据?

view - 在 NetLogo 中将 View 导出为动画 GIF

c - 为什么TCP服务器重启后TCP客户端有时无法连接到TCP服务器?