系统分析师:基准测试程序

系统分析师 责任编辑:HAPPYLQ 2013-12-19

添加老师微信

备考咨询

加我微信

摘要:Whetstone的一组综合程序,主要由浮点运算、整数算术运算、超越函数、功能调用、数组变址、条件转移等程序组成。主要用于评测浮点运算功能。用Fortran,PASCAL语言编写,程序规模不大,cache利用率高。当今已很少使用。

11.4.5基准测试程序

1.Whetstone基准程序

Whetstone的一组综合程序,主要由浮点运算、整数算术运算、超越函数、功能调用、数组变址、条件转移等程序组成。主要用于评测浮点运算功能。用Fortran,PASCAL语言编写,程序规模不大,cache利用率高。当今已很少使用。

2.Dhrystone基准程序

Dhrystone基准程序用于测试编译系统和定点运算、逻辑运算的性能,程序规模不大,用C语言编写的版本有100条语句。当今已很少使用。

3.UNPACK基准程序

LINPACK基准程序用于测试系统在解算密集线性代数方程组的性能,该程序由美国JackJ.Dongarra发表于1976年。由于在科学和工程计算中线性代数方程应用非常广泛,而且UNPACK的适应性很强,在标量机、向量机和并行机上都能较方便地移植,并能得到较满意的效率,因此得到计算机产商的欢迎。目前UNPACK基准程序已成为工业上广泛用来评测不同计算机系统性能的行业标准。

UNPACK由Fortran语言写成,由于密集线性代数方程组中存在大量浮点运算,所以UNPACK可用于评价计算机的浮点运算性能。

用优化的UNPACK基准程序和扩大的矩阵(阶数n=1000)可以测得系统接近于理论峰值性能指标。所谓

理论峰值性能是根据处理器数量和时钟周期计算所得的理论结果,是计算机的较高极限速度。当矩阵阶较

小时,性能明显下降。由于UNPACK测试运行的是实际使用程序,比理论峰值更能反映系统的性能。

4.SPEC(system performance evacuation coorperative)基准程序

随着计算机技术的飞速发展,厂商和用户都希望有一个标准、客观、公正的评测工具,在此背景下,一个非赢利组织SPEC于1988年成立。SPEC最初是由几个工作站厂商共同发起的,发展十分迅速,现已有40多个成员,每个季度都要公布一次成百上千的性能测试结果。

SPEC下设3个一级分会,一级分会还设有若干二级分会。OSG(opensystemgroup)是SPEC最早最大的一级分会;1994年新成立了HPG(high-performance group)分会,1996年,一些图形性能测试组加入SPEC,成为第三个一级分会GPC(graphicsperformance characterization group)。

SPEC于1989年发表第一套标准化测试基准程序SPEC89,以后多次发表新的基准测试程序。SPEC的基准测试程序全部选自实际的应用程序。1992年SPEC推出SPEC92替代了SPEC89,1995年推出了SPEC95替代了SPEC92,2000年又推出了SPEC CPU2000取代了SPEC95.

SPEC89包括整数和浮点数运算在内的1组共10个基准测试程序,其中用于测量机器整数运算性能的程序共4个,称为SPECint89,用于测试浮点数运算性能的共6个,称SPECfP89.

SPEC92是在SPEC89的10个基准程序基础上再增加了4个测试整数运算性能的程序和8个测试浮点数性能的程序,分别称之为SPECint92共8个程序)和SPECfP92共14个程序)。

每个基准测试程序是基于不同的应用写成的程序SPEC92主要测试32位中央处理器、主存储器、编译器和操作系统的性能。SPECint92和SPECfp92两组是分别进行测试的,测试方法是将基准程序先在VAXll/780机上运行,记下运行时间,求出几何平均值;然后把这组程序在被测机器上运行,也记下时间,并求出几何平均值;再用VAXll/780机上测得的几何平均值去除被测机器上测得的几何平均值,测得的结果即为被测机器的SPECint值和SPECfp.SPEC值越高说明机器性能越好。

SPEC95由两组基准测试程序组成:

·SPEC CINT95是用C语言写成的整数高强度计算基准程序,由8个基准程序组成。

·SPEC CFP95是用Fortran语言写成的浮点高强度计算基准程序,由10个基准程序组成。

SPEC95基准测试程序都是从实际的应用中优选出来的,重点测试计算机的处理器、存储结构和编译器的性能,对I/O,网络和图形部件等的测试未加考虑,经光驱安装的SPEC大约需要150MB硬盘空间和64MB主存以保证运算的需要。

SPEC95的主流版本是用于UNIX操作系统的版本。

SPEC95以SUN SPARC Station10/40工作站作为参考机。CINT和CFP两组基准程序在参考机上运行的时间约为48小时,每个基准程序经参考机的运行和测试得到相应的参考时间,将用于被测试机器的SPEC95性能指标的计算。

为了保证测试结果的公正性和可比性,所有的测试必须在SPEC提供的工具环境中运行,包括配置文件的生成、程序的编译、运行环境的建立和实施、报告结果的产生等环节在内,整个测试过程在严格的规则下自动完成,任何手工干预是不必要的且是绝对禁止的。

SPEC95对计算机性能的测试有两种不同的方法:一种是测试一台计算机完成单个任务有多快,称为速度测试;另一种是测试一台计算机在一定时间内能完成多少个任务,称为吞吐量或速率测试。SPEC95的两种性能指标又分为基本的和非基本的两类。基本的是指在编译基准程序的过程中严格限制所用的优化选项,非基本的可以使用不同的编译器和编译选项以得到最好的性能,这样做的结果使得测试结果的可比性降低。测试结果提交给SPEC组织审定,得到SPEC的确认和批准后,才能在SPEC的专利(SPEC通信)上发表,并在Internet的SPEC网址上公布。在呈送给SPEC的报告中,基本指标是强制提供的,非基本指标是可选的,非基本指标更多地加进了编译器的性能因素。

SPEC规定在SPEC95参考机上测试每个基准程序的得分为1,把在参考机上完成每个基准程序的运行时间称为它的SPEC参考时间。在SPEC95的测试中,CINT95和CFP95中的每个基准程序各自计算得分,然后再用这些得分计算各项合成指标。如果被测计算机的得分为10,则表示该系统的相应能力是参考机的10倍。

在进行速度测试时,每个基准程序的得分称为它的SPEC比率(SPECratio)。一个基准程序的SPEC比率用它在被测系统上运行时间除它的SPEC参考时间。设某基准程序为A,则A的SPEC比率=A的参考时间/A的运行时间。

合成指标计算如下。

·SPECint95:CINT95的8个整数基准程序使用非基本优化编译时,取这8个SPEC比率的几何平均值。

·SPECint-base95:CINT的8个整数基准程序使用基本优化编译时,取这8个SPEC比率的几何平均值。

·SPECfp95:CFP的10个浮点基准程序使用非基本优化编译时,取这10个SPEC比率的几何平均值。

·SPECfp-base95:CFP的10个浮点基准程序使用基本优化编译时,取这10个SPEC比率的几何平均值。

SPEC95和SPEC92的基准程序、运行规则和使用的SPEC工具都不相同,因此无法提供这两类测试结果指标之间的相应转换关系。

SPEC CPU2000由12个整数基准程序和14个浮点基准程序组成,表11.2列出各个基准程序的名称、用何种语言编写、所需的主存储器空间和虚存空间以及程序的应用类型。表中F77为Fortran77,F90为Fortran90.

图11.17示出4个不同的系统的整数和浮点性能,其中3个使用Alpha21164芯片,l个使用Alpha21264芯片,3个Alpha21164系统是500MHz AIpha Station500/500,500MHz Personal Work Station 500au和533MHz AlphaServer41005/533,1个Alpha21264系统是500MHz Alpha Server DS206/500.参考机是300MHz Sun ultra5_10,其得分定为100.

 

Alpha 21164(主500MHz/530MHz)芯片内含2级cache,Ll容量为8KB(指令)+8KB(数据),LZ的容量为96KB,Alpha21264芯片内含1级cache,容量为64KB指令)+64KB(数据)。

比较21164500MHz系统与Alpha Sever DS206/500系统(采用21264处理器),其主频都是500MHz,但是存储器系统(cache,主存的容量和存取时间)以及CPU的内部结构不同,后者的基准程序性能却提高很多,21264可以同时执行8个取数操作和8个存数操作,以及提供无序执行(参见11.1.4),而21164只能同时执行2个取数操作和2个存数操作,不支持无序执行。

本节中所有的结果使用同一组编译器,不同的编译器将导致不同的结果。SPEC CPU2000基准程序溅试了CPU,存储器系统和编译器的性能。

5.TPC(transaction process performance council)基准程序

事务处理性能测试委员会TPC是一个专门负责制定计算机事务处理能力测试标准并监督其执行的组织。TPC由硬件供应商、软件供应商和用户组成,旨在建立一套完整的基准程序以评测包括事务处理、数据库处理、企业计算和决策支持等广泛的商业计算。TPC成立于1988年,当时只有8个公司参加,目前已有40多个成员。

TPC在1989年11月发布了其成立后的第一个标准TPC-A,1990年8月推出TPC-B,1992年推出TPC-C,1994年公布TPC-D,后来又推出了TPC-H和TPC-R,1998年公布了TPC-W.目前TPC-A,TPC-B,TPC-D已不用。

TPC按商业领域的公共理解来定义事务(transaction)这个术语,认为事务就是商业活动中货物(库存管理)、服务(订票)、金钱(银行)的交换。典型的事务一般都会涉及数据库系统中数据的更新。

TPC-A基准程序规范用于评价在联机事务处理(OLTP)环境下的数据库和硬件的性能,不同系统之间用性能价格比进行比较。该基准程序模拟了一个银行出纳员进行存款和出票时的网络,其性能用每秒完成的事务数TPS来表示。性能价格比(实际上是价格性能比)用系统的价格除以系统的TPS值来表示,即以每TPS-A需要多少千美元(K$/TPS-A)来表示,系统价格包括硬件的购置费和安装费、5年期内的软件租金和硬件维修等全部费用。

TPC-B测试的是不包括网络的纯事务处理量。系统仅由1个中央处理器、海量存储器和1个数据库组成,测试该系统1秒钟内能完成的银行类型的事务处理数量,而不考虑网络、终端等其他系统组成部分。

TPC-C测试的是联机订货系统,例如制造业、流通业以及商店一般订货系统,它模拟了联机事务处理(OLTP)环境中分销商的订单一输入(order-Entry)应用环境。TPC-C测试比TPC-A和TPC-B复杂得多。它包括了混合的5种只读和更新密集的事务处理类型。模拟了实际的应用。TPC-C定义的5种处理类型为:

·New-Order.输入一张新的订单,平均包含l0种商品,每一仓库在其产品目录上库存有100000种商品。

·Payment.更新客户账号的金额以反映新的交易付账。

·Delivery.Order.交付提货单,处理一批(10张)提货单。·Order-status.检索以前存放的订单状态。

·stock-level.检查本地仓库的库存情况以确定系统是否缺货。

测试的结果(事务吞吐量)用每分钟完成的事务处理数(TPM)来表示。事务吞吐量和性能价格比是TPC-C的两个重要测试指标。

TPC-C的性能取决于计算机、操作系统和数据库等很多因素,许多计算机厂商及数据库厂商都将它们的产品的测试结果公布于Internet网上(http://www.tpc.org)。就操作系统而言windowsNT的性能价格比UNIX好,但UNIX在性能上具有很好的可扩展性。普遍认为TPC-C是接近实际OLTP运行环境的较好的基准测试程序,经常用它来测试系统的性能。

TPC-D,TPC-H和TPC-R测试的都是决策支持系统。它们对决策支持系统形成特殊的查询。TPC-H包括一组面向特殊查询和并发数据更新的商务。它检验了大量数据,执行高复杂度的查询,并对关键性的商业问题作出回答。TPC-R与TPC-H相似,但允许基于查询的先进知识进行优化。它们的性能用每小时完成的TPC-H或TPC-R组合查询数来表示。

TPC-W是基于Web商业(commerce)的测试标准,用来表示一些通过Internet进行市场服务和销售的商业行为,如零售店、机票预定等,TPC-W测试系统处理用户浏览商业Web站点和通过商业Web站点操作订单的性能。由于在整个WebOLTP环境中,网络接入和人机交互情况是不同的,但TPC-W没有考虑这些开销,所以TPC-W可以看作是一个服务器的测试标准。

TPC基准测试程序在商业界建立了用于衡量系统性能和性能价格比的标准,生产厂家根据TPC基准程序进行测试,并向TPC提交1份详细的完全公开的报告,且经审查通过后才能正式公布测试结果。

比较不同系统的性能优劣需要公共的衡量标准,用户需要公共标准来帮助他做出购买决定,厂家要用它为产品进行市场宣传,TPC为用户和厂家提供了帮助。TPC标准还可以进行裁剪,以便恰当地表示具体的系统。但是由于用户的应用系统环境的多样性,而TPC的测试标准只能是相对简单的模型,所以TPC的测试标准不能当作精确度量具体系统性能的工具。用户应深人了解TPC测试标准,并对其各种模型进行分析,以确定哪一类的用户交互处理、数据库设计、数据库大小、事务复杂性、存储备份测试等模型更适合于用户的系统环境,然后用来对系统进行测试和比较。

6.对计算机性能评测的评估

基准测试应该公正、准确。公正是基本原则,准确是技术上的要求,要尽量不发生或少发生偏差。由于计算机性能评测的复杂性,所以对其公正性和准确性的争论颇多。

·公正性:所有的基准测试组织都是中立和不赢利的,但是任何一个测试组织都可能与厂商和用户团体有联系,因此用户与厂商之间,不同厂商之间的矛盾会反映到测试组织中来。客观地讲,主要的基准测试还是相对公正的,但有时会发生一些不妥当的现象,所以对基准测试不可不信,但也不可迷信。

·准确性:计算机系统性能是一个整体的综合性能,包括所有软硬件的有机结合,但是所有的基准测试都有局限性,例如SPECCPU可以测试CPU,存储器和编译能力,但对I/O和操作系统还是无能为力,因此不能全面反映系统的性能。另外基准测试未对如何检测系统的瓶颈给以足够重视,所以有些厂商扩大宣传其长处,而掩盖其不足之处。为了反映系统性能,TPC在进行测试时建立一个模拟的用户环境,结果导致测试费用巨大,而广大用户还是认为这种模拟环境与实际使用情况相差太大。准确性的另一个问题是计算机不少重要性能不可量化,如可靠性、可用性和可维护性。所以基准测试所得结果基本可信,但不足以准确反映实际使用效果。

章节目录:系统分析师考试教材第10章计算机网络

返回全书目录:系统分析师章节辅导教程


更多资料
更多课程
更多真题
温馨提示:因考试政策、内容不断变化与调整,本网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!

软考备考资料免费领取

去领取

!
咨询在线老师!