论文部分内容阅读
本文首先从集群系统的基本技术入手,介绍了Beowulf集群的基本体系结构,之后分析了南开之星集群的体系结构和关键技术,针对科学计算集群的特点,提出了科学计算集群性能监测系统的层次体系模型和分布式结构模型。在阐述完集群监测系统的功能后对于集群监测的关键技术,着重分析了基于Proc文件系统的节点监测技术、故障监测技术以及IP多播技术等三项关键技术。 然后,对南开之星集群监测系统的软件基础国外开放源码项目Ganglia的关键技术进行了深入的研究,其中重点研究了:gmond数据采集进程,具体分析了数据源信息、数据采集方式、采集流程、数据格式转换,到数据导出的全过程;对gmetad进程的原理、配置以及XML数据导出也做了详细的论述;用户如何利用graetric命令收集所需信息,并发送到多播通道;最后重点分析了rrd数据库的数据存储和利用rrdtool工具生成图形显示。
在以上研究的基础上,结合南开之星的硬件和软件的具体情况,对监测系统作出了以下的一些优化和完善:
1、解决ganglia进程引起系统负载过重。通过研究分析发现,为了保持监测数据的完整性,gmetad进程会对硬盘进行频繁的写操作,从而导致系统负载的上升。、利用Linux内核支持的tmpfs文件系统,将写硬盘操作改成对内存的写操作,试验结果表明系统的负载得到了有效地降低。
2、添加PBS作业显示。利用swig软件封装PBS的库函数接口(c语言接口)为python接口,一个每隔30秒执行(默认)一次的python脚本作为守护进程访问PBS_servet,得到队列作业信息后使用gmetric发送到多播地址.web服务器端的php代码对获取的xml数据信息进行解析,然后显示到页面上。
3、添加LSF作业显示。利用LSF软什自身提供API通过编写代码收集LSF的作业,再编写作业发送脚本,将收集到的信息发送多播通道,然后通过修改一部分PBS作业显示的php代码完成web页面的显示。
改进后监测系统经过一段K时间的运行表明,系统的负载从原米的0.8左右,下降到改进后的0.1左右,PBS和LsF作业正确显示,完成了监测系统对集群系统的从单个节点到整个系统再到系统运行作业的完整、全面和直观的监测。