[发明专利]基于辅助线程实现事务存储系统的方法和装置有效

专利信息
申请号: 200910005955.5 申请日: 2009-01-22
公开(公告)号: CN101788922A 公开(公告)日: 2010-07-28
发明(设计)人: 王华勇 申请(专利权)人: 国际商业机器公司
主分类号: G06F9/46 分类号: G06F9/46
代理公司: 北京市中咨律师事务所 11247 代理人: 于静;李峥
地址: 美国*** 国省代码: 美国;US
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 辅助 线程 实现 事务 存储系统 方法 装置
【说明书】:

技术领域

发明涉及事务存储系统,更具体地,涉及基于辅助线程实现事务存 储系统的方法和装置。

背景技术

事务(transaction)是一个在计算机领域中被广泛使用的概念。一个 事务通常是指多条指令以看似原子的方式执行,在执行期间没有其他操作 介于其中。例如,如果一个事务访问了某个存储器地址上的数据,则直到 该事务结束,该地址上的数据不应该被该事务以外的操作修改。

事务可以直接在硬件层面实现,比如修改处理器体系结构。从体系结 构级别上支持事务的硬件组件称为硬件事务存储器(Hardware Transactional Memory,简称HTM)系统。利用纯软件实现的事务存储器 称为软件事务存储器(Software Transactional Memory,简称STM)。下 文中的TM泛指所有的事务存储器系统。采用事务存储器系统,在编写并 行程序时程序员无需使用锁,因此可以提高软件生产效率。

事务访问的所有数据(推测性数据)将被临时地存储在一事务缓冲器 中,而不是写入到存储器中。如果两个事务访问相同的地址,并且其中至 少一个修改该地址上的数据,则其中一个事务必须回滚(roll back)并重 新执行,而另一个事务继续。这种情况被称为冲突(conflict)。如果没有 冲突,事务结束时临时存储的数据将被写入到存储器。该操作称为提交 (commit)。

如上所述,在事务访问数据时,目前TM的一种实现是通过编译器在 每个需要访问数据的事务加载/存储指令之前增加屏障(barrier)。这种屏 障的作用在于通过检查锁定表来检测是否存在冲突,在锁定表中记录有事 务要访问的每个存储器块的许可。在使用屏障功能的情况下意味着,需要 对事务的源代码重新编译,以在编译期间加入这些屏障。但是第三方提供 的函数库一般不包含源代码,因此程序员不能在事务中调用这些库函数。 实际上,很多库中的函数相对于事务来说是安全的,例如C库中的“strcmp” 和math库中的“sqrt”。也就是说,即使那些函数不包含不可恢复的操作, 程序员也不能够调用那些函数。所以,这种禁止程序员在事务执行期间调 用那些函数的情况明显降低了生产率。

发明内容

因此,根据本发明的一个方面,提供了一种在支持同时多个硬件线程 的处理器中执行事务的方法,包括以下步骤:建立用于执行事务的主软件 线程和用于执行屏障功能的辅助软件线程,利用所述多个硬件线程执行所 述主软件线程和所述辅助软件线程;执行所述主软件线程;如果所述主软 件线程遇到需要读取/写入数据的事务加载/存储操作,则判断是否需要执行 屏障功能;如果需要执行屏障功能,则执行以下步骤:停止所述主软件线 程;激活所述辅助软件线程以执行所述屏障功能;在所述辅助软件线程执 行所述屏障功能完成之后,退出所述辅助软件线程;以及继续执行所述主 软件线程。由此,本发明利用多个硬件线程实现屏障功能,从而避免了重 新编译过程中带来的麻烦,并且保证了在数据访问过程中对冲突的检测。

优选地,在所述多个硬件线程的每个硬件线程中还包括:写签名和读 签名,用于存储所述主软件线程曾经读取/写入的数据的物理地址。如果要 读取/写入的数据没有命中高速缓存,并且要写入的数据没有命中至少一个 写签名或者要读取的数据没有命中至少一个读签名或写签名,则需要执行 所述屏障功能。由此,签名的使用可以简化对冲突的判断,而无需每次都 查询锁定表,可以提高判断的效率。

优选地,所述主软件线程利用共享寄存器与所述辅助软件线程进行通 信。所述共享寄存器包括:事务地址寄存器,即TAR,用于保存读取/写 入的数据的物理地址;事务数据寄存器,即TDR,用于保存来自高速缓存 中的高速缓存行的数据;事务运行寄存器,即TOR,用于保存事务操作代 码;以及事务ID寄存器,即TIR,用于保存设置TOR的硬件线程ID。 所述主软件线程利用共享寄存器与所述辅助软件线程进行通信的步骤包 括:将要读取/写入数据的物理地址复制到TAR;在要写入时将要写入的 数据复制到TDR;将硬件线程ID复制到TIR;以及根据要读取/写入的状 态对应地设置TOR的状态。由此,可以实现多个硬件线程之间的高速通 信。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/200910005955.5/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top