按照Intel著名的时钟规律??Tick-Tock来看,Sandy Bridge明显属于后者,也就是Tock范畴。Tock主要是指处理器微架构方面的改变,而核心工艺的上一次升级已经由我们熟悉的Westmere完成了,下一次22nm的升级还要再等等才行。
在进行系统的分析之前,我们先来看看最新的至强Sandy Bridge处理器路线图。相比以往的产品来说,Sandy Bridge至强处理器采用了与桌面级酷睿处理器类似的命名规范,分为E3、E5和E7三个系列。其中,E3系列是面向入门级单路服务器的产品,E5系列则面对了主流的双路服务器平台。唯一有特点的是E7,这款产品虽然在型号上采用了新的命名规则,但是在本质上E7还是上一代架构的产品,它还有一个大家非常熟悉的名字??Westmere-EX 。
至强处理器路线图
本次我们要介绍的至强E3系列属于面向单路服务器应用的产品,使用的是LGA115接口,也就是图中的Sandy Bridge-DT。按照产品布局分析,Sandy Bridge-DT主要定位在入门级的单路服务器,虽然同样是单路,但是高端应用的任务则是由Sandy Bridge-EN来承担。
横评中的对比产品分别为至强E3-1220、E3-1240、E3-1275和E3-1280。从规格来看,至强E3-1220、E3-1240、E3-1280除了主频不同,在架构上都很接近;唯一特别的是E3-1275,E3系列中以5命名的产品均具备整合显卡。
正如我们刚才提到的,新一代的至强Sandy Bridge处理器给我们带来的一个印象就是采用了环形总线架构,这也是Intel在继Nehalem和Westmere之后继续使用环形总线的架构。
Sandy Bridge核外架构图
Sandy Bridge处理器使用了新的环形总线设计。事实上从之前的Nehalem开始,Intel就转向了融合核心的理念。在Nehalem当中,Intel将内存控制器融入其中,而在接下来的Westmere当中,GPU也作为融入的对象而出现(只是那时候的GPU还仅仅使用的是45nm工艺)。在之前的8核心Nehalem-EX上,我们就看到了环形总线的身影,不过当时的产品在性能和功耗上并没有表现出明显的优势。
本次Sandy Bridge使用的是重新设计的核外结构,全新的Ring Bus环形总线更能够较好的展示出Sandy Bridge的真实性能。通过上图大家可以看到,Ring Bus环形总线连接各个CPU核心、LLC缓存(L3缓存)、融合进去的GPU以及System Agent(系统北桥)等部分。
这个图片或许可以更好的说明问题。新的Ring Bus环形总线由四条独立的环组成,分别是数据环Data Ring、请求环Request Ring、响应环Acknowledge Ring和侦听环Snoop Ring。借助于环形总线,CPU与GPU可以共享LLC缓存,将大幅度提升GPU性能。
在这个环形总线上,分布着多个Ring Stop,也就是俗称的“站台”。这个“站台”在每个CPU/LLC块上具有两个连接点,而之前使用环形总线的产品,也就是Nehalem-EX环在每个CPU/LLC块上只有一个连接点。
环形总线的存在,可以大大减少核心访问三级缓存的周期。在以往的产品中,多个核心共享一个三级缓存,需要访问的话必须先经过流水线发送请求,在进行优先级排序之后才能进行。新的环形总线将三级缓存分割成了若干部分,借助于每个站台,核心可以快速的访问LLC。LLC小容量缓存的延迟优势与核心频率一致性在这里也就体现了出来,这就使得Sandy Bridge的周期相比以往产品有所缩减,从原来的35-40个缩减到了26-31个。同时,由于每个核心与LLC之间可以提供若干带宽,使得Sandy Bridge的整体带宽也提升了4倍。
在Sandy Bridge处理器中,Intel使用了一个全新的概念??System Agent(系统助手)。事实上,System Agent也就是我们之前所说的核外架构,只是Intel本次给予了其全新的命名,而在以往的名称中,我们亲切的称之为系统北桥。
系统助手
System Agent包含了比以往产品更为丰富的功能,包括整合内存控制器、支持16条PCIE2.0通道的PCIE控制器、图形处理器(GPU)、电源控制单元(PCU)以及DMI总线的IO接口。
PCI-E控制器,可提供16条PCI-E 2.0信道,支持单条PCI-E x16或者两条PCI-E x8插槽;
重新设计的双通道DDR3内存控制器,内存延迟也恢复了正常水平(Westmere将内存控制器移出CPU、放到了GPU上);
此外还有DMI总线接口、显示引擎、电源控制单元(PCU)。
系统助手的频率要低于其他部分,有自己独立的电源层。
在Sandy Bridge处理器中,最大的改进要算是增加了全新的AVX指令集??Advanced Vector Extensions,高级矢量扩展。这个指令集的增加是X86处理器中的重要内容,不仅仅是提供了更为良好的性能,同时也是对现有指令集的整合与优化。
介绍AVX指令集之前,先要引入一个向量的概念。所谓向量,就是多个标量的组合,通常意味着SIMD(单指令多数据),就是一个指令同时对多个数据进行处理,达到很大的吞吐量。早在1996年,Intel就在X86架构上应用了MMX(多媒体扩展)指令集,那时候还仅仅是64位向量。到了1999年,SSE(流式SIMD扩展)指令集出现了,这时候的向量提升到了128位。
如今,Sandy Bridge的AVX将向量化宽度扩展到了256位,原有的16个128位XMM寄存器扩充为256位的YMM寄存器,可以同时处理8个单精度浮点数和4个双精度浮点数。换句话说,Sandy Bridge的浮点吞吐能力可以达到前代的两倍。不过现在,AVX的256位向量还仅仅能够支持浮点运算。不过AVX的特别之处在于,它可以应用128位的SIMD整数和SIMD浮点路径。
既然我们一直在讨论Sandy Bridge核心,那么不谈到其特色的整合GPU显然是不合适的,虽然对于服务器的应用来说多媒体性能的确是无足轻重。其实我们在文章最初就提到过,作为Tioc-Tock时钟式的重要内容,其实从Wesrtmere 32nm处理器开始,Intel就在处理器中整合了GPU,不过仅仅是将二者封装在一个Die上。因为45nm的GPU与32nm的CPU在制程上不一致,最重要的是关键的内存控制器被放在了45nm的GPU当中,造成了32nm Westmere性能并没有想象的那么出色。而在Tock中,Sandy Bridge的出现解决了这一问题,特别是将GPU整合在了环形总线之内,实现了二者真正的融合。
SandyBridge GPU有自己的电源岛和时钟域,也支持Turbo Boost技术,可以独立加速或降频,并共享三级缓存。显卡驱动会控制访问三级缓存的权限,甚至可以限制GPU使用多少缓存。将图形数据放在缓存里就不用绕道去遥远而“缓慢”的内存了,这对提升性能、降低功耗都大有裨益。
可编程着色硬件被称为EU,包含着色器、核心、执行单元等,可以从多个线程双发射时取指令。内部ISA映射和绝大多数DX10.1 API指令一一对应,架构很像CISC,结果就是有效扩大了EU的宽度,IPC也显著提升。抽象数学运算由EU内的硬件负责,性能得以同步提高。
Intel此前的图形架构中,寄存器文件都是即时重新分配的。如果一个线程需要的寄存器较少,剩余寄存器就会分配给其他线程。这样虽能节省核心面积,但也会限制性能,很多时候线程可能会面临没有寄存器可用的尴尬。在芯片组集成时代,每个线程平均64个寄存器,Westmere HD Graphics提高到平均80个,Sandybridge则每个线程固定为120个。
对于服务器性能方面的考察,我们主要分为子系统测试和应用性能测试。在子系统测试中我们按处理器、内存以及磁盘等各个子系统进行了分项测试,当然各子系统的测试成绩也是相辅相成,也需要其它子系统的支持,并非是完全独立的,只是对考察的子系统有所偏重而已。
处理器子系统测试
对服务器处理器子系统的考察,我们主要采用的是业界公认的SPEC CPU 2006测试,该项测试通过对数十个典型应用程序的运行,来测试系统处理器子系统在应用中的整、浮点运算效率。SPEC CPU 2006测试具有很好的开放性,因此在业界为广大用户所接受,可以利用这一公开的测试结果进行系统间运算性能的比较。
此外SiSoftware Sandra也有测试子项可用于处理器运算性能测试,其结果通常以每秒完成的指令数来表现。也可以用作不同处理器间运算效率的比较。
SPEC CPU 2006 v1.1
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、科学计算等方面应用可以参考这个结果。SPECint测试过程中同时执行多个实例(instances),然后测试系统同时执行多个计算密集型整数操作的能力,可以很好的反映诸如数据库服务器、电子邮件服务器和Web服务器等基于整数应用的多处理器系统的性能。
我们在被测服务器中安装了Intel C++ 11.1.034 Compiler、Intel Fortran 11.1.034 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测试在64位的Windows Server 2008 R2 下完成,对于每个运算核心,最低配置1.5GB内存。
内存子系统测试
对于内存子系统的考察,也是利用SiSoftware Sandra来实现,在该软件中有相应组件可进行内存带宽、内存延迟等方面的测试。
SiSoftware Sandra v2011
SiSoftware Sandra是一款可运行在32bit和64bit Windows操作系统上的分析软件,这款软件可以对于系统进行方便、快捷的基准测试,还可以用于查看系统的软件、硬件等信息。从2007开始,Sandra的Arithmetic benchmarks增加了对SSE3&SSE4 SSE4的支持,在Multi-Media benchmark中增加了对于SSE4的支持,另外还升级了File System benchmark和Removable Storage benchmark两个子项目。对于新的硬件的支持当然也是该软件每次升级的重要内容之一,SiSoftware Sandra 2010对NUMA架构以及最新的Windows 7/Windows Server 2008 R2提供了更好的支持,此外测试项目和测试结果也有了略微的变化。SiSoftware Sandra所有的基准测试都针对SMP和SMT进行了优化,最高可支持32/64路平台。
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项测试。
首先我们看到的是浮点预算的测试成绩,对比3款主频不同的处理器我们发现,3者之间的差距非常小,这是因为它们采用了同样的架构,因此测试的差距仅仅源于它们主频的不同。
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项。
整数测试中同样表现出了主频优势的特点,只是我们发现这项测试对于主频的依赖并不明显。
SiSoftware Sandra是一款很不错的软件,但是对于Sandy Bridge平台来说,原来的2010版本已经不能使用,而目前提供免费下载的版本型号为2011Lite。相比我们之前使用的Business版本来说,Lite版简化了许多的功能,还好我们常用的测试项目都还在。
在成绩分析前我们必须要清楚,这两个相对比的服务器平台所配的处理器分属于英特尔至强5500和5600前后两个不同的系列,虽然二者每个处理器都是4个核心,但是二者的工作频率却有比较大的差距,联想万全R525 G3采用的至强E5620的工作主频为2.4GHz,是至强5600系列中主频最低的,而对比服务器平台所选用的至强X5570却是至强5500系列中工作主频最高的,为2.93GHz。接下来的对比也将是两个处理器配置悬殊的服务器平台间的较量。
SiSoftware Sandra Lite 2011 | ||||
产品名称 | E3-1220 | E3-1240 | E3-1275 | E3-1280 |
Processor Arithmetic Benchmark 处理器算术运算测试 | ||||
---|---|---|---|---|
Dhrystone ALU | 98 | 132.68 | 136.74 | 139.75 |
Dhrystone ALU vs SPEED | 28.70 | 35.94 | 35.98 | 38.21 |
Whetstone iSSE3 | 45.37 | 80.4 | 83.43 | 91.68 |
Dhrystone iSSE3 vs SPEED | 13.30 | 21.78 | 21.96 | 23.28 |
Processor Multi-Media Benchmark 处理器多媒体测试 | ||||
Multi-Media Int x16 iSSE4.1 | 150.21 | 195 | 201.26 | 201.26 |
Multi-Media Int x16 iSSE4.1 vs SPEED | 58.41 | 75.86 | 78.26 | 78.26 |
Multi-Media Float x8 iSSE2 | 102.1 | 148 | 153 | 153 |
Multi-Media Float x8 iSSE2 vs SPEED | 39.7 | 57.53 | 59.48 | 59.48 |
Multi-Media Double x4 iSSE2 | 55.46 | 81 | 83.54 | 83.54 |
Multi-Media Double x4 iSSE2 vs SPEED | 21.57 | 31.47 | 32.49 | 32.49 |
Multi-Core Efficiency Benchmark 处理器效能测试 | ||||
Inter-Core Bandwidth | 8.33 | 21.7 | 16 | 16 |
Inter-Core Bandwidth vs SPEED | 2.50 | 6.19 | 4.29 | 4.29 |
Inter-Core Latency(越小越好) | 48.2 | 37.8 | 42.4 | 42.4 |
Inter-Core Latency vs SPEED(越小越好) | 0.14 | 0.11 | 0.01 | 0.01 |
.NET Arithmetic Benchmark .NET算术运算测试 | ||||
Dhrystone .NET | 14.58 | 17.48 | 18 | 18.3 |
Dhrystone .NET vs SPEED | 4.28 | 4.87 | 5 | 5.21 |
Whetstone .NET | 28 | 49.72 | 50.1 | 53.6 |
Whetstone .NET vs SPEED | 8.23 | 13.84 | 13.92 | 14.26 |
.NET Multi-Media Benchmark .NET多媒体测试 | ||||
Multi-Media Int x1 .NET | 26.86 | 36.69 | 37.72 | 39.49 |
Multi-Media Int x1 .NET vs SPEED | 7.88 | 10.21 | 9.93 | 10.34 |
Multi-Media Float x1 .NET | 7.5 | 13.37 | 13.7 | 14.2 |
Multi-Media Float x1 .NET vs SPEED | 2.20 | 3.72 | 3.61 | 3.89 |
Multi-Media Double x1 .NET | 14.82 | 26.25 | 27.22 | 29.58 |
Multi-Media Double x1 .NET vs SPEED | 4.34 | 7.31 | 7.16 | 7.49 |
随着主频的增加,4款处理器的性能出现了阶梯形的上升,但是这个上升并非是平均的,而是随着主频的增加而在最初出现了大幅度的变化,随后主频的差距逐渐减小,成绩的差异也降低了。
SiSoftware Sandra Lite 2011 | ||||
产品名称 | E3-1220 | E3-1240 | E3-1275 | E3-1280 |
Memory Bandwidth Benchmark 内存带宽测试 | ||||
---|---|---|---|---|
Int Buffd iSSE2 Memory Bandwidth | 17.71 | 17.4 | 17.37 | 17.55 |
Float Buffd iSSE2 Memory Bandwidth | 17.66 | 17.37 | 17.37 | 17.53 |
Memory Latency Benchmark 内存延迟测试 | ||||
Memory(Random Access) Latency (越小越好) | 73.3 | 73.7 | 73.3 | 74.4 |
Speed Factor (越小越好) | 61.80 | 65.80 | 68.20 | 71.30 |
Internal Data Cache | 4 | 4 | 4 | 4 |
L2 On-board Cache | 11 | 11 | 11 | 11 |
L3 On-board Cache | 35 | 35 | 35 | 35 |
Cache and Memory Benchmark 缓存及内存测试 | ||||
Cache/Memory Bandwidth | 92.37 | 96.1 | 97.76 | 96.69 |
Cache/Memory Bandwidth vs SPEED | 27.73 | 26.66 | 27.06 | 25.45 |
Speed Factor (越小越好) | 34.40 | 35.70 | 38.10 | 44.50 |
Internal Data Cache | 389 | 415.1 | 427.84 | 435.5 |
L2 On-board Cache | 325.85 | 277.87 | 287.5 | 364.87 |
内存带宽测试中,由于测试平台使用的是同样的内存,因此在内存测试项目中它们的表现基本相同,差距都是小数点后几位。而在缓存及内存测试中,因为有了处理器的存在,主频依然占据了决定性的作用。
CineBench是基于Cinem4D工业三维设计软件引擎的测试软件,用来测试对象在进行三维设计时的性能,它可以同时测试处理器子系统、内存子系统以及显示子系统,我们的平台偏向于服务器多一些,因此就只有前两个的成绩具有意义。和大多数工业设计软件一样,CineBench可以完善地支持多核/多处理器,它的显示子系统测试基于OpenGL。
随着主频的提升,从E3-1220到E3-1275单核心和多核心都出现了上升的趋势;但是在E3-1280的测试中,单核心性能依旧表现明显,但是多核心性能并没有出现提升,反而略有下降。
【IT168 评测中心】Tick-Tock战略的出现,使Intel避免了在同一年更新制程和微架构,有效的规避了新平台、新制程出现所带来的商业风险。而随着至强Sandy Bridge处理器的推出,也标志着Intel在桌面和服务器两个平台上全面转向了新的微架构,Tock时代终于到来了。
至强Sandy Bridge处理器
Sandy Bridge处理器相比上一代的产品有了非常大的改进,包括AVX指令集、环形总线架构、全新System Agent系统助手、革命性的整合GPU等内容。事实上,Sandy Bridge最大的特征在于全32nm整合CPU和GPU,但对于服务器来说,GPU作为多媒体工具来说并没有实际的用处,除非可以通过GPU加速运算。
我们再来看看性能。我们本次测试我们使用了4款E3处理器,通过测试我们发现主频对于最终的解决会有略微的影响,但是由于微架构都采用的是Sandy Bridge,所以差距不大。从这个角度来说,对于E3系列的处理器,架构才是决定性能的关键,主频并不占据绝对的地位。
我们相信,随着新一代Sandy Bridge至强处理器的出现,我们在服务器领域可以看到越来越多的、性能更为出色的产品出现。本次我们仅仅进行了4款产品的测试,到年底横评的时候,我们希望能够为大家展示更多采用至强E3的服务器性能。