用于事务存储器管理中的冲突仲裁的优先化制造技术

技术编号:7165393 阅读:289 留言:0更新日期:2012-04-11 18:40
本发明专利技术的实施例提供了一种用于事务存储器管理中嵌入式冲突仲裁的、并发事务的软件优先化的方法、系统和计算机程序产品。在本发明专利技术的实施例中,用于事务存储器管理中嵌入式冲突仲裁的、并发事务的软件优先化的方法可包括在被配置为根据系统外部软件支持中的优先级分配逻辑指定的相应优先级值进行事务存储器管理的事务存储器系统中,使用用于相应不同事务的不同优先级值设置不同的硬件寄存器。所述方法还可包括检测所述系统中事务之间的冲突。最后,所述方法还包括根据系统外部软件支持中的优先级分配逻辑指定的优先级值在所述系统中应用冲突仲裁。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及并行计算中的事务存储器利用领域,更具体地说,本专利技术涉及事务存储器管理中的冲突仲裁。
技术介绍
事务存储器技术尝试通过以原子方式执行一组加载和存储指令,来简化并行编程 (parallel programming)。一般而言,事务存储器是与数据库事务类似的并发控制机制,用于控制并行计算中对共享存储器的访问。但是,与大多数现代多线程应用中使用的锁定技术不同,事务存储器可以被视为乐观的(optimistic),因为一个线程完成对共享存储器的修改而不考虑其他线程的活动,同时记录每个执行的读写操作并将推测性更改缓冲到存储器中。当两个或更多个事务访问同一存储器块并且其中至少有一个访问为写访问时,便会发生事务冲突。在使用事务存储器时,不是由存储器块的读取者或写入者负责确保事务的执行不与其他正在进行的事务发生冲突,而是由事务存储器系统负责确认其他线程没有并发地对存储器块做出冲突引用。此类事务存储器系统可以通过软件、硬件或软件和硬件的组合来实现。检查存储器引用是否与其他并发存储器引用冲突的操作通常被称为验证。 如果验证成功,便会在事务结束时,通过经常被称为提交的操作使所有存储器更改永久化。 但是,事务可能随时中止(abort),从而导致该事务先前所执行的所有更改回滚或取消。如果事务因为冲突的更改而无法提交,则可以中止或从头重新执行该事务,直到该事务成功。因此,本领域的技术人员将理解,乐观事务存储器方法的优点在于提高了并发性。 具体而言,在本领域公知的乐观方法中,执行的任何线程无需等待来访问存储器块。进一步地,不同的执行线程可以同时安全地修改数据结构的不同部分,而这些不同部分在其他方法中会受同一个锁的保护。总之,尽管重试失败的事务会增加开销,但是在许多现实的程序中,冲突发生得足够少,以至于与基于锁的协议相比,事务存储器技术可以为大量处理器提供巨大性能增益。冲突仲裁是一种机制,用于在发生冲突时判定阻止或中止哪些事务,以及允许哪些事务继续执行。冲突仲裁由底层争用管理策略控制。已经针对事务存储器系统提出了简单的冲突仲裁机制,例如,当事务尝试访问的数据同时被另一活动事务访问而导致冲突时, 中止该事务。但是,最近的研究显示了高级争用管理(better contention management)的重要性。高级争用管理避免了简单争用管理策略中可能存在的“活锁”,高级争用管理大幅提高了频繁冲突情况下的性能。复杂争用管理策略可允许在等待竞争事务成功提交的同时临时阻止事务尝试执行冲突访问,同时使用启发式方法最大化事务吞吐量,另外还使用一些机制提高公平性或提供更好的向前进展保证。然而,尽管有些争用管理策略显示了跨越一组基准或应用的良好性能,但是没有任何单个策略是普遍最佳的
技术实现思路
本专利技术的实施例弥补了本领域中有关事务存储器系统的冲突仲裁的缺陷,并提供了一种用于事务存储器管理中嵌入式冲突仲裁的并发事务的软件优先化(prioritize)的新颖且非显著的方法、系统和计算机程序产品。在本专利技术的实施例中,一种用于事务存储器管理中嵌入式冲突仲裁的、并发事务的软件优先化的方法可包括在被配置为进行事务存储器管理的系统中,根据系统外部软件支持中的优先级分配逻辑指定的相应优先级值,为相应不同事务使用不同优先级值设置不同的硬件寄存器。所述方法还可包括检测系统中事务之间的冲突。最后,所述方法可包括根据系统外部软件支持中的优先级分配逻辑指定的优先级值在系统中应用冲突仲裁。优先级值构成冲突仲裁机制的基础并实现争用管理策略。让软件控制优先级值允许使用适合每个基准 (benchmark)或应用的不同争用管理策略。在实施例的一个方面,所述方法还包括从系统的另一寄存器中检索冲突仲裁控制值。所述冲突仲裁控制值可以指定冲突仲裁操作的类型和性质中的至少一项。这样,冲突仲裁的应用可以限制为所述冲突仲裁控制值指定的冲突仲裁操作的类型和性质中的至少一项。在实施例的另一方面,不同的优先级值可以限制为能够被系统外部软件支持中的优先级分配逻辑指定的一个范围内的优先级值。在实施例的又一方面,根据系统外部软件支持中的优先级分配逻辑指定的优先级值在系统中应用冲突仲裁可包括阻止优先级低于其他事务的一个选定事务。作为替代,根据系统外部软件支持中的优先级分配逻辑指定的优先级值在系统中应用冲突仲裁可包括中止优先级低于其他事务的一个选定事务。作为另一替代,根据系统外部软件支持中的优先级分配逻辑指定的优先级值在系统中应用冲突仲裁可包括检测至少两个具有相同优先级的事务,并产生中断以便外部软件支持代替执行冲突仲裁的系统执行针对所述至少两个事务的冲突仲裁。在本专利技术的另一实施例中,可提供一种多处理器计算机数据处理系统。所述系统可包括与硬件存储器相连的多个不同的处理器以及每个处理器的指令集架构(ISA)支持的事务管理器。所述系统还可包括位于每个处理器中的寄存器。所述寄存器可以存储所述事务管理器管理的访问存储器的事务的优先级值。冲突仲裁逻辑也可以位于所述系统中。 所述逻辑可包括能够根据与发生冲突的事务对应的优先级值对发生冲突的事务应用冲突仲裁的硬件或软件。最后,所述系统可包括与硬件相连并且被配置为访问所述寄存器以设置优先级值的软件支持。本专利技术的其他方面部分将在下面的说明中阐明,部分将通过所述说明变得显而易见,或者可以通过实施本专利技术来了解。将通过所附权利要求中特别指出的元素和元素组合实现和达到本专利技术的各个方面。应该理解的是,上述一般描述和下面的详细描述仅作为示例和说明,并非旨在对所请求保护的本专利技术做出任何限制。附图说明被纳入本说明书中并构成其一部分的附图示出了本专利技术的实施例,并与说明一起用于解释本专利技术的原理。此处所示的实施例目前为优选的,但是应该理解,本专利技术不限于所示的精确安排和手段,在所述附图中图1是用于事务存储器管理中嵌入式冲突仲裁的并发事务的软件优先化的过程的图示;图2是被配置为用于事务存储器管理中嵌入式冲突仲裁的并发事务的软件优先化的多处理器计算系统的示意图;以及图3是用于事务存储器管理中嵌入式冲突仲裁的并发事务的软件优先化的过程的流程图。具体实施例方式本专利技术的实施例提供了一种用于事务存储器管理中嵌入式冲突仲裁的并发事务的软件优先化的方法、系统和计算机程序产品。根据本专利技术的一个实施例,可以将多处理器计算系统配置为用于事务存储器管理。所述系统中的每个处理器都可包括可从外部访问的寄存器,所述寄存器存储处理器执行的相应事务的优先级值。在所述事务存储器系统中提供了冲突仲裁逻辑,该冲突仲裁逻辑,在处理器外部的程序代码指导下,根据存储在寄存器中的、由外部建立的、与发生冲突的事务对应的优先级值对发生冲突的事务进行仲裁。通过这种方式,所述系统的冲突仲裁逻辑可以对发生冲突的事务执行冲突仲裁,而不考虑建立优先级值的算法。在进一步的说明中,图1是用于事务存储器管理中嵌入式冲突仲裁的并发事务的软件优先化的过程的说明图。如图1所示,多处理器硬件IlOA可以与诸如多处理器配置的操作系统之类的软件支持IlOB结合起来提供多处理器计算系统。多处理器硬件IlOA可以跨多个不同的处理器实现针对事务存储器140配置的ISA和语义130。在此方面,不同的处理器可以在事务存储器140上执行读和写事务150。值得注意的是,优先级16本文档来自技高网
...

【技术保护点】
1.一种用于事务存储器管理中嵌入式冲突仲裁的并发事务的软件优先化的方法,所述方法包括:在被配置为进行事务存储器管理的事务存储器系统中,根据系统外部软件支持中的优先级分配逻辑指定的相应优先级值,使用用于相应不同事务的不同优先级值设置不同的硬件寄存器;检测所述系统中事务之间的冲突;以及根据系统外部软件支持中的优先级分配逻辑指定的优先级值在所述系统中应用冲突仲裁。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:C·哈尔
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US

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

1