【IT168评测中心】处理器、IO和内存是影响一个平台性能的三个关键因素。在平衡的平台上,这三个方面的性能应该相互匹配,不应该有过于突出或者过于“瘸腿”的方面,这也就是Amdahl定律的中心思想。
最近几年,CPU技术迅速的发展,除了主频快速提升之外,还通过增加超线程技术、多核心技术等来提升处理器的性能;已经使用了十余年的PCI总线也开始被PCI-Express总线取代,IO性能更高,配置也更灵活了;显然内存技术也需要作相应的改进才能适应其它两个方面的改变。
首先新的内存技术必须可以解决容量和带宽的问题,另外还要保持较为理想的内存延迟。现有服务器平台上所使用的DDR/DDR2内存均为并行设计,随着内存工作频率越来越高,抑制多条并行信号线之间的干扰变得越来越困难。一般的解决方法是降低每通道所支持的DIMM数量,但是这同服务器平台上需要越来越大容量的内存的发展趋势是不符的。虽然现在单条内存模组的容量越来越大,但是依然无法抵消有限的每通道DIMM数量的限制。
图1:DRAM传输率限制了每通道设备数量 |
为什么不改进内存控制器让它能够支持更多的通道呢?现在的并行内存通道每个接口的针脚数量已经达到了240 pins,如果继续增加内存控制所支持的内存通道数量,相关电路的复杂程度会使得整个平台的成本提升到无法接受的地步。
其次,新的内存技术升级换代成本不能太高,自身的成本也不能有明显的提升,否则无法应用于主流平台上。为了满足这个需求,新的内存技术应该尽可能少的影响现有内存厂商,特别是内存芯片厂商,这样才能获得更广泛的支持,使得新的内存技术标准得以存活下去。
第三,新的内存技术标准必须能够满足未来10年左右的服务器、存储、工作站和通讯等平台的需求,提供足够的可靠性、可用性和适用性(RAS)。
FB-DIMM内存技术的优势
FB-DIMM(Fully-Buffered DIMM)技术借助于串行技术,在现有DDR2内存模组上成功的实现了上述的设计目标。如下图所示,它在内存控制器接口和现有的内存模组接口之间插入了一个缓冲部件,这个缓冲部件到DRAM芯片之间的接口兼容目前的DDR2技术规范,因此可以直接现有的DDR2内存芯片来装配FB-DIMM内存模组(同样的原理,未来FB-DIMM可以采用DDR3芯片,以满足服务器平台今后发展的需要)。内存控制器和缓存部件之间则采用了点对点串行接口技术,而不再是现在的共享并行接口。
图2-1:FB-DIMM基本工作概况 |
FB-DIMM内存所采用的缓冲部件被称为AMB(advanced memory buffer,高级内存缓冲)的芯片,Intel、IDT、NEC等厂商均已经开始生产这种芯片。这颗芯片的主要作用是响应内存控制器的命令,它将内存控制器发出的指令传送给DRAM。它实际上担当了串行和并行转换的角色,因为它的存在,可以在FB-DIMM上直接使用现有的DRAM芯片。这种设计思路可以大大降低推广这种新内存技术的阻力,因为它不需要内存芯片厂商做任何的改变,而之前从SDRAM向DDR或者Rambus转变的过程则需要内存芯片厂商的支持。更重要的是它为今后的内存技术升级提供了较大的空间,比如未来DDR3投入应用之后,FB-DIMM技术也可以通过采用DDR3 DRAM芯片而“升级”。
而且在FB-DIMM的宣传材料中出现了向后兼容的字样,也就是说现有的FB-DIMM平台很有可能可以直接使用FB-DIMM DDR3内存——因为内存控制器是通过AMB芯片同DRAM芯片交互的,实现这一点并非不可能。
应用FB-DIMM技术的平台最高可支持6个通道,每通道可支持8 DIMMs,每DIMM可支持2 Ranks内存模组。目前最高容量的FB-DIMM内存为4GB,因此理论上该平台最高可配置192GB的内存。从Intel已经发布的Intel 5000系列芯片组来看,他们最多支持4个通道,每通道支持4个DIMMs,理论上可配置64GB内存。不过,就我们目前所看到已经发布的服务器而言,大部分是配置了8 DIMM,因此最大内存容量为32GB。每个FB-DIMM通道的数据输出带宽可达6.7GB/s,6个通道总共可以提供40.2GB/s的内存带宽。即便是现在的Intel 5000P芯片组也可以提供26.8GB/s。
可见,FB-DIMM技术大大提高了服务器平台内存容量和带宽,为X86服务器进入更高端应用奠定了基础。
图2-2:FB-DIMM布线优势 |
每个FB-DIMM通道仅需要69条信号线即可,同现在的并行DDR2通道需要240条信号线相比,其布线的复杂程度将会大大的降低。上图是支持DDR2内存主板的布线(左)和支持FB-DIMM内存主板的布线(右),在支持DDR2 Registered DIMM的主板上,1个通道需要两个Routing层用于信号线,另外还需要一层用于供电,而在支持FB-DIMM的主板上,2个通道则仅需要两个Routing层即可(供电亦包括在其中)。很明显,这样会大大简化主板布线,降低主板设计难度,缩短产品研发周期,提升生产率。
FB-DIMM技术对于操作系统和应用程序是透明的,因此现有的操作系统和软件均可直接在应用了FB-DIMM技术的硬件平台上运行。
FB-DIMM技术细节
FB-DIMM技术,更确切的说是一种新的内存架构,它主要用于解决服务器平台对于内存容量、带宽等方面提出的更高的需求。从内存系统架构的角度来看,FB-DIMM同Registered DIMM和Unbuffered DIMM有着很大的不同。FB-DIMM协议采用了很多新技术,其中支持封包数据格式的串行链路接口和专用的读/写路径是其关键点。点对点差分信号互联和数字去重(de-emphasis)是FBD通道链路的关键点。利用数据流进行时钟恢复(Clock recovery)是FBD时钟的关键点。FB-DIMM支持时钟重同步和重采样操作。CRC (Cyclic Redundancy Check,循环冗余码校验)同数据流一并传输,可确保在高速数据传输过程中的可靠性。Failover机制支持带有动态IO故障的系统运行。另外,FB-DIMM采用了菊花链方式连接,也就是AMB和AMB之间、AMB和Host之间、AMB和DRAM之间都是点对点互联。
这个章节的名称虽然是《FB-DIMM技术细节》,但是我们无意也不可能在短短一个章节中面面俱到,因此我们将通过了解几个关键词,来对于这种新的内存技术做更进一步的了解。
关键词之一:频率
图3-1:FB-DIMM内存系统概要 |
在FB-DIMM技术中有多个需要了解的频率参数,包括时钟频率、DRAM时钟频率、DRAM数据传输率、通道传输率和通道单元间隔(channel unit interval)。所有的频率参数之间具有一定的比例关系。外部时钟源为AMB和Host提供基准时钟输入信号,这个频率相对于通道和DRAM频率要低的多。AMB倍增了外部时钟输入,为DRAM的运行提供时钟信号。DRAM数据传输率两倍于DRAM时钟输入信号——这也就是DDR(Double data rate)的基本工作模式。通道速度则由单元间隔(UI:Unit Interval)来衡量,单元间隔也就是在FBD通道中电源转换的平均时间间隔。它六倍于DRAM数据传输率。
因此如果外部时钟源为166MHz(6ns),那么AMB则为DRAM输出333MHz(3ns)的信号源,很容易计算FBD通道单元间隔为250 ps(皮秒,1ns=1000ps),也就是4.0Gbps的传输率。
图3-2:FB-DIMM主要频率关系 |
UI | CLK_DRAM | CLK-REF | Frequency | |
DDR2-533 | 312.5ps | 266MHz | 133MHz | 3.2Gb/s |
DDR2-667 | 250.0ps | 333MHz | 166MHz | 4.0Gb/s |
DDR2-800 | 208.3ps | 400MHz | 200MHz | 4.8Gb/s |
在FB-DIMM平台设计中,为每个AMB和Host提供的基准时钟信号并没有考虑相位调节的问题。这主要是其时钟同步是通过FB-DIMM内存子系统的外部基准时钟和通道数据流来实现的——这一点同PCI-Express总线的实现方式是相同的。这种方式也造成了在没有数据通讯的时候,使得发射器和接收器之间不同步,在FBD通道内通过引入最小转换密度来解决这个问题。
图3-3:时钟信号的矫正 |
关键词之二:接口
图3-4:AMB接口功能 |
FB-DIMM中的关键部件为AMB(Advanced Memory Buffer,高级内存缓冲)和它的所有接口。它们包括2个FBD链路(links)接口,1个DDR2通道接口和1个SMBus接口。FB-DIMM采用了菊花链拓朴结构,提供了良好的扩展性,每通道可支持单DIMM到8 DIMM扩展。
FB-DIMM通道具有双向通讯路径,南向(south bound)链路和北向(north bound)链路,均采用物理差分信号,分别代表不同方向的信号传输。南向指的是从主控制器向DIMM的方向,北向则相反。南向主要用于传输到DRAM的命令和在DRAM中寻址并且向其中写入数据。而北向则用于从DRAM读取的数据。南向输入链路宽度为10 lane,北向输入链路宽度为14 lane。
AMB所提供的DDR2通道可直接连接到DDR2 SDRAM。DDR2通道支持2 ranks,每rank包含8 bank,可操作16 row/column请求,具有64条数据信号线和8条校验位信号线。
AMB支持SMBus接口,这也就意味着它允许系统不必通过FBD链路也能访问配置寄存器。不过,AMB并非SMBus的主控制器,仅是从属接口,其工作频率为100 kHz。这个接口在启动系统过程中、诊断链路故障的时候非常的有用,对AMB所必需的。
关键词之三:帧和带宽
南向和北向具有不同的数据帧格式和帧格式容量,其中北向的读取数据传输率两倍于写入数据传输速率。采用这种非对称设计的主要原因是因为实际应用中读多写少。
图3-5:帧格式 |
南向包括10对差分信号线(20条物理信号线),它采用了10x12 (10 IO [或者 Lane] x 12 IO switching)帧格式,可以传送10x12 bit 信息每DRAM时钟。一个南向帧被分为三个命令slot,如上图所示,Command slot A传送带地址的命令。Command slot B 和 C 传送带抵制的命令或者向DRAM的写数据。
写数据通过Command+Wdata帧在FBD南向命令和数据连接上传输。每个FBD通道内的Command+Wdata帧可以传输72 bits数据。两个Command+Wdata帧则可以传输144 bits数据,这同单个DRAM命令时钟周期内传输的数据量(18 Bytes)是相匹配的。单通道内可以产生1个DRAM突发8传输或者在两个连续通道可以产生1个突发4传输,均可以提供72 Bytes的数据(64 Bytes数据 + 8 Bytes ECC数据)。南向命令和数据连接的峰值理论吞吐量将只有单DRAM通道的一半。比如,当使用DDR2 533 DRAM时,南向命令和数据连接峰值理论带宽为2.133 GB/s。
北向包括14对差分信号线(28条物理信号线)。它采用了 14x12 (14 IO [或者Lane] x 12 IO switching)帧格式,每个DRAM时钟可以传输14x12 bit信息。一个北向帧可以分为两个部分,均可以从DRAM读取数据。
FBD通道的北向数据链路用于传输读取到的数据。每个FBD北向数据帧可传输144bits数据,也就是18Bytes,正好是单个DRAM命令时钟周期内所能传输的包含有ECC数据的容量。14单通道可完成1个DRAM 8突发,相邻的两通道可完成1个DRAM 4突发,这两种方式均可提供72 Bytes的数据(64 Bytes数据 + 8 Bytes ECC数据)。北向数据链接将会同单个DRAM通道的峰值理论吞吐量相同。比如,当使用DDR2 533 DRAM时,北向数据连接峰值理论带宽是4.267 GB/s。
单FBD通道的峰值理论吞吐量则是北向数据连接峰值理论吞吐量与南向数据连接峰值理论吞吐量之和。单FBD通道的峰值理论吞吐量是单DRAM通道的1.5倍。比如,当使用DDR2 533 DRAM时,DDR2 533通道的峰值理论吞吐量为4.267 GB/s,FBD-533通道的峰值理论吞吐量为6.4 GB/s。
关键词之四:FBD通道延迟
当不使用可变读取延迟(Variable Read Latency)功能的时候,FBD通道中的任何一个FBDIMM的延迟同其它的FBDIMM是相同的。当更多的DIMM被加入到FBD通道时,从每个DIMM中读取数据的延迟会相应的增加。这主要是因为FBD通道是由多个基于点对点内部互联DIMM组成的,内存请求要必须要经过N-1个缓冲才能到达第N个缓冲。所以4 DIMM通道配置的空闲读取延迟要被1 DIMM通道配置的长一些。采用可变读取延迟功能则能够使得靠近Host的DIMM的延迟更短一些。
关键词之五:热插拔(Hot-add和Hot-remove)
FBDIMM通道本身并不具有监测通道内是否增加了FBDIMM的机制,还是需要依靠系统的内存控制器来对于新添加的FBDIMM进行初始化。然后执行一个热添加复位操作,新的FBDIMM就可以同原来的FBDIMM一起协同工作了。拆卸FBDIMM的之前,也是由Host向最后一个FBDIMM发出一个快速复位操作使其脱离工作状态,然后即可进行拆卸了。需要注意的是,虽然是“热插拔”,但是实际上在安装或者拆卸FBDIMM的瞬间,FBDIMM插槽上的供电是会断掉的,如果实现这样的功能就是系统平台所要考虑的范畴了。
FB-DIMM内存外观以及物理规格
我们参考了三星公布的产品规格文档,并且分别将FB-DIMM和Registered DDR2 DIMM的外观尺寸做了对比。Registered DDR2 DIMM外形尺寸为133.35mm x 30mm,而FB-DIMM外形尺寸为133.35mm x 30.35mm。虽然前面我们了解到FB-DIMM实际上有效信号线仅需要69条,但是现在的FB-DIMM依然是240pin。两者内存模组防呆缺口的位置不同,FB-DIMM位于67mm和51mm交界处,而DDR2 DIMM位于63mm和55mm交界处。
两者的内存芯片的分布方式也不一样,比如均采用18颗内存芯片的内存模组,Registered DDR2 DIMM一般是正反两面各自有9颗,而FB-DIMM则是在一面为8颗,另外一面10颗,芯片数量较少的一面还要安装AMB芯片。
图4-3:英飞凌FB-DIMM内存 |
图4-4:三星FB-DIMM内存 |
从前面的介绍来看,AMB芯片是一颗非常繁忙的芯片,整条FB-DIMM模组的所有指令、数据的进出都要经过这颗芯片。对于一个通道内多个DIMM的情况,最靠近内存控制器的DIMM的AMB芯片是最繁忙的。在这种情况下,这颗芯片的发热量不容小觑,因此所有的FB-DIMM内存模组都需要为AMB安装散热片来散热,不同的厂商提供的不同的解决方案,比如英飞凌仅仅为AMB安装了单独的散热片,而三星则采用了全包的散热片。
根据Kingston提供的资料显示,FB-DIMM的耗电量比DDR2 Registered DIMM高(约3-5瓦每支),这对于内存而言是个很高的数字。假设在安装了8条FB-DIMM的系统内,所增加的功耗就是24-40瓦!
Intel 5000系列内存控制器
英特尔发布了三款芯片组用于支持双核Xeon 5000系列处理器,它们是Intel 5000P、Intel 5000V和Intel 5000X,其中的前两者主要定位于服务器应用,而后者是定位于工作站应用。我们将会在本章节主要了解Intel 5000P、Intel 5000V这两款芯片组的内存控制器。
Intel 5000P、Intel 5000V这两款芯片组的关系就如同现在的Intel E7520和Intel E7320芯片组的关系,Intel 5000P定位相对较高,Intel 5000V定位略低。Intel 5000P和Intel 5000V芯片组的主要区别在于MCH芯片,它们均可以搭配新的6321ESB芯片或者6700PXH芯片。相对于上一代芯片组E7520/E7320,Intel 5000 MCH芯片在处理器和内存方面做了重大的改进。
Intel 5000P芯片组功能示意图 |
Intel 5000V芯片组功能示意图 |
Intel 5000系列芯片组通过独立的点对点系统总线支持两个处理器,完全不同于之前的芯片组采用的共享总线的方式,这被英特尔称之为双独立总线(DIB)。每条总线运行频率为266MHz(1066MTS),那么安装了FSB1066处理器的系统的前端总线的总带宽最高可达17GB/s,安装了FSB667处理器的系统的前端总线的总带宽为10.6GB/s。其实从规格表上,我们可以看出Intel 5000芯片组已经为FSB1333做好准备,下一代的Woodcrest核心的处理器可以在现有平台上平滑升级。
Intel 5000系列芯片组放弃了对现有的DDR/DDR2 ECC Register内存的支持,仅仅支持FB-DIMM内存,这对于构建平衡的、性能更强大的Intel新服务器平台而言是必需的。
Intel 5000P MCH支持36bit寻址能力,总共可支持64GB物理内存。MCH支持4个FB-DIMM内存通道,每个通道最高支持4个双bank FB-DIMM DDR DIMM。因此在非镜像模式下,MCH最高可支持16 DIMM或者最大64GB物理内存,在镜像模式下最大可以支持32GB物理内存。Intel 5000V MCH则仅支持2个FB-DIMM内存通道,每个通道最高可支持4 DIMMs,总共可支持8 DIMM,那么最高内存容量可达16 GB。目前主流的E7520 MCH最高可支持16GB DDR2内存或者32GB DDR266内存。
每个安装了DDR533 FB-DIMM内存的FB-DIMM通道的读取带宽为4.25 GB/s,所以4个通道最高可以提供17GB/s的内存带宽,这正好同FSB1066 DIB总线的带宽相匹配。FB-DIMM采用了非对称设计,其上行信号线为10bit,下行信号线为14bit,此时4通道FB-DIMM可以提供8.5GB/s的写入带宽。在双通道配置的Intel 5000V平台上,这些数字都将减半,读取带宽为8.5GB/s,写入带宽为4.25GB/s。
Intel 5000P MCH和Intel 5000V MCH另外一个重要区别是对于PCI-Express总线的支持,5000P MCH支持3个x8 PCI-Express通道,每通道可以进一步配置为2个x4通道,其中1个x8通道(或者配置为2个x4通道)将用于同ESB2通讯。5000V MCH则仅提供1个x8(或者配置为2个x4通道)将用于同ESB2通讯。5000P MCH对于PCI-Express总线的支持同现有的E7520是相似的。
测试平台和测试方法
今年我们对于IT168网络实验室的服务器测试平台进行了大幅度的升级,为思科Catalyst4500千兆交换机(WS-X4013+ Supervisor Engine II-Plus和WS-X4548-GB-RJ45)增加了一个思科全千兆24口模块WS-X4424-GB-RJ45,可同时连接72个千兆铜缆设备和2个光缆设备。另外,我们还购置了29台Dell PowerEdge SC430塔式服务器和原来的32台主流配置PC一起为服务器测试平台的提供负载。
Catalyst4500千兆交换机 |
新增的部分Dell PowerEdge SC430服务器 |
5000V | |
主板 |
Lenovo DPX1066 |
芯片组 |
Intel 5000V+ESB2 |
驱动程序 |
INF 7.3.1.1013 |
处理器 |
Intel Xeon 5050 |
主频 |
3.0GHz |
FSB |
667MHz DIB |
L2容量 |
2 x 2MB |
处理器设置 |
XDbit Disable |
磁盘控制器 |
LSI MegaRAID 320-0 零通道RAID卡 |
硬盘 |
FUJITSU MAT3073NC x 3 |
驱动程序 |
6.43.2.32(3/16/2004) |
磁盘设置 |
三块硬盘配置为RAID 5模式,磁盘分为两个分区,均为NTFS格式,系统默认簇,主分区20GB,其它分为扩展分区,共享文件夹、磁盘测试均在格式化后的扩展分区进行 |
操作系统 |
Microsoft Windows Server2003,5.02.3790,SP1 |
网卡 |
Intel Pro/1000EB Network Connection with I/O Acceleration |
驱动程序 |
9.3.28.0(1/23/2006) |
5000P | |
主板 |
Gigabyte GA-7BESH-RH |
芯片组 |
Intel 5000P+6321ESB |
驱动程序 |
INF 7.3.1.1013 |
处理器 |
Intel Xeon 5080 |
主频 |
3.73GHz |
FSB |
1066MHz DIB |
L2容量 |
2 x 2MB |
处理器设置 |
XDbit Disable |
磁盘控制器 |
LSI Logic MegaRaid SAS 8408E RAID卡 |
硬盘 |
FUJITSU MAX3147RC x 4 |
驱动程序 |
1.17.0.32 |
磁盘设置 |
四块硬盘配置为RAID 5模式,磁盘分为两个分区,均为NTFS格式,系统默认簇,主分区20GB,其它分为扩展分区,共享文件夹、磁盘测试均在格式化后的扩展分区进行 |
操作系统 |
Microsoft Windows Server2003,5.02.3790,SP1 |
网卡 |
Intel Pro/1000EB Network Connection with I/O Acceleration |
驱动程序 |
9.3.28.0(1/23/2006) |
我们在上述配置的服务器上分别安装了Microsoft Windows 2003 SP1企业版(简体中文、32bit),正确安装了各个硬件的驱动程序,确保服务器工作在非常好的的状态。
我们所使用的评测软件如下:
-
SPECCPU2000 v1.2
-
ScienceMark v2.0 Membench
-
Sisoft Sandra 2005 Pro SR2
SEPCCPU2000可以评估服务器系统中处理器的整数性能和浮点性能,我们进行的是SPECint_base2000和SPECfp_base2000两个项目的测试。ScienceMark v2.0一款用于评估处理器科学计算能力的软件,它提供了评估被测系统内存带宽的功能,这款软件可以很好的支持多线程。WebBench在服务器评估中被普遍使用,侧重于服务器CPU子系统的性能评估。另外,我们还利用Sisoft Sandra 2005 Pro这款普通读者都熟悉的软件对于整个系统进行测试。
5000P+Samsung | Intel 5000P芯片组 | 三星内存 |
5000P+Infineon | Intel 5000P芯片组 | 英飞凌内存 |
5000V+Samsung | Intel 5000V芯片组 | 三星内存 |
5000V+Infineon | Intel 5000V芯片组 | 英飞凌内存 |
我们分别在两个平台上安装了三星512MB 1Rx8 PC2-4200F内存和英飞凌512MB 1Rx8 PC4200-4200F内存,它们默认的内存时序略有不同,三星为444-11,英飞凌为444-10。
BIOS设置 |
不同内存对处理器性能影响
SPEC CPU2000是SPEC组织推出的一套CPU子系统评估软件,它包括CINT2000和CFP2000两个子项目,前者用于测量和对比整数性能,而后者则用于测量和对比浮点性能。计算系统中的处理器、内存和编译器都会影响最终的测试性能,而I/O(磁盘)、网络、操作系统和图形子系统对于SPEC CPU2000的影响非常的小。
我们在被测服务器中安装了Intel C++ 8.1 Compiler、Intel Fortran 8.1 Compiler这两款SPEC CPU2000必需的编译器,另外安装了Microsoft Visual Studio 2003.net提供必要的库文件。按照SPEC的要求我们根据自己的情况编辑了新的Config文件,可以满足Base测试。
5000V+Infineon (Throughput) | |||
---|---|---|---|
SPECfp |
SPECint | ||
开启线程数量 |
8 |
开启线程数量 |
8 |
168.wupwise |
61.8 |
164.gzip |
60.1 |
171.swim |
30.7 |
175.vpr |
39.5 |
172.mgrid |
27.7 |
176.gcc |
83.7 |
173.applu |
29.3 |
181.mcf |
25.5 |
177.mesa |
59.3 |
186.crafty |
53.1 |
178.galgel |
61.8 |
197.parser |
65.7 |
179.art |
40.1 |
252.eon |
87.7 |
183.equake |
25.7 |
253.perlbmk |
71.2 |
187.facerec |
46.4 |
254.gap |
61.6 |
188.ammp |
32.6 |
255.vortex |
104 |
189.lucas |
30.5 |
256.bzip2 |
48.4 |
191.fma3d |
33.8 |
300.twolf |
54.3 |
200.sixtrack |
33.7 |
总分 |
59.2 |
301.apsi |
49.7 | ||
总分 | 38.4 |
5000V+Samsung (Throughput) | |||
---|---|---|---|
SPECfp |
SPECint | ||
开启线程数量 |
8 |
开启线程数量 |
8 |
168.wupwise |
61.2 |
164.gzip |
59.8 |
171.swim |
30.8 |
175.vpr |
39.7 |
172.mgrid |
27.2 |
176.gcc |
83.7 |
173.applu |
29.5 |
181.mcf |
25.5 |
177.mesa |
59.1 |
186.crafty |
53.6 |
178.galgel |
60.4 |
197.parser |
64.3 |
179.art |
40.3 |
252.eon |
87.3 |
183.equake |
24.8 |
253.perlbmk |
70.9 |
187.facerec |
46.3 |
254.gap |
60.3 |
188.ammp |
32.6 |
255.vortex |
104.1 |
189.lucas |
29.5 |
256.bzip2 |
47.7 |
191.fma3d |
32.4 |
300.twolf |
54.5 |
200.sixtrack |
33.9 |
总分 |
58.9 |
301.apsi |
49.6 | ||
总分 | 38.2 |
5000P+Samsung(Throughput) | |||
---|---|---|---|
SPECfp |
SPECint | ||
开启线程数量 |
8 |
开启线程数量 |
8 |
168.wupwise |
87.6 |
164.gzip |
57.3 |
171.swim |
45.6 |
175.vpr |
53.3 |
172.mgrid |
41.4 |
176.gcc |
92.2 |
173.applu |
41.3 |
181.mcf |
63.2 |
177.mesa |
73.4 |
186.crafty |
63.8 |
178.galgel |
143.0 |
197.parser |
69.8 |
179.art |
103.0 |
252.eon |
107.0 |
183.equake |
41.1 |
253.perlbmk |
89.7 |
187.facerec |
63.4 |
254.gap |
77.0 |
188.ammp |
50.8 |
255.vortex |
131.0 |
189.lucas |
40.0 |
256.bzip2 |
56.0 |
191.fma3d |
48.8 |
300.twolf |
83.5 |
200.sixtrack |
33.9 |
总分 |
75.7 |
301.apsi |
50.2 | ||
总分 | 56.3 |
5000P+Infineon(Throughput) | |||
---|---|---|---|
SPECfp |
SPECint | ||
开启线程数量 |
8 |
开启线程数量 |
8 |
168.wupwise |
86.4 |
164.gzip |
57.2 |
171.swim |
44.5 |
175.vpr |
53.0 |
172.mgrid |
40.5 |
176.gcc |
92.3 |
173.applu |
40.0 |
181.mcf |
62.3 |
177.mesa |
73.4 |
186.crafty |
63.8 |
178.galgel |
142.0 |
197.parser |
69.8 |
179.art |
99.1 |
252.eon |
107.0 |
183.equake |
40.9 |
253.perlbmk |
90.2 |
187.facerec |
63.0 |
254.gap |
78.1 |
188.ammp |
51.0 |
255.vortex |
131.0 |
189.lucas |
38.9 |
256.bzip2 |
56.0 |
191.fma3d |
48.8 |
300.twolf |
83.5 |
200.sixtrack |
33.9 |
总分 |
75.7 |
301.apsi |
49.5 | ||
总分 | 55.6 |
5000V+Infineon (Speed) | |||
---|---|---|---|
SPECfp rate_base2000 |
SPECint rate_base2000 | ||
开启线程数量 |
8 |
开启线程数量 |
8 |
168.wupwise |
2010 |
164.gzip |
1009 |
171.swim |
1730 |
175.vpr |
940 |
172.mgrid |
1227 |
176.gcc |
1638 |
173.applu |
1195 |
181.mcf |
1393 |
177.mesa |
1268 |
186.crafty |
1099 |
178.galgel |
2916 |
197.parser |
1204 |
179.art |
2865 |
252.eon |
1848 |
183.equake |
1481 |
253.perlbmk |
1586 |
187.facerec |
1233 |
254.gap |
1511 |
188.ammp |
916 |
255.vortex |
2252 |
189.lucas |
1241 |
256.bzip2 |
981 |
191.fma3d |
1129 |
300.twolf |
1444 |
200.sixtrack |
590 |
总分 |
1361 |
301.apsi |
1030 | ||
总分 | 1364 |
5000V+Samsung (Speed) | |||
---|---|---|---|
SPECfp rate_base2000 |
SPECint rate_base2000 | ||
开启线程数量 |
8 |
开启线程数量 |
8 |
168.wupwise |
2011 |
164.gzip |
1010 |
171.swim |
1720 |
175.vpr |
941 |
172.mgrid |
1229 |
176.gcc |
1639 |
173.applu |
1190 |
181.mcf |
1393 |
177.mesa |
1268 |
186.crafty |
1101 |
178.galgel |
2911 |
197.parser |
1204 |
179.art |
2884 |
252.eon |
1848 |
183.equake |
1487 |
253.perlbmk |
1559 |
187.facerec |
1240 |
254.gap |
1509 |
188.ammp |
913 |
255.vortex |
2253 |
189.lucas |
1243 |
256.bzip2 |
980 |
191.fma3d |
1132 |
300.twolf |
1444 |
200.sixtrack |
591 |
总分 |
1359 |
301.apsi |
1040 | ||
总分 | 1365 |
5000P+Samsung(Speed) | |||
---|---|---|---|
SPECfp rate_base2000 |
SPECint rate_base2000 | ||
开启线程数量 |
8 |
开启线程数量 |
8 |
168.wupwise |
2705 |
164.gzip |
1264 |
171.swim |
2598 |
175.vpr |
1215 |
172.mgrid |
1590 |
176.gcc |
2080 |
173.applu |
1613 |
181.mcf |
1891 |
177.mesa |
1593 |
186.crafty |
1378 |
178.galgel |
3794 |
197.parser |
1530 |
179.art |
4082 |
252.eon |
2300 |
183.equake |
2162 |
253.perlbmk |
1974 |
187.facerec |
1650 |
254.gap |
1946 |
188.ammp |
1239 |
255.vortex |
2937 |
189.lucas |
1739 |
256.bzip2 |
1263 |
191.fma3d |
1522 |
300.twolf |
1804 |
200.sixtrack |
738 |
总分 |
1737 |
301.apsi |
1279 | ||
总分 | 1835 |
5000P+Infineon(Speed) | |||
---|---|---|---|
SPECfp rate_base2000 |
SPECint rate_base2000 | ||
开启线程数量 |
8 |
开启线程数量 |
8 |
168.wupwise |
2703 |
164.gzip |
1264 |
171.swim |
2590 |
175.vpr |
1215 |
172.mgrid |
1588 |
176.gcc |
2080 |
173.applu |
1611 |
181.mcf |
1891 |
177.mesa |
1590 |
186.crafty |
1378 |
178.galgel |
3792 |
197.parser |
1530 |
179.art |
4025 |
252.eon |
2300 |
183.equake |
2157 |
253.perlbmk |
1974 |
187.facerec |
1650 |
254.gap |
1946 |
188.ammp |
1240 |
255.vortex |
2937 |
189.lucas |
1731 |
256.bzip2 |
1263 |
191.fma3d |
1520 |
300.twolf |
1804 |
200.sixtrack |
739 |
总分 |
1737 |
301.apsi |
1265 | ||
总分 | 1830 |
SPECfp测试过程中同时执行多个实例(instance),测量系统执行计算密集型浮点操作的能力,比如CAD/CAM、DCC以及科学计算等方面应用可以参考这个结果。SPECint测试过程中同时执行多个实例(instances),然后测试系统同时执行多个计算密集型整数操作的能力,可以很好的反映诸如数据库服务器、电子邮件服务器和Web服务器等基于整数应用的多处理器系统的性能。其中的“Throughput”测试结果显示了被测平台并行处理多个浮点任务或者整数任务的能力。“Speed”测试中主要反映的是不同的平台处理完毕某个任务的快慢。处理器性能、内存容量、速度对于测试结果都会有较为明显的影响。
5000V平台上安装的是Xeon 5050处理器,5000P平台上安装的是Xeon 5080处理器,分别安装两款内存之后对于性能并没有明显的影响。
5000V+Infineon |
5000V+Samsung |
5000P+Samsung |
5000P+Infineon | |
Processor Arithmetic | ||||
Dhrystone ALU(MIPS) | 28717 | 28820 | 32926 | 32395 |
Whetstone iSSE2(MFLOPS) | 36410 | 35885 | 27520 | 27526 |
Processor Multi-Media | ||||
Integer x8 iSSE2(it/s) | 87718 | 87703 | 85793 | 85794 |
Floating-Point x4(it/s) | 113162 | 113092 | 97095 | 97094 |
SiSoftware.Sandra.Enterprise.v2007.5.10.98的处理器性能测试部分显示,这两款时序略有不同的内存对于性能几乎没有影响。
缓存内存性能测试
ScienceMark Membench | ||||
5000V+Infineon |
5000V+Samsung |
5000P+Samsung |
5000P+Infineon | |
内存带宽(MB/s) |
2283.58 | 2297.47 | 3561.69 | 3557.98 |
L1 Cache Latency (ns) | ||||
32 Bytes Stride |
1.34 | 1.00 | 0.81 | 0.81 |
L2 Cache Latency(ns) | ||||
4 Bytes Stride |
1.34 | 1.34 | 1.07 | 1.07 |
16 Bytes Stride |
2.67 | 2.67 | 2.15 | 2.15 |
64 Bytes Stride |
9.02 | 9.02 | 7.25 | 7.25 |
256 Bytes Stride |
8.69 | 8.35 | 6.71 | 6.98 |
512 Bytes Stride |
8.35 | 8.02 | 6.44 | 6.71 |
Memory Latency(ns) | ||||
4 Bytes Stride |
1.67 | 1.67 | 1.34 | 1.34 |
16 Bytes Stride |
6.68 | 6.68 | 4.57 | 4.57 |
64 Bytes Stride |
27.07 | 27.07 | 17.99 | 18.26 |
256 Bytes Stride |
179.11 | 181.45 | 128.09 | 127.02 |
512 Bytes Stride |
189.8 | 188.80 | 135.34 | 135.34 |
Algorithm Bandwidth(MB/s) | ||||
Compiler |
1771.21 | 1784.76 | 2739.53 | 2724.89 |
REP MOVSD |
1796.07 | 1805.46 | 2776.70 | 2762.13 |
ALU Reg Copy |
1751.59 | 1762.17 | 2675.96 | 2656.95 |
MMX Reg Copy |
1794.26 | 1805.34 | 2788.60 | 2786.16 |
MMX Reg 3dNow |
- | - | - | - |
MMX Reg SSE |
2283.58 | 2297.47 | 3529.95 | 3519.20 |
SSE PAlign |
2272.72 | 2290.61 | 3561.69 | 3557.22 |
SSE PAlign SSE |
2281.81 | 2296.58 | 3556.81 | 3550.88 |
SSE2 PAlign |
2271.43 | 2292.25 | 3557.54 | 3557.98 |
SSE2 PAlign SSE |
2280.69 | 2294.49 | 3557.58 | 3550.62 |
MMX Block 4kb |
3163.14 | 2183.20 | 3343.24 | 3301.18 |
MMX Block 16kb |
2212.04 | 2226.83 | 3451.89 | 3415.27 |
SSE Block 4kb |
2174.46 | 2193.27 | 3357.81 | 3318.04 |
SSE Block 16kb |
2204.89 | 2225.30 | 3467.04 | 3435.24 |
ScienceMark v2.0是一款用于测试系统特别是处理器在科学计算应用中的性能的软件,MemBenchmark是其中针对处理器缓存、系统内存而设计的功能模块,它可以测试系统内存带宽、L1 Cache延迟、L2 Cache延迟和系统内存延迟,另外还可以测试不同指令集的性能差异。不过,我们分别在两个平台上安装两组内存,测试结果显示两者直接也基本没有什么差异。
5000V+Infineon |
5000V+Samsung |
5000P+Samsung |
5000P+Infineon | |
Memory Bandwidth | ||||
RAM Int Buff iSSE2(MB/s) | 3336 | 3333 | 5044 | 5002 |
RAM Float Buff iSSE2(MB/s) | 3338 | 3327 | 5047 | 4999 |
Memory Latency | ||||
Radom Access | 205 | 205 | 148 | 147 |
1kB | 1.4 | 1.3 | 1.1 | 1.1 |
4kB | 1.4 | 1.4 | 1.1 | 1.1 |
16kB | 1.5 | 1.5 | 1.2 | 1.3 |
64kB | 9.4 | 9.4 | 7.7 | 7.7 |
256kB | 9.5 | 9.6 | 7.7 | 7.6 |
1MB | 18.9 | 18.9 | 15.1 | 15.2 |
4MB | 145 | 145.1 | 103.8 | 103.9 |
16MB | 191.7 | 191.8 | 138.5 | 138.3 |
64MB | 205 | 205.0 | 147.7 | 147.4 |
Linear Access | 27.5 | 27.6 | 18.0 | 19.0 |
1kB | 1.4 | 1.4 | 1.1 | 1.1 |
4kB | 1.4 | 1.4 | 1.1 | 1.1 |
16kB | 1.5 | 1.5 | 1.2 | 1.2 |
64kB | 9.4 | 9.4 | 7.5 | 7.5 |
256kB | 9.7 | 9.4 | 7.6 | 7.6 |
1MB | 27.5 | 9.7 | 7.8 | 7.8 |
4MB | 27.5 | 27.5 | 18.3 | 18.7 |
16MB | 27.5 | 27.6 | 18.3 | 18.8 |
64MB | 27.5 | 27.6 | 18.3 | 18.8 |
Cache and Memory(MB/s) | ||||
2KB | 183580 | 183661 | 230808 | 230778 |
4KB | 190065 | 190006 | 238309 | 238200 |
8KB | 143786 | 143656 | 180020 | 179959 |
16KB | 139958 | 139993 | 174950 | 174972 |
32KB | 136540 | 136432 | 170700 | 170726 |
64KB | 124609 | 124538 | 155778 | 155857 |
128KB | 101256 | 101280 | 126455 | 126529 |
256KB | 101868 | 101703 | 126246 | 126853 |
512KB | 101100 | 100997 | 125074 | 125321 |
1MB | 95312 | 95121 | 117665 | 118011 |
4MB | 76271 | 76432 | 90838 | 91287 |
16MB | 4194 | 4188 | 6242 | 6058 |
64MB | 3811 | 3824 | 5759 | 5636 |
256MB | 3629 | 3640 | 5488 | 5371 |
1GB | 2903 | 2913 | 4398 | 4307 |
我们还在各个组合平台上运行了SiSoftware.Sandra.Enterprise.v2007.5.10.98,对于其处理器、内存带宽、内存延迟等方面的性能进行了对比测试,测试结果显示两款内存在不同的平台的表现非常的接近。
在测试过程中,我们发现FB-DIMM的发热量的确很“可观”,运行过程中我们打开服务器机箱盖,用红外测温仪测量,发现采用全包散热片的三星FB-DIMM内存的AMB芯片部分的温度在55°C左右,而Infineon FB-DIMM内存的AMB芯片部分的温度更是在60°C以上。
IT168评测中心观点
FB-DIMM是Intel又一次在内存技术方面试图引导行业的尝试,但这次Intel的情况和策略均同几年前推广Rambus时不同。首先,FB-DIMM技术并不涉及内存芯片的标准,更确切的说它是基于现有内存技术基础上的一种新的应用方式,因此并不需要诸如三星、英飞凌等半导体巨头的支持与否;其次,FB-DIMM已经成为了JEDEC标准,并且得到了主要的内存模组厂商的支持;第三点,Intel只是计划在其Xeon平台上使用,并不会涉及到PC、笔记本,因此波及面不会太大,因此推广的目的更容易达到。
当然,FB-DIMM内存也存在一定的问题,它需要一颗AMB芯片,根据服务器厂商反映,目前FB-DIMM内存的价格比主流的Registerred ECC DDR2内存高20-30%。另外,AMB芯片会带来3-5W的额外功耗,对于整个系统来说则是20-40W的增长幅度,因此无论是系统供电还是系统散热都是需要更多投入。
我们IT168评测中心通过对于一款三星FB-DIMM内存和一款英飞凌FB-DIMM内存分别在Intel 5000P芯片组和Intel 5000V芯片组上的表现进行了考察。在性能上,他们可以提供满足新一代双核Xeon处理器的需求,不过我们的测试结果无法区分4通道和2通道FB-DIMM配置的内存子系统的性能差异。在兼容性上,这两款内存均可以配合不同的芯片组工作,可以很好的支持现有的Windows 2003操作系统、应用软件。