论文部分内容阅读
作为解决大规模计算问题的重要手段,高性能计算越来越广泛地应用到科学与工程的各个领域。随着高性能计算的快速发展,有两个现象值得关注:一方面,并行计算机的峰值性能提升迅速,理论峰值计算速度高达每秒百万亿次的超级计算机系统已经被研制成功,高性价比的机群系统(Cluster)已逐步成为高性能计算机的主流架构,促进了高性能计算在更多领域的普及与应用;另一方面,并行应用软件的缺乏,导致高性能计算机表现出的实际性能一直处在较低的水平上。从统计分析可知,当前大型并行应用软件仅能发挥20%甚至10%以下的系统峰值性能。因此,实际应用程序获得的持续性能与机器理论峰值性能之间的差异不断扩大已成为一个不争的事实。 优化和提高并行应用程序的实际性能已成为目前学术界与工业界关注的焦点。在程序性能优化过程中,必须首先找出影响程序性能的主要原因,然后才能有针对性地对应用程序代码和数据结构加以改进,从而实现性能优化。因此程序性能测试与分析软件包就成为高性能计算程序开发与优化周期中非常重要的一种工具。目前国际上已有很多机构和研究单位专门从事对大规模并行应用程序性能进行监测与分析等软件工具集的研究与开发,并取得了很多研究成果。而我国在这方面的研究相对落后,为了改变现状,在国家973项目《大规模科学计算》课题:“大规模计算工程软件系统的基础理论和实施”中,设立了一个项目分支专门从事有关并行程序性能数据收集、分析及可视化等技术的研究与开发。本文的工作重点之一就是围绕这个主题,选取一个开源的、先进的具有自动进行并行性能测试与分析功能的工具集KOJAK,对其中若干关键技术进行详细的剖析,为我国自行研制高效的、智能的并行性能测试与分析工具集提供一些借鉴。 基于硬件性能监视计数器的程序性能测试与分析正在成为现代程序性能测试与分析的基础。同时,为方便用户安全地访问这些底层硬件计数器,可供用户程序调用的接口软件包被大量开发出来,其中适用平台最广泛的PAPI软件包得到了业内人士的一致好评,并已被集成到很多第三方软件中。目前基于PAPI的串行程序性能数据收集和分析已经取得了很多成果,但是将PAPI集成到并行程序软件中对并行程序的性能行为进行测试与分析的相关研究并不多。因此本文创新性地提出了一个并行PAPI的概念,并给出一个基于PAPI的并行程序性能数据收集、分析和显示的软件包框架原型。 本文的主要研究工作如下: 1、国产万亿次机群系统上高性能应用软件性能数据的整理和分析。 收集并分析高性能应用软件在国家973LSSC Ⅱ万亿次机群系统(深腾1800机群系统)上运行时的程序性能数据,依据这些宝贵的性能数据资料,本文真实