引:2003年3月在一片质疑声中诞生的Opteron处理器及x86 64位内存扩展技术(AMD称之为AMD64技术),在2004年已经为AMD赢得了掌声和荣誉,以及实实在在的收益。Sun、IBM以及Intel昔日的服务器死党HP都陆续推出了Opteron 服务器。
2004年6月,Intel也不得不跟进,发布了同样具有x86 64位内存扩展技术(Intel称之为EM64T技术)的新Xeon,代号Nocona。Nocona技术无热点,但整个市场却随之而沸腾了,大大小小的服务器厂商纷纷跟进。不过,这并不意味着Nocona一定优于Opteron,而是源于Intel 在服务器产业链中深厚而悠久的影响力。Opteron 和Nocona,两者到底谁优谁劣?这需要从人们对64位处理器的一些误会说起。

64位的误会32位的进步
从具有64位内存扩展技术的Opteron推出开始,很多测试都表明它比32 位的Xeon 性能要高。支持64 位内存扩展技术的Nocona 推出以后,性能也比原有Xeon性能提升了很多。于是很多用户得出结论,64 位就是比32 位强。
结论是正确的,64 位确实比32 位强,但是因果关系存在问题,结论中也存在误导倾向。
目前无论Opteron还是Nocona,测试大多基于32 位运行模式,而不是64 位运行模式,64 位x86 的应用程序和测试工具还极少。因此,测试结果说明的是32位系统自身的进步,而不是64 位系统比32 位系统的优势。
Opteron 和Nocona 在平台架构上都有一些进步。由于处理器频率平均每年增长60%,内存性能每年仅提高7%,I/O 性能增长也远远滞后于处理器,因此处理器实际性能表现受制于内存延迟和I/O 延迟。Opteron和Nocona都在改善内存和I/O 性能上作了重要改进。
首先我们看一下Opteron,除了包括处理器核心和缓存之外,还在处理器上集成了内存控制器(带宽5 .3GB/s)和I/O 接口HyperTransport 2.0(3 个接口,每个单向带宽3.2GB/s)。AMD 称之为直连架构。
与通过前端总线方式连接外部独立的内存控制器相比,在单处理器情况下,集成的内存控制器在内存带宽上并没有优势,但是可以明显缩短内存延迟。其次,随着处理器数量增加,内存带宽也随着处理器数量而增加,双处理器情况下内存带宽提高到了10.6GB/s,4 路处理器的内存带宽更是高达21.2GB/s,内存平台架构的可缩放性非常好。

集成的I / O 接口HyperTransport在I/O通信和处理器之间通信时提供了高带宽、低延迟的特性。
通过革命性的架构改进,Opteron 处理器性能表现在32 位运行模式下即获得了大幅提高。
Nocona在平台架构上没有大的改变,但是提升了很多性能指标。Nocona配套芯片组E7520 采用800MHz 前端总线,与533MHz 前端总线相比带宽上有50% 提升。由于支持DDR2 400 内存和双通道存取技术,内存子系统带宽提升到6.4GB/s,明显缩短了内存延迟,同时降低了功耗。
在I/O 子系统上,对应于单向带宽3.2GB/s 的AMD HyperTransport 2.0,E7520 支持3 个带宽4GB/s 的PCIExpress8x。如果采用PCI-Express的扩展卡,就可以直接和北桥芯片E7520MCH连接,I/O 延迟将缩短,这是Intel一直力推PCI-Express 的原因之一。
业界对PCI-Express 的接受速度并不像Intel所期望的那样,目前只有显示卡真正采纳了PCI-Express 标准,所以这一优势在服务器领域暂时不能充分发挥,仅为未来应用埋下伏笔。
E7520芯片组中新配备的IOP332 I/O存储处理器是一个低成本的高速RAID控制器,充分利用DDR2 400 内存和XScale内核(800 MHz)的优势,能够显著提高磁盘阵列数据存储和恢复的速度。
由于处理器6.4GB/s 共享前端总线瓶颈,芯片组上的优势不能全部转化为平台综合性能的优势。但从目前的各种测试数据来看,Nocona平台的I/O吞吐性能有很大提高。

图1 > A M D Opteron 处理器直连架构具有良好的可缩放性
集成还是分立
到底是否应该把内存控制器和I/O总线接口集成到处理器之中?
较早采用集成设计的是几经易手的64位RISC处理器Alpha。Alpha在技术上的成功是有目共睹的,但是先从DEC 转手到Compaq,又从Compaq转手到Intel和HP。现在Alpha团队大部分在Intel,为其设计未来的Itanium。而数年前有几个精英人物来到了AMD,打造了Opteron。所以,Opteron采用集成设计顺理成章。未来的Itanium是否会采用集成设计还是未知数。
集成的优点
集成内存控制器和I/O总线接口的做法在多处理器的情况下无疑具有性能优势,具有出色的可缩放架构。2005 年5 月IBM推出的最新处理器Power 5 上也集成了内存控制器。
另外一个不被人注意的优势需要更长时间才能展现出来,那就是平台设计的一致性更加出色,保持了服务器的可升级性。也就是说,升级了处理器,也就升级了处理器和传统概念上的内存控制器(北桥),不会发生内存控制器不支持新处理器特性而无法升级的问题。
这种无法升级的情况在独立芯片组的设计下是经常发生的,包括在PC 上大家都有不少经历,例如最新处理器升级到800MHz 外频,而芯片组只支持400MHz或533MHz外频,那么就无法升级到新的处理器了。对于服务器产品,保护用户投资价值的似乎显得尤为重要。

图2 > Nocona 和E7520芯片组的平台架构在内存和I/O 的带宽和延迟上均有显著改进
集成的缺点
当然,集成内存控制器和I/O 总线接口的做法自有集成的一些缺点。
首先,集成增加了芯片设计的复杂程度和整体晶体管数量,提高了CPU制造成本。为什么CPU缓存数量一直是可怜的几百KB,近年刚刚晋升到MB,原因就在于集成到处理器的缓存增加了CPU 整体晶体管数量,成本相对较高。
再看看服务器机箱内仅次于处理器的一块散热片是哪片?北桥内存控制器的。把内存控制器集成到处理器内部就意味着给处理器散热问题提出了更严峻的考验,整机散热设计更加困难。

图3>2004年8月19日,Sun推出支持4 路Opteron 800的企业及服务器S u n F i r e v 40z
因此,在CPU中集成内存控制器和I/O 总线接口带来的性能提高是有一定代价的。
独立的优点
独立的内存控制器和I/O接口也并非没有优点,最大的优点在于服务器产业链方面。
看看Xeon和Itanium的芯片组,除了Intel 自己的芯片组产品之外,还有IBM、HP、SGI、Unisys、ServerWorks 等为其设计了芯片组产品。
Intel自己的芯片组设计经验和技术还不足,设计经验还仅限于4 路及以下中低端服务器的SMP(对称多处理)架构。在高端服务器的NUMA(非一致性内存访问)架构下,Intel还依赖于产业链内合作伙伴的支持。
如果Intel采用集成内存控制器和I/O接口的做法,等于在高端服务器领域内自毁江山。短期内,Intel也不可能把多路服务器处理器和双路处理器的设计完全分开,而仅仅在双路服务器内集成内存控制器和I/O 接口,这样不利于规模经济。
从产业链角度讲,独立的内存控制器和I/O接口可能更适合开放工业标准的产品。因此Intel在未来2年都不会采用集成内存控制器的方法。
AMD 的Opteron 由于已经在处理器内集成内存控制器和I/O 接口,所以也就不再有芯片组的概念了,只是周边还需要一些I/O 芯片而已。要进军高端服务器领域,只有靠AMD 自己的力量了。
真假64 位
从一开始,AMD就宣传Opteron是64位处理器。而等到Intel采用这一技术的时候,就强调Nocona 是具有64 位内存扩展技术的处理器。
这里面有什么玄机? Opteron 和Nocona 能否称为64 位处理器? x86 的64位内存扩展技术到底是什么?
从处理器的功能来看,具备64位处理器的4GB以上内存寻址能力,能够运行64位软件和操作系统,所以N o c o n a 和Opteron 可以称为64 位处理器。但是仔细看看处理器内部,一些疑问浮出水面。由于Opteron 没有公布详细资料,那么就让我们来看看Nocona吧。首先,Nocona 只是对Prescotte 内核稍加修改就OK了,一个32 位处理器就变成64 位处理器了吗?神奇的是,居然全兼容原来的32位软件,这需要大量的晶体管来支持。然而,Nocona的晶体管数量和处理器价格水平没有多大变化。
要是真的这么简单,现在的64位处理器岂不早就翻版成128 位、256 位处理器了?或者说,如果有这么便宜的64位处理器,Power 5、UltraSPARC Ⅳ、PA-8900、Alpha EV7等等这些动辄天文数字的64位RISC 处理器就别活了,也不用发展什么Itanium 了。
Nocona 和Opteron 处理器的核心其实没有多大改变,内部仍然是32 位运行。从这个角度看,Opteron和Nocona都是32位处理器。
既能运行64 位软件又能运行32 位软件的Opteron和Nocona,到底应该算是32位处理器还是64 位处理器?
暂且称作准64 位处理器吧!
目前,准64 位处理器虚拟的内存寻址还达不到64 位,仅有48 位,内存控制器最高仅支持到36位,因此目前准64位服务器系统最多只支持64GB内存,而不是64 位处理器以TB 计的寻址空间。

图4>微软副总裁Andy Lees曾透露,根据内部测试,微软的很多软件运行在x86 64 位兼容模式下比其在32 位模式下,性能大约提高20%
准64 位的性能
既然Opteron 和Nocona 都支持64 位运行模式,其在64位运行模式下性能到底高几何?
首先,对于需要超过4GB大内存的32位x86应用,准64位系统一定能带给人们惊喜,它们能支持8GB~32GB 的内存容量。把数据库从硬盘上挪到内存中运行,性能提升恐怕是好几倍。
其次,对于经常闲置等待数据的CPU核心而言,64 位运行模式能够为CPU 多准备一点儿数据,提高了CPU运算核心的利用率。
对于在x86 系统上运行企业级应用的企业,准64 位还是有其存在的价值。微软负责服务器和工具软件的微软副总裁Andy Lees在接受记者采访时曾透露,根据内部测试,微软的很多软件运行在x86 64 位兼容模式下比其在32 位模式下,性能大约提高20%,而且应用软件只需要在64 位模式下重新编译即可,无需修改。因此,微软已经把x86 64位兼容模式作为未来的企业级硬件平台标准, 而把Itanium 的平台定位放到了与大型机应用软件竞争的层面。
微软的鼎力支持,显然将为准64位应用带来辉煌前景。
性能之外看稳定
AMD在7月正式公布了Opteron处理器内部编号为“109错误”的系统缺陷。这与4月份OEM厂商透漏出Opteron系统存在缺陷的消息已经相去3 个月了。这或多或少地打击了服务器用户对AMD 的信心,毕竟服务器产品秉承的是“稳定为先”的理念。
这个“109 错误”造成汇编语言REP和MOVS 指令在没有执行的情况下被跳过,或者产生错误的地址位以及数据位。当“109错误”被触发时会导致系统挂起,或者计算结果产生误差。Opteron 系统“109 错误”需要通过升级服务器BIOS 的办法消除。
其实,谁也不敢保证Nocona 中没有错误。就像现在的大型软件产品个个都有缺陷一样,处理器的日趋复杂化,使得每一代新产品都面临日益复杂的芯片预验证问题。何况一个采用全新设计思路兼容64位和32位的产品,出现问题的概率就更高了。

图5 > Intel 在2004 秋季IDF 上展示的最新Intel 服务器处理器技术发展蓝图,计划全部过渡到双核和多核技术
就在Nocona正式上市之前的2004 年7 月,支持Nocona 的芯片组7520/7320 爆出缺陷问题,推迟了产品发布。据悉,缺陷出现在内存控制器,在某种条件下当使用某些支持PCI Express 总线的设备时会导致系统宕机。尽管这发生在产品发布以前,仍然让人心有余悸。
由于现在缺乏支持x86 64 位内存扩展技术的应用软件,这一技术是否存在潜在问题?性能到底如何?还很难说清楚。很多问题,都只有在大规模应用中才能发现。
因此,笔者建议用户在关键应用中要慎用新技术,在新技术产品化的最初6~12 个月内最好敬而远之。
|