[发明专利]具有高效的高速缓存支持的事务内存系统有效
申请号: | 201080038491.9 | 申请日: | 2010-08-24 |
公开(公告)号: | CN102483704A | 公开(公告)日: | 2012-05-30 |
发明(设计)人: | 小T·赫勒 | 申请(专利权)人: | 国际商业机器公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46 |
代理公司: | 中国国际贸易促进委员会专利商标事务所 11038 | 代理人: | 付建军 |
地址: | 美国*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 具有 高效 高速缓存 支持 事务 内存 系统 | ||
背景技术
本发明一般地涉及计算环境内的处理,更具体地讲,涉及一种具有对事务内存的优化支持的计算系统。
当前的多处理器和多线程计算系统允许单个软件应用的性能提升到单线程应用的可能性能的许多倍。当前的软件和硬件系统提供执行的多个线程的并行处理。软件应用能够使用现有的线程库(诸如,pthread库),来控制并行执行的多个线程的创建。多个线程的使用对于对容易分割的任务和数据进行操作的应用而言工作良好;可使用粗粒度锁来控制对几个共享的数据结构的访问以防止多个线程的数据更新之间的少有冲突。
许多软件应用包含必须在多个线程之间共享的数据结构并具有共享数据结构的频繁的并发检查和更新。这些应用需要另外的修改以便当使用大量线程时获得良好的调整。使用并发地访问共享数据结构的执行的多个线程的应用需要使用专门的数据加锁例程以便产生没有死锁和崩溃数据的可靠结果。大多数这个类别的现有多线程应用使用细粒度软件锁来实现良好的性能和正确的操作。编写使用细粒度软件锁的高性能多线程程序是极为困难的并且需要专家级编程技能。软件行业的这些技能的缺乏可能限制需要使用共享数据结构的多线程应用的生产,并且因此限制针对某些应用种类(包括许多形式的事务处理)的多线程和多处理器计算系统的效用。
已提出并建立了各种“事务内存”系统以提供更简单的用于构造需要控制对共享数据结构的访问的多线程应用的编程模型。这些系统允许在执行的一个线程上运行的软件乐观地假定能够在与执行的其它线程的访问和更新没有冲突的情况下更新共享数据结构。对内存的推测性更新保持为“未决”,直至事务内存系统确认未发生与其它线程的存储器访问的冲突。当检测到多个线程的存储访问之间的冲突时,事务内存系统必须能够丢弃未决的推测性更新。
发明内容
一个示例性实施例是一种由事务程序用来管理对第一线程的事务数据的共享内存位置的内存访问的计算机实现的方法,所述共享内存位置可由第一线程和第二线程访问。该方法包括:在计算系统执行一串指令以完成第一线程的事务,该事务开始于所述一串指令中的一个指令。在计算系统确定所述一个指令是否是与第一线程的事务关联的指令的有效原子指令组(AIG)的一部分。定位一起提供AIG的处于有效模式的条目的高速缓存结构和事务表。响应于确定所述一个指令是有效AIG的一部分而执行所述定位。条目包括存储在高速缓存结构中的旧数据状态和存储在事务表中的控制信息。被有效AIG的指令检查或修改的所有存储器位置保持为未决,直至计算系统指示应该提交(commit)存储器位置。响应于确定所述一个指令不是有效AIG的一部分,在普通执行模式下在计算系统执行下一指令。
另一示例性实施例是一种由事务程序用来管理对第一线程的事务数据的共享内存位置的内存访问的计算机程序产品,所述共享内存位置可由第一线程和第二线程访问。该计算机程序产品包括可由处理电路读取并存储由处理电路为执行一种方法而执行的指令的有形存储介质。该方法包括:执行一串指令以完成第一线程的事务,该事务开始于所述一串指令中的一个指令。确定所述一个指令是否是与第一线程的事务关联的指令的有效AIG的一部分。定位一起提供AIG的处于有效模式的条目的高速缓存结构和事务表。响应于确定所述一个指令是有效AIG的一部分而执行所述定位。条目包括存储在高速缓存结构中的旧数据状态和存储在事务表中的控制信息。被有效AIG的指令检查或修改的所有存储器位置保持为未决,直至计算系统指示应该提交存储器位置。响应于确定所述一个指令不是有效AIG的一部分,在普通执行模式下执行下一指令。
另一示例性实施例是一种由事务程序用以在计算机系统中管理对第一线程的事务数据的共享内存位置的内存访问的系统,所述共享内存位置可由第一线程和第二线程访问。该系统包括计算机内存和与计算机内存通信的处理器。该处理器包括用于从内存取回指令的指令取回元件和用于执行取回的指令的一个或多个执行元件。该计算机系统能够执行一种方法。该方法包括:执行一串指令以完成第一线程的事务,该事务开始于所述一串指令中的一个指令。确定所述一个指令是否是与第一线程的事务关联的指令的有效AIG的一部分。定位一起提供AIG的处于有效模式的条目的高速缓存结构和事务表。响应于确定所述一个指令是有效AIG的一部分而执行所述定位。条目包括存储在高速缓存结构中的旧数据状态和存储在事务表中的控制信息。被有效AIG的指令检查或修改的所有存储器位置保持为未决,直至计算系统指示应该提交存储器位置。响应于确定所述一个指令不是有效AIG的一部分,在普通执行模式下执行下一指令。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201080038491.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:具有蔬菜抽屉的制冷装置
- 下一篇:三维纳米结构化复合支架及其制备方法