评测:DL385p Gen8实现虚拟化性能跨越

今年7月,惠普正式发布基于AMD皓龙6200系列处理器的ProLiant Gen8服务器,这不仅延续了惠普与AMD长期的——始自1994年的——全面合作关系,也让惠普ProLiant Gen8成为横跨业界两大最新主流处理器产品的x86服务器产品线。

惠普此次发布了两款新的ProLiant Gen8服务器,型号分别为HP ProLiant DL385p Gen8和HP ProLiant BL465c Gen8,加上之前ProLiant G7服务器家族中已经从AMD 皓龙6100升级到皓龙6200处理器的部分产品型号,惠普已经成为行业内屈指可数的,拥有一系列多款AMD处理器平台x86服务器的厂商,对于AMD来说,惠普在ProLiant Gen8家族中加入AMD皓龙6200并在ProLiant G7的产品线中升级皓龙6200处理器,当然是对AMD产品的认可。

虽然x86服务器产品在市场上已经很丰富,从单路入门级服务器到四路、八路机架、刀片服务器应有尽有,但是AMD的皓龙处理器仍然有其独特的市场地位:首先,市场上有不少皓龙6100处理器的企业用户,新的皓龙6200处理器能够让他们基于现有服务器平台升级新的处理器获得服务器性能的大幅度提升,在今年1月份ProLiant G7换装AMD皓龙6200之后,采用AMD皓龙 6200系列处理器的HP ProLiant G7服务器曾拥有全球最高等级的核心密度,每机架使用2048个内核(比传统产品多33%)以支持经常并行发生的高性能计算工作负载,性能较传统产品提高35%。

其次,皓龙6200处理器是业界收购十六核心x86服务器处理器,拥有业界最高密度核心,这对于不少敏感于多核心、多线程的应用有不小的益处,而且对于按CPU个数购买License的应用来说,皓龙6200处理器更是能够在单颗处理器上提供更好的软件授权经济性。

在皓龙6200身上,AMD集中了其近几年来研发的不少新处理器技术,比如说AMD智能超频技术和Flex FP技术;AMD-P节能技术套件,如TDP Power Cap和C6 power state(C6深度节能)技术帮助客户最大化数据中心每瓦特性能并能降低电源和散热成本;HyperTransport3.0技术(HT3)拥有出众的核心间连接速度、缓存和支持1600MHz DDR3内存的四内存通道。

有关惠普ProLiant Gen8服务器的更多信息可参见:惠普融合基础设施从此起航  

性能提升来自“内功”:皓龙6200架构解析

AMD皓龙6200处理器采用AMD两年前就已经预览过的新一代处理器架构Bulldozer(推土机)架构,AMD当初开发Bulldozer架构的初衷在于,经调查发现日常的IT应用主要集中于整数运算,而浮点运算相对较少。为了提高多线程处理的性能,AMD设想可不可以用2+1的方式来解决,即两个整数处理核心+1个浮点处理单元,以组成一个新架构的处理单元——Module(模块)。

由于这种2+1的核心设计,在Bulldozer的架构中,其核心(Core)的概念已经与传统认识有了较大的不同,单一的核心并不是一个具备完整功能的处理单位,所以AMD一直在用Bulldozer Module来表示Bulldozer处理器的处理单元,所以在后文的介绍中,对于Opteron 6200我们也将用模块和核心两个概念表述——在这里,核心是指组成模块中的整数处理单元,它们共享一个弹性浮点处理单元(Flex FP)。

在Bulldozer架构中,非常值得一提的是由两个整数处理核心共享的Flex FP处理单元与新增加的独家指令集。这一Flex FP由两个128bit FMAC(Fused Multiply–Add Capability,混合乘加)处理单元组成,之所以称为弹性(Flex),是因为这两个单元可以各自独立,为每个整数核心提供独享的128bit浮点处理单元(此时可以认为是两个具备有整数运算+128bit浮点运算单元的处理核心,组成了Bulldozer Module),也可以组合成一个256bit的浮点处理单元为一个模块提供服务,这其实给编程人员提供了很好的弹性,但也预示着对现有的应用需要进一步的优化。

简单来说,这种两个128bit单元弹性组合的方式,提供了有多种指令处理的模式,比如对于同时执行两个128bit的AVX指令,SandyBridge单一的256bit FP单元就不行了,而Flex FP则可以,同样的,这也适用于SSE指令。所以,AMD强调,除非是256bit的AVX指令环境,否则6200的单周期浮点处理能力是SandyBridge的两倍,显然灵活的可分拆也可组合的Flex FP功不可没。

而为了发挥Flex FP的强大的威力,AMD也专门开发了两套针对浮点运算的指令集FMA4与XOP,两者可以说都是为高性能计算所服务,但侧重点不太相同,FMA4更有针对性,比如向量和矩阵计算、多项式评估、数据信号处理等,而XOP则针对数学、多媒体应用等。目前,主流的编译器大多已经全部或部分支持AMD的新指令集,因此在发挥Bulldozer的浮点威力方面,还是很让人期待的。

皓龙6200与皓龙6100对比:

AMD皓龙6200一共有12个不同的型号,其中共有7款16核心、2款12核心、2款8核心和1款4核心的产品,核心频率从1.6GHz到2.7GHz不等,需要指出的是,AMD在提供产品的丰富程度上还是颇具心思的,4核心型号的基础频率高达3.3GHz,虽然没有提供AMD Turbo CORE技术,但是核心数较少且提供持续高频率的产品还是有不小的应用市场的。

在性能、频率和核心数量提升的同时,AMD比较好的控制了皓龙6200处理器的散热设计功耗,最高端型号十六核的皓龙6284SE的TDP仅为140w,而中端的几款型号的功率也保持在了115w的水平上,对于性能上的提升来说,其TDP热功耗控制的还是不错的。

而在价格上,AMD皓龙6200的价格也同样有着不小的竞争力,最高端型号6282SE的价格仅为1019美元,而最便宜的6212的价格仅为266美元。

AMD 皓龙6200处理器全系列规格:

HP ProLiant DL385p Gen8介绍

从大量的数据测试中我们已经能够看到皓龙6200与皓龙6100相比所带来的极大性能提升,但我们却很少能够有机会亲身去感受AMD皓龙6200所带来的极大性能提升对于企业应用所产生的益处,尤其是在虚拟化时代,我们更希望能够亲身感受到皓龙6200处理器针对虚拟化应用所带来的性能飞跃。

此次惠普送测的服务器为新一代的HP ProLiant DL385p Gen8服务器,作为一款双路服务器,ProLiant DL385p Gen8为2U机架式服务器,搭载了ProLiant Gen8所更新的iLO 4管理平台,并集成了全生命周期管理,以及针对虚拟化部署、管理和维护的多项软件功能。

HP ProLiant DL385p Gen8服务器主要面向虚拟化、数据库、HPC应用。它支持8个或者12个3.5英寸硬盘(取决于机头设计)和16个或者25个2.5英寸硬盘(同样取决于服务器机头设计)。DL385p Gen8能提供比上一代的6100平台服务器高达50%的内存扩展。

搭载AMD皓龙处理器的惠普Gen8服务器最关键的特性。在这里总结成三部分:

第一:集成的周期化管理

在iLO里面,代理端内嵌了一些集成等等,用户拿到机器的时候可以直接做配置,不需要使用和安装其他别的软件。而且Gen8的服务器的管理软件是可以通过主动的每隔一段时间扫描机器里面的设备,当它发现有问题的时候,它就会报告给这个管理员,从而第一时间发现故障。随着应用软件的更新,旧的微码可能会不合适。在惠普的闪存里面内置可自动检测,发现新的微码会提示管理员选择是否需要升级,同时可看到新版本和老版本之间的差别,并可以设置什么时间进行更新。

第二:智能的数据保护

服务器里面跟数据相关的主要有内存、硬盘和阵列卡这三个组件。在惠普Gen8服务器中的阵列卡中,会帮助客户记录这个固态硬盘读写的次数。一旦这个次数数量比较多,快要到它的限制的时候,这个阵列卡就会通过管理员给用户报警。这个时候用户就会考虑是不是要去更换这个硬盘了。所以数据是非常重要的,有了之前的周期管理,就能够非常好的去维护机器,有了数据的保护,客户的应用也会更稳定。

第三:能源的优化

惠普一直非常关注能源优化,而AMD处理器一直以低功耗著称。两者结合的Gen8服务器能够帮助客户更省电。

此次进行测试的HP ProLiant DL385p Gen8服务器采用皓龙6200处理器家族中相对中规中矩的一款产品,也是较常用的12核心皓龙6238处理器,初期搭载32GB(4x8GB)DIMM,后期为了测试方便,升级到了128GB DIMM

皓龙6200处理器基本测试情况

这台服务器的总体情况如下:

AMD皓龙6238处理器参数指标:

首先,为了简单的测试这台服务器的性能,我们进行了SPEC CPU 2006测试。

SPEC CPU 2006包括了CINT2006和C FP2006两个子项目,前者用于测量和对比整数性能,而后者则用于测量和对比浮点性能,SPEC CPU 2006中对SPEC CPU 2000中的一些测试进行了升级,并抛弃/加入了一些测试。

SPEC CPU测试中,测试系统的处理器、内存子系统和使用到的编译器(SPEC CPU提供的是源代码,并且允许测试用户进行一定的编译优化)都会影响最终的测试性能,而I/O(磁盘)、网络、操作系统和图形子系统对于SPEC CPU2006的影响非常的小。

CINT2006包括C编译程序、量子计算机仿真、下象棋程序等,CFP2006包括有限元模型结构化网格法、分子动力学质点法、流体动力学稀疏线性代数法等。为了简化测试结果,SPEC决定使用单一的数字来归纳所有12种整数基准程序。

SPEC CPU2006整数运算主要包含编译、压缩、人工智能、视频压缩转换、XML处理等,此外,各种日常操作也主要是基于整数操作。SPEC CPU2006的整数运算包含了400.perlbench PERL编程语言、401.bzip2 压缩、403.gcc C编译器、429.mcf 组合优化、445.gobmk 人工智能:围棋、456.hmmer 基因序列搜索、458.sjeng 人工智能:国际象棋、462.libquantum 物理:量子计算、464.h264ref 视频压缩、471.omnetpp 离散事件仿真、473.astar 寻路算法、483.xalancbmk XML处理共12项。

SPEC CPU2006的浮点运算测试包括的全部都是科学运算,科学运算需要用到大量的高精度浮点数据,如410.bwaves 流体力学、416.gamess 量子化学、433.milc 量子力学、434.zeusmp 物理:计算流体力学、435.gromacs 生物化学/分子力学、436.cactusADM 物理:广义相对论、437.leslie3d 流体力学、444.namd 生物/分子、447.dealII 有限元分析、450.soplex 线形编程、优化、453.povray 影像光线追踪、454.calculix 结构力学、459.GemsFDTD 计算电磁学、465.tonto 量子化学、470.lbm 流体力学、481.wrf 天气预报、482.sphinx3 语音识别共17项测试。

SPEC规定每个测试都要运行3遍,并且选择中间值作为最终成绩。

软件测试环境:

Operating System

Red Hat Enterprise Linux Server release 6.1,
Kernel 2.6.32-131.0.15.el6.x86_64

Compiler

C/C++/Fortran: Version 4.2.5.2 of x86 Open64
Compiler Suite (from AMD)

Auto Parallel

No

File System

ext4

System State

Run level 3 (Full multiuser with network)

Base Pointers

64-bit

Peak Pointers

32/64-bit

SPECint_rate2006得分情况(Ratio值,代表测试系统与基准参考平台的倍数,以下同):

SPECfp_rate2006得分情况:

SPECint_rate_base2006得分与上一代皓龙6176 SE相比:

SPECfp_rate_base2006得分与上一代皓龙6176SE相比:

总的来说,无论是在整数计算还是浮点计算测试上,仅看CPU性能,皓龙6238与上一代的皓龙6176SE相比,虽然在少数项目上略有落后,但从总体成绩来看这两款同为12核的皓龙系列处理器,皓龙6238凭借更高的处理频率、更先进的架构,已经基本实现了越级超越。

接下来我们就要进入今天的重头戏,VMware性能测试了。

VMmark测试 皓龙6238同样不负众望

目前,业界进行虚拟机性能测试的标准有两个主流方式:其一就是VMware推出的VMmark,如今已经进入2.0时代,主要针对VMware虚拟化平台进行测试;其二是SPECvirt_sc2010, SPECvirt_sc2010是SPEC组织推出的虚拟化性能测试软件,其基本的测试原理与VMware的VMmark差不多,也是以“片”为单位进行虚拟化性能方面的考查,一个“片”包括应用服务器、Web服务器、Mail服务器、空闲服务器等共6个虚拟机,最后看在满足性能标准的前提下最多可支撑的虚拟机数量并给出得分。

目前为止,由于VMmark可供参考的测试样本数较多,且技术比较成熟,在进行虚拟机性能测试时人们往往习惯于使用Vmmark而非SPECvirt_sc2010。Vmmark将几个普通的工作量同时运行在单独的虚拟机上,每个工作量是一个单一的系统运行基准,我们把它称为tile,运行时产生的多种tile得分的综合就可以得到整个系统的基准评分。从而可以让我们有效评估系统对于虚拟化的支持能力。

虚拟化基准测试可以被认为是多个虚拟机执行一套多样化的工作的能力的综合,VMmark测试将几个普通的工作量同时运行在单独的虚拟机上,每个工作量是一个单一的系统运行基准,我们把它称为tile,运行时产生的多种tile总数就可以得到整个系统的基准评分。Tile的总数是指一个物理系统和虚拟层可调节并衡量系统的整合能力。这一概念与一些服务器测试基准是相似的,如TPC-C,该测试同样是通过逐步地增加系统工作量来对系统的性能做出评估。

tile本身并不能考量系统运性能中的微小变化,为了解决这个问题,总的VMmark基准评分由tile数量和每个工作量的性能共同决定。 每个VMmark tile的工作量都被限制以使不能完全利用其所在的虚拟机,但每个工作量又能够以某种程度的速度和能力改变底层系统。

举例来说,以磁盘应用为主的工作量可能会因为增加了更快速的磁盘阵列而得到更好的评分,这种改变可以获得某种性能的提升,但这种提升并不能增强另外的tile。当tile的数目增加时,现有的工作量也许会受到负面的影响。然而,如果系统还没有被过量使用的话,包含新tile在内的总得分应该会有所增加,该测试的结果是一个灵活的基准,它可以反映一个相对的对于服务器可从事工作量的衡量标准。

有效的基准应该建立在一系列恰当的数据处理工作上,VMmark基准测试主要应该包括以下应用:邮件服务器、Java服务器、备份服务器、Web服务器、数据库服务器、文件服务器。

在VMmark 1.1.1版本中,基准测试共分为五部分,分别为:Web服务器、Java服务器、Mail服务器、文件服务器和数据库服务器,本次测试的部分关键信息如下:

Tile

22xTiles(对应22Client

VMware版本

ESX 4.0 Update 2 258828

外部存储

某品牌中端FC SAN磁盘存储

RAID类型

RAID 0

Client

某品牌双路x86服务器,使用AMD 6174处理器

在本次测试开始前,我们尝试安装了ESX 4.0、vSphere 5.0和vSphere 5.1,但是都发现了一个无法找到网络的问题,导致无法完成对测试服务器上VMware环境的安装,最后发现是因为VMware官方所提供的VMware ESX或vSphere安装镜像中不包含网卡驱动。

经过一番寻找,我们最终在惠普公司官网上找到了包含惠普主流服务器网卡驱动的VMware安装镜像。特别提醒大家,在部署虚拟化系统镜像时,最好去服务器原厂商的官方网站找找看有没有安装镜像,并优先使用这一安装镜像。

另外,VMware的VMmark测试现在实际上已经到了VMmark 2.1,但是我们此次测试还是使用了VMware 1.1.1的版本,其主要原因基于两点:

1、 VMware 1.1.1的部署要求相对简单,且设备要求较低,我们手头只有一台HP ProLiant DL385p Gen8,但是VMmark 2.x系列测试要求至少两台服务器。

2、 在原有的VMmark 1.1.1测试结果页面,我们看到了一台搭载了AMD 12核心皓龙6176SE处理器的HP ProLiant DL385 G7服务器的测试报告,这为我们进行系统对比提供了便利,此次测试的主要目的就是为了了解AMD 皓龙6238这一款皓龙6200系列服务器中唯一一款12核心处理器与上一代最多只有12核心的AMD 皓龙6100处理器的性能对比。

3、 VMware 1.1.1主要针对Web、java、邮件、文件和数据库服务器系统,其测试结果相较VMmark 2.x系列测试更有代表性和实用意义。

WebServer 22Tiles_p0_p1_p2测试数据(Ratio,与基准测试系统的比值倍数):

javaServer 22Tiles_p0_p1_p2测试数据:

mailServer 22Tiles_p0_p1_p2测试数据:

fileServer 22Tiles_p0_p1_p2测试数据:

?

database 22Tiles_p0_p1_p2测试数据:

为了更清楚的对比,我们在VMware的VMmark官方结果上,找到了一套搭载AMD 皓龙6176SE(SE代表高性能)的HP ProLiant DL385 G7双路服务器的VMmark 1.1.1版本测试结果,该结果部分数据如下图:

上面我们已经介绍过,我们测试的这台服务器使用的12核心2.6GHz(打开Turbo CORE之后主频高达3.2GHz)16MB L3缓存的AMD皓龙6238服务器,而VMmark结果页面上的这套进行过1.1.1版本测试的服务器使用的是同为12核心的皓龙6176SE处理器,其频率为2.3GHz,12MB L3缓存,是上一代皓龙6100系列处理器中最顶级的产品,其SE代表针对性能优化且更高主频。

经过对比,我们基本上可以看到AMD 皓龙6238与皓龙6176SE的性能对比如下表(以皓龙6176SE为参照值1):

测试项目

皓龙6238

Web

0.94

Java

0.93

Mail

0.92

File

0.92

Database

0.92

总的来说,在SPEC测试中已经发现皓龙6200处理器的单核心能力有了较大的提高,皓龙6238核心的整数和浮点计算能力与上一代的皓龙6176SE性能极为相近。而在虚拟化测试中,我们看到,Mailserver的测试结果波动较大,而其余几个测试的结果相对来说(尤其是javaserver)的测试变动结果并不大。

将这台AMD 皓龙6238处理器的HP ProLiant DL385p Gen8与上一代的皓龙6176SE的惠普服务器相比,其虚拟化性能已经非常接近,但是需要指出的是,AMD 皓龙6238与皓龙6176SE在其所处的处理器家族中的位置完全不同,前者着皓龙6200系列处理器的中端旗舰,位于产品家族中流靠前的位置,而皓龙6176SE则在整个皓龙6100处理器中位列最高位置。

虽然测试结果有不小的局限,且VMmark 1.1.1的基准测试已经被VMmark 2.x测试所取代,但是我们仍然能够从VMmark 1.1.1的基准测试中看到皓龙6200处理器的性能提升,而对比目前市场上类似产品的价格,我们不难发现皓龙6200系列的性价比真的不错。

HP ProLiant DL385p Gen8安装VMware ESXi界面:

在启动HP ProLiant DL385p Gen8之后,用户可以通过进入iLO4的管理界面全自动化的安装配置VMware虚拟化平台,惠普在iLO4中提供了包括Windows、Redhat、SUSE、VMware ESXi、ESX等不同的虚拟化环境自动化安装脚本。

用户可以选择三种不同的安装模式:全自动安装、自定义安装和手动安装,手动安装顾名思义将只通过iLO4检查下安装介质,即进入ESXi的标准安装模式,自定义安装允许用户配置服务器软件、固件更新、存储分区等功能,全自动安装将在用户所选择的默认存储空间内进行无人值守的全自动化安装。

在第一次安装时,我们选择的是最新的VMware ESXi 5.1版本,其间多次安装不成功,皆提示安装VMware虚拟化平台需要至少一个网络接入,但当时五根网线已经接入到4个1Gb以太网接口和iLO4的管理网络端口上,最后我们发现,由于VMware公开提供的版本中不含网络设备的驱动,因此系统无法识别,最终我们在惠普的官网上找到了包含网卡驱动的版本。因为此次虚拟化测试需要对比原有的VMware VMmark 1.1.1环境的测试结果,所以我们最终选择了4.x系列版本的VMware ESX以达到环境尽可能相同。

通过VMware Client管理端,我们看到其很好的识别了AMD皓龙6238处理器以及此台服务器的基本情况: