|
双核至强在X3架构中的新特性在多核服务器这一热门领域中,IBM似乎占据着领跑者的位置。且不说2001年上市的双核Power4处理器,即使在更加通用的x86架构上,在2005年2月,IBM发布X3架构时,就表示其架构可以支持双内核至强芯片。 那么,上市不久的英特尔双核至强在X3架构中具备哪些新特性? 探听过滤器 消弥总线瓶颈 X3 架构使用小型4路服务器构造块(一种SMP,IBM称为Quad)并将它们连接成更大的系统。每个Quad都有本地内存、I/O、探听过滤器(Snoop Filter)和芯片内目录。X3架构最多允许8 个Quad连接在一起,形成 32个处理器的系统。 对于使用基于x86架构的多核处理器来制造大型系统的厂商而言,最复杂的地方在于如何保证高速缓存的一致性。英特尔采用写入无效、基于广播的窥探协议来强制执行高速缓存一致性。尽管这是最简单的方法,而且可为小型系统(1~4路)提供最短的延时,但是这种方法不适用于扩展到4路以上。 在大型系统中,如果采用英特尔的方式会消耗太多的带宽用于一致性信息的广播,几乎不会给有用的数据留下空间。实际上,几乎所有的8路以上系统都要依靠一种基于可扩展性更高的、目录更简明的高速缓存一致性模式,但是,这一技术在应用到4路及以下系统时开销又太大。而IBM折衷了这两种方法,对节点间通信量使用的是混合的目录/广播机制和虚拟的L4 高速缓存,对节点内部通信量使用的是探听过滤器。 X3架构中的Hurricane 芯片组拥有两个总线线段,探听过滤器在这两个段之间分割总线通信量。在出现高速缓存未命中时,一个探听命令放到总线线段A上,探听过滤器截取该命令,并确定是否必须将探听命令传递到该Quad中的另一个总线线段B上。如果读取请求在总线A上的另一个处理器,则取消探听过滤器访问。如果不在总线A的另一个处理器上,探听过滤器将确定是否进行下一个操作。如果读取请求不在探听过滤器中,则直接从内存返回数据。如果探听过滤器表明,请求的目标高速缓存行在总线线段B上,则该探听过滤器将探听指向总线线段B。下图显示了在读取请求上使用探听过滤器的好处。与使用简单的转发器相比,探听过滤器在4路系统上可以提升 10~15% 的性能,可以有效解决可能出现的总线瓶颈问题。 远程目录 解决Quad延迟 探听过滤器消除了Quad内部的总线瓶颈,而Quad之间可能存在的访问瓶颈如何缓解?远程目录技术因此而诞生。 在启动具有多个节点的系统时,X3架构的BIOS 将48Mb的eDRAM分成探听过滤器和远程目录(划分比率可能是 8:1、7:2、6:3 等等)。这种比率已经根据系统大小在 BIOS 中进行了硬编码——显然8Quad系统要比2Quad系统的节点间通信量大得多,因此应该拥有一个更大的远程目录。 远程目录会跟踪那些通过编址映射到主机内存、并由另一个节点检查的数据,它使用的格式与探听过滤器使用的格式相同。在节点请求一个地址在远程节点上的内存的高速缓存行时,源节点将发送一个广播探听到系统中其他的所有节点上。远程目录经过了巧妙的设计,仅仅支持单个节点向任何给定的探听广播响应。当一个节点接收另一个节点的请求且它的探听过滤器显示出它拥有该高速缓存行时,数据会发送到请求节点。至多一个节点可以在它的探听过滤器中显示其拥有该缓存行。特定请求的主节点(Home node)定义为请求的地址映射的内存所在的节点。当非主节点(Off-node)请求到达时,该主节点会同时检查它的探听过滤器和远程目录。 如果远程目录显示,高速缓存行的所有权已经提供给另一个节点,则主节点不会返回数据。如果该请求在探听过滤器中,或者不在远程目录中,则主节点会返回数据。 (责任编辑:城尘) 责编: 微信扫一扫实时了解行业动态 微信扫一扫分享本文给好友 著作权声明:kaiyun体育官方人口
文章著作权分属kaiyun体育官方人口
、网友和合作伙伴,部分非原创文章作者信息可能有所缺失,如需补充或修改请与我们联系,工作人员会在1个工作日内配合处理。
|
最新专题 推荐圈子 |
|