2006年的第一个季度,AMD系统达的收入超过10亿美元,占到了整个x86服务器市场的1/6。仅仅是在短短的一年之内,Opteron处理器的市场份额就从去年的6%增长到了今年的15%。在四路服务器中,Opteron占到了美国市场份额中的48%,而去年还只有23%。更为重要的是,这并不是一件“US only”事件,同样是在全球四路服务器市场,在过去的四年时间里,AMD的市场份额增长了36%。AMD已经成为了服务器CPU市场上的标志。
而一直受到英特尔的Xeon、Itanium处理器压迫的Sun也终于在去年展现了一点复苏的迹象。其UltraSparc IV+处理器具备了一条快速的、整合的L2缓存和大数据量的L3缓存为Sun挽留了很大一部分传统的Sparc处理器用户,设计优良的GALAXY Opteron服务器系统,以及用来冲击中端x86市场的UltraSparc T1都在市场中取得了不俗的表现。
对英特尔来说,是时候做出自己应有的回应了,是到了应该在服务器用处理器方面做出点什么的时候了。而英特尔给出的答案就是Core核心的Xeon:Woodcrest。记忆体资料相依性预测功能(Memory DisaMBIguATIon),大容量无序缓存以及大容量低潜伏期的共享L2缓存都使得Core架构在服务器任务中显得要比其他x86处理器更有效率。
本文的重点就是向用户对基于Woodcrest和其竞争对手:AMD Opteron和UltraSparc T1处理器的几种不同服务器进行一次性能上的比较。
英特尔最新的Bensley平台的一个最大优势就是优秀的兼容性:Dempsey、Woodcrest和四核心的Clovertown Xeon都使用了相同的插槽和平台。  通过为每颗CPU分配一个独立的1333MHz总线,Bensley在设计中省去了共享Xeon总线。这和老的Athlon MP平台非常相像,同时这也使得Blackford北桥、MCH的设计更加复杂。Blackford同样提供了4个内存通道和24个PCIE lanes。 由于只是部分HPC程序受到了FSB带宽的限制,DIB(Dual Independent Bus)并不会为Woodcrest和Dempsey带来任何差别。多年的测试经验告诉我们大多数服务器和工作站程序并不会因为FSB速度而带来瓶颈。得益于NUMA的设计,在双核心和四核心架构中,Opteron平台不会发生太大的波动。在大多数的程序中,低延迟的整合内存控制器的影响要超过了FSB/NUMA带宽。当然,对于Clovertown或者2个Woodcrest核心整合的处理器来说,一个标准的FSB有可能会成为瓶颈,在那种情况下,DIB会是一个不错的选择。
Blackford的最大改进应该是fully Buffered DIMMs(FB-DIMMs)的引入。在在FB-DIMms PCB上,我们仍能发现并行DDR-2内存,不过高级内存缓冲器(AMB)则将这个并行数据流变成了一个连续的数据流向Blackford芯片转移。在内存子系统和芯片中的连续连接不仅排除了不对称问题同时也大大简化了主板的唤醒功能。唤起四通道的DDR-2内存无疑将成为一件可怕的事。
我们在Sun T2000中采用的是Solaris10操作系统。而目前能够在T2000上使用的操作系统也只有Solaris 10 3/05/ HW2。T1和现在的SPARC体系可以做到二进制兼容,不过必须是这个版本的Solaris。 下面是几款不同的服务器指标: Sun T2000 Sun UltraSparc T1 1 GHz, 8 cores, 32 threads Sun Solaris 10 32 GB (16x2048 MB) Crucial DDR-2 533 NIC: 1 Gb intel RC82540EM - Intel E1000 driver Intel Server 1: Dual Intel Xeon "Woodcrest" 3 GHz Shared 4 MB L2 cache, 1333 MHz FSB (4核心)  Blackford Chipset 64 bit Gentoo Kernel 2.6.15-gentoo-r7 Intel Server Board S5000 4 GB (4x1024 MB) Micron FB-DIMM Registered DDR2-533 CAS 4, ECC enabled NIC: Dual Intel PRO/1000 Server NIC 2x Western Digital Raptor 36 GB SATA
Intel Server 2: Dual Intel Xeon "Irwindale" 3.6 GHz 2 MB L2 cache, 800 MHz FSB - Lindenhurst 64 bit Gentoo Kernel 2.6.15-gentoo-r7 Intel Server Board SE7520AF2 8 GB (8x1024 MB) Micron Registered DDR2-400 CAS 3, ECC enabled NIC: Dual Intel PRO/1000 Server NIC (Intel 82546GB controller) 2x Western Digital Raptor 36 GB SATA
Opteron Server 1: Dual Opteron 275 2.2 GHz 2x1MB L2 cache (4 cores total) 64 bit Gentoo Kernel 2.6.15-gentoo-r7 Solaris x86 10 MSI K8N MASTER2-FAR 4 GB: 4x1GB MB Crucial DDR-400 (3-3-3-6) NIC: Broadcom BCM5721 (PCI-E) 2x Western Digital Raptor 36 GB SATA
Opteron Server 2: MSI K2-102A2M  ServerWorksHT2000 Chipset 64 bit Gentoo Kernel 2.6.15-gentoo-r7 4 GB: 4x1GB MB Crucial DDR-400 (3-3-3-6) NIC: Broadcom BCM5721 (PCI-E) 2x Western Digital Raptor 36 GB SATA
Opteron Server 3: HP DL385  Solaris x86 10 AMD 81xx chipset 64 bit Gentoo Kernel 2.6.15-gentoo-r7 4 GB: 4x1GB MB Crucial DDR-400 (3-3-3-6) NIC: Broadcom BCM5721 (PCI-E) 2x Seagate Cheetah 36 GB - 15000 rpm - SCSI 320 MB/s
Client Configuration: Dual Opteron 850 MSI K8T Master1-FAR 4x512 MB infineon Registered DDR-333, ECC NIC: Broadcom 5705
Common Software 64 bit Gentoo Kernel 2.6.15-gentoo-r7 Apache2 2.0.55 + mod_deflate module for gzip compression. PHP4.4.1 Mysql5.0.21 SPEC FP和lnt 2000是用来测试CPU性能的标准测试软件。不过,实际的测试得分受编译器的影响相当大。SPEC fp和integer将会显示最佳的性能表现。不过在实际运用中,处理器的表现会相对保守一些。 而在我们的这篇文章中,这代表着SPEC的测试数据会比它在实际应用程序的表现中略高一些。不过,通过SPEC CPU 2000,我们倒是可以很好地了解一颗处理器的性能。正如前述,测试中的Xeon 5000就是采用了新Woodcrest核心的Xeon处理器。 | SPECfp | | Clockspeed | SPEC fp 2000 | | POWER5+ | 2200 | 3271 | | Itanium 2 | 1666 | 2851 | | Xeon 5160 | 3000 | 2783 | | Opteron | 2800 | 2256 | | Pentium 4 E | 3733 | 2232 | 我们看到,新核心的Woodcrest要比最快的双核心Opteron快20-25%左右。而得益于新的65nm工艺,Woodcrest的核心速度提高了7%。如果AMD能够让自己的处理器频率达到英特尔的水平,将能带来15%左右的性能提升。不过在大部分的64bit和128bit SSE程序中,英特尔的Woodcrest依旧占据了非常明显的性能优势。 | SPECint | | Clockspeed | SPEC Int 2000 | | Xeon 5160 | 3000 | 3057 | | Pentium 4 E | 3733 | 1870 | | Opteron | 2800 | 1837 | | Pentium 4 Xeon | 3733 | 1813 | | POWER5+ | 2200 | 1705 | | Itanium 2 | 1666 | 1502 | 在对整数性能的测试中,Woodcrest轻松超越了其他几款横向对比的处理器。接下来我们就看看在服务器程序中SPEC lnt 2000的整数性能。 延迟 LMBench是一款能够用来判定内存时序和指令时序的测试软件。我们使用LMBench3.0a-5进行了测试。应该说LMBench的结果通常都是正确的,但并不总是正确的。如果软件无法正确识别出某种架构,很有可能出现错误的测试结果。因次我们非常有必要事先来检查好。 | LMBench | | Clockspeed | L1 (ns) | L1 (cycles) | L2 (ns) | L2 (cycles) | RAM (ns) | RAM (cycles) | | Xeon 5160 3 GHz | 3000 | 1.01 | 3 | 4.7 | 14 | 117.3 | 345 | | Pentium- M 1.6 GHz | 1593 | 2 | 3 | 6 | 10 | 92.1 | 147 | | Sun T1 1 GHz | 980 | 3 | 3 | 22.1 | 22 | 107.5 | 105 | | Opteron 275 | 2209 | 1 | 3 | 5.5 | 12 | 73 | 161 | | Xeon Irwindale 3.6 GHz | 3594 | 1 | 4 | 8 | 28 | 48.8 | 175 | 大容量的4MB L2缓存拥有一个非常低的延迟:14cycle。如果我们使用诸如ScienceMark这样的测试工具的话,我们得到的数值将是12cycle,这样来看,它会是一个非常不好的结果。不过,即便是14cycle,在3GHz下,它的表现依然令人吃惊。而Core Duo(Yonah), 另一方面,缓存的延迟相当高,不过凭借4MB的L2缓存还是将这种影响降到了最低。造成这种现象的原因可能是FB-DIMMs。AMB会造成高延迟,CAS为4的registered DDR2 533芯片会造成一个更高的延迟。这使得内存子系统中的延迟达到了非常高的115ns,而Opteron只有73ns。 ScienceMark的结果则不尽相同,Opteron系统的测试结果为65-70ns,而Woodcrest的测试结果则在70-76ns。 不过在这里,我们则更倾向于LMBench的结果。 由于具备了可以支持模块取幂和乘法的MAU,Sun T1能够加速处理SSL的RSA(Rivest Shamir Adleman)和DSA(Digital Signal ALGorithm)的加密、解密操作。每颗T1核心都具备了一个MAU(modular arithmetic unit),这样8个核心就有了9个MAU。为了能够充分利用8个MAU,我们需要通过SCF(Solaris Cryptographic Framework)来完成SSLI的计算过程。我们使用命令openssl speed -engine pkcs11 rsa来测试T1的MAU。Solaris 10系统还提供了in-kernel SSL终端,它的安全性要比kernel之外的SSL终端要更完善。
我们在测试中选择了惠普的DL585来测试Opteron 880的8个核心是否可以和Sun T1 的8个MAU一拼高下。如果想要对Woodcrest和Opteron进行比较,我们则需要检测2和4并行码。我们可以在下面的图表中看到1024bit的数值。每颗核心一个线程师最好的选择,因此我们测试DL585时使用最大的16线程,这样8线程的性能就是最强的。测试Xeon Irwidale使用8线程,因此5线程就是最强的,如此类推。
 我们注意到8MAU的Sun T1在关闭32“SSL RSA signing”线程后只能获得全效性能。在那种情况下,1GHz的T1能够和2.4GHz的8核心DL585取得近似的性能。如果不考虑MAU,T1的性能表现会和1.8GHzde Xeon Irwindale一样快。因此如果你想要在Sun T2000上运行自己的安全网络服务的话,对你的网络服务器进行SCF的检查将会是必不可少的了。 此外,我们注意到之前的Netburst架构的表现非常糟糕。这是因为在Pentium 4核心的内部缺少了barrel shifter,这是一种能够将大量数据转换或者循环进入一个时钟周期的电路。由于缺少了这种转换装置,造成延迟过高。就大多数的x86代码而言不能忽视这一点,不过代码的加密常常需要使用到这个转换和循环的过程。我们分别在HYper-Threading打开和关闭的两种情况下进行了测试。在这种情况下,Hyer-Threading为编码加密带来了20-28%的性能提升。
我们对四核心AMD Opteron 2.4GHz、四核心Xeon Woodcrest和Sun T1(打开MAU,分配不同长度的RSA)进行了对比测试。
| RSA Encryption (Signs/s) | |
| Opteron 2.4 GHz 4 threads | Xeon 5160 3 GHz 4 threads | SUN T1 with MAU 32 threads | | 512 bit | 19003 | 21194 | 35613 | | 1024 bit | 6098 | 6240 | 10722 | | 2048 bit | 1145 | 1087 | 1918 | | 4096 bit | 185 | 164 | 1 | 我们注意到T1的硬件加速并没有在2048bit下表现得更加优秀一些。考虑到大部分的安全程序依然是使用的1024bit,这样的结果我们也可以接受了。 在信号的检测中,服务器必须鉴定客户端的一致性。在1024bit下Woodcrest和Opteron都能检测到每颗核心超过50000keys,而且这还是OpenSSL检测程序的硬件限制。  Opteron再次在测试中取得了领先。8MAU Sun T1的速度只有4Opteron和Woodcrest的一半。加密往往要比检测代码更加损耗服务器的速度。 Apache/PHP/MySQL性能  英特尔的新Xeon在这里“扫了地”。比2.4GHz的Opteron高出75%的性能,新Xeon即使在面对3GHz的Opteron也不会存在什么问题。我们本应该做更深一步的研究,不过现在看来似乎是由于大的4MB L2缓存和Woodcrest本身不更加优秀的整数性能。而T1在这项测试中的表现则属于不好不坏。 Java Webserving 整个测试包括了如下几个部分: - Caucho Technology''s Resin 2.1.17
- Java Virtual Machine: Java HotSpot(TM) Server VM (build 1.5.0_04-b05)
- Sybase ASE 15.0 for Solaris / Linux
 AMD在这里的表现仍然只能算是差强人意,如果我们撇开2.4GHz和2.2GHz的两块CPU不看,3GHz的Opteron仍要比3GHz的Woodcrest慢25%! 本次用于测试的MySQL参数如下: [mysqld] port3306 socket= /tmp/mysql.sock skip-locking key_buffer = 1G max_allowed_packet = 1M table_cache = 1024 sort_buffer_size = 2M read_buffer_size = 2M read_rnd_buffer_size = 8M thread_cache = 125 max_user_conNECtions = 450 max_connections = 450 thread_concurrency = 16 测试结果:  T1需要20-30 MySQL线程才能全速运行,这很大程度上是受到了8核心"4 thread Gatling gun core"架构的影响。 MySQL的性能很难令人满意,和上述的优化以后的图表比起来,性能下降了大约有4-5倍。 接下来我们看看单颗的双核心Woodcrest和双核心的Opteron、四核心的Sun T1的比较。  为了能对双核心进行测试,我们在这里对Xeon Irwindale也进行了测试。额外的1MB缓存使得Irwindale测试成绩改善了7-8%。不过Hyper-Threding并没有对MySQl起到什么帮助,我们注意到这里出现的一个大约7%的性能降幅。 | MySQL Linux (Queries/s) | | Sun T1 4/8 cores 1 GHz | MSI K2-102A2M Opteron 275 | Xeon 5160 Woodcrest 3 GHz | MSI K2-102A2M Opteron 280 | Average Dual-core (T1: quad-core) | 362 | 749 | 996 | 805 | Average Quad-core (T1: octal-core) | 433 | 590 | 904 | 622 | | Speedup Dual to Quad | 20% | -21% | -9% | -23% | 在Linux平台上,双核的X86核心要比四核的表现更加好一些,不过使用Solaris系统的T1则为4-8核心方面的性能作了很多改进。 究竟孰好孰坏?是Linux还是Opteron?我们需要通过在Opteron上的Solaris系统来进行测试。不过由于MSI 1U服务器的芯片并不支持x86Solaris。我们只有使用MSI K8N Master2-FAR来判定了。 | MySQL Solaris (Queries/s) | | Sun T1 4/8 cores 1 GHz | Opteron 280 Solaris | Opteron 280 Linux | Average Dual-core (T1: quad-core) | 362 | 456 | 799 | Average Quad-core (T1: octal-core) | 433 | 605 | 625 | | Speedup Dual to Quad | 20% | 33% | -22% | | | | Database PerformANCe (Linux) | | MSI K2-102A2M Opteron 275 | MSI K2-102A2M Opteron 280 | Opteron 280 vs. Opteron 275 | Extrapolated Opteron 3 GHz | Xeon 5160 3 GHz | | MySQL - Dual-core | 749 | 805 | 7% | 946 | 996 | | MySQL - Quad-core | 590 | 622 | 5% | 703 | 904 | | PostgreSQL | 490 | 524 | 7% | 616 | 673 | 由于Xeon 5160尚未发布,我们现在也尚不可知AMD对此会有怎样的反应,而我们最关心的则是3GHz的Opteron和3Ghz的Woodcrest的对决。两个架构的管线长度一样,同核心技术下能够达到的时钟频率也很相近。我们总店来看看和新Xeon比,Opteron的表现。 | Database Scaling (Extrapolated) | | Xeon 5160 vs. Opteron 280 | Xeon 5160 vs. Extrapolated Opteron 3 GHz | | MySQL - Dual-core | 24% | 5% | | MySQL - Quad-core | 45% | 29% | | PostgreSQL | 28% | 9% | Xeon在开源数据库上的优势相当显著,不过还是比不上Spec 2000的整数测试。而Woodcrest能有如此表现的原因很大程度上也是由于其4MB的L2缓存。正如我们之前所说的,相对于前代的Xeon增加的缓存直接为处理器带来了7-8%的性能提升。我们现在还无法确定在Opteron和Woodcrest上是否也是如此,不过对于最新的Xeon,它的确带来性能上的增进。 Web Server分析 | Webserver Performance | | MSI K2-102A2M Opteron 275 | MSI K2-102A2M Opteron 280 | Opteron 280 vs. Opteron 275 | Extrapolated Opteron 3 GHz | Xeon 5160 3 GHz | | Jsp - Peak | 144 | 154 | 7% | 182 | 230 | | AMP - Peak | 984 | 1042 | 6% | 1178 | 1828 | 分别和2.8GHz的Opteron、3.0GHz的Opteron对比测试的结果: | Webserver Scaling (Extrapolated) | | Xeon 5160 vs. Opteron 280 | Xeon 5160 vs. Extrapolated Opteron 3 GHz | | Jsp - Peak | 49% | 26% | | AMP - Peak | 75% | 55% | 在Web Server的性能测试中,最新的Xeon表现得非常强大,即便是一颗3GHz的Opteron也对他无能为力。 功耗 | Max Power usage (100% CPU load - WaTts) | | Configuration | Power | | Sun T2000 | 1CPU / 8 Cores - 8 GB RAM | 188 | | Dual Opteron 275 HE | 2CPU''s (275HE) - 4 GB RAM | 192 | | Dual Opteron 275 | 2CPU''s - 4 GB RAM | 239 | | Dual Xeon 5160 3 GHz | 2 CPU''s - 4 GB RAM | 245 | | Dual Xeon "Irwindale" 3.6 GHz | 2CPU''s - 8 GB RAM | 374 | 单纯从测试结果来看,T2000服务器的表现最好。据悉,一经上市的T2000服务器都将配备450W电源。从性能/功耗比来看,新的Woodcrest在大多数场合下要略胜一筹。 首先我们对各款处理器的性能作一个大概的描述:Sun T2000服务器及其32线程的T1处理器表现比较中庸,它不会使开源数据库的最好选择。在Solaris上的PostGreSQL和MySQL的表现要超过了在Linux上的表现。英特尔的Xeon 5160也就是Woodcrest或许会成为本年度最成功的的服务器处理器。正如我们所看到的,2.6GHz的Woodcrest甚至能够打败当前的Opteron 285,领先幅度从5-55%不等。而AMD呢?Opteron在不同的平台上都有着出色的架构。它已经成为了出色的四处理器平台的选择,不过在IPC和缓存的增补上,还需要进行一些改进。
Intel Xeon 5160 (Woodcrest)
优点:
所有程序中性能表现最好
高端产品中最好的性能/功耗平衡
GB-DIMMs提供了高带宽和高容量的内存
缺点:
在一些特别情况(RSA、AES)下需要SSE优化代码
FB-DIMM会造成额外的延迟和功耗损失
UltraSparc T1 / Sun T2000
优点:
超强的SSL性能
SSL/Java下不错的性能/功耗平衡
支持Solaris系统
四通道提供了大容量的内存
缺点:
必须进行相关的优化,否则性能不高
单线程下性能较低,直接导致了服务器软件的性能低下
性价比不如Woodcrest
AMD Opteron
优点:
在四处理器平台下表现优异
得益于NUMA,无需FB-DIMM,即可获得大容量内存(DDR2内存具备了低延迟、低功耗的特点)
缺点:
Web Server性能不如Woodcrest
高频下功耗较大
|
|