IBM依靠最近的技术成就(即著名的POWER4和POWER5)成为拥有超凡技术的微处理器设计厂商,与此同时,它在系统级设计领域也几乎没有对手,这是毫无疑问的。IBM的系统设计历史可追溯到S/360的成功;今天,IBM的zSeries(S/360的后继产品)代表了高端系统体系架构的顶峰。幸运的是,IBM内部的其它部门已经获得了IBM大型机支配地位的技术优势。John McCalpin和Tom Bradicich博士都欣然承认它们的产品(分别是pSeries和xSeries系统)在很大程度上受着这些第一次由大型机架构所完善的技术的影响。看到大型机世界又出现了新的技术总是令人很兴奋的,因为摩尔法则让芯片组设计人员知道晶体管数目有不断增加的趋势。本文详细分析了IBM新X3 Architecture的基本节点、一致性机制、内存子系统和I/O子系统,这些内容已由Tom Bradicich博士在2005年春的IDF上进行了介绍。
构造块
大多数的x86服务器供应商使用的都是Intel的标准芯片组。这对于“白牌机”供应商(因为它们无力支付研究和开发的费用)和其它供应商(如戴尔,它提前放弃了研究和开发方面的相关费用)当然是一个福音。不过,对于IBM而言,这意味着一个可以充分发挥自己雄厚的系统专业知识、创建可扩展性更高的解决方案的大好机会。这一战术正是IBM的常规战略。IBM往往看好可以利用它们的人才资源、并对竞争产品具有绝对优势的市场,避免进入那些高度竞争、对价格十分敏感的市场(如PC)。
XA-64e或者“Hurricane”芯片组是IBM新一代x86芯片组,它的设计用途是从简单的单路处理器服务器和工作站扩展到具有双核处理器的64P系统。因为除了Unisys的ES7000和IBM的xSeries,很少有大型的x86服务器,所以,有点难以找到X3 Architecture的比较点。就像Bradicich博士在他的谈话中指出的,X3最自然的比较对象是它的前代产品,即EXA2芯片组,因为IBM在这两款产品上拥有丰富的信息。X3象征着在前一代芯片组上取得了巨大的进步,它支持双667MHz前端总线、探听过滤器(snoopfilter)、芯片内基于目录的一致性机制、虚拟高速缓存、PCI-X2.0和DDR2内存。
像大多数大型系统一样,X3使用小型4路服务器(双核为8路)构造块并将它们连接成更大的系统。每个4路都有本地内存、I/O、探听过滤器(snoopfilter)和芯片内目录。最多可将8个4路连接在一起,形成32个处理器的系统(使用双核芯片可达64路)。
X3Architecture是在2005年2月22日发布的,eServerx366已从3月29日开始提供。x366使用的是Intel的XeonMP芯片,为该系统发布的第一个基准测试使用的是CranfordXeonMP(3.66GHz、1MBL2高速缓存)。IBM提交了两组4路TPC-C结果;一个使用的是MSSQL,一个使用的是IBM自己的DB2。基于DB2的系统以大约9KTpmC的微弱差距败给了MSSQL系统(基于DB2的系统是141KTpmC,而MSSQL系统是150KTpmC)[3]。
一致性机制
对于使用x86MPU的大型系统制造商而言,最复杂的地方在于一致性。IntelCPU使用写入无效、基于广播的窥探协议来强制执行高速缓存一致性。尽管这是最简单的方法,而且可为小型配置(4路及以下)提供最短的延时,但是,不适用于扩展到4路以上。在大型系统中,会消耗太多的带宽用于一致性信息的广播,几乎没有给实际的数据留下什么空间。几乎每个8路以上专有系统都要依靠这种基于可扩展性更高的、目录更简明的高速缓存一致性模式,但是,这一方法在应用到较小的系统时开销太大。X3折衷了这两种方法,对节点间通信量使用的是混合的目录/广播机制和虚拟的L4高速缓存,对节点内部通信量使用的是探听过滤器(snoopfilter)。我们首先讨论探听过滤器,然后,讨论节点间的一致性机制。


