[发明专利]一种新型缓存优化多线程确定性方法在审

专利信息
申请号: 201811298378.9 申请日: 2018-11-02
公开(公告)号: CN109582474A 公开(公告)日: 2019-04-05
发明(设计)人: 王开宇;季振洲;吴倩倩;张源悍;王楷 申请(专利权)人: 哈尔滨工业大学
主分类号: G06F9/54 分类号: G06F9/54
代理公司: 北京汇捷知识产权代理事务所(普通合伙) 11531 代理人: 李宏伟
地址: 150006 黑龙*** 国省代码: 黑龙江;23
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 确定性 线程 多线程 缓存优化 隔离线 缓存替换算法 缓存 令牌 多线程通信 多线程系统 并行阶段 并行执行 不确定性 策略研究 隔离模块 共享存储 划分模块 减少系统 结构模块 数据竞争 顺序获取 通讯隔离 系统开销 线程同步 优化系统 原子事务 运行阶段 划分线 末级 内存 栅栏 调度 全局 事务 通信 优化 保证
【权利要求书】:

1.一种缓存优化多线程确定性系统,其特征在于:能够保证多线程环境下,线程按照确定性顺序运行,避免由于线程访存冲突而产生的数据竞争和竞争通过同步点顺序产生的同步竞争,同时采用更加适合多线程环境的LIRS缓存替换算法优化系统性能,减少确定性带来的开销。所述系统包括线程确定性结构模块,多线程通信隔离模块,原子事务阶段划分模块,线程同步策略研究模块以及LIRS缓存优化。

线程确定性结构模块,用于在多线程确定性中,设置线程运行规则,在串行阶段和并行阶段之间设置栅栏,强制线程进行同步;

多线程通信隔离模块,用于在线程运行的并行阶段阻止线程之间的数据通信和线程与内存之间的通信行为,防止线程在并行阶段以非确定性的方式访问内存,从而产生数据竞争。

原子事务阶段划分模块,用于划分线程运行阶段,通过将线程运行阶段划分为并行阶段和串行阶段,提升系统运行的并行度。其中并行阶段线程并行执行,并在栅栏处阻塞等待同步,然后按照确定性顺序获取令牌依次开始串行阶段,执行与内存的交互任务。

线程同步策略研究模块,用于保证同步处的线程按照同步策略中的令牌传递顺序,依次获取令牌开始串行阶段执行,避免由于线程竞争通过同步点而出现的同步竞争。

LIRS缓存替换算法优化,用于优化系统性能,减少多线程频繁读写造成的缓存失效,改善系统由于保证确定性所产生的额外开销。

2.根据1所述的应用于缓存优化多线程确定性系统。其特征在于,所述线程确定性结构模块;

由于系统中Posix thread多线程环境中,线程结构可以分为线程控制、锁结构和线程中的程序,并没有控制线程运行状态的结构,因此线程在运行阶段转换之间需要设置栅栏强制线程进行同步,同时确保线程的创建,杀死都在获得令牌的前提下完成,所述方法包括如下步骤:

步骤1:设置线程运行阶段转换点的栅栏;

步骤2:保证线程获取令牌和获取锁资源的一致性;

步骤3:线程在获取令牌之后进行创建子线程和关闭操作;

步骤4:线程在并行阶段结束后,按照获取令牌的顺序开始串行阶段;

步骤5:线程在串行阶段结束后,所有线程均到达同步点,开始下一轮事务执行。

3.根据1所述的缓存优化多线程确定性系统系统。其特征在于隔离线程在并行阶段的交互通信。

多线程产生数据竞争的主要原因在于线程竞争访问相同内存地址时的顺序,因此如果能控制线程访问内存的顺序就可以避免出现数据竞争。本方法通过隔离线程在并行阶段的交互通信,避免了线程之间和线程与内存间的数据交换,本阶段线程执行的数据来自与上轮事务串行阶段结束后各个线程的内存拷贝,这种方法将线程与内存的数据交换推迟到串行阶段执行,在串行阶段线程按照获取令牌的确定性顺序访问内存,避免出现数据竞争保证了线程运行的确定性。

4.根据1所述的应用于缓存优化多线程确定性系统系统系统。其特征在于划分线程运行阶段,将线程的运行阶段分为串行与并行两部分,在并行阶段中为线程运行设置栅栏,每一个并行阶段只能允许线程执行一定数量的指令,在执行结束后线程被栅栏阻塞,等待其他线程进入同步操作。

在串行阶段,线程在同步点按照令牌传递算法获取令牌,申请对内存加锁,然后提交执行结果。获取令牌和申请加锁都是互斥行为,每个线程在每一轮中只能执行一次。线程在执行完提交操作后被栅栏阻塞,等待后面的线程进入串行阶段,当全部线程都结束串行阶段后,线程将各自的私有页面提交到共享页面中,与共享页面进行比对,获得本轮执行后最新的共享数据,为下一轮并行阶段开始做准备。

5.根据1所述的应用于缓存优化多线程确定性系统系统系统。其特征在于通过令牌传递机制保证线程按照确定性顺序进入串行阶段。

为了防止出现数据竞争,在并行阶段不允许线程向内存进行读写操作,因此线程进入串行阶段的顺序就决定了线程读写内存的顺序,该顺序具有确定性就保证了多线程不会出现数据竞争。线程在同步点按照线程ID顺序获取令牌,保证了线程在同步点不会因为竞争通过栅栏的顺序而出现同步竞争和死锁的情况,避免了出现同步竞争,保证多线程运行的确定性。

6.根据1所述的应用于缓存优化多线程确定性系统系统系统。其特征在于使用了LIRS缓存替换算法替代原本的LRU算法。由于LRU 算法在结构上的缺陷,使得该算法不能很好的适应反复读写的需求,因此在多线程环境下表现较差。本方法使用更加适合多线程环境的LIRS算法替换LRU算法,提高因为多线程程序反复读写造成的缓存命中率低下问题,改善由于设置确定性规则所产生的系统开销,使得本系统具有更好的性能指标和更广泛的应用环境。

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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