论文部分内容阅读
在现代科学技术的许多领域中,存在着大量必须用高性能并行处理机才能够解决的挑战性课题。PC集群系统以其硬件资源丰富、成本较低、可扩展性好、软件资源可继承且构造相对简单等特点,成为大多数普通用户进行并行处理工作的重要选择。随着PC集群系统广泛地应用,系统中软硬件不断地增加,当系统达到一定规模时,对其综合性能要求就会显得越来越重要。此外,并行程序的设计要远比串行程序设计复杂,涉及到对硬件的理解、流水线、并行任务的分解、进程的划分以及进程之间的通讯等问题。为了提高集群的性能和用户应用程序的运行效率,对运行中的集群系统实施有效地监测是十分必要的。 本文通过对现有监测技术的分析,以lm-sensors、/proc文件系统、MPE为基础、结合MySQL数据库和Kylix,在采用InfiniBand第三代技术的20PC集群系统上实现了一个实用的可视化并行程序监测工具,具有以图形方式实时显示硬件信息和系统节点负载信息以及根据并行程序执行过程中产生的log文件以图形化方式重现程序执行过程的功能。该工具基于Client/Server模式,把被监测节点作为服务端(Server),而把监测节点作为客户端(Client)。服务器端做为一个后台守护进程运行,在节点机开机的时候自动运行,常驻后台,收集节点的负载信息,定时将信息发送给主控机,由主控机将这些信息进行处理并以图形方式显示给用户。 监测系统采用对系统性能影响较大的CPU温度、系统风扇转速、CPU利用率、内存利用率、不同时间间隔计算的系统平均负载和网络传输率等数据作为监测的参数。 使用/proc系统获取节点负载信息,其优点是:能够以极小的开销获取比较全面的信息,其中包括处理机、存储空间、I/O、网络、文件、进程等,并且全部是最新的实时信息。同时系统中任何时刻正在运行的每个用户级进程在/proc下都有一个相应目录,其名称为进程号,其中存放着该进程的相关信息。用户通过文件名查找所对应的进程ID,定期访问/proc中的相关文件以得到该进程的系统利用情况。