《计算机系统性能测试与分析概论精选文档.ppt》由会员分享,可在线阅读,更多相关《计算机系统性能测试与分析概论精选文档.ppt(59页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、计算机系统性能测试与分析概论本讲稿第一页,共五十九页为什么要学这本门课?组装一台电脑关心哪些指标?处理器主频内存大小如何评价一个计算机系统的性能?21.选哪些程序评测?选哪些程序评测?2.都测试哪些值?都测试哪些值?3.这些值如何汇总?这些值如何汇总?4.这些值真的能够反映计算机系统的性能吗?这些值真的能够反映计算机系统的性能吗?本讲稿第二页,共五十九页为什么要学这本门课?国家税务局购买一套高端容错机IBM、HP投标书:不同程序测试结果XX银行搭建一个数据中心处理器:英特尔E/L/X?I7可以吗?内存规模:32GB?64GB?128GB?网络:千兆、万兆、infiniband?存储阵列:SAS
2、、SATA?光纤、IB接口?3如何预测一个应用程序在某个计算机系统性能?本讲稿第三页,共五十九页例子:高性能计算机评测4如何评测高性能计算机的性能?如何评测高性能计算机的性能?如何评测高性能计算机的性能?如何评测高性能计算机的性能?本讲稿第四页,共五十九页例子:铁路网上订票系统例子:铁路网上订票系统系系统统硬件硬件处处理能力不足?理能力不足?订订票票软软件件设计设计存在瓶存在瓶颈颈?网网络带宽络带宽不足?不足?为什么网络订票系统登录难、浏览慢、下单难为什么网络订票系统登录难、浏览慢、下单难为什么网络订票系统登录难、浏览慢、下单难为什么网络订票系统登录难、浏览慢、下单难本讲稿第五页,共五十九页例
3、子:铁路网上订票系统例子:铁路网上订票系统网络订票系统体系结构:网络订票系统体系结构:网络订票系统体系结构:网络订票系统体系结构:客户端客户端Web服务器服务器数据库服务器数据库服务器数据请求数据请求返回结果返回结果提出请求提出请求返回返回HTML如何了解负载特征,分析系统系统瓶颈?如何了解负载特征,分析系统系统瓶颈?本讲稿第六页,共五十九页例子:基于例子:基于SAN存储系统存储系统本讲稿第七页,共五十九页例子:实验设计如何设计一篇文章的实验部分?都要做哪些实验?为什么要做这些实验?都要测哪些指标?8本讲稿第八页,共五十九页课程目标性能问题是和功能同等重要的问题性能问题没有得到很好的重视,大家
4、对其认识不足基本概念性能,频率,峰值速度,实测速度基本方法和工具测量方法数据处理和解释方法程序优化的方法基本观点9本讲稿第九页,共五十九页内容安排(1)6月17日引言和性能的量度(2课时)实验结果处理中的统计学(4课时)6月18日系统测量和分析技术(4课时)基准测试程序(4课时)6月20日线性回归模型(2课时)实验设计(2课时)考试(2课时)10本讲稿第十页,共五十九页教材和参考书教材Measuring Computer Performance,by David J.Lilja,Cambridge University Press,2000参考书:The Art of Computer Sys
5、tems Performance Analysis by Raj Jain,John Wiley&Sons Press,1991Computer Systems A Programmers Perspective by Randal E.Bryant and David R.O Hallaron,Person,2003Principles of Computer System Design,J.H.Saltzer,M.Frans Kaashoek.11本讲稿第十一页,共五十九页主要会议ACM SIGMETRICSIISWC(WWC)IEEE International Symposium on
6、 Workload Characterization ISPASSIEEE International Symposium on Performance Analysis of Systems and SoftwareHPCA,CGO,SC,SOSP etc.12本讲稿第十二页,共五十九页课程要求平时-40分课堂:参与讨论,回答问题,出勤课程作业:6次考试-60分13本讲稿第十三页,共五十九页特色 本课程的特色是:综合性 由于面向整个系统,所学过的关于操作系统、编译原理、计算机体系结构、CPU结构在内的各种知识都要能够综合使用,才能够很好地完成性能测试与优化的任务实践性 本课程将安排若干测试练
7、习和其它编程练习,让大家在实际操作中真正地理解有关内容,解决实际问题。14本讲稿第十四页,共五十九页学完本课程的收获正确设计论文中的实验部分正确处理和解释实验数据基准测试程序的使用与开发测量系统与程序参数的相关方法系统的访存带宽和延迟程序中的基本块个数、分支条数等使用硬件计数器进行程序行为的测量可用性、可管理性、功耗测试等基于测试的优化技术15本讲稿第十五页,共五十九页第一章 绪论1.为什么进行性能分析2.什么是性能16本讲稿第十六页,共五十九页1.为什么要进行性能分析对设计者要达到设计的目标有不同的可选方案,如何在其中选择最好的方案?世界上第一台千万亿次高性能计算机RoadrunnerIBM
8、 Power处理器和 AMD Opteron处理器混合比例通过分析、模拟和测试对比各个方案的性能、成本和功耗设定期望对消费者购置的系统能否满足自己的要求在一定的预算下获得最好的性能17本讲稿第十七页,共五十九页性能分析技术性能分析技术分析数学建模排队论模拟功能模拟器、性能模拟器Trace-driven、全系统模拟测试实际测试18本讲稿第十八页,共五十九页例子:并行程序性能并行程序的性能行为:计算通信I/O19本讲稿第十九页,共五十九页例子:并行程序性能分析建模:程序特征收集浮点指令、整数指令、访存记录、I/O访问、通信(消息类型、大小、方向等)机器性能每条浮点/整数指令执行的cycle访存指令
9、时间I/O性能通信延迟、带宽程序时间Total execution time=comp+comm+I/O?20本讲稿第二十页,共五十九页例子:并行程序性能模拟的方法BigsimDimemasSimpleScalar输入:Trace、目标平台的参数21本讲稿第二十一页,共五十九页例子:并行程序性能测试的方法采集负载特征:计算特征(PMU,Call Path profile)通信特征I/O 特征方法:静态分析(编译)动态测试(插装)22测试技术也是分析和模拟的基础本讲稿第二十二页,共五十九页各种方法的比较分析建模分析建模模拟模拟测量测量灵活性高高低成本低中高可信度低中高23本讲稿第二十三页,共五十
10、九页2.什么是性能2.1 性能与目标2.2 性能与度量方式2.3 性能与比较方式24本讲稿第二十四页,共五十九页性能与目标目标不同做出的选择也不同例子:实验设计:程序选择,平台选择负载分析:Trace,Profile?模拟器:粗粒度、细粒度25本讲稿第二十五页,共五十九页2.1 性能与目标哪个性能更好单个乘客的旅行时间?1天内可以运送多少乘客?26飞机华盛顿巴黎速度mph载客量波音7476.5小时610470协和3小时1350132吞吐率mph*person286,700178,200本讲稿第二十六页,共五十九页2.1 性能与目标集群服务器排队系统LSF,PBS性能LatencyThrough
11、put27本讲稿第二十七页,共五十九页2.2 性能与度量方式X系统是否比Y系统好?28X系统秒Y系统秒原有程序270192优化后的程序103169本讲稿第二十八页,共五十九页2.2性能与度量方式(2)Y系统比X系统好?29X系统GFLOPSY系统GFLOPS原有程序6591优化后的程序71103本讲稿第二十九页,共五十九页2.2性能与度量方式(3)出现了什么问题?哪台系统更快?哪台系统更好?30本讲稿第三十页,共五十九页2.2性能与度量方式(4)X系统编译优化后减少了61%浮点运算对这个应用来说,X系统更快对于哪个系统更好,没有简单的答案,需要根据使用的方式(目标)确定31本讲稿第三十一页,共
12、五十九页2.3性能与比较方式如何比较这两个系统的性能?汇总多个数据32X系统tpsY系统tps负载A2010负载B1020本讲稿第三十二页,共五十九页2.3性能与比较方式(2)绝对比较法Perf(X)=(20+10)/2=15Perf(Y)=(10+20)/2=15相对比较法,以X为基准Perf(X)=1Perf(Y)=(0.5+2)/2=1.25相对比较法,以Y为基准Perf(Y)=1Perf(X)=(2+0.5)/2=1.25同样的数据,我们得出了3个不同的结论33本讲稿第三十三页,共五十九页2.3性能与比较方式(3)问题:哪个比较方式更合理?为什么?其成立的条件是什么?34本讲稿第三十四
13、页,共五十九页2.4什么是性能总结计算机系统的性能,与进行性能分析的目的密切相关,度量方式、性能比较方式都需要用系统的方法进行选择,才能得到准确的性能数据35本讲稿第三十五页,共五十九页第二章 性能的度量1.现有的性能度量方式2.什么是好的性能度量方式3.性能度量方式分析36本讲稿第三十六页,共五十九页metric37本讲稿第三十七页,共五十九页1.现有的性能指标时钟频率MIPSGFLOPSTime-程序的执行时间Lat/BW基准测试分数SPEC CPULinpackTPCWinstone3DMark2001,3DMark200338本讲稿第三十八页,共五十九页2.什么是好的性能度量方式线性性
14、(Linearity)符合人的直觉例子:速度m/s相反的例子可靠性当A的性能度量值好于B时,如果系统A总是比系统B快,则称该度量方式是可靠的相反的例子MIPS39本讲稿第三十九页,共五十九页2.什么是好的性能度量方式(2)可重复性容易测量一致性独立性生产商试图影响度量方式40本讲稿第四十页,共五十九页3.1时钟频率最简单,很常用但是最误导的性能度量方式可重复,易测量,独立非线性,不可靠没有考虑到IPC的不同没有考虑到其它子系统如内存、I/O的影响41本讲稿第四十一页,共五十九页42本讲稿第四十二页,共五十九页3.2 MIPSMillions of Instructions executed P
15、er Second容易测量,可重复,独立非线性,不可靠,不一致每条指令所执行的内容在不同体系结构中是不同的RISC,CISC43本讲稿第四十三页,共五十九页3.3 MFlopsMillions of FLoating-point Operations executed Per Second可重复非线性,不可靠,不一致不适合不执行浮点运算程序的系统测量FLOPS并不容易,不同的浮点运算实现可能会带来不同的测试值乘加、SIN,COS44本讲稿第四十四页,共五十九页3.3 Mflops(2)MIPS和Mflops都以单位时间内完成的操作次数为性能度量但是指令和浮点运算都不是人们最终关心的准确的操作要
16、定义最终用户关心的操作,比如每秒事务处理数,每秒web访问次数等等实际测试的数据才是有意义的将比较限定在可比的范围内,采用相同度量方式的两个程序,一般不能互相比较45本讲稿第四十五页,共五十九页3.4单一程序的运行时间程序执行时间:我们最终关心的是程序的执行时间线性,可重复,可靠,独立,一致因此,时间是一个好的度量存在的问题实际测量非常复杂或不可行系统可扩展性无法体现严格的可靠性度量是不存在的!46本讲稿第四十六页,共五十九页3.5 基准测试程序优点一组有代表性的程序,比单个程序更能代表用户的负载状况测试程序分数是程序运行时间的函数(线性或非线性)以运行时间直接为度量,或是以单位时间内完成的操
17、作为度量缺点仍然不具有可靠性可能不独立48本讲稿第四十八页,共五十九页3.5.1 SPECSystem Performance Evaluation CooperativeSPEC CPU(fp,int),SPEC WEB,SPEC Power,SPEC HPC,SPEC OMP 49本讲稿第四十九页,共五十九页3.5.1 SPEC(2)SPEC CPU的测量方法测量每个程序的运行时间正规化:除一个标准系统对该程序的运行时间,得到一个正规化后的值算出上述正规化值的几何平均几何平均作为SPEC分数问题:非线性50本讲稿第五十页,共五十九页3.5.1 SPEC(3)SPEC的产生办法每一段时间更新
18、,现在使用的是CPU2006,前边分别有SPEC 89,92,95,2000向全世界征集候选程序由SPEC会员投票决定公平性?51本讲稿第五十一页,共五十九页SPEC CPU测试网站52本讲稿第五十二页,共五十九页3.5.2其它benchmark科学计算HPL(top500所用的benchmark)HPCC(High Performance Computing Challenge Benchmark)HPCG(High Performance Conjugate Gradient)SPEC HPC2002,SPEC OMP2001商业计算TPCSPEC web底层MembenchIOMeter
19、53Jack Dongarra本讲稿第五十三页,共五十九页2010年11月TOP 500 List54RankSiteComputer/Year VendorCoresRmaxRpeakPower1National Supercomputing Center in TianjinChinaTianhe-1A-NUDT TH MPP,X5670 2.93Ghz 6C,NVIDIA GPU,FT-1000 8C/2010NUDT1863682566.004701.004040.002DOE/SC/Oak Ridge National LaboratoryUnited StatesJaguar-Cr
20、ay XT5-HE Opteron 6-core 2.6 GHz/2009Cray Inc.2241621759.002331.006950.603National Supercomputing Centre in Shenzhen(NSCS)ChinaNebulae-Dawning TC3600 Blade,Intel X5650,NVidia Tesla C2050 GPU/2010Dawning1206401271.002984.302580.004GSIC Center,Tokyo Institute of TechnologyJapanTSUBAME 2.0-HP ProLiant
21、SL390s G7 Xeon 6C X5670,Nvidia GPU,Linux/Windows/2010NEC/HP732781192.002287.631398.615DOE/SC/LBNL/NERSCUnited StatesHopper-Cray XE6 12-core 2.1 GHz/2010Cray Inc.1534081054.001288.632910.006Commissariat a lEnergie Atomique(CEA)FranceTera-100-Bull bullx super-node S6010/S6030/2010Bull SA1383681050.001
22、254.554590.007DOE/NNSA/LANLUnited StatesRoadrunner-BladeCenter QS22/LS21 Cluster,PowerXCell 8i 3.2 Ghz/Opteron DC 1.8 GHz,Voltaire Infiniband/2009IBM1224001042.001375.782345.508National Institute for Computational Sciences/University of TennesseeUnited StatesKraken XT5-Cray XT5-HE Opteron 6-core 2.6
23、 GHz/2009Cray Inc.98928831.701028.853090.009Forschungszentrum Juelich(FZJ)GermanyJUGENE-Blue Gene/P Solution/2009IBM294912825.501002.702268.0010DOE/NNSA/LANL/SNLUnited StatesCielo-Cray XE6 8-core 2.4 GHz/2010Cray Inc.107152816.601028.662950.00本讲稿第五十四页,共五十九页Performance metrics summaryClockMIPSMFLOPSS
24、PECTIMELinearReliableRepeatableEasy to measureConsistentIndependentCopyright 2004 David J.Lilja55本讲稿第五十五页,共五十九页总结性能的正确定义与评测目标,性能的度量方式和比较方式密切相关性能的度量可以基本分为两类:基于时间的和基于单位时间内所完成的操作数的,两者之间可以换算性能本质上是一个程序在一个系统上的指标,因此很难把多维空间映射到一维空间,用简单的一个数字来描述系统的性能,即绝对可靠的性能度量是不存在的56本讲稿第五十六页,共五十九页总结(2)基准测试程序,集成了某一类用户的典型负载,是进行
25、程序性能度量的有力工具。但要特别注意所使用的基准测试程序和测试目标之间的相似性。57本讲稿第五十七页,共五十九页课后作业作业-1 在Linux系统下,使用多种方式获取一段程序执行时间命令time了解每个字段输出含义系统调用gettimeofday()读CPU时间戳计数器RDTSC比较不同结果精度58本讲稿第五十八页,共五十九页课后作业阅读教材第1,2章访问www.spec.org,了解SPEC CPU2006分数的计算方法和意义,并分别找出如下的SPEC CPU 2006测试结果例子:(1)A系统主频比B系统高,但SPEC 分数较低(2)某个SPEC CPU 2006程序在A系统上的性能高于B系统,但另一个SPEC CPU 2006程序在A系统上的性能低于B系统59本讲稿第五十九页,共五十九页