服务器 频道

双通还是三通?三种Nehalem内存配置测试

  【IT168评测中心】Nehalem架构已经为人熟知,在这个和以往很不相同的新的架构上,Intel采用了集成控制器的设计方法,并用QPI总线替代了过时的FSB总线,获得了非常明显的增益。


Nehalem:直联架构

  我们知道,每个Nehalem处理器(高端以上)集成了三个DDR3内存通道,最高支持至DDR3-1333,比起以往双路服务器平台的四通道DDR2-667要高两倍的带宽(同样是双路的Nehalem),一下子将x86处理器的瓶颈去掉了,这也是Nehalem性能明显增长的原因之一。


Nehalem-EP平台:Xeon 5500+5520芯片组

  随之而来的问题是,Nehalem的内存性能是否过剩了呢?很快,在桌面平台上,Intel推出了Core i7 Nehalem的简化版本:LGA1156的Core i5,这是采用了双通道内存配置的产品,此外,在不少的Nehalem服务器/工作站上,默认配置总是双通道——两根内存,或者四根内存,这就让人想起一个问题:究竟双通道和三通道的性能相差多少呢?

SPEC CPU 2006 v1.0.1

  为了测试出内存配置对性能的影响,我们采用了标准的CPU性能测试软件:SPEC CPU 2006套件,SPEC CPU测试套件是一个CPU密集型和内存密集型(全部都是CPU密集型,不过不是所有的都是内存密集型)测试软件,包含了相当多类型的处理器应用,从处理器应用可以看出内存的影响。要是内存配置对处理器性能都没有影响,那么对其他距离较远的配件的影响就会更小了。

  SPEC是标准性能评估公司(Standard Performance Evaluation Corporation)的简称。SPEC是由计算机厂商、系统集成商、大学、研究机构、咨询等多家公司组成的非营利性组织,这个组织的目标是建立、维护一套用于评估计算机系统的标准。

  SPEC CPU 2006是SPEC组织推出的CPU子系统评估软件最新版,我们之前使用的是SPEC CPU 2000。和上一个版本一样,SPEC CPU 2006包括了CINT2006和CFP2006两个子项目,前者用于测量和对比整数性能,而后者则用于测量和对比浮点性能,SPEC CPU 2006中对SPEC CPU 2000中的一些测试进行了升级,并抛弃/加入了一些测试,因此两个版本测试得分并没有可比较性。

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

  SPECfp测试过程中同时执行多个实例(instance),测量系统执行计算密集型浮点操作的能力,比如CAD/CAM、DCC以及科学计算等方面应用可以参考这个结果。SPECint测试过程中同时执行多个实例(instances),然后测试系统同时执行多个计算密集型整数操作的能力,可以很好的反映诸如数据库服务器、电子邮件服务器和Web服务器等基于整数应用的多处理器系统的性能。

  我们在被测服务器中安装了当前最新版本的 Intel C++ 10.1.025 Compiler、Intel Fortran 10.1.025 Compiler这两款SPEC CPU 2006必需的编译器,通过最新出现的QxS编译参数,Intel Compiler 10版本开始支持对Intel SSE4指令集进行优化(假如只支持SSE3,则使用QxT编译参数)。我们另外安装了Microsoft Visual Studio 2003 SP1提供必要的库文件。按照SPEC的要求我们根据自己的情况编辑了新的Config文件,使用了较多的编译选项。我们根据被测系统选择实际可同时处理的线程数量,最后得到SPEC rate base测试结果(基于base标准编译,SPEC base rate测试代表系统同时处理多个任务的能力)。

  和其它测试部件不同,SPEC CPU 2006需要大量的系统物理内存,我们的SPEC测试在64bit Windows Server 2008 Enterprise下完成,对于每个运算核心,最低配置1.5GB内存,最后,我们使用了共24GB的系统内存,见下页。

  测试平台基于一台DELL PowerEdge R710服务器,之所以选用它,是有理由的:


DELL PowerEdge R710

  当前常见的用于Nehalem服务器的R-ECC内存,最大容量为4GB,为了满足双路八核十六线程的Nehalem SPEC CPU 2006测试要求,需要24GB容量,也就是6条内存才行,这样,如果要测试单通道内存性能的话,测试平台必须能提供每个通道3个DIMM的配置。DELL PowerEdge R710就是这样的机器,它提供了18个DIMM,每个内存通道可以支持3个DIMM,我们得以实现每处理器单通道12GB。

  另外需要说明的是,为了在双通道配置下也能具有同样的容量,并保持通道对称,我们使用了2GB+4GB的每通道组合,这样平台最后的容量也是24GB,并且保持了所有内存通道配置一致,让结果更具有可参考性。

测试平台、测试环境
测试分组
类别DELL PowerEdge R710
双路Intel Gainestown
Xeon E5520
处理器子系统
处理器双路Intel Xeon E5520
处理器架构Intel 45nm Nehalem
处理器代号Gainestown
处理器封装Socket 1366 LGA
处理器规格四核
处理器指令集MMX,SSE,SSE2,SSE3,SSSE3,
SSE4.1,SSE4.2,EM64T,VT
主频2.27GHz
处理器外部总线2x QPI
2933MHz
5.86GT/s
单向11.72GB/s(每QPI)
双向23.44GB/s(每QPI)
L1 D-Cache4x 32KB
8路集合关联
L1 I-Cache4x 32KB
4路集合关联
L2 Cache4x 256KB
8路集合关联
L3 Cache4MB @ 2128MHz
16路集合关联
主板
主板型号DELL PowerEdge R710
芯片组Intel Tylersburg-EP
IOH:Intel 5520(Tylersburg-36D)
ICH:Intel 82801IB(ICH9)
芯片特性2x QPI
36 PCI Express Gen2 Lanes
VT-d Gen 2
内存控制器每CPU集成三通道R-ECC DDR3 1066
内存4GB ECC DDR3 1333@1066 SDRAM x6
系统磁盘子系统
磁盘控制器DELL PERC 6/i SAS RAID Controller
磁盘控制器规格LSI1078 RoC
500MHz PowerPC 440
512MB ECC DDR2 RAM
8x SAS 3Gb/s
RAID 0/1/3/5/6
PCI Express x8
磁盘控制器设置RAID 5
磁盘控制器驱动LSI MegaRAID R3.6
3.9.0.64
磁盘DELL
MBA3147RC
磁盘规格15000RPM
147GB
SAS 3Gb/s
16MB Cache
磁盘设置SAS 3Gb/s
50GB系统分区
软件环境
操作系统Microsoft
Windows Server 2008 Enterprise Edition SP1 x64

  我们的DELL PowerEdge R710样机使用的处理器是Nehalem-EP Xeon E5520,频率不算高,为2.27GHz:

Xeon E5520处理器,是5500系列当中带四核超线程的E系列的最低一款型号,主频2.26GHz,QPI速率5.86GT/s,支持内存到DDR3-1066

在正常的IDLE情况下,2.26GHz的Xeon E5520运行在1.6GHz的频率

  SPEC CPU 2006整数运算主要包含编译、压缩、人工智能、视频压缩转换、XML处理等,此外,各种日常操作也主要是基于整数操作。SPEC CPU 2006的整数运算包含了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 CPU 2006整数运算性能

  从得分来看,整数运算上双通道和三通道的差别不算太大:三通道的性能比双通道高5.2%,不算非常明显。单通道配置下的性能就差得多了,每个CPU只有DDR3-1066的带宽,也就是8.53GB/s,两个处理器下带宽也要比Nehalem-EP的上一代的四通道DDR2-667要低,最后双路单通道Nehalem的性能只有双通道的56.6%、三通道的53.8%,换句话说,从单通道升到双通道提升了77%的性能。

  在整数测试项目中,并不是所有项目都受到了内存通道的影响,这样的测试有400.perlbench PERL编程语言、401.bzip2 压缩、403.gcc C编译器、445.gobmk 人工智能:围棋、456.hmmer 基因序列搜索、458.sjeng 人工智能:国际象棋、464.h264ref 视频压缩这几项,看起来它们对内存带宽的敏感程度不太高,456.hmmer 基因序列搜索、458.sjeng 人工智能:国际象棋两项在双通道下行能还略有提升,因为它们具有更多数量的内存条,可以同时打开的内存页面数量也多。当然能体现出这个优势的毕竟是少数。400.perlbench PERL编程语言还是彻头彻尾的对带宽不敏感,单通道下也有着不错的性能。

  有一些项目则对带宽比较敏感,如403.gcc C编译器、429.mcf 组合优化、462.libquantum 物理:量子计算、471.omnetpp 离散事件仿真、483.xalancbmk XML处理,单通道下性能很低,显然它们都需要双通道及以上的带宽才能达到理想的性能。

  SPEC CPU 2006的浮点运算测试包括的全部都是科学运算,科学运算需要用到大量的高精度浮点数据,如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 CPU 2006浮点运算性能

   内存带宽的影响对浮点计算的影响还大点,三通道性能比双通道高10%,比单通道高129.6%,从单通道升级到双通道总体浮点性能提升了108.7%。

  在SPEC CPU浮点测试上,也有不少对带宽不敏感的项目:416.gamess 量子化学、435.gromacs 生物化学/分子力学、444.namd 生物/分子、453.povray 影像光线追踪、454.calculix 结构力学,不同的内存带宽成绩都一样;还有一些测试则是双通道DDR3-1066已经能满足需求。

  【IT168评测中心】从专门测试CPU性能的SPEC CPU 2006测试成绩来看,Nehalem的集成内存控制器确实可以提供很高的带宽,在双通道配置(双路处理器)下已经可以满足2.27GHz的Nehalem-EP处理器的需求。

Xeon E5520处理器,主频2.26GHz,QPI速率5.86GT/s,支持内存到DDR3-1066

  测试表明了,单通道配置是性能极差的配置,要予以避免,而三通道则比双通道快5~10%左右。这是使用DDR3-1066的2.26GHz的E5520的情况,更高频率的处理器会需要更高的内存带宽,不过这时候Nehalem会提供DDR3-1333的选择(从X5550开始)。无论如何,双通道配置下的Nehalem性能是可以接受的。


Nehalem Xeon处理器一览

(完)

0
相关文章