服务器 频道

从Xeon LV处理器解读Core微架构

  Xeon LV处理器

  优点

  • 出色的能效比
  • TDP只有31W,大大简化散热系统
  • 性能较高,可提供相当于双Xeon 3.0GHz系统的性能

  缺点

  • 不支持64bit应用

  TYAN S5365主板

  优点

  • 率先支持Xeon LV处理器
  • 可用于塔式服务器和机架式服务器

  缺点

  • 没有整合SCSI控制器,需扩展卡

  【IT168评测中心】今年是Intel的“双核年”。继去年发布了用于高端桌面平台和入门级工作站服务器平台的Pentium D系列双核处理器,用于移动平台的Core Duo系列双核处理器和用于服务器平台的双核Xeon 2.8GHz(Paxville DP)处理器之后,Intel会在今年进一步扩展双核产品,并且计划利用Core微架构“统一”这三大平台。Intel已经向媒体确认今年会陆续发布用于移动平台的Merom核心,用于桌面平台的Conroe核心以及用于服务器平台的Woodcrest核心的一系列处理器。

  今年英特尔先后有两个动作在为全新的基于Core微架构的Woodcrest处理器的面市做铺垫。其中之一,就是今年3月份Intel发布的代号为“Sossaman”的低电压版Xeon LV服务器处理器,它的设计TDP只有31W,而Intel Xeon处理器的TDP大都在110瓦以上,完全契合Intel新的方向:能效,也就是每瓦性能。另外一个动作则是Bensley平台的发布,随着这个平台发布的Dempsey核心的Xeon处理器依然基于经典的Netburst微架构,下半年基于Core微架构的Woodcrest处理器才会是这个平台的“真命天子”。

  Dual-Core Intel Xeon Processor LV 2.0GHz Dual-Core Intel Xeon Processor LV 1.66GHz
处理器技术 65 nm 65 nm
二级缓存 2MB 2MB
主频 2.00 GHz 1.66 GHz
前端总线 667 MHz 667 MHz
系统类型 DP DP
其它Intel技术

Dual-core,
Execute Disable Bit,
DBS

Dual-core,
DBS,
Execute Disable Bit
封装 FC-PGA6 FC-PGA6
所需芯片组 Intel E7520 Chipset NA
sSpec Number SL8WT SL98Q

  Intel Xeon LV处理器的研发代号为Sossaman,一般认为它是基于Yonah核心开发的。因此Xeon LV处理器的最大特色是功耗低,它应该是第一款真正意义上的符合Intel高能效比理念的处理器。

  Intel Xeon LV处理器目前包括两款产品,主频分别是1.66GHz和2.0GHz,我们在Tyan的支持规格表中还看到了2.33GHz的字样,或许意味着今后Intel可能还会推出主频更高的Xeon LV产品。这款处理器的前端总线频率为667MHz,同Intel新近发布的Xeon 5050等处理器相似,但是由于芯片组并不支持双独立总线,因此实际的总线带宽只有5.3GB/s。

  Intel Xeon LV处理器配置了32KB L1数据缓存和32KB L1代码缓存,缓存结构同Netburst微架构和容量有了很大不同,L2缓存容量为2MB共享。这个系列的处理器不支持超线程技术,也不支持EM64T技术,但是提供对于EDbit和DBS等技术的支持。

  本文的前半部分将会通过对比Netburst微架构和Yonah核心的微架构,对于Intel下半年推出的Core微架构进行全面的展望。我们还通过基于Tyan Tiger i7520SD(S5365)主板构建的服务器平台的测试,使得用户对于Core微架构Xeon处理器的性能具有初步的认识。

  Intel主流微架构概述

  Netburst微架构是一款具有良好扩展性的微架构,从1999年Intel发布以来,逐渐被应用到桌面平台、移动平台和服务器平台上。Netburst微架构在设计之初追求的是性能,主频对于该架构的影响非常大,因此Intel在过去的几年中近乎于“痴迷”的推动基于Netburst微架构处理器的主频,直到去年Intel处理器的主频已经达到了3.8GHz。

  高主频也就意味着高功耗,而高功耗则意味着它在多种应用方面会受到限制,比如笔记本中。因此Intel Pentium 4M处理器在笔记本上的应用只是“浅尝即止”,Intel随后推出的几代迅驰平台中使用了新的Pentium M处理器,比如Banias、Dothan、Yonah。这一系列的处理器的结构更接近于“古老的”P6微架构,但是却具有更高的效能和更低的功耗。

  当基于Netburst微架构的“唯性能论”走进死胡同之后,Intel开始奉行新政策:能效。当然TDP已经高达130W的Netburst微架构是不可能成为“变法”支持者的,Pentium M处理器所采用的高能效的微架构才是趋势,Core微架构就是在这个基础上的进一步的改进。

  以下的几个章节我们将会对比介绍Netburst微架构、Yonah核心所采用的微架构和Intel即将推出的core微架构的一些细节进行对比。这些微架构都已经或者即将应用于服务器平台上,比如Pentium D系列处理器、双核Xeon 2.8GHz处理器(Paxville DP)、Xeon 5000系列处理器(Dempsey)都是基于Netburst微架构开发的。而本文的主角Xeon LV处理器则是同Yonah核心非常的相似的产品,微架构水平来看应该没有太大区别。Intel会在今年下半年发布基于core微架构的Xeon系列处理器,可以把这种微架构看做是Yonah核心所采用的微架构的改进,因此我们希望通过对于Xeon LV处理器的测试,让读者提前对于Intel下一代处理器有更加直观的认识。

  基于这些微架构的处理器都可以应用双核技术,因此下面的示意图仅仅包括了其中的一个核心和缓存部分,请读者注意。为了便于读者阅读,下面的三种微架构的示意图分别采用不同的色彩代表不同的功能模块:

  • 紫色部分:处理器前端的部分,主要用于取指令和分支预测
  • 橘黄部分:主要用于将x86指令译码为uops
  • 淡黄部分:用于uops、计划和乱序的内部缓冲
  • 蓝色部分:功能单元
  • 绿色部分:内存子系统
  • 灰色部分:x86-64寄存器状态

图1:Netburst 微架构

  在Netburst微架构的历程中,先后出现过多种处理器核心,比如用于桌面系统的Willamette、Northwood、Prescott,用于服务器系统的Nocona、Irwindale、Paxville、和最新的Dempsey。上图所示的微架构示意图更适用于Prescott及其以后的处理器,当然之前的Netburst架构的核心也可参考。Netburst微架构具有31级流水管线,配置了1个复杂ALU单元和2个简单ALU执行单元,64bit FP/SSE执行单元,另外还整合了16KB-8way L1数据缓存,12KB追踪缓存和2MB-8way L2缓存,其中L1数据缓存同执行资源之间的线宽为128bit,而L1和L2之间的线宽为256bit。

  更老的Netburst微架构,比如Willamette核心,它的采用了20级流水管线,同样配置了1个复杂ALU单元和2个简单ALU执行单元,64bit FP/SSE执行单元,也是12KB追踪缓存。同近期的Netburst微架构的主要区别在于L1缓存和L2缓存,它的L1缓存容量为8KB,8way,128bit位宽,L2缓存容量为256KB,8way,256bit位宽。

  超长的流水管线设计是Netburst微架构的最大特色,理论上这种设计可以明显的提升ILP,但是要维持这种管线适中处于高效的状态,那么需要给管线输送足够的“货物”。从上图可以看出Netburst微架构具有126个入口的ROB(Reorder Buffer,重排序缓冲),这就意味着在这种架构中可以同时有126条指令处于“in-flight”状态,从而提供足够广的范围,选择可以并行处理的指令然后输送到执行管线,从而提升ILP(指令级并行)性能。

图2:Yonah 微架构

  Yonah核心的微架构同Netburst微架构差异非常的大,据说它同P6(Pentium Pro、Pentium II 和 Pentium III 处理器均采用)微架构比较类似,不过由于篇幅的限制,我们就不再追溯那些“久远”的资料了。

  Yonah的流水管线长度只有12级,远远的低于Netburst微架构。在缓存设计方面,它没有延续Netburst的创新,而是走了“复古”路线,它配置了32KB L1指令缓存和32KB L1数据缓存,均为8-way,128bit位宽,另外还有2MB L2缓存,也是8-way,256bit位宽。(P6微架构采用的是8KB L1指令缓存和8KB L1数据缓存的设计)。Yonah具有2个32bit ALU、2个64bit浮点执行单元和2个64bit SSE执行单元。

  我们此次测试的Intel Xeon LV处理器采用了代号为“Sossaman”的核心,一般的认为它同Yonah核心是几乎一样的——当然,我们也不排除这两种核心在某些细节上的不同,但除非Intel公布这些细节,否则我们无法了解更多。因此在下文中的关于Yonah部分的技术细节,基本可用于Xeon LV处理器。

图3:Core 微架构

  Core微架构同Yonah的结构的相似度将会非常的高,从上面两张功能示意图就可以看出来。当然区别也是很明显的,Core微架构的译码单元为4-1-1-1结构,而Yonah则为4-1-1结构。另外,其ALU执行单元升级为64bit,SSE执行单元升级为128bit,浮点执行单元也升级为128bit。

  取指令和译码单元

  我们将处理器微架构按照功能分为几个部分分别对比它们之间的不同,首先我们来讨论取指令和译码单元部分。

图4:取指令和译码单元

  Yonah核心的取指令宽度为128bit,也就是大约4条32bit指令,这些指令会先存放于x86 Instruction Fetch Buffer中,这些指令会进入译码器转化为uops指令,然后进入到uop缓冲中执行uop Fusion(微操作融合)。可以看到Netburst这个部分的结构同Yonah有很大的不同,指令经过x86译码器可以转为4个uops,暂存在容量为12K的追踪缓存中,然后在微代码序列器的调度下进入到ROB中。追踪缓存的设计是Netburst架构的一个特色设计,它可以存储12K的uop,可以说是执行单元的源头,这个“大水池”能够确保Netburst管线始终得到充足的水源,从而体现较高效率。

  Core微架构同Yonah最明显的区别是译码单元部分,它采用了4个x86译码器,包括1个复杂指令译码器和3个简单指令译码器,比Yonah增加了一个简单指令译码器。每个简单解码器可以处理一个uop,复杂解码器则可以处理由1-4个uops组成的指令(所以其解码样式被称为4-1-1-1)。微代码序列器(microcode sequencer)主要用于解码或者辅助解码多于4个uops的指令。与之相适应的是取指令宽度也会相应的增加,(推断)应该至少会是160bit。

  Core微架构还提供了预译码(pre-decode)功能,结合取指令缓冲和译码单元可以提供macro-op fusion(宏指令融合)功能——这是Core微架构中增加的一项新功能。在Intel处理器中,x86指令被称为macro-ops,内部指令被称为uops。Macro-op fusion使得解码器可以将两个宏(macro)指令合成为一个uop,一般做法是把x86比较或者测试指令同x86跳转指令融合为一条uop,任何解码器均可执行这种优化。据说macro-op fusion可以降低约10%的uops数量,但是Intel并没有确认这些数据。

  macro-op fusion从两个方面影响了性能。首先,完成同样的任务但是执行更少的指令会直接表现为性能的提升。其次,利用乱序执行窗口机制可以同时检查更多程序,从而找到更多可以并行执行的指令,从而提升乱序执行的效率这同uop fusion(微指令融合)所带来的好处非常的相似,但是它们改进的是不同类别的指令。macro-op和uop fusion使得x86微处理器多了些CISC的“风采”,而少了些RISC的“气质”。

  三个架构都具有取指令单元(Instruction Fetch Unit),分支预测的动作即发生在这里。在Netburst微架构中利用分支目标缓存(Branch Target Buffer,BTB),分支地址计算(Branch Address Calculator,BAC)和返回地址堆栈(Return Address Stack,RAS)实现分支预测。Yonah核心集成了这些功能单元,另外增加了循环侦测器(Loop Detector,LD)和间接分支预测器(Indirect Branch Predictor,IBP),LD可以正确的预测循环的存在,而IBP则是根据全局历史来预测目标地址。Core微架构除了包括以上的所有功能之外,还增加了优先级设计。

  乱序执行引擎

  经过译码单元处理之后的uop被输送到乱序引擎,经过重新排序再进入到执行单元——重新排序之后的指令具有更好的指令级并行性,因此可以充分的利用执行单元的资源。

图5:乱序执行引擎

  Core微架构同Yonah核心的乱序引擎的结果类似,均包括RAT(Register Alias Table,寄存器别名表)、Allocator(分配器)和Reorder Buffer(重排序缓冲)等功能单元,只是Core微架构具有更多的资源。它们同Netburst微架构的差异较大,因此这个环节的比较也无法太直观。

  Yonah微指令缓冲入口为6个,Core微架构因为增加了一个简单译码器,因此微指令缓冲入口也增加为7个。Netburst微架构和Yonah乱序引擎的最大吞吐量均为3 uops/cycle,而Core微架构则为4 uops/cycle。Netburst微架构ROB单元有126个入口,Core微架构的ROB单元有96个入口,Yonah的资料并不明确,应该会提供了至少40个以上的入口。前面我们提及过,ROB入口数量越大,就意味着该架构允许同时处于“in-flight”状态的指令越多,乱序引擎可以在更大的范围内挑选可并行处理的指令。

  Yonah核心具有一个24个入口的保留站单元(reservation stations),而Core微架构的保留站单元入口增加到了32个。Netburst采用了分布式调度器(schedulers),总共有46个调度器接口(scheduler slots),其中8个用于内存单元,38个用于ALU和FPU。

图6:执行单元对比

  Yonah核心具有2个执行分配端口(execution dispatch ports),分别连接了2个32bit算数逻辑单元,2个64bit SSE单元和2个64bit浮点单元。Core微架构则具有3个执行分配端口,连接了3个128 bit SSE单元,2个128 bit 浮点单元,3个64 bit整数单元。在分配端口1上,整数单元可以处理128 bit shifts and rotates操作,所有的端口均可执行FP Moves操作。需要说明的是,FPU和SSE这两个单元的硬件并非完全独立的,有些电路是共享的。

  Core微架构每周期最高可执行3条指令,在特殊情况下Netburst微架构可以分配和执行4条指令,不过需要碰巧所有的指令都是ALU操作。从上图可见,Core微架构的执行单元更加平衡,而Netburst微架构中大部分操作都要经过分配端口1,存在冲突的几率会更大。

  Yonah核心的浮点和SSE处理能力同Netburst微架构相比并没有具备更多的资源,它依然配置的是64bit SSE单元,需要两个周期才能处理一个128bit操作。Netburst微架构中的执行单元也配置的是64bit SSE单元。Core微架构的3个128bit SSE单元并不完全对称,在偏移和乘法资源方面略有差异,但是它们执行128bit SSE操作均需要一个周期。在一个周期内,Core微架构可以执行4个不同类型的DP浮点运算,包括128 bit multiply, a 128 bit add, a 128 bit load, a 128 bit store,同时还有可能在最后一个端口上执行一个ALU运算。

  缓存系统

图7:缓存子系统对比

  Core微架构沿袭了Yonah的结构,借鉴了Netburst的位宽,综合了两者的优点。Core和Yonah均有专门的存储地址单元,而Netburst使用了快速ALU来计算存储地址,因此它并不需要这样的一个功能单元。Yonah L1数据缓存到核心的通道带宽为64bit,之前的Netburst的L1数据缓存到核心的通道带宽为128bit,新的Core微架构的L1数据缓存到核心的通道带宽为128bit。而二级缓存到L1数据缓存之间的通道位宽则均为256bit,因此只有Yonah的缓存内部总线带宽是比较特别的,从L1数据缓存到核心的带宽只有从L2缓存到L1缓存的一半。

  Netburst微架构配置了16KB 双端口数据缓存,8-way,64个DTLB入口;Yonah和Core均配置了32KB 双端口数据缓存,8-way,前者128个DTLB入口,后者为256个DTLB入口。基于Netburst微架构设计的双核处理器,包括Pentium D、Paxville DP等等其L2缓存均为独享式。Yonah核心则采用了共享式L2缓存缓存设计,Core微架构则进一步将共享L2缓存的容量提升到4MB。

  在乱序CPU中,通常会有多个Load操作和Store操作处于“in-flight”,对于部分有依赖关系的指令,处理器不能随意的进行排序。Core微架构缓存系统中的内存重排序缓冲(Memory Reorder Buffer,MOB)功能单元为了能更好的处理这些问题也做了一系列改进。

图8:存储器别名示意图

  如上图所示,第一条ALU指令的运算结果要Store在地址Y(第二条指令),而第九条指令是从地址Y Load数据,显然在第二条指令执行完毕之前,无法移动第九条指令,否则将会产生错误的结果。同样,如果CPU也不知道第五条指令会使用什么地址,所以它也无法确定是否可以把第九条指令移动到第五条指令附近。

  内存数据相依性预测功能(Memory Disambiguation)可以提前预测哪些指令是具有依赖性的或者使用相同的地址的(地址混淆,alias),从而决定哪些指令是可以移动的,哪些指令是不可移动的。不过为了要判断一个Load指令所操作的地址没有问题,缓存系统需要查验所有的处于in-flight状态的store操作,这是一个颇耗费资源的过程。在Netburst微架构中,通过把一条store指令分解为两个uops——一个用于计算地址、一个用于真正的存储数据,这种方式可以提前预知store指令所操作的地址,初步的解决了数据相依性问题。在Netburst微架构中,内存重排序缓冲(MOB)的算法遵循以下几条原则:

  • 如果一个对于未知地址进行操作的store指令处于in-flight状态,那么所有的load指令都要被延迟
  • 在操作相同地址的store指令之前Load指令不能继续执行
  • 一个Store指令不能移动到另外一个store指令之前

  这种原则的问题也很明显,比如第一条原则会在一条处于in-flight状态的store指令所操作的地址未确定之前,就延迟所有的load操作,显然有些太保守了。根据某些机构的研究,在类EV6处理器中最多可以允许512条指令处于in-flight状态,但是其中的97%以上的load和store指令都不会存在地址混淆的问题。按照这个概率来看,假设所有的Load/Store指令不存在地址混淆现象是更合理的。

  基于这种理念,Core微架构采用了截然相反的做法,该微架构中load指令可以基于一定的预测机制预先移动到具有未知操作地址的存储指令的附近。不过,当这种“冒险”失败之后,将会使得一条管线停滞(pipeline stall)。为了解决这个问题,Intel采用了一个动态别名预测器(dynamic alias predictor)来预测什么时候load指令不能被移动到store指令附近。这个预测是根据历史行为来进行的,据说准确率超过90%。

图9:数据相依性预测机制的优势

  如上图所示,我们需要载入地址X的数据,加1之后保存结果;载入地址Y的数据,加1之后保存结果;载入地址Z的数据,加1之后保存结果。如果根据Netburst的基本准则,在第三条指令未决定要存储在什么地址之前,处理器是不能移动第四条指令和第七条指令的。实际上,它们之间并没有依赖性。因此,Core微架构中则“大胆”的将第四条指令和第七条指令分别移动到第二和第三指令的并行位置,这种行为是基于一定的猜测的基础上的“投机”行为,如果猜测的对的话(几率在90%以上),完成所有的运算只要5个周期,相比之前的9个周期几乎快了一倍。

  Tyan Tiger i7520SD (S5365)主板

  泰安(Tyan)于2006年5月初发布了Tyan Tiger S5363主板,这款产品支持Xeon LV处理器,主要目标是高能效服务器市场。我们收到的送测样品为非完整包装,内部包括了S5363服务器主板、用户手册、驱动光盘等,在完整包装中还会有IDE线缆、SATA线缆、I/O挡板等必要的附件。

  Tiger i7520SD (S5365)采用了Intel E7520 和 ESB6300芯片组,支持Intel双核Intel Xeon LV(代号“Sossaman”)处理器。上图中,主板上两个mPGA479 Socket插座上已经安装了Intel Xeon LV 2.0处理器。我们已经介绍过,Intel Xeon LV处理器目前的主频有两种:2.0GHz和1.67GHz,均配置了2MB L2,667MHz FSB。

  Tiger i7520SD (S5365)主板上配置了8条Registered DDR2-400 DIMM内存插槽,支持容量为256MB、512MB、1GB、2GB的Registered ECC/noECC内存条,最高容量可达16GB。因为这款主板采用的依然是我们熟悉的Intel E7520芯片组,所以对于内存的支持并没有变化。

  Tiger i7520SD (S5365)主板的扩展性不错,提供了2条64bit 66MHz PCI-X插槽、2条32bit 33MHz PCI插槽、2条PCI Express x8插槽、1个CF Type-II扩展接口和1个TRAO SO-DIMM扩展槽——通过TRAO SO-DIMM扩展槽可以安装SATA-II或者SAS扩展卡,既能扩展存储功能,还不会占用PCI类插槽。

  这款主板还提供了1个软驱接口、1个IDE接口、2个SATA接口(可支持RAID 0/1)。

 

  Tiger i7520SD (S5365)主板提供了三个以太网接口,其中两个千兆网口是利用板载Intel 82571EB 千兆网控制器实现的,而另外一个百兆网口是利用板载Intel 82551QM百兆网控制器实现的。

  Tiger i7520SD(S5363)也提供了比较完备的管理功能,比如支持机箱开机报警功能、提供了5个33针脚风扇接口(可支持转速监控)、当然还对于系统的主要温度和电压都提供了支持。更重要的是这款主板支持IPMI 2.0 标准,可以帮助用户进行方便的远程管理和维护。

  测试平台和测试方法

  今年我们对于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服务器

  被测服务器的具体配合和配置情况如下表所示:

Xeon LV测试平台配置

主板

Tiger i7520SD(S5363)

芯片组

Intel E7520+6300ESB

驱动程序

INF 7.3.1.1013

处理器

Intel Xeon LV

主频

2.00GHz

FSB

667MHz

L2容量

2MB(共享)

处理器设置

XDbit Disable
EIST Disable
C1 State Disable

内存

三星 512MB 1Rx8 PC2-3200R-333-12-A3 x 4

内存时序

3-3-3-7 1CMD

磁盘控制器

Adaptec ASR-2130SLP SCSI RAID卡

硬盘

Seagate Cheetah 10k.7 ST373207LW x 3

驱动程序

5.1.0.9114(03/27/2006)

磁盘设置

三块硬盘配置为RAID 5模式,磁盘分为两个分区,均为NTFS格式,系统默认簇,主分区20GB,其它分为扩展分区,共享文件夹、磁盘测试均在格式化后的扩展分区进行

操作系统

Microsoft Windows Server2003,5.02.3790,SP1

网卡

Intel PRO/1000 PT Dual Port Network

驱动程序

9.3.28.0(01/23/2006)

  我们在上述配置的服务器上分别安装了Microsoft Windows 2003 SP1企业版(简体中文、32bit),正确安装了各个硬件的驱动程序,确保服务器工作在非常好的的状态。

  我们所使用的评测软件如下:

  • SPECCPU2000 v1.2

  • ScienceMark v2.0 Membench

  • Sisoft Sandra 2005 Pro SR2

  • WebBench v5.0

  • NetBench v7.03

  SEPCCPU2000可以评估服务器系统中处理器的整数性能和浮点性能,我们进行的是SPECint_base2000和SPECfp_base2000两个项目的测试。ScienceMark v2.0一款用于评估处理器科学计算能力的软件,它提供了评估被测系统内存带宽的功能,这款软件可以很好的支持多线程。WebBench在服务器评估中被普遍使用,侧重于服务器CPU子系统的性能评估。另外,我们还利用Sisoft Sandra 2005 Pro这款普通读者都熟悉的软件对于整个系统进行测试。

客户端配置

主板

Dell OM9873

芯片组

E7230+ICH7R

驱动程序

INF 7.2.0.1004

处理器

Intel Celeron 326(2.53GHz)

前端总线

533MHz FSB

L2容量

256KB

内存

Micron PC4300 256MB

内存时序

4-4-4-12 1CMD

磁盘控制器

ICH7R

硬盘

WDC WD800JD 80GB SATA

分区

硬盘分为两个分区,均为NTFS格式,系统默认簇,主分区20GB,其它分为扩展分区

驱动程序

5.1.2535.0

操作系统

Microsoft Windows XP Pro

板载网卡

Broadcom NetXtreme Gigabit Ethernet

网卡驱动程序

8.22.1.0

 

客户端配置

主板

Gigabyte

芯片组

i845GL+ICH4

驱动程序

5.10.1006

处理器

Intel Celeron 1.7GHz

前端总线

400MHz FSB

L2容量

128KB

内存

Kingston 256MB DDR333

内存时序

2.5-3-3-7 1CMD

磁盘控制器

ICH4

硬盘

Seagate 7200.7 40GB

分区

硬盘分为两个分区,均为NTFS格式,系统默认簇,主分区20GB,其它分为扩展分区

驱动程序

2.3.0.2160

操作系统

Microsoft Windows XP Pro

板载网卡

Realtek RTL8139

网卡驱动程序

5.396.530.2001

  另外,我们还选择了基于双路Xeon 3.0GHz处理器的服务器,基于双路双核Xeon 2.8GHz(Paxville DP核心)处理器的服务器,基于双路双核Xeon 5050处理器的服务器这三个平台的测试成绩与之对比。

对比服务器配置:Dual Xeon

处理器
Intel Xeon 3.0GHz  x 2
内存
512MB REG ECC DDRII400 x 4
硬盘控制器
板载Adaptec AIC-7902W控制器
存储
2个Cheetach  73GB硬盘
网络
BROADCOM BCM5721 PCIE千兆网卡控制器
显示
集成ATI RageXL8M显示控制器 
电源
AcBel API3FS43
光驱
Slim CD-ROM光驱
软驱
1.44M软驱 
操作系统
Microsoft Windows 2000 Server Standard SP1

 

对比服务器配置:Dual Paxville

主板

ASUS PVL-D/SCSI

芯片组

E7520 + 6700PXH x2 + ICH5R

驱动程序

INF 7.3.1.1013

处理器

Intel Xeon 2.8GHz(Paxville DP核心)

主频

2.8GHz

FSB

800MHz

L2容量

2 x 2MB

处理器设置

XDbit Disable
EIST Disable
C1 State Disable
HyperThreading Enable

内存

三星 512MB 1Rx8 PC2-3200R-333-12-A3 x 4

内存时序

3-3-3-7 1CMD

磁盘控制器

板载AIC-7902 PCI-X Dual U320 SCSI控制器

硬盘

Seagate Cheetah 10k.7 ST373207LW x 2

驱动程序

Adaptec AIC-7902 HostRaid 1.2.63.0

磁盘设置

两款硬盘组建为RAID 1模式,磁盘分为两个分区,均为NTFS格式,系统默认簇,主分区20GB,其它分为扩展分区,共享文件夹、磁盘测试均在格式化后的扩展分区进行

操作系统

Microsoft Windows Server2003,5.02.3790,SP1

网卡

板载Broadcom BCM5721千兆网卡

驱动程序

8.27.1.0

 

对比服务器配置:Dual Xeon5050

主板

Lenovo DPX1066

芯片组

Intel 5000V+ESB2

驱动程序

INF 7.3.1.1013

处理器

Intel Xeon 5050

主频

3.0GHz

FSB

667MHz DIB

L2容量

2 x 2MB

处理器设置

XDbit Disable
EIST Disable
C1 State Disable
HyperThreading Disable

内存

英飞凌HYS72T64000
512MB 1Rx8 PC4200-4200F x 4

内存时序

444-10

磁盘控制器

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)

  我们主要对比的是不同的处理器在各自平台上的表现,因此我们将上述四个平台的能明显的影响处理器性能的参数做成表格,读者可以更直观的了解这些平台的差异:

平台

Dual Xeon LV Dual Xeon 5050 Dual Paxville Dual Xeon
处理器主频 2.0GHz 3.0GHz 2.8GHz 3.0GHz
前端总线带宽 5.3GB/s 5.3GB/s x 2 6.4GB/s 6.4GB/s
物理核心数量 4 4 4 2
总线程数量 4 8 8 4
内存容量 2GB 2GB 2GB 2GB
内存带宽 6.4GB/s 8.5GB/s 6.4GB/s 6.4GB/s

  处理器性能测试

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

  SPEC CPU2000是SPEC组织推出的一套CPU子系统评估软件,它包括CINT2000和CFP2000两个子项目,前者用于测量和对比整数性能,而后者则用于测量和对比浮点性能。计算系统中的处理器、内存和编译器都会影响最终的测试性能,而I/O(磁盘)、网络、操作系统和图形子系统对于SPEC CPU2000的影响非常的小。

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

  我们在被测服务器中安装了Intel C++ 8.1 Compiler、Intel Fortran 8.1 Compiler这两款SPEC CPU2000必需的编译器,另外安装了Microsoft Visual Studio 2003.net提供必要的库文件。按照SPEC的要求我们根据自己的情况编辑了新的Config文件,可以满足Base测试。

Tiger i7520SD平台 (Throughput)
  SPECfp
rate_base2000
  SPECint
rate_base2000

开启线程数量

4

开启线程数量

4

168.wupwise

39.4

164.gzip

36.2

171.swim

16.8

175.vpr

27.9

172.mgrid

14.3

176.gcc

55.1

173.applu

17.6

181.mcf

 19.1

177.mesa

49.7

186.crafty

40.7

178.galgel

51.5

197.parser

35.5

179.art

31.3

252.eon

69.1

183.equake

19.2

253.perlbmk

56.0

187.facerec

33.1

254.gap

41.1

188.ammp

18.6

255.vortex

65.0

189.lucas

18.8

256.bzip2

30.3

191.fma3d

20.9

300.twolf

40.8

200.sixtrack

15.0

总分

40.5

301.apsi

25.9  
总分 24.2

 

双路Xeon 5050平台 (Throughput)
 

SPECfp
rate_base2000

 

SPECint
rate_base2000

开启线程数量

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

 

双Paxville DP平台 (Throughput)
 

SPECfp
rate_base2000

 

SPECint
rate_base2000

开启线程数量

8

开启线程数量

8

168.wupwise

57.6

164.gzip

56.6

171.swim

22.6

175.vpr

38.2

172.mgrid

21.0

176.gcc

80.1

173.applu

21.7

181.mcf

23.1

177.mesa

57.7

186.crafty

50.0

178.galgel

53.5

197.parser

63.1

179.art

34.4

252.eon

81.9

183.equake

24.6

253.perlbmk

67.6

187.facerec

41.9

254.gap

56.3

188.ammp

33.6

255.vortex

105.0

189.lucas

22.4

256.bzip2

49.2

191.fma3d

28.5

300.twolf

50.7

200.sixtrack

32.3

总分

56.4

301.apsi

45.4

 
总分

33.3

 
双路Xeon 3.0GHz平台(Throughput)
 

SPECfp
rate_base2000

 

SPECint
rate_base2000

开启线程数量

4

开启线程数量

4

168.wupwise

47.0

164.gzip

30.8

171.swim

22.4

175.vpr

21.3

172.mgrid

18.5

176.gcc

41.2

173.applu

21.9

181.mcf

19.4

177.mesa

31.2

186.crafty

27.2

178.galgel

41.2

197.parser

33.4

179.art

29.8

252.eon

44.3

183.equake

23.1

253.perlbmk

36.4

187.facerec

35.2

254.gap

38.2

188.ammp

19.1

255.vortex

56.4

189.lucas

21.9

256.bzip2

26.9

191.fma3d

24.0

300.twolf

25.2

200.sixtrack

17.3

总分

31.9

301.apsi

25.7  
总分 25.8

  “Throughput”测试结果显示了被测平台并行处理多个浮点任务或者整数任务的能力。在这个部分超线程技术对于测试结果会有较为明显的影响。基于TYAN Tiger i752SD主板的双Xeon LV平台不支持超线程技术,平台可同时处理4线程,与双路Xeon 3.0GHz并且开启超线程功能的平台一样。

  从上面的表格很容易知道,Xeon LV的浮点性能是最低的,双Xeon 3.0略高7%左右,而Paville DP则比其高30%,Xeon 5050更是高出了近60%。整数性能测试方面,Xeon LV的表现更加优异,比双路Xeon高出了大约27%,不过还是比双路Paxville DP低大约40%,比Xeon 5050低大约46%。结合前面的分析,我们知道Xeon LV采用了同Netburst完全不同的微架构,流水管线的长度从31级缩短到了12级,虽然浮点单元相对于并没有增加太多的资源,但是其性能已经可以同主频高达3.0GHz的Xeon处理器所媲美了,整数单元的改变比较明显,相对于Netburst微架构具有更多的执行资源,其性能明显的超越了3.0GHz的Xeon处理器平台。

Xeon LV/对比平台 Xeon LV Paxville DP Xeon 5050
主频比率 1 0.71 0.66
浮点比率 1 0.72 0.63
整数比率 1 0.71 0.68

  我们用Xeon LV的主频或者测试结果比其它两个双核处理器的主频和测试结果,我们会发现在这项测试中,处理器主频依然占据着重要的位置,性能同主频之间基本是成正比的。

  缓存内存性能测试

ScienceMark Membench

  Dual Xeon LV Dual Xeon 5050 Dual Paxville Dual Xeon

内存带宽(MB/s)

3202.20

2283.58

3703.52

4091.74

L1 Cache Latency (ns) 数值越低越好

32 Bytes Stride

1.50

1.34

1.43

1.03

L2 Cache Latency(ns) 数值越低越好

4 Bytes Stride

1.50 1.34

 2.21

2.00

16 Bytes Stride

2.50 2.67

 4.64

4.67

64 Bytes Stride

7.00 9.02

10.36

9.00

256 Bytes Stride

7.00 8.69

10.36

8.67

512 Bytes Stride

7.00 8.35

10.00

8.33

Memory Latency(ns) 数值越低越好

4 Bytes Stride

2.00 1.67

  3.21   

2.00

16 Bytes Stride

7.00 6.68

  5.71

5.00

64 Bytes Stride

28.50 27.07

 16.78

16.33

256 Bytes Stride

123.49 179.11

128.21

125.66

512 Bytes Stride

122.49 189.8

134.63

131.33

Algorithm Bandwidth(MB/s) 数值越高越好

Compiler

1603.90 1771.21

1914.36

2113.73

REP MOVSD

1621.81 1796.07

1950.86

2140.7

ALU Reg Copy

1321.41 1751.59

1746.1

1885.35

MMX Reg Copy

1364.01 1794.26

1903.61

2031.39

MMX Reg 3dNow

- -

-

-

MMX Reg SSE

2695.34 2283.58

2712.14

3396.47

SSE PAlign

2834.36 2272.72

3066.42

3537.47

SSE PAlign SSE

2624.56 2281.81

3012.8

3525.52

SSE2 PAlign

2807.56 2271.43

3066.15

3539.02

SSE2 PAlign SSE

2641.72 2280.69

3010.93

3527.03

MMX Block 4kb

2889.96 3163.14

3098.21

3770.11

MMX Block 16kb

3176.61 2212.04

3622.71

4091.74

SSE Block 4kb

2910.25 2174.46

3292.47

3800.00

SSE Block 16kb

3202.20 2204.89

3703.52

4078.21

  ScienceMark v2.0是一款用于测试系统特别是处理器在科学计算应用中的性能的软件,MemBenchmark是其中针对处理器缓存、系统内存而设计的功能模块,它可以测试系统内存带宽、L1 Cache延迟、L2 Cache延迟和系统内存延迟,另外还可以测试不同指令集的性能差异。

  我们已经了解到Xeon LV的L1缓存设计走了“复古路线”,配置了32KB L1指令缓存和32KB L1数据缓存,而另外三个对比平台的处理器依然采用的是Netburst微架构,是利用12k追踪缓存+16KB数据缓存。L1缓存延迟测试结果显示它们之间的差异不大。

  Xeon LV采用共享L2缓存的设计,而目前Intel已经发布的其它双核处理器(比如Pentium D、Xeon 5050、Paxville)均是非共享L2缓存。从测试结果来看,Xeon LV L2缓存的性能优势非常的明显,即使同AMD Opteron处理器相比也不逊色。

  除了Xeon5050平台上采用了Intel 5000V芯片组之外,其余的三个测试平台均采用了Intel 7520芯片组,前者支持双通道FB-DIMM内存,后三者均支持双通道DDR2内存。从测试结果看,256/512 Bytes Stride时,FB-DIMM内存的延迟略长,其余三个平台的性能相近。

  我们还使用了Sisoft Sandra 2005 Pro程序中的Cache & Memory Benchmark测试子项目进行了测试。这个程序的算法同ScienceMark的非常不同,以前在单核心Xeon平台的测试结果显示它会明显的受到处理器数量或者可并行处理线程数量的影响。

  测试结果显示双Xeon 5050平台和双Paxville平台的表现有些“异常”,而双Xeon平台显得非常适应Sisosft Sandra 2005 Pro,而Xeon LV平台在这项测试中的优势更加明显,特别是测试数据小于64KB的部分。

  Web服务器性能测试

  WebBench是针对服务器作为Web Server时的性能进行测试,我们在被测服务器上安装了IIS6.0组件,以提供测试所需的Web服务。在测试中我们开启了网络实验室中的56台客户端,分别使用了WebBench 5.0内置的动态CGI以及静态页面脚本对服务器进行了测试。

  静态测试是由客户端读取预先放置在服务器Web Server下的Web页面(wbtree),这项测试主要考察的是服务器磁盘系统以及网络连接性能。我们使用了实验室中的56台客户端,配合Static_mt.tst多线程静态脚本测试向被测服务器发送请求。

  这项测试同处理器的性能有密切的关系,也同网络吞吐量或者磁盘吞吐量有关。上面的图表显示在有40个以上的客户端同时访问被测服务器的时候,服务器响应请求的速率基本上稳定在16000-17000 Requests/s,此时吞吐量一般会达到100MB/s以上,基本上达到了网络吞吐量的上限。

  双路Xeon LV和双路Paxville平台的测试结果非常的相似,峰值分别达到了17889 Requests/s和17515 Requests/s,双路Xeon5050平台的表现比较低迷,峰值只 有14000 Requests/s左右(此结果可能受到磁盘子系统的影响,今后我们会更多的此类平台进行测试,这个结果应该还会有进一步的提升)。

  动态测试偏重于对服务器CPU子系统的性能测试,它对于Web服务器提供了足够的负载。我们将一个C语言编写的CGI源文件Simcigi.c编译为Simcgi.exe,并将其作为动态测试中的CGI脚本。在测试过程中,每台安装了WebBench客户端软件的PC,会在300秒的时间内持续向服务器发送CGI请求,而控制台会纪录并汇总服务器所响应CGI请求的数据。

  当WebBench测试开始后,客户端会以每四台一组依次连接到服务器并发送CGI请求。当测试结束后,控制台会收集数据并绘制出服务器CGI响应数的变化曲线。CGI测试的成绩高低,主要取决于服务器处理器子系统性能的优劣。处理器子系统包括CPU、内存以及内存控制器,CPU频率、缓存以及内存容量大小和内存带宽,都会影响该项成绩

  从测试曲线图可以了解到,双路Xeon 5050平台的最高动态处理能力为5319 Requests/s,双路Paxville平台的最高动态处理能力达到了4706 Requests/s,双路Xeon平台的最高动态处理能力达到了3914 Requests/s。双路Xeon LV平台的最高动态处理能力为4769  Requests/s,同主频为2.8GHz的Paxville平台的性能接近。

  IT168评测中心观点

  TYAN Tiger i7520SD (S5365)采用已经被广泛应用Intel E7520 和 ESB6300芯片组,支持Intel Xeon LV双核处理器。这款主板可用于塔式服务器或者1U机架式服务器,良好的设计使得它在这两类系统中都可以提供良好散热效果,能为多种不同的应用提供高能效的运行平台。

  研发代号为Sossaman的Intel Xeon LV处理器,最大特色是功耗低,TDP设计为35W,它应该是第一款真正意义上的符合Intel高能效理念的处理器。但是它的出现更像是为了发布Core微架构处理器的一次热身,我们的测试结果显示目前2GHz左右的Xeon LV处理器的性能同主频为3GHz的Xeon(Nocona或者Irwindale)持平,可以预想更换Core微架构之后依然可以轻易的维持现有的性能水平,并且有了进一步提升的空间。

  如果非要给现在的Xeon LV系统找些缺点的话,那么就是它的运行平台——芯片组了。E7520芯片组依然通过一条共享前端总线连接两颗双核处理器,原本不平衡的系统更加不平衡。一个月前,Intel推出的Bensley平台大幅度改观了现有芯片组的不足,不但可以支持Dempsey核心处理器,更直接为支持Core微架构的处理器做好了准备。

0
相关文章