【IT168评测中心】我们现在已经知道Intel的Nehalem架构获得了巨大的成功,不论是市场表现上,还是其设计上。Nehalem架构已经成为了Intel之后产品线的设计基础,一代一代的产品都在其上进行继续改进。
Nehalem:单一、可扩展的核心设计面向所有的产品线
最早在2008年发布的Nehalem处理器架构研发开始于2003年(对其的研究更早就开始了)。Nehalem是Intel的第一个真正的Converged Core(融合核心)设计产品,也就是说,同一个核心面向所有的产品线,从移动、桌面,到工作站和服务器,都基于同样的内核设计。这样,它们就可以享用通用的软件优化,开发和维护也变得方便了。融合核心的思想最终导致了Nehalem变成了现在这个样子:Core和Uncore分离的模块化设计、多核心带超线程、内置内存控制器的直联架构、PCU功率控制单元以及Turbo Mode睿频加速技术等等,Nehalem是一个既注重性能表现又注重功耗表现的平衡、具有良好伸缩性的优美设计。
45nm八核心:Nehalem-EX晶圆图
对称美:Nehalem-EX的架构图(附带内存子系统)
得益于这样的模块化设计,Nehalem架构当中出现了于Nehalem-EX这样的面向多路服务器市场的八核心产品,不过,为了在多核心下也能获得良好的性能,并且要提供符合其定位的关键RAS(Reliability, Availability, Serviceability:可靠性、可用性、稳定性)特性,Nehalem-EX对Uncore结构进行了重新的设计,这样让其与最早的Nehalem微架构发布隔了相当久的时间。最早出现的Nehalem架构处理器是桌面的Core i7,2008年8月发布,服务器版本Nehalem-EP则是在2009年3月底发布,而Nehalem-EX则是今年的3月底发布。毫无疑问,改进的Nehalem-EX是Nehalem架构中的巅峰产品,拥有着强大的性能以及同样强大的身价。
2008.08/2008.10,45nm Nehalem Core i7发布:
再攀性能之巅 Intel全新酷睿i7深度评测
2009.03,45nm Nehalem Xeon发布:
Intel Nehalem-EP处理器首发深度评测
2010.03,32nm Westmere Core i7发布:
"芯"酷睿性能巅峰 六核i7-980X首发评测
2010.03,32nm Westmere Xeon发布:
Intel 32nm Westmere-EP处理器首发评测
2010.03,45nm Nehalem-EX Xeon发布:
X86巅峰 Intel Nehalem-EX架构深入解析
照例,Intel也给我们提供了Nehalem-EX的测试样品,不过,由于测试样机需要从山远水远的美国运来,并且这个测试样机体积和重量以及报价都比较“特别”的缘故,因此,直到6月多的时候,笔者才拿到了这台机器(海关真是麻烦,两边都是):
Intel Nehalem-EX官方测试样机:外表不凡,内里更是不凡!
这台测试样机由Intel和Quanta合作打造的QSSC-S4R服务器样机配置了四个Xeon X7560处理器,是Nehalem-EX产品线中最高端也是最贵的型号(千颗单价3838美元),每个处理器具有8个核心,整个服务器就是32个物理核心、64个线程;样机还搭配了一共256GB的R-ECC DDR3-1066内存以及两个代号为Boxboro-EX的IOH芯片,顺便还搭载了一块OEM LSI的Intel阵列卡(原始型号是9260-8i)以及两块64GB的X25-E企业级SSD,配置十分豪华(这块SAS 6Gb/s阵列卡已经是其中最便宜的组件了)。下面我们就来领略这台怪兽的性能,不过首先我们要先再次温习这个平台的架构。关于Nehalem-EX仍有一些容易误解的地方,为了澄清这些误会,笔者进行了大量的工作。
既然顶着Nehalem的大名,Nehalem-EX自然也是基于Nehalem微架构。前面说过,设计上Nehalem就考虑到了这种情况,它采用了一种“模块化”的设计方案,系统分成了Core和Uncore两个大模块,每个模块再分成多个小的模块,这样通过不同的组合,就可以衍生出不同核心数量、不同L3缓存等处理器产品。实际上,Nehalem-EX架构和通常Nehalem相比最大的不同就在Uncore架构上。
Dunnington——Nehalem-EX的上一代——的晶圆构造图
Nehalem-EP晶圆图
Nehalem-EX晶圆图
我们首先要清楚企业级Nehalem处理器的后缀:计有Nehalem-EN、Nehalem-EP、Nehalem-EX。其中,EN是指Entry(入门)、EP是指Efficient Performance(效率、性能)、EX是Expandable(可扩展)。Nehalem-EN就是常见的单路Xeon 3400系列,Nehalem-EP则是双路Xeon 5500系列,而Nehalem-EX就是多路Xeon 7500系列了。Nehalem-EX就相当于之前的Xeon MP系列,它可以组建四路或者四路以上的多路处理器系统。比较少人知道的是,Nehalem-EX也有面向双路的产品:Xeon 6500系列,用来满足一些地方不需要大量的计算能力但是需要足够的稳定性以及大容量的内存支持能力。
Nehalem-EX家族11个产品的简介
最高端的Xeon X7560具有8个核心和24MB的L3缓存,频率2.26GHz,千颗单价3838美元;最低端的Xeon E6510,4个核心和12MB L3缓存,频率1.73GHz,千颗单价只有744美元,只能组建双路系统。
接下来我们就来看看Nehalem-EX的内部架构。
由于Nehalem家族的微架构都一样,因此笔者不再介绍微架构,关于这部分的内容,可以看这里:
我们从Nehalem-EX的Uncore架构说起,它是和其他Nehalem处理器区别开的地方。Uncore首先包括了所有核心共享的L3缓存部分:
Nehalem-EX处理器晶圆图,中央大片区域都属于L3缓存
Intel的服务器处理器都具有巨大容量的缓存,但是Nehalem-EX的更大一些,8个核心共享一共24MB L3缓存,并且它们分成了8片(Slice),每片有2048组以及24路集合关联,缓存线为64个字节。每个Slice分成48个子阵列,如下图这样:每一个访问只有整体阵列的3.125%加电,从而降低了耗电量。数据阵列使用0.3816um2的单元并使用DECTED(Inline double-error correction and triple-error-detection,双位纠错三位检测)ECC进行保护,具有可变的访问延迟;Tag索引阵列则使用了0.54um2的单元并使用SECDED(Inline single-error-correction and double-error detection,单位纠错双位检测)ECC进行保护,并具有固定的访问延迟。数据阵列具有行冗余和列冗余,Tag阵列则只有列冗余,这些冗余用于在一些阵列单元有缺陷或者损坏的时候担当备份,并通过一个EEPROM控制L3缓存冗余熔断器进行设置,有些类似于硬盘通过P-list和G-list保存扇区重定位到冗余扇区的列表一样。
对于这些冗余技术,Intel特别称为Core-and-cache Recovery核心及缓存恢复,出现小缺陷或者小问题的缓存和处理器核心电路都可以通过冗余线路继续工作,当大量缺陷存在或者大量问题出现的时候,对应的核心和缓存可以设置为关闭模式以降低耗电。彻底避免这些线路用电是不太可能的,在关闭模式下,SRAM的供电将从0.90V降低到0.36V,提供83%的漏电功耗节约,作为比较,睡眠电压是0.75V,节约为35%。大量缺陷在出厂之前会被检测到,由于宇宙射线或诸如此类的因素导致的损坏则可能在工作时被检测到,最后8核心的Nehalem-EX可能会变成一个6核心甚至4核心的Nehalem。如下图所示:
每个核心都有对应的一块L3缓存,可以并行进行存取,效率比起通常的Nehalem要高不少
Nehalem-EX的每个核心可以分到3MB,比Nehalem-EP/Westmere-EP的2MB要更大一些。这8个3MB的Slice(块),每一个L3块在每一个时钟周期可以同时进行4个存取操作,这样Nehalem-EX在同一个时钟周期就可以同时进行32个L3缓存操作。并且,L3缓存对应的物理地址通过哈希计算分布到多个L3 Slice上,从而将存取操作分散,避免了热区效应(hot-spot)。在通常的处理器中,共享的LLC缓存只会有一个端口,同时只能进行数个操作。
在核心数量逐渐提升的情况下,处理器对存储的压力也越来越大,特别是带超线程的Nehalem-EX,将会有16个硬件线程同时存取共享的L3,以及内存。使用通常的Crossbar交叉开关总线的话,不同硬件线程存取操作的冲突会比较明显,这会增加存取的延迟,影响系统的工作效率(这也是Xeon版Nehalem的Uncore工作频率要比桌面版Core i7要高的缘故),并且在核心数量越来越多的情况下,使用交叉开关将会变得非常昂贵(开关的数量以平方数增长)。增加通常的Uncore工作频率对此有一定效果,不过Uncore频率也不是可以无限制地提升的,在架构上解决这个问题是最好的是:使用其他的总线架构。
Nehalem-EX多个核心/L3块之间的互联通过一个环形总线来完成,而通常的Nehalem处理器则是通过传统的Crossbar来进行,在Intel 32nm Westmere-EP处理器首发评测中我们对Westmere-EP进行的测试结果表明, 六核Westmere-EP比四核Nehalem-EP的L3缓存内存潜伏期有所上升,内存带宽也下降了,这表现了传统架构在核心数量变多、访问冲突增加之后的效应。要想达到8个或者更多的核心数量,最好是:使用其他的总线架构,就像Nehalem-EX这样。
新的总线架构同时改变了Nehalem-EX的L3架构,在传统Nehalem上,CPU核心通过交叉开关来连接L3,但是Nehalem-EX上,这个交叉开关变成了一个环状总线,而同时L3缓存块和CPU核心的连接也更加紧密,通过bypass结构,可以实现0延迟的访问L3(当然,是指Core - L3无延迟)。Nehalem-EX的环状总线由十个节点(Ring Stop)组成,其中8个是连接到Core/L3 Cache的节点,叫做Cbox,还有两个是Sbox,用来连接内存控制器和外部的QPI总线,这个环状总线是双向的,运行在Uncore频率,数据从一个节点传输到邻近节点只需要一个Uncore时钟周期,总带宽可以达到1.2TB(0.8TB/s数据信号,0.4TB/s控制信号)。环状总线的优点是到不同区域具有预知的、恒定的延迟,到达最远的节点只需要5个时钟周期。
在设计上,Nehalem-EX晶圆基本上是有水平和垂直两条对称轴的,这样可以降低布线的复杂程度
和QPI一样,Nehalem-EX的环状总线并不是一个串行总线,它们是并行的,在每一个环站上,大约有近1000个信号在传输,峰值信号带宽可以达到3TB/s,1.2TB/s属于持续的带宽。
处在M7层的纵向信号线具有较低的电容值以提升传输速率,这些信号线具有1.5倍的宽度,两个环的间距是通常布线的3倍,与地线的距离也是通常的1.5倍
纵向数据通道使用的双端口寄存器文件允许同时对CPU核心和L3 Cache的写入操作
为了降低功耗,数据环使用了Clock Gating技术,只有传输数据的时候才有时钟产生,这可以大为降低总线的闲置功耗
为了弥补Clock Gating只能在闲置时生效的缺点,Nehalem-EX还使用编码解码技术,可以在大中负荷下具有适中的能耗节约
在环形总线上,除去8个Core/L3缓存站之外,剩下的两个站就身负对外部进行IO的重大任务,名字上,它们叫做QPI Caching agent,除了负责连接外部的QPI总线之外,它们也负责连接系统的内存控制器:
QPI Caching agent,每个使用QPI的处理器都有
QPI Cachingagent——CA0/CA1通过连接Router模块来连接外部QPI总线,通过连接HA0/HA1模块来连接内存控制器,它支持48(两个CA合96)个并发请求,并支持120项的snoops buffer。
QPI Home Agent ——HA0/HA1则负责沟通QPI和内存,它支持256个并发请求(每个Caching agent支持最多48个并发请求),并且支持来自8个其他处理器、4个其他IO/NC芯片的请求。两个HA一共能支持512个并发请求。QPI HA还使用了内存预取、预写入等优化延迟的技术。
两个一致性分区,每个区含一个内存控制器,不同的区将地址空间分割
内存子系统部分是Nehalem-EX中误会较多的地方。Nehalem-EX的HA0/HA1分别连接到MC0/MC1,一共两个内存控制器,普通的Nehalem处理器只有一个内存控制器。每个内存控制器提供一个SMI(Scalable Memory Interface),每个SMI界面提供了两个SMI Link,又称SMI Channel,它们可以运行于Lockstep模式(普通的Nehalem处理器也提供了这种模式)以提升性能和增强RAS。每个Nehalem-EX就提供了4个SMI Link。注意SMI Link和SMI本身的区别。
SMI Link看起来并不是一个串行界面(笔者之前的做法看起来并不正确)。SMI Link各方面和QPI Link都很像,例如它的传输速率是6.4GT/s,从这点来看它也不应该是串行总线,QPI也不是串行总线。然而,SMI Links的带宽还是个谜,因为它的位宽并不清楚,Intel没有公布这个数据。
Nehalem-EX:2MC/2SMI、4SMI Link/4SMB、8 Memory Channel、16 DIMM、256GB
SMI Link需要连接到一个叫做Scalable Memory Buffer(SMB)的芯片才能联接到并行的DIMM上(久远的Pentium 4使用的RIMM则本身是串行的),因此这让人联想到SMI是串行的,不过从其6.4GT/s的速率来看,不太像。SMB这个名字听起来和以前FBD内存上的AMB芯片很相似,AMB用来将内存管理器的串行界面转换为内存条的并行界面。在Nehalem-EX上,这个SMB可以集成在主板上而不是集成在内存条上,兼容性远非FBD架构可比。用于Nehalem-EX平台的SMB芯片还有一个开发代号(Code Name),叫做Mill Brook 1。
每个SMI Link支持两个SMB芯片,每个SMB芯片支持两个DDR3内存通道,每个内存通道最多支持2个DIMM,这样一个Nehalem-EX处理器就能提供最多8个内存通道、16个DIMM、256GB的内存容量支持。Nehalem-EX特别的地方是支持16GB的单条内存,其它Nehalem处理器只能支持8GB单条内存。Westmere-EP支持单条16GB内存。Nehalem-EX支持8个内存通道,这确实和通常想象的不太一样。很多人曾以为它支持的是4个内存通道。
目前,Nehalem-EX只支持R-ECC DDR3 1066规格,这会限制其内存带宽。Intel表示其未来可以支持到R-ECC DDR3 1333规格(和通常的Nehalem-EP不同,Nehalem-EX不支持普通的不带R、ECC的内存)。
上图上,本地内存访问延迟约是108ns,距离一跳的远程内存访问延迟约是161ns,比使用DDR3 1333的Nehalem-EP/Westmere-EP要高,即使是Nehalem-EX以后达到DDR3 1333的规格下也应该差不多。这是使用了SMI和SMB的代价,作为交换,Nehalem-EX获得了增强的内存RAS特性,以及更高的带宽和更大的容量支持。
如表所示,Nehalem-EX的内存带宽只是Westmere-EP的1.15倍么?
从本页的第二幅图的数字来看,每个处理器的峰值内存带宽是约26GB/s,每个内存控制器的带宽是13GB/s(或许准确的是12.8GB/s?),理论上,8个DDR3-1066通道提供的带宽应该是66.7GB/s,理论和现实总是有一些距离,或许原因出在SMI Link上。在IDF2009给出的文档上,26GB/s这个数字被换成了50GB/s。
作为Intel直联架构的一个重要部分,QPI总线在多路系统总扮演着非常重要的角色。在Nehalem-EX当中,4个QPI总线通过一个Router模块和内部环形总线以及内存控制器连接起来。实际上,CA0/CA1、HA0/HA1以及Router这三个模块都是可以直接互相通信的。
Router模块面对着8个组件:两个CA、两个HA,以及四个QPI,它是一个8端口的Crossbar交叉总线架构,任意两个组件之间可以建立直接的通信通道。这个交叉总线为全流水线设计,宽度为64bit(缓存线宽度),可以提供约120GB/s的理论交换带宽,路由延迟约为18ns。Nehalem-EX的Router模块还支持两个无死锁虚拟通道,以支持复杂的无死锁拓扑结构。
四个QPI总线,每个3.2GHz、6.4GT/s,双向带宽25.6GB/s
可能和很多人想的不一样,QPI是一个并行总线而不是一个串行总线,和HT总线一样,它可以拆分为半宽度的链接;QPI可以分为四分之一链接,这一点比HT要特别一些
8路Glueless架构的Nehalem-EX,任意处理器之间最多两跳距离
QPI通过Node Controller,还可以支持更多路的结构
看完处理器,我们接下来看看处理器需要搭配的主板芯片组,Nehalem-EX搭配的主板芯片组代号叫做Boxboro,也可以叫做Boxboro-EX,类似于双路端的Tylersburg-EP芯片组(桌面的就叫Tylersburg):
只是,由于Nehalem-EX是多路设计,因此对应的Boxboro芯片往往有多个,基本上,两个Nehalem-EX处理器就需要搭配一个Boxboro芯片,每个芯片属于一个Partition分区。当然,连接键盘鼠标的ICH芯片整个系统只能有一个:
八路Nehalem-EX需要四个Boxboro芯片,不过只能使用一个ICH10R
看到Boxboro我们将会感到非常熟悉,实际上,它和Tylersburg芯片非常相似,从架构图上看起来就是一样,只是改了个标题:
Boxboro:7500芯片
Tylersburg:5520芯片
它们的区别应该是在IOH的RAS特性上,这一点后面再谈。Boxboro/Tylersburg家族的IOH每个都提供了最多36 Lanes的PCI Express 2.0接口,提供充足的IO带宽(实际测试大约是14GB/s每IOH),并且还可以搭配多个IOH。其实,二路的Nehalem-EP也有一个双IOH配置,提供72 Lanes的PCI Express 2.0。南桥芯片ICH10/10R还提供了6个Lanes的PCI Express 1.01a接口,不过通常用来接显卡和KVM,用来接服务器使用的高速IO设备比较勉强。
Boxboro:65nm工艺,约1亿晶体管
在前面,笔者分析了Nehalem-EX处理器内部架构相对于通常的Nehalem处理器的不同,此外,Nehalem-EX和通常的x86处理器很不同的一个地方是,它面向Mission Critical(关键任务)市场,相对于性能,这些市场上更加重要的是平台的可靠性。Nehalem-EX增加了相当多的RAS(Reliability, Availability, Serviceability:可靠性、可用性、稳定性)特性来满足关键任务计算的需求:
简单来说,RAS大约体现了系统的健壮性;Intel的安腾平台就带有很多RAS特性
传统的x86处理器难以进入关键领域的原因,就在于其RAS特性不足,可靠性不够,用户不敢在上面跑相关应用。Nehalem-EX的出现,将x86系统的可靠性带到了一个全新的水平,如图上所示,这些RAS特性非常多,大致总结如下:
Nehalem-EX RAS Features | ||||||
类别 | 功能 | 特性 | 说明 | |||
数据保护 | 降低关键级别错误 全系统数据错误检测 限制错误所致影响 | Parity checking and ECC 奇偶校验与ECC | ||||
Memory Themal Throttling 内存热量监控 | 防止内存过热 | |||||
Memory demand & patrol scrubbing 内存按需/轮询检查 | 提高全系统数据可靠性 | |||||
Corrupt data containment 污染数据隔离 | 限制错误数据造成的影响 | |||||
QPI viral mode QPI病毒模式 | 标记为Viral的数据包将被限制在QPI总线内而不会发送到设备上 | |||||
QPI rolling CRC QPI持续CRC校验 | QPI CRC校验扩展到两个连续的包 | |||||
高可用性 | 恢复失效数据链接 从失效部件迁移 从不可修正错误中恢复 故障预测 | Intel SMI Lane Failover SMI内存接口信道容错 | ||||
Intel SMI Clock Failover SMI内存接口时钟容错 | ||||||
Intel SMI & QPI Packet Retry SMI & QPI包重发 | ||||||
QPI Clock Failover QPI时钟容错 | ||||||
QPI Self-Healing QPI自愈 | ||||||
SDDC plus random bit error recovery 内存SDDC纠错与任意位错误恢复 | ||||||
Memory Mirroring 内存镜像 | ||||||
Memory DIMM and Rank Sparing 内存DIMM和Rank热备 | ||||||
Dynamic CPU and memory migration CPU/内存动态迁移 | 需要操作系统支持 | |||||
MCA-recovery with OS support MCA恢复 | 需要操作系统支持 | |||||
计划宕机时间最小化 | 分区模块化 替换失效组件 | Static System partitioning 静态系统分区 | 需要操作系统支持 | |||
MCA error logging (CMCI) with OS predictive failure analysis 用于操作系统失效分析预测的MCA错误记录 | ||||||
Physical Memory Board Hot Add/remove 物理内存卡热添加/热移除 | ||||||
Dynamic/OS Memory On-lining(capacity change) 动态内存在线(容量变更) | 需要操作系统支持 | |||||
Physical CPU Board Hot Add/remove 物理CPU卡热添加/热移除 | 需要操作系统支持 | |||||
OS CPU on-lining(capacity change) 动态CPU在线(容量变更) | 需要操作系统支持 |
在Intel正式宣传的文档中,提到的RAS特性就是上面22条,集中解决三个方面的问题:一是数据保护,利用CRC、ECC等硬件机制来对传输的数据进行校验、纠错,如果无法纠正,就将损坏的数据进行隔离,以保证不造成更大的数据,避免系统的重启和宕机。二是高可用性,包括各种主要部件的备、镜像和热切换等,以保证系统的高可用性。三是计划宕机时间最小化,包括系统分区管理技术、CPU和内存的热添加和热移除等,将系统维护时间降低到最小。
众多RAS特性通过CPU、芯片组的配合来达,首先,硬件通过Parity/ECC/CRC等手段尽量保障运行信号传输的正确性。
Boxboro的RAS特性
在硬件无法纠正所有错误的时候错,平台通过CMCI(Corrected Machine Check Interrupts)特性向软件报告,因为即使是硬件错误,也有些是可以接受的,例如,一些定时备份结果的计算只需要从最近的某一阶段重新开始计算即可,不需要因为某个硬件错误就程序崩溃,关键是软件需要知道这个错误的详细信息以进行判断:
Nehalem-EX平台提供了一系列需要联合OS/firmware进行的错误隔离以及错误恢复:
对无法纠正的数据,使用一个Poison(毒药)标记,OS/firmware可以知道这些数据在硬件层次上无法恢复,从而可以决定进行Retry或者丢弃
这些特性形成了一个完整的MCA架构(Machine Check Architecture):
Recoverable MCA系统可以在多个椭圆、方块表示的多个状态之间切换,并不会宕机
MCA是一个原来只在IA64架构处理器上才有的功能,MCA功能可以在不关机的情况下检查和纠正处理器、内存或者IO中的错误,在OS配合的情况可以对系统进行热维护,保障系统的不间断运行。据表示,包括微软Windows Server、RedHat、SUSELinux以及VMware等平台都已经支持这一功能。
Nehalem-EX家族11个产品的简介
目前,Nehalem-EX家族一共推出了11款产品,其中7500系列有8款,6500系列有3款。TDP分为95、105、130三个档次,照例用了L、E、X三个前缀,不过和TDP不是绝对的一一对应关系。8核心的Nehalem-EX一共有四款:X7560、X7550、X6550和L7555,四核心的有E7520和E6510,剩下的5款都是六核心的型号。
Nehalem-EX的频率普遍不高,最高的X7542也只达到了2.66GHz,然而其只有6个核心,并且QPI只有5.86GT/s。总体规格最高的是X7560,频率2.26GHz,8个核心,售价也是最高的:3838美元。我们收到的样机一共配置了四颗X7560。
附录:单路/双路Xeon规格表
Nehalem-EP/Nehalem-WS Xeon规格对照表
Westmere-EP Xeon规格对照表
我们收到的Nehalem-EX平台是4U规格,四路Nehalem-EX Xeon X7560和64个DIMM共256GB内存,比较少见的是在笔者的要求下,Intel提供了两个64GB的X25-E固态内存;整台机器由Intel和Quanta打造:
4U机架,前面版主要被4个风扇的进风口占据了
8个2.5"热插拔硬盘槽i和一个笔记本DVD-RW(还能刻录哦)
可以接2.5"的SAS硬盘,也可以接SSD……
数数,背后一共提供了11个空余全高挡板的位置,不过,其中最左边一条被一块O自LSI 9260-8i的阵列卡占用了(抱歉……Intel的型号实在记不住),剩下的十个插槽中有一条是PCIE 2.0 x16规格,其它的全部是x8规格
使用了4个冗余电源,确保机器可以全天候365天稳定运行(模拟线路的电源是电脑中故障率较高的部件)
台达出品,850W,因此要两个协同工作才能支撑整台服务器满负荷运行(后面我们可以看到机器的功耗需求)
打开机盖,可以发现,大部分的空间都被内存子系统占用了(另一个大空间则是扩展卡区间),内存前方是8个热插拔冗余暴力风扇模块,后方是处理器区域
内存模块上有众多的指示灯指示内存DIMM的工作状态,还有一个ATTN Button按钮,要进行热操作的时候需要用到
8个热插拔内存模块,每个模块对应CPU的一个内存控制器(SMI界面),使用两个SMI Link;每个内存模块里面有两个SMB芯片和一共8条内存
拿下所有内存模块之后,机器空了很多
使用的内存条除了芯片比较多之外没有什么特别之处;可能比较有趣的是,它们都是DDR3-1333规格的,不过在Nehalem-EX上只能运行在DDR3-1066
机器最中央的就是四个Nehalem-EX处理器的位置了
螺丝固定的高塔热管铜底铝片散热器
CPU与插槽
Nehalem-EX Xeon X7560……工程样品
八核心2.27GHz Nehalem-EX
上一代:六核心45nm Penryn Dunnington——Xeon 7400系列处理器
实际上,这台机器的网络子系统和显示、串口等IO系统是集成在同一块扩展卡上的:
很特别的插槽
四个千兆网口、一个VGA接口和一个9针串口
三个大芯片
SE-SM4210-P01实际上是一个集显示、IPMI/KVM等为一体的芯片,采用的显示核心为Matrox G200eW,它右边为其工作内存
Intel 82576NS网络芯片,代号Kawela,576NS是576EB的简化版,NS就是Non-Security的意思,它没有了IPsec Offload功能,除此之外如16/16 TX/RX Queue、8 RSS Queue以及8 VMDq Queue功能都保留了下来,关于这些特性的介绍,可以看这里:
Intel RS2BL080阵列卡,长的就和LSI MegaRAID 9260-8i阵列卡一模一样
PCI Express 2.0 x8接口;这个阵列基于800MHz的PPC 440处理器,512MB缓存
8个SAS 6Gb/s接口,支持RAID 0/1/3/5/6等
两个Intel X25-E固态硬盘,64GB,SLC芯片,企业规格
型号SSDSA2SH064G1GC,Firmware版本是8860,单价约是¥6000
测试在IT168评测中心新网络实验室机房进行,网络实验室的Cisco Catalyst 4506千兆交换机目前已经升级到3个模块,达到了一共120个千兆网络端口,还新购买了30台DELL PowerEdge T100服务器,配合原有的30台DELL PowerEdge SC430服务器以及30台PC作为网络测试的客户端,可以提供非常充足的测试压力。

网络实验室控制台

网络实验室机房

Cisco Catalyst 4506千兆交换机,120个千兆铜口

部分Dell PowerEdge SC430服务器
在新的测试环境下,我们进一步完善了服务器性能测试方案:
SPEC CPU 2006 v1.0.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、DCC以及科学计算等方面应用可以参考这个结果。SPECint测试过程中同时执行多个实例(instances),然后测试系统同时执行多个计算密集型整数操作的能力,可以很好的反映诸如数据库服务器、电子邮件服务器和Web服务器等基于整数应用的多处理器系统的性能。
我们在被测服务器中安装了Intel C++ 11.1.034 Compiler、Intel Fortran 11.1.034 Compiler这两款SPEC CPU 2006必需的编译器,通过最新出现的QxSSE4.2编译参数,Intel Compiler 10版本开始支持对Intel SSE4指令集进行优化(假如只支持SSE3,则使用QxT/QxSSE3编译参数)。我们另外安装了Microsoft Visual Studio 2003 SP1提供必要的库文件。按照SPEC的要求我们根据自己的情况编辑了新的Config文件,使用了较多的编译选项。我们根据被测系统选择实际可同时处理的线程数量,最后得到SPEC rate base测试结果(基于base标准编译,SPEC base rate测试代表系统同时处理多个任务的能力)。
和其它测试部件不同,SPEC CPU 2006需要大量的系统物理内存,我们的SPEC测试在64位的Windows Server 2008 R2 Datacentere下完成,对于每个运算核心,最低配置1.5GB内存。
SiSoftware Sandra v2010
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路平台。
WebBench v5.0
WebBench是针对服务器作为Web Server时的性能进行测试,我们在被测服务器上安装了IIS组件,以提供测试所需的Web服务。在测试中我们使用了网络实验室中的60台客户端,配置了120个测试引擎,分别使用了WebBench 5.0内置的动态CGI以及静态页面脚本对服务器进行了测试。
静态测试是由客户端读取预先放置在服务器Web Server下的Web页面(wbtree),这项测试主要考察的是服务器磁盘系统以及网络连接性能。我们使用了实验室中的56台客户端,配合Static_mt.tst多线程静态脚本测试向被测服务器发送请求。
动态测试偏重于对服务器CPU子系统的性能测试,它对于Web服务器提供了足够的负载。我们将一个C语言编写的CGI源文件Simcigi.c编译为Simcgi.exe,并将其作为动态测试中的CGI脚本。在测试过程中,每台安装了WebBench客户端软件的PC,会在300秒的时间内持续向服务器发送CGI请求,而控制台会纪录并汇总服务器所响应CGI请求的数据。CGI测试的成绩高低,主要取决于服务器处理器子系统性能的优劣。处理器子系统包括CPU、内存以及内存控制器,CPU频率、缓存以及内存容量大小和内存带宽,都会影响该项成绩。
Benchmark Factory for Databases 5.7.1g
我们选择了Benchmark Factory for Databases 5.7.1g软件来进行测试,它是我们之前使用的4.6的升级版本。
我们选择了BF内置的标准测试脚本AS3AP,这项测试可用于对于ANSI结构化查询语言(SQL)关系型数据库进行测试,它可用于测试DBMS(单用户微机数据库管理系统),也可用于测试高性能并行或者分布式数据库。关系性数据库就是用二维表格结构来表示实体及实体之间联系模型的数据库形式。
BF通过一台独立的控制台控制我们的60台服务器充当的客户端产生数据库测试压力,由于客户端所有的资源都用来产生数据库操作,因此可以给服务器施加相当大的测试压力。
CineBench R11.5
CineBench是基于Cinem4D工业三维设计软件引擎的测试软件,用来测试对象在进行三维设计时的性能,它可以同时测试处理器子系统、内存子系统以及显示子系统,在服务器测试平台中显示子系统不重要,因此就只有前两个的成绩具有意义。和大多数工业设计软件一样,CineBench可以完善地支持多核/多处理器,它的显示子系统测试基于OpenGL,不过我们不测试其显示子系统。
此外还有使用了一些比较小型的测试软件。
测试平台的结构就是Intel文档的标准结构
对比平台比较多,包括Nehalem-EP、Westmere-EP、Dunnington和Nehalem-EX,为了发挥Intel处理器的Turbo Boost能力,我们将Windows Server 2008 R2的电源计划设置为“高性能”;默认设置将不使用Turbo Mode。
注:DELL PowerEdge M910是个比较特别的平台,基于其FlexMem Bridge技术,内存方面受到一些影响:
64个逻辑处理器、256GB内存
一定要安装驱动程序……因为会协助认出很多硬件
处理器的组织方式也和通常机器不同,每一个处理器在一个ACPI Module Device类下面,包含了16个逻辑处理器
其中一个Boxboro(7500) IOH芯片上的设备
ICH10R连接在这个IOH上
另一个IOH上则没有什么设备,机器背板右方的扩展口就连接到这个IOH上
这个PCI bus下面的一堆设备其实是CPU1上的东西,如Caching Agent、QPI Home Agent、QPI Port、SMI Port、Memory Controller等
非常复杂
这么复杂的意义就是为了容错,每一个CPU模块乃至IOH芯片上的一些设备都可以进行热添加/删除
默认频率1.066GHz,在EIST的作用下
正常工作频率是2.27GHz
Turbo Boost之后可以达到最高的2.67GHz
QSSC-S4R主板
256GB内存,参数一概认不出来
SPD读不出来
默认显示器……如非必要笔者一般是不会装上显卡驱动的
SiSoftware Sandra是一款可运行在32bit和64bit Windows操作系统的分析软件,它可以对于系统进行方便、快捷的基准测试,还可以用于查看系统的软件、硬件等信息。SiSoftware Sandra所有的基准测试都针对SMP和SMT进行了优化。我们利用了其中多个性能测试模块对于被测系统的性能进行了快速的测试。
SiSoftware Sandra Pro Business 2010 | ||||||
---|---|---|---|---|---|---|
测试对象 | 双路Intel Nehalem-EP Xeon X5570 2.93GHz | 双路Intel Westmere-EP Xeon X5670 2.93GHz | 双路Intel Westmere-EP Xeon X5680 3.33GHz | Dawning I840-H 四路Intel Dunnington Xeon X7460 2.66GHz @Sandra 2009 | DELL PowerEdge M910 四路Intel Nehalem-EX Xeon E7540 2.0GHz | 四路Intel Nehalem-EX Xeon X7560 2.27GHz |
Processor Arithmetic Benchmark 处理器算术性能测试 | ||||||
Aggregate Arithmetic Performance | 147.17GOPS | 218.69GOPS | 249.2GOPS | 298.6GOPS | 451.7GOPS | |
Dhrystone iSSE4.2 | 172.5GIPS | 257GIPS | 291.36GIPS | 292201MIPS | 350.47GIPS | 518.5GIPS |
Whetstone iSSE3 | 121.84GFLOPS | 180.41GFLOPS | 207GFLOPS | 208685MFLOPS | 246.73GFLOPS | 385GFLOPS |
Processor Multi-Media Benchmark 处理器多媒体性能测试 | ||||||
Aggregate Multi-Media Performance | 277MPixel/s | 410.36MPixel/s | 465.8MPixel/s | 753.51MPixel/s | 562.11MPixel/s | 852.7MPixel/s |
Multi-Media Int x16 iSSE4.1 | 317.13MPixel/s | 470.51MPixel/s | 534.13MPixel/s | 283.27MPixel/s | 646.86MPixel/s | 979.21MPixel/s |
Multi-Media Float x8 iSSE2 | 237MPixel/s | 350.2MPixel/s | 397.47MPixel/s | 501.36MPixel/s | 477.37MPixel/s | 726.17MPixel/s |
Multi-Media Double x4 iSSE2 | 128.62MPixel/s | 190.87MPixel/s | 216.17MPixel/s | 260.18MPixel/s | 260MPixel/s | 394.66MPixel/s |
Multi-Core Efficiency Benchmark 多核效率测试 | ||||||
Inter-Core Bandwidth | 71.15GB/s | 80.7GB/s | 84GB/s | 12.88GB/s | ||
Inter-Core Latency (越小越好) | 18ns | 18ns | 16ns | 110ns | ||
Cryptography Benchmark 加密解密性能测试 | ||||||
Cryptographic Bandwidth | 1.26GB/s | 10.33GB/s | 11.72GB/s | 3GB/s | 4.51GB/s | |
AES128-ECB iAES Cryptographic Bandwidth | 1GB/s | 18.45GB/s | 21GB/s | 2.88GB/s | 4.36GB/s | |
SHA256 iSSE4 Hashing Bandwidth | 1.49GB/s | 2.22GB/s | 2.52GB/s | 3GB/s | 4.66GB/s | |
.NET Arithmetic Benchmark .NET算术性能测试 | ||||||
Aggregate .NET Performance | 55.84GOPS | 73.6GOPS | 80.22GOPS | 89.47GOPS | 134.76GOPS | |
Dhrystone .NET | 32.11GIPS | 32.2GIPS | 37GIPS | 75397MIPS | 31.67GIPS | 49.18GIPS |
Whetstone .NET | 79.56GFLOPS | 115GFLOPS | 123.43GFLOPS | 136088MFLOPS | 147.26GFLOPS | 220.35GFLOPS |
.NET Multi-Media Benchmark .NET多媒体性能测试 | ||||||
Aggregate .NET Multi-Media Performance | 42.13MPixel/s | 63.18MPixel/s | 71.4MPixel/s | 90MPixel/s | 136.17MPixel/s | |
Multi-Media Int x1 .NET | 59MPixel/s | 88.64MPixel/s | 100.36MPixel/s | 119.30MPixel/s | 127.38MPixel/s | 191.7MPixel/s |
Multi-Media Float x1 .NET | 25.22MPixel/s | 37.73MPixel/s | 42.42MPixel/s | 31.74MPixel/s | 52.7MPixel/s | 80.64MPixel/s |
Multi-Media Double x1 .NET | 48.3MPixel/s | 68.45MPixel/s | 78.48MPixel/s | 58.72MPixel/s | 102.48MPixel/s | 156.37MPixel/s |
四路32核心64线程果然不同凡响,451.7GOPS(整数518.5GIPS浮点385GFLOPS)比最高端的双路X5680高了81%(整数78%浮点86%),不过,Nehalem-EX在加密测试上敌不过具有AES增强指令集的Westmere-EP。
和若干平台的对比图
SiSoftware Sandra的处理器测试还算比较快捷的,不过内存缓存测试方面就极耗费时间了。
SiSoftware Sandra Pro Business 2010 | ||||||
---|---|---|---|---|---|---|
测试对象 | 双路Intel Nehalem-EP Xeon X5570 2.93GHz | 双路Intel Westmere-EP Xeon X5670 2.93GHz | 双路Intel Westmere-EP Xeon X5680 3.33GHz | Dawning I840-H 四路Intel Dunnington Xeon X7460 2.66GHz @Sandra 2009 | DELL PowerEdge M910 四路Intel Nehalem-EX Xeon E7540 2.0GHz | 四路Intel Nehalem-EX Xeon X7560 2.27GHz |
Memory Bandwidth Benchmark 内存带宽测试 | ||||||
Aggregate Memory Performance | 38GB/s | 35GB/s | 35.2GB/s | 33.86GB/s | 65.76GB/s | |
Int Buff'd iSSE2 Memory Bandwidth | 38GB/s | 35GB/s | 35.2GB/s | 3.49GB/s | 33.86GB/s | 65.76GB/s |
Float Buff'd iSSE2 Memory Bandwidth | 38GB/s | 35GB/s | 35.18GB/s | 3.49GB/s | 33.85GB/s | 65.77GB/s |
Memory Latency Benchmark(Random) 内存延迟测试(随机) | ||||||
Memory(Random Access) Latency (越小越好) | 80ns | 83ns | 82ns | 192ns | 149ns(min) | |
Speed Factor (越小越好) | 55.50 | 57.00 | 64.60 | 98.10 | 94.50 | |
Internal Data Cache | 4clocks | 4clocks | 4clocks | 4clocks | 3~4clocks | |
L2 On-board Cache | 11clocks | 10clocks | 10clocks | 10clocks | 9~10clocks | |
L3 On-board Cache | 49clocks | 57clocks | 60clocks | 84clocks | 66~70clocks | |
Memory Latency Benchmark(Linear) 内存延迟测试(线性) | ||||||
Memory(Linear Access) Latency (越小越好) | 7ns | 7ns | 7ns | 41ns | 36ns(min) | |
Speed Factor (越小越好) | 4.80 | 5.10 | 5.50 | 20.70 | 20.20 | |
Internal Data Cache | 4clocks | 4clocks | 4clocks | 4clocks | 3~4clocks | |
L2 On-board Cache | 10clocks | 11clocks | 11clocks | 10clocks | 9~10clocks | |
L3 On-board Cache | 13clocks | 13clocks | 13clocks | 34clocks | 27~28clocks | |
Cache and Memory Benchmark 缓存及内存测试 | ||||||
Cache/Memory Bandwidth | 142GB/s | 183.26GB/s | 195.6GB/s | 315GB/s | 510.58GB/s | |
Speed Factor (越小越好) | 21.20 | 31.00 | 35.20 | 34.80 | 26.90 | |
Internal Data Cache | 471GB/s | 663.51GB/s | 744.49GB/s | 919.66GB/s | 1.3TB/s | |
L2 On-board Cache | 295.4GB/s | 537.88GB/s | 611GB/s | 749GB/s | 909.27GB/s | |
L3 On-board Cache | 112GB/s | 146.33GB/s | 159GB/s | 336.6GB/s | 571.35GB/s |
很明显,同样为Nehalem-EX,官方平台比M910对比平台的内存带宽高了一倍达到了65.76GB/s,是上一代Dunnington的18.8倍,是优异双路X5680的1.87倍。M910在四路配置下每个处理器仅使用了两个内存控制器的其中一个,从结果来看影响巨大。
测试样机使用了两个内存控制器——通常的Nehalem-EX机器都应该这样,这样不仅内存带宽翻倍,连内存延迟也有所下降,幅度大约在20%左右,当然,还是要比双路产品线要明显高不少。L1/L2/L3延迟的略为降低应该是跟处理器主频相关,和内存控制器关系不大。
最后,Nehalem-EX的L3总带宽达到了571.35GB/s,双路Westmere-EP Xeon X5680则是159GB/s,增强的带宽和Nehalem-EX的CPU总数以及每CPU的核心数量有关,此外,我们也可以看到环形总线的威力。
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项。
462.libquantum 物理:量子计算的得分很惊人:1550,它导致了其它得分条的整体缩短……已经知道,这个测试和内存延迟、内存带宽很有关系,因此M910表现不佳,其他的双路Xeon得分差不多。
整体来看,四路八核心Xeon X7560平台的整数吞吐量比最高的双路六核心Xeon X5680平台高83.2%,比仅使用了单个内存控制器的四路六核心Xeon E7540高79.8%,比四路六核心Xeon X7460(上一代四路)高241.9%,在所有项目中都很突出,只有在403.gcc C编译器项目中和各个平台表现差不多。
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项测试。
有两个测试项目很特别:433.milc 量子力学和465.tonto 量子化学,其他的项目X7560平台都很明显占优。整体来看,四路八核心Xeon X7560平台的浮点吞吐量比最高的双路六核心Xeon X5680平台高90.5%,比四路六核心Xeon E7540高130.4%,比四路六核心Xeon X7460(上一代四路)高241.1%,整个测试表明更高的内存带宽在浮点运算中是较有优势的。
CineBench R11.5是最新的版本,上一个CineBench R10最多支持16个逻辑处理器,在很多测试中受到了明显的限制,幸好R11.5升级到最多支持64个逻辑处理器,不过,需要手动进行设置一个参数。仍然不是很方便。
R11.5默认只使用32个测试线程
手动配置后得以以64线程运行
不过仍然显示为32线程
CineBench R11.5 64bit | |||||
处理器 | 双路Intel Nehalem-EP Xeon X5570 | 双路Intel Westmere-EP Xeon X5670 | 双路Intel Westmere-EP Xeon X5680 | DELL PowerEdge M910 四路Intel Nehalem-EX Xeon E7540 | 四路Intel Nehalem-EX Xeon X7560 |
显卡 | - | - | - | - | - |
CPU Benchmark | |||||
Rendering (1 CPU) | 1.02 pts | 1.02 pts | 1.16 pts | 0.78 pts | 0.92 pts |
Rendering (x CPU) | 9.92 pts | 14.58 pts | 16.40 pts | 19.26 pts | 27.08 pts |
Threads | 16 | 24 | 24 | 48 | 64 |
Multiprocessor Speedup | 9.68x | 14.33x | 14.18x | 24.65x | 29.43x |
幸运的是,测试样机的逻辑处理器刚好达到CineBench R11.5的支持上限。从总分上看,它是优异双路的1.65倍。单核心渲染能力上则是优异双路的80%。
MMM - Matrix-Matrix Multiplicaion Benchmark | |||||
处理器 | 双路Intel Nehalem-EP Xeon X5570 | 双路Intel Westmere-EP Xeon X5670 | 双路Intel Westmere-EP Xeon X5680 | DELL PowerEdge M910 四路Intel Nehalem-EX Xeon E7540 | 四路Intel Nehalem-EX Xeon X7560 |
单位 | GFLOPS | GFLOPS | GFLOPS | GFLOPS | GFLOPS |
Threads 1 | |||||
5000 step | 7.821975 | 7.842319 | 8.877563 | 5.867645 | 7.036748 |
10000 step | 7.890761 | 7.840417 | 8.883291 | 5.865347 | 7.034792 |
15000 step | 7.888751 | 7.845479 | 8.881528 | 5.826604 | 6.960592 |
Threads 2 | |||||
5000 step | 15.59136 | 15.62796 | 17.5891 | 11.570261 | 13.979099 |
10000 step | 15.7544 | 15.66469 | 17.73566 | 11.689317 | 14.032266 |
15000 step | 15.7445 | 15.64657 | 17.67208 | 11.602247 | 13.89951 |
Threads 4 | |||||
5000 step | 30.69218 | 29.99696 | 34.85343 | 21.788607 | 27.555005 |
10000 step | 31.02227 | 29.75883 | 34.90105 | 22.21115 | 27.685804 |
15000 step | 31.04954 | 30.55926 | 34.92557 | 22.073702 | 27.297404 |
Threads 8 | |||||
5000 step | 36.2252 | 49.03697 | 45.99856 | 41.228878 | 49.518835 |
10000 step | 38.21083 | 50.30305 | 45.99856 | 43.472432 | 49.767277 |
15000 step | 40.71236 | 56.00031 | 47.74417 | 43.37777 | 49.750117 |
Threads 16 | |||||
5000 step | 59.38371 | 64.04222 | 66.10022 | 73.379889 | 47.855051 |
10000 step | 61.44583 | 62.42291 | 72.38159 | 78.596851 | 48.320744 |
15000 step | 61.83442 | 64.3761 | 73.2495 | 79.099092 | 48.421492 |
Threads 24 | |||||
5000 step | 54.82514 | 84.13599 | 66.10022 | 94.000418 | 70.233111 |
10000 step | 54.82514 | 88.58685 | 72.38159 | 124.028823 | 71.502532 |
15000 step | 59.18915 | 90.12297 | 73.2495 | 124.574801 | 71.685326 |
Threads 32 | |||||
5000 step | 96.076302 | ||||
10000 step | 97.64478 | ||||
15000 step | 98.195937 | ||||
Threads 48 | |||||
5000 step | 97.335138 | 136.623189 | |||
10000 step | 119.780984 | 142.50301 | |||
15000 step | 121.637469 | 145.534244 | |||
Threads 64 | |||||
5000 step | 137.141474 | ||||
10000 step | 182.49902 | ||||
15000 step | 185.098571 |
MMM是一个类似矩阵乘法基准测试软件,得到的结果单位是GFLOPS,也就是说它是一个浮点测试。可以看到,X7560平台最终展示了185.1GFLOPS的计算能力。MMM和Linpack一样,都能充分地利用CPU运算核心的能力,因此它实际上建议关闭超线程来测试。
SunGard Adaptiv Analytics Benchmark v4.0 | |||||
处理器 | 双路Intel Nehalem-EP Xeon X5570 | 双路Intel Westmere-EP Xeon X5670 | 双路Intel Westmere-EP Xeon X5680 | DELL PowerEdge M910 四路Intel Nehalem-EX Xeon E7540 | 四路Intel Nehalem-EX Xeon X7560 |
Threads | 16 | 24 | 24 | 48 | 64 |
Time (lower is better) | 138.076s | 110.331s | 94.911s | 139.512s | 104.925s |
对于SunGard风险分析管理套件基准测试程序来说,多线程有其优势,不过高频率带来的好处也不少,X7560平台的表现不错。
black_scholes | |||||
处理器 | 双路Intel Nehalem-EP Xeon X5570 | 双路Intel Westmere-EP Xeon X5670 | 双路Intel Westmere-EP Xeon X5680 | DELL PowerEdge M910 四路Intel Nehalem-EX Xeon E7540 | 四路Intel Nehalem-EX Xeon X7560 |
Threads | 16 | 24 | 24 | 48 | 64 |
Time (lower is better) | 9.17s | 6.16s | 5.51s | 4.40s | 2.78s |
black_scholes是对布莱克-肖尔斯期权定价模型进行计算,布莱克-肖尔斯期权定价模型是由1997诺贝尔经济学奖的两个获得者创立和发展的模型。看起来这个测试对多线程的支持不错,X7560平台成绩是2.78秒。
EVEREST主要是一个系统信息查看工具,它也具有一些性能测试项目,可以用来参考,不过我们发现它对四路Nehalem-EX这样有些复杂的拓扑结构的多路产品的测试不太好用:
EVEREST Ultimate Edition 5.50.2100 Benchmark Module 2.5.292.0 | |||||
---|---|---|---|---|---|
测试对象 | 双路Intel Nehalem-EP Xeon X5570 | 双路Intel Westmere-EP Xeon X5670 | 双路Intel Westmere-EP Xeon X5680 | DELL PowerEdge M910 四路Intel Nehalem-EX Xeon E7540 @16x LCPU | 四路Intel Nehalem-EX Xeon X7560 @16x LCPU |
内存读取 | 14279 MB/s | 13293 MB/s | 13689 MB/s | 3568 MB/s | 5912 MB/s |
内存写入 | 8865 MB/s | 7526 MB/s | 8324 MB/s | 2143 MB/s | 3382 MB/s |
内存复制 | 11878 MB/s | 10430 MB/s | 10616 MB/s | 2753 MB/s | 4531 MB/s |
内存潜伏 | 64.5 ns | 68.7 ns | 67.0 ns | 16.6 ns | 21.2 ns |
CPU Queen | 46138 | 46082 | 52461 | 32185 | 73861 |
CPU PhotoWorxx | 58330 | 73372 | 73828 | 58556 | 113653 |
CPU ZLib | 193850 KB/s | 282989 KB/s | 319463 KB/s | 236148 KB/s | 296569 KB/s |
CPU AES | 46774 | 849298 | 844363 | 32098 | 74727 |
FPU Julia | 22410 | 32730 | 37178 | 0 | 0 |
FPU Mandel | 12096 | 16349 | 18583 | 0 | 0 |
FPU SinJulia | 10978 | 16429 | 18706 | 0 | 0 |
仅用来参考参考。
解读:w/HTT的意思是with HTT,也就是“在超线程状态下”,w/o HTT意思是without HTT,也就是“不在超线程状态下”,TB则是Turbo Boost睿频技术,4P24C48T指的是4处理器(Processors)、24核心(Cores)、48线程(Threads)。依此类推。GbE是Gigabit Ethernet(千兆以太网),4 GbE Ports表示使用了4个千兆端口。
30万的TPS并不高……感觉并没有充分发挥出来,瓶颈在网络子系统上……不过这个问题比较复杂,使用一个工作在1G速率的10G以太网卡也能达到26万的成绩,只是这个网卡具有比通常网卡具有更多地TX/RX/RSS队列。要完全表明其性能,还是需要升级到全万兆网络。当然,如果将X7560平台分成多个独立的数据库服务器,总吞吐量应该还可以提升。
笔者还进行了开关超线程的测试,以对比在Nehalem-EX平台上超线程起到的影响力度:
SiSoftware Sandra Pro Business 2010 | ||||
---|---|---|---|---|
测试对象 | 双路Intel Westmere-EP Xeon X5680 3.33GHz | DELL PowerEdge M910 四路Intel Nehalem-EX Xeon E7540 2.0GHz | 四路Intel Nehalem-EX | 四路Intel Nehalem-EX Xeon X7560 2.27GHz |
Processor Arithmetic Benchmark 处理器算术性能测试 | ||||
Aggregate Arithmetic Performance | 249.2GOPS | 298.6GOPS | 337.12GOPS | 451.7GOPS |
Dhrystone iSSE4.2 | 291.36GIPS | 350.47GIPS | 440GIPS | 518.5GIPS |
Whetstone iSSE3 | 207GFLOPS | 246.73GFLOPS | 234.22GFLOPS | 385GFLOPS |
Processor Multi-Media Benchmark 处理器多媒体性能测试 | ||||
Aggregate Multi-Media Performance | 465.8MPixel/s | 562.11MPixel/s | 752.77MPixel/s | 852.7MPixel/s |
Multi-Media Int x16 iSSE4.1 | 534.13MPixel/s | 646.86MPixel/s | 860.65MPixel/s | 979.21MPixel/s |
Multi-Media Float x8 iSSE2 | 397.47MPixel/s | 477.37MPixel/s | 644.9MPixel/s | 726.17MPixel/s |
Multi-Media Double x4 iSSE2 | 216.17MPixel/s | 260MPixel/s | 324.72MPixel/s | 394.66MPixel/s |
Multi-Core Efficiency Benchmark 多核效率测试 | ||||
Inter-Core Bandwidth | 84GB/s | 126.76GB/s | ||
Inter-Core Latency (越小越好) | 16ns | 76ns | ||
Cryptography Benchmark 加密解密性能测试 | ||||
Cryptographic Bandwidth | 11.72GB/s | 3GB/s | 4.46GB/s | 4.51GB/s |
AES128-ECB iAES Cryptographic Bandwidth | 21GB/s | 2.88GB/s | 4GB/s | 4.36GB/s |
SHA256 iSSE4 Hashing Bandwidth | 2.52GB/s | 3GB/s | 4.88GB/s | 4.66GB/s |
.NET Arithmetic Benchmark .NET算术性能测试 | ||||
Aggregate .NET Performance | 80.22GOPS | 89.47GOPS | 128.11GOPS | 134.76GOPS |
Dhrystone .NET | 37GIPS | 31.67GIPS | 101.25GIPS | 49.18GIPS |
Whetstone .NET | 123.43GFLOPS | 147.26GFLOPS | 155GFLOPS | 220.35GFLOPS |
.NET Multi-Media Benchmark .NET多媒体性能测试 | ||||
Aggregate .NET Multi-Media Performance | 71.4MPixel/s | 90MPixel/s | 107.7MPixel/s | 136.17MPixel/s |
Multi-Media Int x1 .NET | 100.36MPixel/s | 127.38MPixel/s | 167.4MPixel/s | 191.7MPixel/s |
Multi-Media Float x1 .NET | 42.42MPixel/s | 52.7MPixel/s | 48MPixel/s | 80.64MPixel/s |
Multi-Media Double x1 .NET | 78.48MPixel/s | 102.48MPixel/s | 89.36MPixel/s | 156.37MPixel/s |
总运算性能明显地下降了,不过多核效率测试神奇地可以运行了。少数测试在关闭超线程状态下运行得更好:SHA256 iSSE4 Hashing Bandwidth和Dhrystone .NET Arithmetic Benchmark。
SiSoftware Sandra Pro Business 2010 | ||||
---|---|---|---|---|
测试对象 | 双路Intel Westmere-EP Xeon X5680 3.33GHz | DELL PowerEdge M910 四路Intel Nehalem-EX Xeon E7540 2.0GHz | 四路Intel Nehalem-EX Xeon X7560 2.27GHz 超线程关闭 | 四路Intel Nehalem-EX Xeon X7560 2.27GHz |
Memory Bandwidth Benchmark 内存带宽测试 | ||||
Aggregate Memory Performance | 35.2GB/s | 33.86GB/s | 57.84GB/s | 65.76GB/s |
Int Buff'd iSSE2 Memory Bandwidth | 35.2GB/s | 33.86GB/s | 57.87GB/s | 65.76GB/s |
Float Buff'd iSSE2 Memory Bandwidth | 35.18GB/s | 33.85GB/s | 57.81GB/s | 65.77GB/s |
Memory Latency Benchmark(Random) 内存延迟测试(随机) | ||||
Memory(Random Access) Latency (越小越好) | 82ns | 192ns | 148ns(min) | 149ns(min) |
Speed Factor (越小越好) | 64.60 | 98.10 | 96.40 | 94.50 |
Internal Data Cache | 4clocks | 4clocks | 3clocks | 3~4clocks |
L2 On-board Cache | 10clocks | 10clocks | 9clocks | 9~10clocks |
L3 On-board Cache | 60clocks | 84clocks | 56~57clocks | 66~70clocks |
Memory Latency Benchmark(Linear) 内存延迟测试(线性) | ||||
Memory(Linear Access) Latency (越小越好) | 7ns | 41ns | 40ns(min) | 36ns(min) |
Speed Factor (越小越好) | 5.50 | 20.70 | 19.50 | 20.20 |
Internal Data Cache | 4clocks | 4clocks | 3clocks | 3~4clocks |
L2 On-board Cache | 11clocks | 10clocks | 9clocks | 9~10clocks |
L3 On-board Cache | 13clocks | 34clocks | 27~28clocks | 27~28clocks |
Cache and Memory Benchmark 缓存及内存测试 | ||||
Cache/Memory Bandwidth | 195.6GB/s | 315GB/s | 410.41GB/s | 510.58GB/s |
Speed Factor (越小越好) | 35.20 | 34.80 | 23.60 | 26.90 |
Internal Data Cache | 744.49GB/s | 919.66GB/s | 973.74TB/s | 1.3TB/s |
L2 On-board Cache | 611GB/s | 749GB/s | 1.32TB/s | 909.27GB/s |
L3 On-board Cache | 159GB/s | 336.6GB/s | - | 571.35GB/s |
总带宽有所下降,延迟也有所下降~随机缓存延迟甚至降到了Westmere-EP的水平,不过线性访问延迟变化不大。
关闭超线程之后,整数运算吞吐量下降了15.6%,缓过来是打开超线程提升了18.5%,有一个项目是关闭超线程运行性能较高的:429.mcf 组合优化。
超线程对浮点的影响较小,这一点和其他Nehalem是一样的,这是因为这些程序能较高效率地利用运算单元。关闭超线程后吞吐量下降了9.1%,换过来是打开超线程提升10%。不少项目是关闭超线程比较好,不过差别也不大,一般选打开就可以了。
CineBench R11.5 64bit | ||||
处理器 | 双路Intel Westmere-EP Xeon X5680 | DELL PowerEdge M910 四路Intel Nehalem-EX Xeon E7540 | 四路Intel Nehalem-EX Xeon X7560 超线程关闭 | 四路Intel Nehalem-EX Xeon X7560 |
显卡 | - | - | - | - |
CPU Benchmark | ||||
Rendering (1 CPU) | 1.16 pts | 0.78 pts | 0.92 pts | 0.92 pts |
Rendering (x CPU) | 16.40 pts | 19.26 pts | 15.70 pts | 27.08 pts |
Threads | 24 | 48 | 32 | 64 |
Multiprocessor Speedup | 14.18x | 24.65x | 17.14x | 29.43x |
CineBench受超线程影响很大,降低了42%的性能。
MMM - Matrix-Matrix Multiplicaion Benchmark | ||||
处理器 | 双路Intel Westmere-EP Xeon X5680 | DELL PowerEdge M910 四路Intel Nehalem-EX Xeon E7540 | 四路Intel Nehalem-EX Xeon X7560 超线程关闭 | 四路Intel Nehalem-EX Xeon X7560 |
单位 | GFLOPS | GFLOPS | GFLOPS | GFLOPS |
Threads 1 | ||||
5000 step | 8.877563 | 5.867645 | 6.965506 | 7.036748 |
10000 step | 8.883291 | 5.865347 | 6.974666 | 7.034792 |
15000 step | 8.881528 | 5.826604 | 6.935187 | 6.960592 |
Threads 2 | ||||
5000 step | 17.5891 | 11.570261 | 13.944669 | 13.979099 |
10000 step | 17.73566 | 11.689317 | 13.984364 | 14.032266 |
15000 step | 17.67208 | 11.602247 | 13.920488 | 13.89951 |
Threads 4 | ||||
5000 step | 34.85343 | 21.788607 | 27.715225 | 27.555005 |
10000 step | 34.90105 | 22.21115 | 27.846714 | 27.685804 |
15000 step | 34.92557 | 22.073702 | 27.702342 | 27.297404 |
Threads 8 | ||||
5000 step | 45.99856 | 41.228878 | 49.714209 | 49.518835 |
10000 step | 45.99856 | 43.472432 | 50.227199 | 49.767277 |
15000 step | 47.74417 | 43.37777 | 50.514463 | 49.750117 |
Threads 16 | ||||
5000 step | 66.10022 | 73.379889 | 96.880558 | 47.855051 |
10000 step | 72.38159 | 78.596851 | 99.776303 | 48.320744 |
15000 step | 73.2495 | 79.099092 | 99.385572 | 48.421492 |
Threads 24 | ||||
5000 step | 66.10022 | 94.000418 | 138.717733 | 70.233111 |
10000 step | 72.38159 | 124.028823 | 148.818098 | 71.502532 |
15000 step | 73.2495 | 124.574801 | 148.054922 | 71.685326 |
Threads 32 | ||||
5000 step | 151.664487 | 96.076302 | ||
10000 step | 184.741778 | 97.64478 | ||
15000 step | 183.894563 | 98.195937 | ||
Threads 48 | ||||
5000 step | 97.335138 | 136.623189 | ||
10000 step | 119.780984 | 142.50301 | ||
15000 step | 121.637469 | 145.534244 | ||
Threads 64 | ||||
5000 step | 137.141474 | |||
10000 step | 182.49902 | |||
15000 step | 185.098571 |
打开关闭的峰值计算性能都差不多,表明了这些程序对运算单元的利用率高,超线程起到的作用不太大。
SunGard Adaptiv Analytics Benchmark v4.0 | ||||
处理器 | 双路Intel Westmere-EP Xeon X5680 | DELL PowerEdge M910 四路Intel Nehalem-EX Xeon E7540 | 四路Intel Nehalem-EX Xeon X7560 超线程关闭 | 四路Intel Nehalem-EX Xeon X7560 |
Threads | 24 | 48 | 32 | 64 |
Time (lower is better) | 94.911s | 139.512s | 66.986s | 104.925s |
这个程序本身就推荐关闭超线程运行。
black_scholes | ||||
处理器 | 双路Intel Westmere-EP Xeon X5680 | DELL PowerEdge M910 四路Intel Nehalem-EX Xeon E7540 | 四路Intel Nehalem-EX Xeon X7560 超线程关闭 | 四路Intel Nehalem-EX Xeon X7560 |
Threads | 24 | 48 | 32 | 64 |
Time (lower is better) | 5.51s | 4.40s | 3.21s | 2.78s |
这个程序可以有效地利用多线程。
关闭超线程也能达到分峰值26万的TPS,大约是打开超线程的86.8%,降低了13.2%,总的来说,四路系统下,超线程的影响低于笔者在二路系统中看到的幅度,部分地是由于线程数量已经多到了一定的程度,要使用8路Nehalem-EX系统时,一共达到64个核心128个线程,这时对操作系统、驱动、应用软件都有一定的考验。
我们利用Aitek AWE2101数字功率计和配套的软件测试了整个服务器平台在几种不同的状态下的功耗,AWE2101是一个高精度的数字功耗测试仪:
测试使用了常用的烤机Prime95软件,也测定了数据库基准测试下的功耗:
功耗(W) | |||||
项目 | 关机 | IDLE | Prime95 64bit SmallFFTs | Prime95 64bit In-place large FFTs | SQL2005测试 1500虚拟用户数量 |
HTToff | 30 | 756 | 1161 | 1350 | - |
HTTon | 30 | 756 | 1201 | 1370 | 1080 |
之前的Dunnington测试,测试方法不同,仅供参考
关机时也有一定的功耗,这是因为四个冗余电源仍有一些电路在工作,不过,买来这么贵的服务器天天不开机就是暴殄天物。机器闲置时功耗756W,用Prime95时最大功耗可以达到1370W,在数据库测试时在1080W左右。
启动计时 | |
按下开关到引导OS | 3:30 |
OS启动 | 0:50 |
合计 | 4:20 |
高配置的服务器启动都比较慢,例如,这台机器启动就花了4分20秒。启动过程包含了内存的检测和阵列卡的启动(已经关闭网络启动)。
【IT168评测中心】Nehalem-EX(至强7500和6500系列)是Intel年初推出的面向可扩展系统(2路到128路)的处理器平台,它的特点就是可扩展、高可靠性(众多的RAS特性),接手的是Xeon 7400系列的多路服务器平台产品线。为了符合Nehalem-EX最多8个核心的设计,Intel为其开发了环形的内部互联总线,外围电路也和普通的Nehalem很不相同。
Nehalem-EX:至强7500系列和6500系列
在可扩展和高可靠性这两点上,Nehalem-EX都比上一代的Dunnington(就是至强7400系列)有了非常大的进步,并且,Nehalem架构对性能的巨大影响也非常重要,特别是考虑到竞争对手在四路市场的影响力的时候。相信Nehalem-EX不仅仅是对X86的竞争对手,对RISC界的竞争对手也造成了很大的压力。因为Intel的Converged Core(融合核心)策略,现在Intel的几乎所有的产品线都采用了Nehalem架构,应用可以跑在所有的平台上,可以享用通用的软件优化。这增强了Nehalem-EX在四路市场上的竞争力。
45nm八核心:Nehalem-EX晶圆图
Nehalem-EX架构图(附带内存子系统)
测试上,优异配置的Nehalem-EX比优异配置的Westmere-EP和Dunnington提升了80%左右的理论计算能力,以及241%的SPEC CPU 2006得分,后者可以代表着大量的实际应用。实际应用性能的数倍提升,依赖于核心的增加,以及直联架构(IMC和QPI)带来的改变,因为Dunnington受到了FSB总线和内存带宽的巨大限制。
Intel Nehalem-EX官方测试样机:外表不凡,内里更是不凡!
虽然实际表现很不错,然而就笔者来看,Nehalem-EX还不足够完美。不过Nehalem架构的引入已经奠定了基础,下一代的Westmere-EX将更接近完美:达到10个核心20个线程、更接近常用平台的运行频率以及更快的内存,总的来说,Nehalem-EX让Intel的多路产品线焕然一新。
2008.08/2008.10,45nm Nehalem Core i7发布:
再攀性能之巅 Intel全新酷睿i7深度评测
2009.03,45nm Nehalem Xeon发布:
Intel Nehalem-EP处理器首发深度评测
2009.05,45nm Dunnington Xeon评测:
曙光I840四路六核Dunnington服务器评测
2010.03,32nm Westmere Core i7发布:
"芯"酷睿性能巅峰 六核i7-980X首发评测
2010.03,32nm Westmere Xeon发布:
Intel 32nm Westmere-EP处理器首发评测
2010.03,45nm Nehalem-EX Xeon发布:
X86巅峰 Intel Nehalem-EX架构深入解析