[发明专利]基于自适应释放的确定性重放方法有效
申请号: | 201711487307.9 | 申请日: | 2017-12-29 |
公开(公告)号: | CN108196963B | 公开(公告)日: | 2021-11-16 |
发明(设计)人: | 应欢;王磊;朱朝阳;韩丽芳;周亮;梅文明;缪思薇;邱意民;余文豪;李梦涛;范永;王海翔 | 申请(专利权)人: | 中国电力科学研究院有限公司;国家电网公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 北京工信联合知识产权代理有限公司 11266 | 代理人: | 郭一斐 |
地址: | 100192 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于自适应释放的确定性重放方法,基于库函数重载确定线程执行同步操作的顺序,并在线程请求获得共享页面的访问权限失败时调用自适应释放模块,自适应释放模块将引起各线程阻塞的所有共享页面暂存于候选集合,并从候选集合中选出合适的释放线程和被释放共享页面移入待释放集合;所有线程遍历待释放集合判断自身是否为释放线程,若判断结果为是,则当前线程释放相应的共享页面,若判断结果为否,则当前线程替释放线程释放相应的共享页面,释放线程在后续执行过程中取消被释放共享页面的访问权限。本发明能够让最合适的线程在合适的时机释放最合适的共享页面,降低并行程序在记录阶段处理页保护异常的开销,提高记录性能。 | ||
搜索关键词: | 基于 自适应 释放 的确 定性 重放 方法 | ||
【主权项】:
1.一种基于自适应释放的确定性重放方法,其特征是,包括以下步骤:1)并行程序中的每个线程在执行前,将所有的共享页面都设置为不可访问状态;并行程序的线程在缺少共享页面的访问权限而触发页保护异常时会进入共享页面访问权限请求处理模块;2)线程在共享页面访问权限请求模块中请求获得共享页面的访问权限,若请求成功,则该线程设置该共享页面相应的访问权限,并调用记录重放模块记录本事件,若请求失败,则进入步骤3);3)判断当前并行程序的所有线程是否都处于阻塞状态,如果判断结果为是,则调用自适应释放模块并进入步骤4);若判断结果为否,则再次执行步骤3);所述阻塞状态为线程由于缺少共享页面的访问权限或由于执行同步操作而无法继续正常执行的状态;4)自适应释放模块将引起各线程阻塞的所有共享页面暂存于候选集合,并从候选集合中选出合适的释放线程和被释放共享页面移入待释放集合;5)并行程序的所有线程遍历待释放集合来判断自身是否为释放线程,如果判断结果为是,则当前线程主动释放相应的共享页面,并调用记录重放模块记录访问权限的转移情况,如果判断结果为否,则进入步骤6);6)当前线程替释放线程释放相应的共享页面,并调用记录重放模块记录释放信息,释放线程在后续执行时取消被释放共享页面的访问权限;7)通过库函数重载模块确定并行程序中的各线程执行同步操作的顺序,并调用记录重放模块记录该顺序。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国电力科学研究院有限公司;国家电网公司,未经中国电力科学研究院有限公司;国家电网公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201711487307.9/,转载请声明来源钻瓜专利网。