具有多个一致性区域的多处理器计算机系统及其方法技术方案

技术编号:2865975 阅读:201 留言:0更新日期:2012-04-11 18:40
一种多处理器计算机系统具有多个处理节点,其利用处理器状态信息来确定该系统内的哪些一致性高速缓存被要求检查由单个发起处理器的存储请求产生的一致性事务。该计算机的节点具有动态一致性边界,从而在任何给定的时间点,硬件为单个工作负载仅使用一大型系统内的所有处理器的一个子集,并且由于系统管理程序软件或固件扩展和收缩用于运行任何单个工作负载的处理器的数目,可以优化高速缓存一致性。

【技术实现步骤摘要】

本专利技术涉及具有多个节点和一些动态高速缓存一致性区域(cachecoherency region)的多处理器计算机系统。更具体地,本专利技术涉及这样的计算机系统,其可以在诸一致性区域之间移动软件进程,而不需要对高速缓存的内容进行有选择的清除。
技术介绍
计算机处理器在等待完成存储器引用时所花的空闲时间已经成为多种重要的商业和技术计算工作负载的总执行时间中的一个较大部分。在多处理器系统设计中已经使用了许多现有技术以最小化完成主存储单元的访问时处理器必须等待的时间。这些技术大致分为两种。第一种技术试图为正在等待正在经历延迟的存储器引用的处理器寻找另外的指令来执行。这些技术包括诸如乱序执行和多线程的硬件和软件机制。第二种技术集中于最小化存储器引用本身的等待时间,例如SRAM高速缓存、DRAM高速缓存以及高速多处理器总线体系结构。SRAM和DRAM高速缓存在减少存储器引用等待时间方面非常成功,而当今所有多处理器设计都使用了它们中的一种或全部两种。现有技术的高速缓存设计包括为多处理器系统保持高速缓存一致性的专用硬件和软件。对于通过一共享总线连接多个处理器的系统,通常使用监测总线协议(snoop bus protocol)。对在共享总线上执行的每个一致性事务对照附连在该总线上的所有其它设备的高速缓存中的数据进行检查(或“监测”)。如果发现了受影响的数据的副本,可以更新包含该数据的高速缓存管线(cache line)的状态以响应该一致性事务。虽然对于具有中等数量的处理器的多处理器系统,高速缓存工作得很好,但是现有技术的多处理器设计当被扩展到大量的处理器时不能提供好的扩展,这些大量的处理器用于许多重要的工作负载,包括由TPC-C基准测试模拟的事务处理和数据库工作负载。如在美国专利No.4843541所说明的逻辑分区,在使用共享处理器的情况下,也造成现有技术的系统设计在扩展到大量的处理器时具有很低的可扩展能力。美国专利No.4843541显示了如何使用一虚拟机系统管理程序(hypervisor)“将数据处理系统的中央电子联合体(central electroniccomplex)内的资源分区到多个逻辑分区”。逻辑分区广泛地使用于大型多处理器系统,以运行同时地处理其私有数据的许多工作负载。在典型的使用逻辑分区的系统内,在每个逻辑分区内初始化一个操作系统实例。逻辑分区可以有1到n个逻辑处理器。系统管理程序负责将每个逻辑处理器分派到一个物理处理器上。如果一物理处理器在一段长时间内仅服务于单个逻辑处理器,就称其“专用于”该逻辑处理器的分区。如果一个物理处理器服务于多个分区的诸逻辑处理器,则称其为“共享的”处理器。从整体硬件利用率的角度出发,希望大型多处理器系统允许灵活地将许多或大多数的物理处理器定义为“共享的”处理器,并且在物理处理器的利用率随着外界变化而波动时,允许逻辑处理器在该多处理器系统的物理处理器之间移动。对于这些分区的工作负载,现有技术的多处理器高速缓存设计不能很好地扩展,特别是当物理处理器被定义为“共享的”时。大型多处理器系统在大型单个数据库工作负载和共享逻辑分区这两种情况下的低的可扩展性能的一大因素在于增加处理器的数目和在这些处理器间通信所需的时间延迟之间的关系。监测总线协议需要将未命中本地高速缓存的存储器引用广播到所有可能包含所请求的管线的副本的高速缓存,通常是广播到系统中的所有其它高速缓存。为大型多处理器系统发布这些地址及其响应所需的总线带宽非常高。对提供所需的高带宽的需要驱使现有技术的设计使用具有许多宽端口的交换芯片(switch chip)、昂贵的芯片载体以提供所需的管脚、昂贵的板卡技术以提供好的电特性并由此提供高速总线、昂贵的板卡连接器以提供宽的总线等。当试图改进大型多处理器系统的性价比时,所有这些元件的成本已经成了一个大问题。现有技术的设计试图以许多不同的方式解决这样两个问题,一致性操作延迟和地址带宽限制,但是每种方法都在系统设计上增加了其它的成本,这是本专利技术力图避免的。在现有技术的设计中,使用了如例示于IBM S/390 G4设计(IBMJournal of Research and Development Volume 41,Numbers 4&5,1997)中的大的共享高速缓存来解决这两个问题。少数几个大的共享高速缓存的互连对于命中共享高速缓存的请求的确提供了好的等待时间。所包含的共享高速缓存也起过滤器的作用,其可以消除在某些情况下向系统内所有处理器广播地址的需要。该设计不能很好地扩展到大量的处理器。对额外处理器的使用驱使设计使用具有许多布线层的大的多芯片模块以及具有非常大量的I/O的L2高速缓存芯片,这些I/O是为每个相连的处理器提供一个端口所需要的。依据目录追踪远程请求者对本地存储器的访问的多处理器系统,如Sequent NUMA-Q设计(“STiNGA CC-NUMA Computer System for theCommercial Marketplace”,in Proc.23rdInternational Symposium ofComputer Architecture,May 1996)所例示的,运作以减少大量处理器所需的地址带宽。它们以大的RAM目录和增加的协议复杂性及硬件支持的代价来实现这一点。这种类型的设计还依赖于这样的假设,即由特定软件进程引用的多数主存储管线位于与执行该工作负载的处理器当前被分派的节点为同一节点的物理节点上。对于工作负载访问大量的远程管线的情况,存在极其严重的性能惩罚,这是因为可由远程节点“借出”(check out)的管线的数目受限于NUMA目录的大小。本专利技术的一个目标在于允许工作负载的执行可以快速地并且容易地在多个处理器间移动,而不必移动主存储内容并且没有明显的性能下降。Hagersten等的美国专利No.5852716描述了使用多个地址分区以便定义高速缓存一致性操作,所述一致性操作既可以是“本地的”并限制在大型多处理器系统中的处理器的一个子集上,或是“全局的”并因此广播到所有处理器。Hagersten的专利技术中的本地事务定义为这样的事务,其具有分配给与发起存储请求的处理器所属的处理节点子集相同的处理节点子集的物理存储器。开始于美国专利No.5852716的第7列第63行的描述清楚地表明,该现有技术的专利技术不允许在其所称的“本地域”之间移动进程,而既不移动与该进程相关联的物理存储,又不将寻址模式改变为“全局的”。我们已经确定,存在对减少多处理器计算机系统内的各个处理器间的地址请求传输,而不使用大量的SRAM目录,并且不需要移动主存储内容的技术的需要。在开发用于满足这种需求的解决方案中,我们已经确定存在有相关联的需求以便减少大型多处理器系统中所有存储引用事务的等待时间。
技术实现思路
在满足这些已经确定的需求时,我们使用了硬件一致性控制,其使得使用多个高速缓存一致性区域的系统能够运行,而不必在某些在诸一致性区域间移动软件进程的操作中使用高速缓存清除。当前专利技术用于这样的情况,其中从一个将不再被使用的一致性区域移出软件进程,并且将其移入另一个已被创建的覆盖与第一个一致性区域相同的地址空间、但是包括新的一组处理节点的一致性区域内。我们的发本文档来自技高网
...

【技术保护点】
一种多处理器计算机系统,包括:    多个处理节点和多个使用与所述处理节点相关联的高速缓存的动态高速缓存一致性区域,并且具有    在所述处理节点内的高速缓存控制器逻辑,其控制所述多个高速缓存一致性区域间的由软件发起的软件进程的移动,而不需要在一个或多个所述处理节点中有选择地清除高速缓存内容。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:TJ小赫勒
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利