● 摘要
在并行计算领域,并行程序的性能是非常关键的问题,往往由于程序存在某种瓶颈致使并行计算机无法充分发挥其能力,因此出现了一些帮助并行程序开发人员分析程序潜在瓶颈的辅助工具,并为提高程序性能发挥了很大的作用。但是近年来并行系统规模急剧增长,出现大量包含几千甚至几万节点的系统,传统的性能工具已经无法适用于这种环境。本文针对大规模MPI并行程序的性能分析问题进行了深入地研究,从不同角度解决大量节点和大量性能数据对并行程序性能分析带来的问题。首先分析了并行系统工具使用传统的1对多通信模式在大规模计算环境中存在的通信瓶颈问题,提出了使用树形的层次式传输网络以提高广播和汇聚效率,并使用LogP模型对其合理性和必要性进行分析,最后以库的形式实现,供上层工具使用。其次针对并行程序很多节点上运行的进程非常相似的特点,采用了轮廓向量距离算法找出可能的异常节点,以方便用户把注意力集中在最可能出现性能瓶颈的节点上。使用基于调用树的并行程序展示方法以实现得到非常良好的可扩展性同时包含最重要的程序性能信息。最后,结合上述主要研究成果,设计并实现了并行作业性能监测分析工具,该工具采用分布式软件架构设计,使用动态插桩技术,具有较好的可扩展性和灵活性,能够有效地运行于大规模集群计算环境。