您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 计算机系统性能测试与分析概论
为什么要学这本门课?•组装一台电脑–关心哪些指标?–处理器主频–内存大小–…–如何评价一个计算机系统的性能?11.选哪些程序评测?2.都测试哪些值?3.这些值如何汇总?4.这些值真的能够反映计算机系统的性能吗?为什么要学这本门课?•国家税务局购买一套高端容错机–IBM、HP–投标书:不同程序测试结果•XX银行搭建一个数据中心–处理器:英特尔E/L/X?I7可以吗?–内存规模:32GB?64GB?128GB?–网络:千兆、万兆、infiniband?–存储阵列:SAS、SATA?光纤、IB接口?2如何预测一个应用程序在某个计算机系统性能?例子:高性能计算机评测3如何评测高性能计算机的性能?例子:铁路网上订票系统系统硬件处理能力不足?订票软件设计存在瓶颈?网络带宽不足?为什么网络订票系统登录难、浏览慢、下单难例子:铁路网上订票系统网络订票系统体系结构:客户端Web服务器数据库服务器数据请求返回结果如何了解负载特征,分析系统系统瓶颈?例子:基于SAN存储系统例子:实验设计•如何设计一篇文章的实验部分?•都要做哪些实验?•为什么要做这些实验?•都要测哪些指标?7课程目标•性能问题是和功能同等重要的问题•性能问题没有得到很好的重视,大家对其认识不足–基本概念•性能,频率,峰值速度,实测速度…–基本方法和工具•测量方法•数据处理和解释方法•程序优化的方法–基本观点8内容安排(1)6月17日•引言和性能的量度(2课时)•实验结果处理中的统计学(4课时)6月18日•系统测量和分析技术(4课时)•基准测试程序(4课时)6月20日•线性回归模型(2课时)•实验设计(2课时)•考试(2课时)9教材和参考书•教材–MeasuringComputerPerformance,byDavidJ.Lilja,CambridgeUniversityPress,2000•参考书:–TheArtofComputerSystemsPerformanceAnalysisbyRajJain,JohnWiley&SonsPress,1991–ComputerSystemsAProgrammer’sPerspectivebyRandalE.BryantandDavidR.O’Hallaron,Person,2003–PrinciplesofComputerSystemDesign,J.H.Saltzer,M.FransKaashoek.10主要会议•ACMSIGMETRICS•IISWC(WWC)–IEEEInternationalSymposiumonWorkloadCharacterization•ISPASS–IEEEInternationalSymposiumonPerformanceAnalysisofSystemsandSoftware•HPCA,CGO,SC,SOSPetc.11课程要求•平时-40分–课堂:参与讨论,回答问题,出勤–课程作业:6次•考试-60分12特色本课程的特色是:•综合性–由于面向整个系统,所学过的关于操作系统、编译原理、计算机体系结构、CPU结构在内的各种知识都要能够综合使用,才能够很好地完成性能测试与优化的任务•实践性–本课程将安排若干测试练习和其它编程练习,让大家在实际操作中真正地理解有关内容,解决实际问题。13学完本课程的收获•正确设计论文中的实验部分•正确处理和解释实验数据•基准测试程序的使用与开发•测量系统与程序参数的相关方法–系统的访存带宽和延迟–程序中的基本块个数、分支条数等–使用硬件计数器进行程序行为的测量•可用性、可管理性、功耗测试等•基于测试的优化技术14第一章绪论•1.为什么进行性能分析•2.什么是性能151.为什么要进行性能分析•对设计者–要达到设计的目标有不同的可选方案,如何在其中选择最好的方案?•世界上第一台千万亿次高性能计算机Roadrunner•IBMPower处理器和AMDOpteron处理器混合比例–通过分析、模拟和测试对比各个方案的性能、成本和功耗–设定期望•对消费者–购置的系统能否满足自己的要求–在一定的预算下获得最好的性能16性能分析技术•性能分析技术–分析•数学建模•排队论–模拟•功能模拟器、性能模拟器•Trace-driven、全系统模拟–测试•实际测试17例子:并行程序性能•并行程序的性能行为:–计算–通信–I/O18例子:并行程序性能•分析建模:–程序特征•收集浮点指令、整数指令、访存记录、I/O访问、通信(消息类型、大小、方向等)–机器性能•每条浮点/整数指令执行的cycle•访存指令时间•I/O性能•通信延迟、带宽–程序时间•Totalexecutiontime=comp+comm+I/O?19例子:并行程序性能•模拟的方法–Bigsim–Dimemas–SimpleScalar–…–输入:•Trace、目标平台的参数20例子:并行程序性能•测试的方法–采集负载特征:•计算特征(PMU,CallPathprofile)•通信特征•I/O特征–方法:•静态分析(编译)•动态测试(插装)21测试技术也是分析和模拟的基础各种方法的比较分析建模模拟测量灵活性高高低成本低中高可信度低中高222.什么是性能2.1性能与目标2.2性能与度量方式2.3性能与比较方式23性能与目标•目标不同做出的选择也不同–例子:•实验设计:程序选择,平台选择•负载分析:Trace,Profile?•模拟器:粗粒度、细粒度242.1性能与目标•哪个性能更好–单个乘客的旅行时间?–1天内可以运送多少乘客?25飞机华盛顿-巴黎速度mph载客量波音7476.5小时610470协和3小时1350132吞吐率mph*person286,700178,2002.1性能与目标•集群服务器–排队系统–LSF,PBS–性能•Latency•Throughput262.2性能与度量方式•X系统是否比Y系统好?27X系统秒Y系统秒原有程序270192优化后的程序1031692.2性能与度量方式(2)•Y系统比X系统好?28X系统GFLOPSY系统GFLOPS原有程序6591优化后的程序711032.2性能与度量方式(3)•出现了什么问题?•哪台系统更快?•哪台系统更好?292.2性能与度量方式(4)•X系统编译优化后减少了61%浮点运算•对这个应用来说,X系统更快•对于哪个系统更好,没有简单的答案,需要根据使用的方式(目标)确定302.3性能与比较方式•如何比较这两个系统的性能?–汇总多个数据31X系统tpsY系统tps负载A2010负载B10202.3性能与比较方式(2)•绝对比较法–Perf(X)=(20+10)/2=15–Perf(Y)=(10+20)/2=15•相对比较法,以X为基准–Perf(X)=1–Perf(Y)=(0.5+2)/2=1.25•相对比较法,以Y为基准–Perf(Y)=1–Perf(X)=(2+0.5)/2=1.25•同样的数据,我们得出了3个不同的结论322.3性能与比较方式(3)•问题:哪个比较方式更合理?•为什么?其成立的条件是什么?332.4什么是性能-总结•计算机系统的性能,与进行性能分析的目的密切相关,度量方式、性能比较方式都需要用系统的方法进行选择,才能得到准确的性能数据34第二章性能的度量•1.现有的性能度量方式•2.什么是好的性能度量方式•3.性能度量方式分析35metric361.现有的性能指标•时钟频率•MIPS•GFLOPS•Time-程序的执行时间•Lat/BW•基准测试分数–SPECCPU–Linpack–TPC–Winstone–3DMark2001,3DMark2003–…372.什么是好的性能度量方式•线性性(Linearity)–符合人的直觉–例子:速度m/s–相反的例子•可靠性–当A的性能度量值好于B时,如果系统A总是比系统B快,则称该度量方式是可靠的–相反的例子MIPS382.什么是好的性能度量方式(2)•可重复性•容易测量•一致性•独立性–生产商试图影响度量方式393.1时钟频率•最简单,很常用但是最误导的性能度量方式–可重复,易测量,独立–非线性,不可靠–没有考虑到IPC的不同–没有考虑到其它子系统如内存、I/O的影响40413.2MIPS•MillionsofInstructionsexecutedPerSecond–容易测量,可重复,独立–非线性,不可靠,不一致–每条指令所执行的内容在不同体系结构中是不同的•RISC,CISC423.3MFlops•MillionsofFLoating-pointOperationsexecutedPerSecond–可重复–非线性,不可靠,不一致–不适合不执行浮点运算程序的系统–测量FLOPS并不容易,不同的浮点运算实现可能会带来不同的测试值•乘加、SIN,COS433.3Mflops(2)•MIPS和Mflops都以单位时间内完成的操作次数为性能度量•但是指令和浮点运算都不是人们最终关心的准确的操作•要定义最终用户关心的操作,比如每秒事务处理数,每秒web访问次数等等–实际测试的数据才是有意义的–将比较限定在可比的范围内,采用相同度量方式的两个程序,一般不能互相比较443.4单一程序的运行时间•程序执行时间:–我们最终关心的是程序的执行时间–线性,可重复,可靠,独立,一致–因此,时间是一个好的度量•存在的问题–实际测量非常复杂或不可行–系统可扩展性无法体现–严格的可靠性度量是不存在的!453.5基准测试程序•优点–一组有代表性的程序,比单个程序更能代表用户的负载状况–测试程序分数是程序运行时间的函数(线性或非线性)•以运行时间直接为度量,或是以单位时间内完成的操作为度量•缺点–仍然不具有可靠性–可能不独立473.5.1SPEC•SystemPerformanceEvaluationCooperative•SPECCPU(fp,int),SPECWEB,SPECPower,SPECHPC,SPECOMP…483.5.1SPEC(2)•SPECCPU的测量方法–测量每个程序的运行时间–正规化:除一个标准系统对该程序的运行时间,得到一个正规化后的值–算出上述正规化值的几何平均作为SPEC分数–问题:•非线性493.5.1SPEC(3)•SPEC的产生办法–每一段时间更新,现在使用的是CPU2006,前边分别有SPEC89,92,95,2000–向全世界征集候选程序–由SPEC会员投票决定•公平性?50SPECCPU测试网站513.5.2其它benchmark•科学计算–HPL(top500所用的benchmark)–HPCC(HighPerformanceComputingChallengeBenchmark)–HPCG(HighPerformanceConjugateGradient)–SPECHPC2002,SPECOMP2001•商业计算–TPC–SPECweb•底层–Membench–IOMeter52JackDongarra2010年11月TOP500List53RankSiteComputer/YearVendorCoresRmaxRpeakPower1NationalSupercomputingCenterinTianjinChinaTianhe-1A-NUDTTHMPP,X56702.93Ghz6C,NVIDIAGPU,FT-10008C/2010NUDT1863682566.004701.004040.002DOE/SC/OakRidgeNationalLaboratoryUnitedStatesJaguar-CrayXT5-HEOpteron6-core2.6GHz/2009CrayInc.2241621759.002331.006950.603NationalSupercomputingCentreinShenzhen(NSCS)ChinaNebulae-DawningTC3600Blade,IntelX5650,NVidiaTeslaC2050GPU/2010Dawning120640
本文标题:计算机系统性能测试与分析概论
链接地址:https://www.777doc.com/doc-3381768 .html