2、关于浮点运算的误区
SPECint2000和SPECfp2000分别衡量服务器的整数运算能力和浮点运算能力。然而很多人并不是非常清楚所谓整数运算能力和浮点运算能力的实质意义。
大多数高性能计算机都是用来进行高精度、大计算量的科学计算,所以对于诸如石油勘探、地质勘测、天气预报等用户来说,非常注重服务器的浮点运算能力,就是因为整数运算能力是指系统对于16位以内数据的计算精确度和速度,而浮点运算能力代表的是一个计算机系统对于16位以上数据的计算速度和结果精确度。
所以,对于高性能计算机的用户来说,在采购服务器的时候,对于厂商提供的SPECfp2000浮点运算基准测试要给予重点关注,而对于一般的商业用户来说,一个计算机系统的浮点运算能力强或者弱,并没有太大的实质意义,这个用户群体更应该关注诸如TPC-C等在线事务交易处理性能。
3、英特尔处理器对浮点运算能力的加强
英特尔®至强®处理器系列与英特尔®安腾®处理器系列通过先进的处理器体系架构对系统的浮点运算能力进行了优化与加强,在Linpack,SPECfp2000等多项基准测试中均体现出优异的性能,其主要策略是并行计算与大量的内核资源。
以安腾系统的EPIC架构为例,其大量的寄存器资源(264个通用寄存器)可以保证每时钟周期6条指令的并发执行,同时,丰富的板上资源,包括24MB的二级缓存可以使得所有处理器浮点运算单元保持高效运转,减少等待造成的系统空闲。同时,多线程、多核技术的应用进一步强化了其并行能力,使其在各项基准测试中的浮点性能进一步提升。
第二节:在线事务处理能力的衡量
对于大多数的商业用户来说,对于服务器系统的要求与科学计算用户有着明显的区别。对于这部分用户来说,他们更关注服务器对于交易的处理能力以及处理成本,而不是峰值、单CPU的运算能力。
在衡量基于数据库应用的服务器性能时,在线事务交易处理(OLTP)系统性能成为一个关键指标。在现有的Benchmark体系中,有三个基准测试可以帮助用户有效衡量服务器系统的OLTP性能,就是TPC-C、TPC-H和SPECCPU。
深入了解TPC-C
1、TPC-C衡量系统整体
TPC-C是一种旨在衡量联机事务处理(OLTP)系统性能与可伸缩性的行业标准基准测试项目。这种基准测试项目将对包括查询、更新及队列式小批量事务在内的广泛数据库功能进行测试。对于数据库密集型应用来说,TPC-C被许多IT专业人员视为衡量真实OLTP系统性能的有效指示器。
TPC-C测试规范经过两年的研制,于1992年7月发布。几乎所有在OLTP市场提供软硬件平台的厂商都发布了相应的TPC-C测试结果,随着计算机技术的不断发展,这些测试结果也在被不断刷新。
独立审计机构负责对基准测试结果进行公证,同时,TPC将出据一份全面的测试报告,用户可以从TPC站点(http://www.tpc.org/)上获得。
TPC-C测试规范中模拟了一个比较复杂并具有代表意义的OLTP应用环境:假设有一个大型商品批发商,它拥有若干个分布在不同区域的商品库;每个仓库负责为10个销售点供货;每个销售点为3000个客户提供服务;每个客户平均一个订单有10项产品;所有订单中约1%的产品在其直接所属的仓库中没有存货,需要由其他区域的仓库来供货。
TPC-C测试包括5个典型的OLTP事务:
新订单:一个用户提交一个新的订单
支付:更新用户的账户余额以反映一个支付
交付:订单的交付(通过一个批事务处理实现)
订单状态:返回用户最新订单的状态
库存水平:监控当前仓库库存
对于前四种类型的交易,要求响应时间在5秒以内;对于库存状况查询交易,要求响应时间在20秒以内。
TPC-C的测试结果主要有两个指标:
流量指标(Throughput,简称tpmC)
按照TPC的定义,流量指标描述了系统在执行支付、订单状态更新、交付及存货变更这四种交易的同时,每分钟可以处理多少个新订单交易。所有交易的响应时间必须满足TPC-C测试规范的要求。流量指标值越大越好。
性价比(Price/Performance,简称Price/tpmC)即测试系统价格(指在美国的报价)与流量指标的比值。性价比越小越好。
基于四核英特尔®至强®5300系列处理器的服务器平台数据库性能
2、解读tpmC
tpmC代表的是系统最大的持续性能,它被定义为系统每分钟可以处理多少个新订单事务,与此同时,系统还在处理其他四种事务类型(支付、订单状态、交付、库存水平)。所有5个TPC-C事务都有某个限定的用户响应时间要求,其中新订单事务的响应时间是5秒以内。因此如果一个系统的TPC-C值是100tpmC/min,说明该系统在每分钟处理其他的混合的TPC-C事务的工作的同时,可以产生100个新订单事务。
从TPC-C的定义不难知道,这套基准测试程序是用来衡量整个IT系统的性能,而不是评价服务器或某种硬件系统的标准,而且tpmC数值的高低直接受到各个环节的影响,如服务器、外设(如硬盘或RAID)、服务器端操作系统、数据库软件、客户端及其操作系统、数据库软件和网络连接等。因此,如何解读tpmC数值会因不同的采购需求有非常大的差异。
例如,在很多厂家的TPC测试系统中,服务器的价格只是系统总价格的25%或更小,而硬盘的价格有可能占到总价格的30%以上,因为TPC-C要求被测系统必须保存180天的事务记录(这一趋势从一些最新的TPC-C测试结果来看,会愈演愈烈)。如果同样的服务器被用到用户的环境中,厂家的tpmC值就意义不大,因为用户的实际系统与厂家原来用于TPC测试的系统大不一样。当同样的主机用在不同的系统中时,tpmC值可能有相当大的变化,现在许多用户还没有意识到这一点。
尤其需要服务器采购用户注意的是,tpmC指标更多的是衡量从客户端到终端网络的性能区域,而不是通常误认为的服务器到企业端网络的性能。由此可见,如果用户是建立一套全新的业务系统,那么无妨多借鉴tpmC的性能指标,如果只是采购某种或某些硬件设备,则需要参考更多的指标。
我们看到,随着处理器技术的不断创新,市场上各个厂商服务器性能在不断提升,例如去年11月惠普公布了一项TPC-C测试结果,配置了两颗主频为2.66GHz、总线速度达1333MHz的四核英特尔®至强®X5355处理器(两颗处理器,共8核,8线程)以及4MB二级缓存和64GB主内存,运行Microsoft Windows Server 2003 EE x64操作系统和Microsoft SQL Server 2005 Enterprise x64 Edition SP1数据库的HP ProLiant ML370 G5服务器取得了64位计算环境中240,737tpmC的TPC-C测试好成绩,平均每tpmC的成本仅为1.85美元。
这是全球四核处理器服务器的第一个TPC-C基准测试成绩,成为了当时两路服务器、双处理器的最好成绩,而每tpmC 1.85美元的成绩也是基于双处理器平台的Microsoft SQL Server 2005数据库的最佳性价比。相比上一代产品,性能有3倍的增长,而与相同配置的双核处理器的服务器相比,性能有42%的提升。从中我们可以看到,处理器本身对于服务器的性能几乎起着决定性的作用。
TPC-H关注查询能力
TPC-H测量在商业分析中决策支持系统(DSS)的性能。DSS是一种计算机应用程序,它分析商业数据展现出来使用户/管理者可以更容易得进行商业决策,例如供求管理、客户满意度分析、市场份额分析等。
TPC-H 模拟了商业环境中的分析端,大量的数据被细化,可以帮助企业进行可靠的商业决策,其中包含一整套面向商业的特殊查询和并发数据修改内容。该基准中选择的查询和数据库中的数据都具有广泛的全行业关联性。这种基准测试所描述的决策支持系统可检查大量的数据,所执行的查询也具有很高的复杂度。并且,TPC-H会基于数据库的大小将结果分类。
TPH的性能度量单位有两个,一个被称为"TPC-H复合式每小时查询性能单位"(TPC-H Composite Query-per-Hour Performance Metric – QphH@Size),反映的是系统处理查询的多方面能力,包括查询执行时选定的数据库大小、单个流提交查询时的查询处理能力,以及多个并发用户提交查询时的查询吞吐量。另外一个,是价格/性能比计量单位$/QphH。
SPEC CPU2006中的学问
对于关注在线事务交易处理能力的用户来说,SPEC CPU2006也是一项非常重要的基准测试指标。
就像前面提到的,SPEC CPU2006是一组针对CPU和内存的测试,它主要测试的对象是CPU、内存,不测试硬盘、I/O效率和网络等部分。因为SPEC CPU2006的程序都是针对单CPU的系统设计,因此,在多CPU系统上,如果要测试多CPU系统的效率,则是采取同时执行多个相同程序的方法,这个结果就是"Rate"。因此,同样有SPECint_rate和SPECfp_rate的测试结果。需要说明的是,"Rate"测试同时执行多个相同的程序,但程序之间并不会有关联,所以这是一种理论计算能力测试,并不代表实际并行计算能力。