从巴塞罗那到最新AMD45nm 上海处理器评测
事实上,“Shanghai”处理器的顺利量产与其前辈“Barcelona”相比,最让我们惊叹的是其在65nm与45nm制程工艺间的顺利过渡。这次“Shanghai”的顺利发布可以说是AMD在工艺研发上的可喜成就,下面就让我们先来看一下有关AMD制程工艺的最新信息。
2008 Financial Analyst Day上自AMD拆分出来的The Foundry Company公布了其process的roadmap,已经在45nm“Shanghai”处理器制造上成功应用的沉浸式光刻技术(Immersion Lithography process)将在明年的32nm工艺上发挥至关重要的作用。
沉浸式光刻技术就是在镜头和晶片之间加入一种特殊的液体,使得材料特征更加精确和明显,通过这种方式可以在提高制造能力的同时使生产流程更为高效。 #p#page_title#e#
尽管从“Barcelona”到“Shanghai”的最大技术改进是“Shanghai”处理器采用了45nm制程工艺,不过“Shanghai”处理器仍然有一些其他方面的改进之处(相对于Barcelona整体架构来说),这些改进的目的都是为了进一步增强处理器的性能。
L3 Cache增大
共享L3缓存设计是AMD继集成内存控制器设计之后的又一经典设计,Intel在最新的Nehalem处理器中便同时采用了共享L3缓存和集成内存控制器设计,这从侧面也再一次印证了AMD设计理念的成功之处。“Shanghai”处理器的L3 Cache由Barcelona的2MB增加到了6MB,AMD宣称增大的L3缓存容量可为“Shanghai”处理器带来5%-10%的性能提升。
内存带宽增大
AMD“Shanghai”处理器延续了“Barcelona”处理器的集成内存控制器设计,并对其进行了改良,主要表现在对内存的支持方面,由之前的DDR2 667提升至DDR2 800。AMD宣称使用DDR2 800内存可使系统的内存带宽相对之前提升10%左右。
Smart Fetch
该特性允许处理器关闭处于闲置状态下的核心以降低处理器的整体功耗水平,根据AMD的介绍,该特性可以降低处理器功耗的21%,也就是15W左右。
虚拟化技术
“Barcelona”处理器在虚拟化技术方面相对之前的处理器有很大的改进,提供了极为出色的虚拟化性能,而此次的“Shanghai”处理器在虚拟化技术方面的改进则主要体现在两个方面:增强的RVI、更快的World Switch。
RVI的全称是Rapid Virtualization Indexing,即快速虚拟化索引技术。AMD虚拟化技术(AMD-V)的一项关键特性,即是RVI通过在硬件层执行功能时,提高了虚拟地址到物理地址的转换效能,进而缩短在虚拟主机之间的切换时间。当虚拟化产生的额外地址转换层的工作由硬件而非软件资源来完成时,即可简化虚拟化环境中复杂的内存管理。RVI有助于改善由虚拟化引起的系统管理程序周期变长,及因此造成的降低效能等问题。“Shanghai”处理器对快速虚拟化索引技术进行了增强,从而能够进一步提升转换效能,缩短切换时间。
之前的“Barcelona”处理器曾经引进了新的指令,用来缩短芯片的“world switch time”,即芯片在客座操作系统模式与hypervisor模式之间作切换所用的时间。这种切换过程通常需要大约1000到2000个处理器频率周期,但用新指令可缩短25%左右。“Shanghai”处理器的“world switch”设计速度比“Barcelona”处理器要快25%左右。
#p#page_title#e#
测试机房环境:
测试地点:TMGLAB@BeiJing
温度:23摄氏度(中央空调系统)@Speed-High
Rack:APC Netshelter SX Enclosures AR3150
KVM:APC AP5401
测试服务器配置:
Chassis: SuperMicro SC825TQ-R700LPV 2U Chassis
Chassis Fans: 3x 80mm 6300 RPM Fans
Power Supply : SuperMicro 1200W w/PFC
System board: SuperMicro H8QM3-2
Memory: 32GB (Qty 16- 2GB RDIMM DDR2 800MHz Memory Modules)
Floppy: 3.5” 1.44MB Floppy
Hard Drive: 74GB 15k Fujitsu SAS Drive
CDROM: Slim DVD ROM
Benchmark Overview:
Spec JBB2005
SPECjbb2005是一种用于评估服务器端Java性能的基准测试软件。和上一代的SPECjbb2000一样,SPECjbb2005可以通过模拟一套三层式的客户端/服务器系统来评估服务器端Java性能,而在模拟过程中最为强调的就是中间层。该基准实施了JVM(Java虚拟机)、JIT(Just-In-Time)编译器、垃圾收集、线程和操作系统的某些方面。它还可测量CPU、缓存、内和共享内存处理器(SMP)的性能。SPECjbb2005提供了一种新的增强型工作负载,而且其实施方式更加客观,可反映出真实环境中应用的设计方法。同时,这种增强型工作负载还引入了一些新的特性,如XML处理和BigDecimal计算,使基准测试可以更真实地反映出今天的各类应用。
Spec CPU2006
SPEC CPU 2006包括了CINT2006和CFP2006两个子项目,SPECfp测试过程中同时执行多个实例(instance),测量系统执行计算密集型浮点操作的能力,比如CAD/CAM、DCC以及科学计算等方面应用可以参考这个结果。SPECint测试过程中同时执行多个实例(instances),然后测试系统同时执行多个计算密集型整数操作的能力,可以很好的反映诸如数据库服务器、电子邮件服务器和Web服务器等基于整数应用的多处理器系统的性能。 #p#page_title#e#
JBB2005测试系统环境以及软件环境配置
Software Vendor:BEA Systems, Inc.
JVM Version:
BEA JRockit(R) (R27.6.0-50_o-100423-1.6.0_05-20080626-2105-windows-x86_64)
JVM Command Line:
start /affinity %HEX% /b java -Xverbose:gc -Xms3500m -Xns2900m -Xmx3500m -XXaggressive -Xgc:genpar -XXgcthreads=4 -XXthroughputCompaction -XXlazyunlocking -XXtlasize:min=4k,preferred=512k spec.jbb.JBBmain -propfile SPECjbb_mu4.props
OS Version:Microsoft Windows Server 2008 Enterprise SP1 x64 Edition (64-bit)
系统及软件环境关键配置
1, Enable the large pages in memory(打开程序使用内存限制,这个非常重要)
2, 通过加入编写以下代码参数,把处理线程绑定在特定处理器上运行,这样就可以省去程序在不同的处理器之间来回切换,减少了Overhead的产生。
set HEX=000f
:LOOP
set /a I=%I + 1
@echo on
start /affinity %HEX% /b %JAVA% %JAVAOPTIONS% spec.jbb.JBBmain -propfile %PROPFILE% -id %I% > multi.%I%
@echo off
IF %I% ==1 set HEX=00f0
IF %I% ==2 set HEX=0f00
IF %I% ==3 set HEX=f000
IF %I% == %JVM% GOTO END
GOTO LOOP
:END
我们的测试样机SuperMicro SC825TQ-R700LPV(4路)上的shanghai处理器测试成绩
我们选择了AMD 上一代65nm“Barcelona”核心的Opteron 8360SE以及Intel 最新Dunnington 6核心的Xeon X7460来与“Shanghai”核心的Opteron 8384进行对比,搭载以上两款处理器的均为4路服务器。他们分别是PowerEdge R905 (AMD Opteron 8360 SE, 2.50 GHz) 以及Dell PowerEdge R900 (Intel Xeon X7460, 2.66 GHz)。
从我们的测试成绩可以看到,“Shanghai”核心的Opteron 8384其java性能比之前“Barcelona”核心的Opteron 8360SE要高出36%;比Intel 6核心的Xeon X7460要高出5%左右,性能相较于上一代产品的提升幅度非常大,并且超越了Intel当前最高端的4路7系列产品。在这里我们只发表结果,对于性能的分析本文最后会集中讨论。#p#page_title#e#
硬件更改的说明
Chassis: SuperMicro SC825TQ-R700LPV 2U Chassis
Chassis Fans: 3x 80mm 6300 RPM Fans
Power Supply : SuperMicro 1200W w/PFC
System board: SuperMicro H8QM3-2
Memory: 32GB (Qty 16- 2GB RDIMM DDR2 800MHz Memory Modules)
Floppy: 3.5” 1.44MB Floppy
Hard Drive: SATA 80GB SSD
CDROM: Slim DVD ROM
因为与JBB2005的Win Server2008测试环境不同,SpecCPU2006的测试平台我们使用Suse Linux10.3,但因为RAID卡没有Linux版本的驱动,所以我们使用了南桥的SATA接口的固态硬盘代替了之前的SAS硬盘。
SpecCPU2006测试系统环境以及软件环境配置
Operating System: SUSE Linux Enterprise Server 10 (x86_64) SP3,Kernel 2.6.16-60.0.21-smp
Compiler: PGI Server Complete Version 7.2 and PathScale Compiler Suite Version 3.2
File System: Ext3
System State: Run level 3 (multi-user)
Other Software: SmartHeap 8.1 Library for Linux
我们的测试样机SuperMicro SC825TQ-R700LPV(4路)上的shanghai处理器SPECint_rate2006测试成绩
在整数性能运算方面,“Shanghai”核心的Opteron 8384比“Barcelona”核心的Opteron 8360SE有接近20%的性能提升幅度,与Intel平台的顶级产品X7460相比则仍然有着近20%的差距。考虑到Opteron8384功耗只有75W,而Xeon X7460则达到130W,因此在每瓦特性能方面,表现仍然更为出色。
我们的测试样机SuperMicro SC825TQ-R700LPV(4路)上的shanghai处理器SPECfp_rate2006测试成绩
通过以上的成绩可以看到,“Shanghai”核心的Opteron 8384比“Barcelona”核心的Opteron 8360SE有接近20%的性能提升幅度,相对Intel四路平台而言同样达到了20%的性能领先幅度。 #p#page_title#e#
Java性能分析
AMD平台的产品在java性能上一向落后于Intel平台,此次“Shanghai”核心的Opteron 8384却能够一举超越6核的Xeon X7460,的确令人感到意外,因为“Shanghai”对于“Barcelona”来说结构上并没有革命性的改变,如此大的性能提升幅度着实让我们有些琢磨不透。根据AMD的官方文档,“Shanghai”相对“Barcelona”来说有以下几个方面的改进:
从以上的文档中我们不难发现,在“上海”处理器的几项新特性之中,有三项特性是用以提升性能:首先是45nm制程工艺所带来的2.7GHz高频率,其次是L3缓存由2MB增大至6MB(据称有5-10%的性能提升),最后是Memory Bandwidth提高了10%。在以上3个方面之中又有哪些是对于提升Java性能有所帮助的呢?JBB2005是一个对于计算处理速度要求比较高的Benchmark,对于I/O的要求则不高,因此Memory Bandwidth的提升应不至于会造成Java性能有36%的巨大提升幅度,更多的可能性是之前的“Barcelona”在设计上有更大的提升空间,造成了性能瓶颈上的“短板效应”,“Shanghai”架构上的缓存结构以及容量正好弥补了这一设计缺陷。
整数及浮点计算性能分析
同样地,整数以及浮点计算能力的提升也有赖于“Shanghai”在架构上解决了“短板效应”的问题,由于在浮点计算能力方面“Barcelona”架构有着128bit FPU Per Core以及4FLOPS/clk peak per core的专门优化设计,因此“Shanghai”处理器自然也是一脉传承。
除此之外,“Shanghai”架构还多了一项对于4路服务器来说非常重要的功能,就是其任意两个处理器之间设计了直接连接的HT总线(在之前的“Barcelona”结构,呈对角线的两个处理器不能直接相连),这项改进对于4路服务器来说有两个明显的好处:
1, 加快了处于对角线上两片内存区域之间的数据通讯速度。
2, 有利于整体的服务器各处理做频率同步。
测试总结
此次报告将要结束时,回顾过去几个礼拜的测试过程,可说是一次非常难忘的体验,因为我们在全球第一时间内见证了AMD新一代“Shanghai”架构所带来的惊喜。
在此要特别提到的是,SPECCPU2006和SPECjbb2005的测试中,因为测试时间和工具库的限制,这三个测试数据和AMD发布的数据有一定的差距,AMD公布的SPECjbb2005的数据为659034,我们的测试数据与AMD的官方值相差了23% ,AMD公布的SPECint_rate2006的数据为249,我们的测试数据为236,与AMD的官方值相差了5.5% ,AMD公布的SPECfp_rate2006的数据为210,我们的测试数据为204,与AMD的官方值相差了2.9% 。而Intel的数据来自官方,从官方的数据将,上海在Jbb和浮点的优势会更大,整形则相差16.8%, 但Intel 是六核,核心数量比上海多50%。
简而言之,“Shanghai”的性能表现超出了我们的意料,它是趋于成熟的“Barcelona”,“Shanghai”不仅完善了“Barcelona”在设计上的可提升之处(Cache),而且还成功的应用了全新的45nm制程工艺,在效能、功耗、成本上等方面都拥有十分出色的表现,是一款非常优秀的处理器。