用于避免因冲突的失效事务而造成的活锁的方法和系统技术方案

技术编号:2886438 阅读:173 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种用于避免非均匀存储器存取(NUMA)系统中因冲突的失效事务而造成的活锁的方法。一个NUMA计算机系统包括至少二个连接到一个互连上节点。每个节点包括一个本地系统存储器。为了响应第一节点的一个处理器所发出的要求使得一个超高速缓存线的一个远程拷贝无效的请求,并响应同时所发生的第二节点的一个处理器要求也使得所述超高速缓存线无效的请求,允许完成其中的一个请求。所允许的请求为在相关点一般指主节点上完成而不必重试的第一请求。然后允许完成另一个请求。(*该技术在2019年保护过期,可自由使用*)

【技术实现步骤摘要】
本申请和下述共同待决美国专利申请有关1.于同一日申请的、标题为“用于在非均匀存储器存取系统中避免因冲突的回写造成的活锁的方法和系统”的序号为09/239,366的申请;以及2.于同一日申请的、标题为“用于在非均匀存储器存取系统中避免因失时效的排它的/修改的目录条目造成的活锁的方法和系统”的序号为09/259,379的申请。上述所有共同未决的申请都转让给本申请的受让人本专利技术一般涉及一种用于数据处理的方法和系统,尤其涉及一种用于避免计算机系统中的活锁的方法和系统。尤其是,本专利技术涉及一种方法和系统,用于在非均匀存储器存取计算机系统中避免因冲突的失效事务而造成的活锁。计算机技术中周知,通过组合几个独立处理机的处理从而形成多处理机(MP)计算机系统可达到更高的计算机系统性能。可以用一些不同的拓扑并根据特定应用的性能要求来设计MP计算系统。例如,对称的多处理机(SMP)配置是常用的较简单MP计算机系统拓扑中的一种,其中诸如系统存储器的资源由多个处理机共享。拓扑名“对称”来源于这样的事实,即SMP计算机系统内的所有处理机对系统内的所有资源具有对称的访问。虽然SMP拓扑允许采用相对简单的处理机间通信协议和数据共享协议,总的来讲SMP拓扑的可扩缩性和带宽有限,尤其当系统规模增加时在系统存储器层上。因而,出现了一种作为替代设计的称为非均匀存储器存取(NUMA)的另一种MP计算机系统拓扑,它解决SMP拓扑的许多限制,但以某些其它的复杂性为代价。典型的NUMA计算机系统包括多个互连的节点。每个节点包括至少一个处理机和一个本地“系统”存储器。NUMA拓扑名来自于这样的事实,处理机对于存储在其本地节点处的系统存储器中的数据的存取等待时间短于对于存储在远程节点处的系统存储器中的数据的存取等待时间。根据在不同节点中的超高速缓存中是否保持数据相关性,NUMA计算机系统还可进一步被分类成是非超高速缓存相关的或者是超高速缓存相关的。通过把NUMA计算机系统内的各个节点实施成较小的SMP系统,NUMA拓扑可解决常规SMP拓扑的可扩缩性限制。这样,可以优化仅由少量处理机使用的各节点内的共享部件,同时整个系统可以从可得到的相对短的等待时间下的更大规模下的并行性受益。除了所有这些不同的优点外,NUMA系统中的一个尤其需要考虑的问题是超高速缓存相关性协议所带来的潜在的活锁问题。例如,当某远程节点处的处理机和主节点处的处理机同时试图使得远程处理机内的一条超高速缓存线失效时,则会出现活锁情况。因此,需要提供一种方法,用于避免NUMA计算机系统内因冲突的失效事务而造成的活锁。依据本专利技术的方法和系统,一种NUMA计算机系统至少包括二个连接到一个互连上的处理节点。每个处理节点包括一个本地系统存储器。为了响应第一节点的某一处理器的请求和响应同时发生的第二节点的某一处理器的请求,一次只允许完成其中的一个请求,其中第一节点的处理器请求使得存储在其超高速缓存中的某超高速缓存线的远程拷贝失效,第二节点的处理器也请求使得上述超高速缓存线失效,所允许的请求是无需在相关性点上重试来完成的请求,其中相关性点一般指主节点。随后,允许完成另一个请求。在下述详细书面说明中本专利技术的所有目的、特性和优点变为清楚。通过参看附图未参考示范实施例的下述详细说明可最好地理解本专利技术本身以及使用的优选方式、其它目的和其优点,其中附图说明图1是依据本专利技术的一种最佳实施例的非均匀存储器存取(NUMA)计算机系统的框图;图2是图1的NUMA计算机系统中的节点控制器的详细框图;图3a和3b共同描述了由于失效的事务而造成的活锁情况的示例;图4a和4b一起描述了依据本专利技术的一种最佳实施例的用于解决由于失效的事务而造成的活锁情况的示例;和图5是依据本专利技术的一种最佳实施例的用于解决由于失效的事务而造成的活锁情况的方法的时序示例。I.NUMA系统A.系统概述现在参照各附图,尤其参照图1,图1示出依据本专利技术的一种最佳实施例的非均匀存储器存取(NUMA)计算机系统的框图。所描述的该实施例例如可由工作站、中型机或大型机实现。如所示,一个NUMA计算机系统10包括通过一个节点互连20互连的处理节点11、12和13。各个处理节点11~13至少包括一个处理机。例如,处理节点11包括处理机14a-14c,这些处理机最好彼此相同。除了用于执行程序指令的寄存器、指令流逻辑电路和执行部件之外,每个处理机14a-16b还包括一个各自的单片一级(L1)超高速缓存15a-15c,它和各自的二级(L2)超高速缓存16a-16c用于为相关的处理机14a-14c分级来自系统存储器17的数据。即,L1超高速缓存15a-15c和L2超高速缓存16a-16c为可能由处理机14a-14c再次将访问的数据充当系统存储器17和处理机14a-14c之间的中间存储器。L2超高速缓存16a-16c的存储容量一般要比L1超高速缓存15a-15c的存储容量大得多,但它的存取等待时间更长。例如,L2超高速缓存16a-16c可能具有1-16兆字节的存储容量,而L1超高速缓存15a-15c只具有8-32千字节的存储容量。尽管在图1中表示L2超高速缓存16a-16c在处理机14a-14c的外部,但是应当认为每个L2超高速缓存16a-16c也可与相关的处理机14a-14c混为一体,以作为另一级的单片超高速缓存。此外,应理解,可应用其它的超高速缓存级(例如第三级、第四级、等)来提供附加的数据存储。在本公开中,每个处理机14a-14c以及其相关的超高速缓存级即L1和L2超高速缓存,被当作单个监听方。此外,每个处理节点11-13还包括各自的节点控制器,例如用于处理节点11的节点控制器19。节点控制器19和系统存储器17、L2超高速缓存16a-16c一起连接到本地互连5。通过至少执行下述二个功能,节点控制器19作为远程处理节点12和13的本地代理(1)节点控制器19监听本地互连5上的通信事务并且便利向远程处理节点12传输相关的本地通信事务,以及(2)节点控制器19监听节点互连20上的通信事务并且控制地互连如本地互连5上的有关通信事务。每个本地互连例如互连5上的通信是由一个仲裁器例如仲裁器18控制。根据任何处理机14a-14c所生成的总线请求信号以及对于所监听到的本地互连5上的通信事务的编译相关性响应,仲裁器18来调节任何对本地互连5的访问。可以由“重新运行(ReRun)”相关性响应来推迟本地互连5的相关性响应阶段。接收“重新运行”响应的事务被称为已被“重新运行”。当发出“重新运行”响应的部件准备完成事务时,它向本地互连5发出带有原始的被“重新运行”的事务标记的“重新运行”事务。“重新运行”事务使原始请求方在可完成相关性响应阶段的时刻重新发出该事务。NUMA计算机系统10中的每个处理节点11-13还可包括其它部件,例如,I/O部件(如显示器,键盘或图形打印机),用于存储操作系统和应用软件的非易失性存储器,以及用于连接网络或附属部件的的串行端口和并行端口。然而这些部件并不是对于理解本专利技术所必需的部件,并且为了避免使本专利技术的说明模糊不清相应地省略掉了这些部件。B.存储器组织NUMA计算机系统10中所有处理机,例如处理机14a-14c,共享单个物理存储空间,这意味着每个物理地址本文档来自技高网...

【技术保护点】
一种用于避免非均匀存储器存取(NUMA)计算机系统内因冲突的失效事务而造成的活锁的方法,其中所述NUMA计算机系统至少包括二个连接到一个互连上的节点,并且所述至少二个节点中的每个包括一个本地系统存储器,所述方法包括步骤: 响应第一节点的一个处理机要求使一个超高速缓存线无效的请求,并响应同时发生的第二节点的一个处理机要求也使所述超高速缓存线无效的请求,允许完成所述二个请求中的一个,其中所述的被允许的请求是到达相关性点的不必重试的第一请求;以及 然后,允许完成所述二个请求中的另一个请求。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:盖里戴尔卡彭特马克埃德华迪恩戴维布莱恩格拉斯哥
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

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

1