optane ssd dc p4800x:采购选型 度量有方 服务器性能基准测试通鉴 - 第二回:四大应用中的Benchmark_服...

来源:百度文库 编辑:中财网 时间:2024/07/07 17:02:47
采购选型 度量有方 服务器性能基准测试通鉴出处: 服务器在线     作者: 佚名      2007-10-11 07:44     评论个名为TPC的组织无声无息地成立了,而Benchmark(基准测试)这个词也随之正式走上了企业计算的大舞台。

 

  第二回:四大应用中的Benchmark

  知己知彼,才能为我所用。

  应用种类不同,所适用的Benchmark基准测试也不同。只有做到对应用类型和Benchmark种类心中有数,才能在名目繁多的基准测试中找到能够真正为我所用的项目,从而有效地指导服务器平台采购。这里以高性能运算、在线事务处理能力、Web应用和Java应用四大类企业典型应用为主,介绍了相应"对号入座"的基准测试。

  第一节:高性能运算有多"高"?

  高性能计算机是一个复杂的系统,很难用几个参数或指标对其进行性能评价。

  为此,业界开发了多种标准测试程序试图对高性能计算机进行评定,但这些测试指标通常都是对计算机某一方面进行测试,而不能全面地说明系统的整体性能。

  目前,比较常用的几个基准测试中,Linpack侧重于系统浮点峰值运算能力的测试;SPEC CPU2000测试的是单CPU性能及作业吞吐能力;SPEC OMP2001的结果说明了共享内存的计算机使用共享内存并行模式(OpenMP)的并行效率和加速比;STREAM试图对系统的数据访问能力(带宽和延迟)进行定量地评价等。

  高性能计算用户的应用千差万别,对计算机系统的要求也是各种各样。所以评价高性能计算机性能的最好方法是用用户自己的应用程序去进行实际的测试,或找到相似应用的商业软件的基准测试结果。这样的评价会更有针对性,也比较客观。比如在制造行业中,常常需要对汽车在高速行驶情况下的气动性能、飞机发动机内气体流动等情况进行分析,相应的商业流体力学分析软件有Fluent、Satr-CD、Power-Flow等。而在石油行业中,比较知名的软件有Platform等。

  Linpack主宰TOP500

  每年,当全球超级计算机TOP500发布的时候,都会成为业界的关注焦点。名单上起起落落、沉沉浮浮的背后,牵扯着从处理器厂商到系统厂商、软件厂商等等的一长串心跳,对他们来说,名单上的名次就是实力、技术、研发、前瞻性等等多个因素的考量。

  那么,TOP500的名次是如何排定的呢?一项名为Linpack的服务器基准测试就是最关键的依据。

  作为一种性能计量标准,Linpack基准可以提供详细的描述和多种硬件平台上的性能结果。

  Linpack Benchmark中使用的基准测试方法主要用于解算线性方程的密集系统。在TOP500中,就使用了这种版本的基准测试,使用户能够衡量系统的规模并对软件进行优化,使其能够在特定的硬件平台上发挥出最佳的性能。虽然这种性能并不能反映出特定系统的总体性能,但它可以反映出专用系统解算线性方程密集系统的性能。因为这种问题很常见,而且取得的性能非常高,因此良好的性能参数对于峰值性能具有很好的参考意义。

  SPECfp2006考察浮点运算

  1、CPU基准测试SPEC CPU2006

  对于一个高性能计算机来说,用户最关注的就是它的整体运算能力,Linpack能够帮助用户清晰地掌握这个系统的整体能力,而对于单个CPU性能及作业吞吐能力的测试,则靠另外一个基准测试SPEC CPU2006来完成。或者说,对于计算密集类型的工作负荷来说,SPEC CPU2006是一个非常重要的基准测试。

  SPEC CPU2006能分别测量计算机系统的整数和浮点性能。其中,SPECint_base2006衡量在单处理器系统上的整数"速度"性能,而SPECfp_base2006则衡量在单处理器系统上的浮点"速度"性能。"整数"部分有12个程序,使用C或C++语言,它们不使用CPU的浮点单元;而"浮点数"分有 17 个程序(原来的CCPECfp2000至右14个程序),使用FORTRAN 77/90和C语言,这些程序的主要运算是浮点数的。

  SPECint2006和SPECfp2006的结果以执行时间为准。每个程序的执行时间和一个参考平台(Sun Ultra5/10 300MHz)相比,计算出其倍数。如果执行时间和参考平台相同,结果就是100。如果只花了一半时间完成,结果就是200。"整数"的12个程序的结果,取其平均值,得到的就是SPECint2006的测试结果。"浮点数"的17个程序也是一样。

  由于SPEC CPU2006的测试程序都是源代码形式(以保证跨平台测试),所以编译器效率就显得十分重要。SPEC CPU2006规定,测试结果有"Base"和"Peak"两种结果。"Base"测试中,对于编译时的最佳优化参数有所规定(所有的程序都需使用同样的参数,且参数数目不能超过四个),而"Peak"测试则比较宽松。

  2、关于浮点运算的误区

  SPECint2000和SPECfp2000分别衡量服务器的整数运算能力和浮点运算能力。然而很多人并不是非常清楚所谓整数运算能力和浮点运算能力的实质意义。

  大多数高性能计算机都是用来进行高精度、大计算量的科学计算,所以对于诸如石油勘探、地质勘测、天气预报等用户来说,非常注重服务器的浮点运算能力,就是因为整数运算能力是指系统对于16位以内数据的计算精确度和速度,而浮点运算能力代表的是一个计算机系统对于16位以上数据的计算速度和结果精确度。

  所以,对于高性能计算机的用户来说,在采购服务器的时候,对于厂商提供的SPECfp2000浮点运算基准测试要给予重点关注,而对于一般的商业用户来说,一个计算机系统的浮点运算能力强或者弱,并没有太大的实质意义,这个用户群体更应该关注诸如TPC-C等在线事务交易处理性能。

  3、英特尔处理器对浮点运算能力的加强

  英特尔®至强®处理器系列与英特尔®安腾®处理器系列通过先进的处理器体系架构对系统的浮点运算能力进行了优化与加强,在Linpack,SPECfp2000等多项基准测试中均体现出优异的性能,其主要策略是并行计算与大量的内核资源。

  以安腾系统的EPIC架构为例,其大量的寄存器资源(264个通用寄存器)可以保证每时钟周期6条指令的并发执行,同时,丰富的板上资源,包括24MB的二级缓存可以使得所有处理器浮点运算单元保持高效运转,减少等待造成的系统空闲。同时,多线程、多核技术的应用进一步强化了其并行能力,使其在各项基准测试中的浮点性能进一步提升。