论文部分内容阅读
网格计算是科学计算领域的热点问题,其目的是将地理位置上分布各地的各种计算资源、存储资源汇聚起来,实现资源的共享和协同操作。网格内部资源的高效利用关键的因素在于用户提交程序的运行性能。帮助用户充分了解自己程序在网格中的运行情况,并且提供必要的修改建议,对整个网格使用效率的提高起着至关重要的作用。目前,国内外尚无通用的针对网格环境的性能分析工具,SCE网格中间件作为中国科学院超级计算网格环境(ScGrid)的基础软件,也亟待在这个方面为用户提供更加优良的服务。
本文主要研究在SCE网格计算环境下,进行程序性能分析可能碰到的相关问题和解决方法,在此基础上,设计实现了一个简单高效的程序运行性能分析框架SCE-perf,可以完成串行及MPI并行程序运行时的性能数据收集和必要分析,并给出运行报告,提供给用户在网格环境中测试程序的真实表现,进而帮助用户提升自身程序的执行性能,提高整个网格的使用效率。本文最后使用SCE-perf对HASM算法串行实现和cpi并行程序进行分析,并给出优化建议,从而验证了SCE-perf对程序性能分析、优化有很好的帮助。同时,对于非网格环境下的一般用户,该框架对分析程序、了解程序运行状况和性能也有借鉴意义。
本文的主要内容包括:
1.介绍网格计算特点,调研现有性能分析程序的特点,讨论在网格计算环境下进行性能分析的需求。
2.研究网格计算环境中实现性能分析框架需要解决的主要问题:性能数据收集、网络框架构建和数据分析。比较以上问题的各种不同解决方案,最终确定了以采样法为基础收集性能数据,使用TCP/IP协议为基础构建的C/S结构网络框架,将所有数据汇总到中心节点进行数据分析的解决方案。
3.针对上述性能分析框架问题,分模块进行实现。性能数据分析模块在实现串行程序性能数据本地收集的基础上结合网络框架完成多计算节点性能数据收集;网络框架使用TCP/IP协议完成多计算节点控制信息和数据的流动;数据分析模块在串行性能数据分析基础上,结合并行程序特点完成并行
4.对构建的SCE-perf性能分析框架进行测试。分别将串行HASM算法和修改后的cpi并行程序作为测试用例,与现有性能分析工具gprof和valgrind的结果对比讨论,证明当前性能分析框架能够高效准确进行性能数据收集,分析结果能够反映测试程序的运行特征。