对于高性能集群系统负载状态的监控,很多软件都可以做到:包括开源的,商业的,专门做监控的产品还是一些管理软件附带的监控功能。在众多监控功能中高性能集群用户最关心的莫过于对作业调度系统的监控了。NDCAS是众多监控软件中能把作业调度系统监控做好的,为数不多的,优秀的监控软件了。
NDCAS支持常用的作业调度软件监控和统计报表,包括IBM Spectrum LSF, SLURM, PBS(OpenPBS及altair的PBSpro)。今天我们来看一下NDCAS可以监控调度系统哪些内容。
首先在调度系统监控Dashboard中我们可以看到总体的一些监控项:
首先是集群中总的运行/排队/完成的作业数量:
集群中总运行中的CPU核数,剩余可用的CPU核数,集群CPU总核数
当然NDCAS会帮助你算出当前集群的总体利用率:
看完以上信息相信你对集群总体的繁忙程度已经有了一定的了解。我们再进一步看看如果按应用软件或是按用户分类,谁用的多谁用的少?
下面是按应用软件分类的资源占用,以饼图显示,很容易看出各应用软件占用的百分比:
当然你也许更关心是哪些用户占用了多少比例的资源:
进一步的你想看看具体集群中每个节点分别调度了多少核运行作业?如下图:
上面这个图中每一竖条代表一台计算服务器,竖条的高度表示占用的核数。
那到底是哪些作业在运行/排队,运行/排队了多久呢?是否有异常呢?类似进度条的方式显示每条作业运行/排队的时间,这样看起来非常清晰直观:
主机状态列表
这部分让你对调度系统中主机的状态有更详细的了解。
主机的状态如何?总体多少核在运行,多少核空闲?下图告诉你:
当然最详细的信息可以从表格中获得:
列表可展示每台计算主机的总核数,已调度核数,剩余可用核数,负载,CPU利用率,磁盘剩余空间,内存剩余空间,负载偏差,在调度系统中的状态等。
其它都很好理解,这里重点说一下负载偏差。我们知道高性能计算程序CPU利用率往往接近100%,如果提交了8进程/线程任务,那么会有8核CPU的利用率接近100%,加起来就是800%,load值接近8, 这是正常的情况。如果加起来CPU利用率远不到800%,这时复杂偏差是负值,比如CPU利用率是400%那么负载接近4, 负载偏差是-4. 说明资源没有得到有效利用,造成资源浪费。反过来如果你在8核的计算节点上跑了64个进程任务,那么负载是接近64, 这时负载偏差就是56. 表示节点过载。程序运行是否高效、正常就要关心负载偏差。负载偏差绝对值过大NDCAS会给出报警提示。
当前作业列表
这里列出当前所有运行/排队作业。每条作业的作业id,作业名称,用户,提交时间,运行时间,执行主机,运行核数,队列,应用软件等都可以详细查看,并支持排序和导出excel。
还有哪些调度系统状态指标是你关心的?关注爱算数公众号,获取HPC/AI/大数据技术资料,分享集群运维最佳实践,获取你的专属集群定制化监控报表,快来吧~