[发明专利]一种数据容错的多线程投机方法有效

专利信息
申请号: 201410111160.3 申请日: 2014-03-24
公开(公告)号: CN103942096B 公开(公告)日: 2017-06-13
发明(设计)人: 孟静磊;潘平;袁明敏;李颂元;邵景程;马建良;俞立呈;陈天洲;刘莉;施青松 申请(专利权)人: 浙江大学
主分类号: G06F9/46 分类号: G06F9/46;G06F11/07
代理公司: 杭州求是专利事务所有限公司33200 代理人: 杜军
地址: 310027 浙*** 国省代码: 浙江;33
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明公开一种数据容错的多线程投机方法。该方法是基于数据容错的多线程投机方法,让先到达栅栏的线程投机执行,充分利用众多线程之间同步数据造成的运行时间浪费,加速程序运行。本发明基于投机,判断,回滚的流程通过回滚错误的投机来保证程序的正确性。本发明对投机判断和回滚判断进行了建模,保证其效率。本发明通过限制投机深度,使得投机收益在减去该投机开销后保持一定范围内的稳定,从而提供稳定的程序运行速度提升。
搜索关键词: 一种 数据 容错 多线程 投机 方法
【主权项】:
一种数据容错的多线程投机方法,其特征在于该方法包括以下步骤:步骤(1)、线程到达栅栏,赋予投机线程容错数据版本:多线程执行过程中线程会遇到多个栅栏,对于任何先于其他线程到达某一栅栏的线程,从第一个穿越该栅栏的线程开始,每个线程所携带的容错数据赋予一个版本,该版本的赋予由其穿越该栅栏的次序决定;最后一个到达该栅栏的线程拥有数据的最终版本,所述的最终版本为数据的正确版本;对于先于其他到达栅栏的线程,允许其携带自身的数据继续执行而不是等待其他线程,其携带的数据称为容错数据,该带有容错数据的线程称为容错投机线程;步骤(2)、判断投机线程容错数据版本是否为最终版本:当某个投机线程到达栅栏时,判断其容错数据版本是否为最终版本;若不是最终版本,则该线程继续投机执行步骤(3);反之则标记自身为非投机线程正确运行并发出投机唤醒信号,通知非最终版本的投机线程执行步骤(5);步骤(3)、判断非最终版本的投机线程是否收到收到投机唤醒信号,若收到则执行步骤(5),否则执行步骤(4);步骤(4)、判断投机线程是否需要回滚:对于非最终版本的投机线程,在其每到下一个栅栏时都要判断其是否需要回滚,判断线程回滚条件如下所述;如果不需要回滚,则继续投机执行;如果需要回滚,则回滚至该投机线程第一次投机执行所在的栅栏;所述的线程回滚的条件为:投机线程在最终版本的数据到达之前,若该线程已经投机执行超过了设定的投机深度,则回滚;所述的投机深度为允许投机线程携带容错数据穿越的栅栏数目;步骤(5)、判断投机线程是否投机成功:对于非最终版本的投机线程,在收到投机唤醒信号后都要判断自身是否投机成功,投机成功的判断条件如下所述;如果投机成功,则标记自身为非投机线程正确运行;反之则回滚至该投机线程第一次投机执行时所在的栅栏;所述的投机成功条件为:投机线程内的容错数据与最终版本的数据相同;或者投机线程内的容错数据与最终版本的数据不相同,但该投机线程最终的运行结果与容错数据无关。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

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

本文链接:http://www.vipzhuanli.com/patent/201410111160.3/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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