[发明专利]一种硬件型事务存储系统中事务线程的阻塞唤醒方法无效

专利信息
申请号: 201010220900.9 申请日: 2010-07-08
公开(公告)号: CN101908000A 公开(公告)日: 2010-12-08
发明(设计)人: 刘轶;吴名瑜;张昕;李鹤;张翠 申请(专利权)人: 北京航空航天大学
主分类号: G06F9/46 分类号: G06F9/46;G06F9/38
代理公司: 北京永创新实专利事务所 11121 代理人: 李有浩
地址: 100191*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 硬件 事务 存储系统 线程 阻塞 唤醒 方法
【说明书】:

技术领域

发明涉及一种属于计算机系统结构中的多线程并行编程手段,特别涉及一种硬件型事务存储系统中事务线程的阻塞唤醒方法。

背景技术

当前,随着工艺和应用模式的发展,无论是高端还是低端、通用式还是嵌入式,传统的采用指令级并行的微处理器系统结构正在由单线程向多线程、单处理器向多处理器、单核向多核进行发展。与此同时,人们应用中大规模数据处理的需求也在与日俱增。如何建立一个有效的编程模型使得并行程序可以充分利用这些CPU和核,发挥多核处理器的资源优势,从根本上提高并行程序运行性能、满足人们的计算需求,是摆在研究人员面前一个急需解决的难题。现在人们编写并行程序的主要方法是多线程,硬件或软件的并行化也是朝着挖掘更多可以并行的线程的方向发展。传统的并行程序设计方法需要程序员来维护各个进程之间的同步,随着进程数目的增加以及共享资源的增多,手工维护这种同步越来越困难。在CMP/SMP结构上采用由用户显式制导的并行程序设计模型,使用锁和同步变量来实现同步的方法存在很大的局限性。粗粒度锁不易开发并行性,细粒度锁会带来较大的额外系统开销;同时锁机制会导致死锁、优先权倒置、编程困难等种种问题。

事务存储(Transactional Memory,TM)模型提供了一种在CMP/SMP结构上程序并行执行和同步的方法,能够解决锁机制带来的种种问题,提高程序的并发性。事务存储模型使得程序在发生数据冲突时才串行化执行,最大限度地挖掘程序中潜在的并行性,极大地提高了多线程编程的正确性和效率,使得程序员可以集中精力于多核程序的设计。目前有大量的研究工作已经或正致力于硬件支持的事务存储模型(Hardware Transactional Memory,HTM)的研究,充分显示出该方案可能被未来主流CMP结构采纳的巨大潜力。

对于HTM系统来说,当一个事务的执行时间过长,超过一个时间片的限制时,事务线程会先被阻塞,等到分配到新的时间片,事务可能被迁移到另外的处理器核上继续执行。但是事务缓冲区存在难以迁移的特点,所以被唤醒的事务无法在新的处理器核上恢复事务现场,容易导致事务频繁重启。对于这个问题,目前已有的硬件型事务存储系统结构采取将事务限定在一个时间片内执行完毕的办法,但是无法实质上解决事务迁移的问题,反而限制了事务的灵活性。因此,针对事务迁移问题,设计一种有效的阻塞唤醒方法是有十分重要的。

发明内容

本发明的目的是提供一种硬件型事务存储系统中事务线程的阻塞唤醒方法,该方法解除了硬件型事务存储系统中事务必须在一个时间片内执行完毕的限制,解决了事务缓冲区难以迁移的问题,优化了硬件型事务存储系统中的事务的高效执行。

本发明的一种硬件型事务存储系统中事务线程的阻塞唤醒方法,该方法解除了硬件型事务存储系统中事务必须在一个时间片内执行完毕的限制,具体实现步骤为:

第一步:唤醒事务线程

(A)当处理器开始执行事务时,一方面事务线程寄存器记录下当前所执行的事务线程的标识符;

(B)另一方面在事务缓冲区的读/写标志位中记录下当前所执行的事务的数据;

(C)若事务线程的执行时间超过一个时间片,则阻塞该线程;

(D)若事务线程的执行时间未超过一个时间片,则查看事务是否执行完成,若未完成,继续执行当前事务;

(E)当事务被执行完成后则进行事务提交;

(F)对于阻塞的线程需要依据时间片轮转调度机制来决定唤醒事务线程;

所述的时间片轮转调度机制是:当线程用完它的时间片后,它将被转移到就绪线程队列的末尾,直到排在它之前的所有线程全部执行完毕或者时间片用完时,操作系统才将其唤醒;

第二步:被唤醒的事务线程检查事务现场

(A)当事务线程被唤醒时,根据事务线程寄存器中的线程标识符能够得到当前处理器核内正在执行的事务线程,进而根据事务现场判断条件来判断事务现场是否被破坏;

(B)若是,则对事务现场已被破坏的事务,清除事务缓冲区内的全部数据,并重新启动事务;

(C)若否,则对事务继续执行并提交;

所述的事务现场是指事务缓冲区内保存的事务的读、写数据;

所述的事务现场判断条件是:如果事务线程寄存器中的线程标识符等于被唤醒事务线程的标识符,则事务缓冲区内保存的是该事务的读、写数据,事务现场未被破坏;如果事务线程寄存器中的线程标识符不等于被唤醒的事务线程的标识符,则事务缓冲区内保存的是脏数据,事务现场已被破坏。

本发明阻塞唤醒的优点在于:

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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