欢迎来到天天文库
浏览记录
ID:33161004
大小:1.36 MB
页数:102页
时间:2019-02-21
《基于hpm的软件性能与状态分析研究》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、重庆大学博士学位论文基于HPM的软件性能与状态分析研究姓名:程克非申请学位级别:博士专业:计算机软件与理论指导教师:张勤20050901中文摘要摘要计算机软件性能分析及优化在科学研究和大型工程应用中有着重要的作用。软件性能的改善从经济上可以节约大量的财力和物力,避免不必要的硬件系统升级和软件系统的变革性升级;从技术上,可以探索计算机系统的性能特征,性能极限,为工业生产提供有力的支持。另一方面,各个厂商和系统运营商,如移动、电信运营商等,希望可以对应用服务系统以尽可能低的成本和运行代价进行有效的在线监控和性能分析,
2、并智能决策软件的当前的性能情况和软件的动态运行状态情况,从而为系统的升级和维护提供准确的具有说服力的数据和支持,以此达到向客户提供更好的服务的目的。现代计算机和CPU设计中,CPU片内的寄存器、一级高速缓存(Level1Cache)和二级高速缓存(Level2Cache),主板上的三级高速缓冲,再加上主存,外存(硬盘、软盘、电子盘等),构成了现代计算机的多级存储体系结构。这种多级存储层次的速度则根据距离CPU核心运算单元的近远,呈现出逐级按级数递减,成本逐级递增的特性。现在的软件性能分析及其相关的性能优化,除了程
3、序本身算法之外,几乎所有的分析和优化都是在这样一个多级的存储体系结构上进行的,试图尽可能地利用近端的存储,期望达到一个接近线速的计算性能,即计算的性能仅由CPU的处理速度决定,与其他外设和数据存储无关。为了对CPU的生产和性能分析给出精确的性能数据,现代的CPU的生产厂家大多数都在自己的CPU设计中,加入以并行采集方式的具有特殊用途的寄存器,记录CPU在运行过程中的一些动态性能数据,如Leve11CacheMisses,BranchesMispredicts,TLB(TranslateLookasideBuffe
4、r)Misses,InstructionLoads,这些寄存器就[1][2][3][4]是硬件性能计数器(HardwarePerformancecounterMonitor,HPM),也称HPM事件。这些性能数据从系统运行的最底层反映了CPU的性能表现和当前的性能状态。另一方面,CPU的运行状态也就决定了软件运行的性能和状态。因此,本世纪初,国际上出现了很多基于HPM的性能分析模型和工具。其中美国的几家著名研究机构专门成立一个HPC(高性能计算)研究小组,建立了PERC高性能分析模型,并主要针对科学计算中的高性能
5、计算做了很深入的分析和研究,开发了一套比[5][6]较完善的数据采集用的应用接口(ApplicationInterface,API)集PAPI。但具本文作者所知,在国内还很少有相关研究报道;针对HPM事件的特性,对软件进行状态分析和监控的研究在国内外目前都没有相关研究报道。HPM事件本身所具有的底层性能数据记录特征,使其对于高性能分析和优化,以及应用系统的监控和状态分析几方面都有其独特的应用。本文作者将在PERC研I重庆大学博士学位论文究的基础上,从对HPM的分析开始,充分挖掘这类性能数据对软件系统的性能和状态监
6、控的潜在规则,为以更小代价和更细粒度的软件性能分析和状态监控提供有力的支持。本文的主要内容和作者的主要工作将从以下几个方面展开。1)研究和分析了HPM事件的内在特性,给出基于HPM事件的性能和状态分析的方法。希望根据软件的HPM事件性能表象,推断潜在的动态运行性能和状态,实现对软件的性能分析和状态监控。2)针对具有并发线程特征的应用系统,引入以动态指令编译技术为基础,从动[7]态执行角度,以并发通信层方法分析进程的通信代价、性能指标和HPM性能数据的采集点的方法,并利用通信层的特性,聚合程序的结构,去掉在关键路径
7、分析中可能出现的回路问题。3)针对朴素贝叶斯(NaiveBayesian,NB)分类中类别属性等权重问题,提出一种新的基于加权修正的方法修正朴素贝叶斯分类器(weigHtedContributionNaiveBayesianClassifier,HCNB),并采用该分类器对CPU中存在的上百种HPM事件进行分类和HPM特征选取。4)针对朴素贝叶斯分类中的先验概率及类别属性状态概率分布在软件状态“隐含”情况下无法学习问题,提出了采用隐马尔科夫(HiddenMarkovModel,HMM)模型的参数学习方法替代朴素贝
8、叶斯学习方法的混合分析模型HMMNB,并将该模型用语分析基于HPM事件的软件性能和状态。5)实现了在HPM性能数据基础上的性能数据的采集接口、用户界面和基于HMMNB、HCNB的应用软件系统性能分析和状态监控工具Vanilla-GunDog。该工具在软件的性能分析和状态监控方面目前已经达到初步应用的要求,并在实际的系统中得到了较好的应用效果。关键词:性能分析,软件监控,硬
此文档下载收益归作者所有