发明名称 并发程序设计中减少临界区保护机制开销的优化方法
摘要 本发明公开了一种并发程序设计中减少临界区保护机制开销的优化方法,其特征在于:所述优化方法是:基于源代码的优化并发程序中,临界区里的代码在满足一定条件的情况下,访问共享资源时,省去CSenter和CSexit操作,减少了同步机制带来的不必要开销。作为一种优化的技术方案,所述临界区里的代码满足的一定条件包括条件1和条件2。本发明利用“至多一次”原则,来减少实现粗颗粒原子操作开销的并发程序设计中减少临界区保护机制开销的优化方法。
申请公布号 CN103853529B 申请公布日期 2017.03.01
申请号 CN201410060571.4 申请日期 2014.02.21
申请人 北京神舟航天软件技术有限公司 发明人 崔小磊;李尚杰;刘姝;刘大鹏;陈星宇;王静;李宇明;魏明
分类号 G06F9/38(2006.01)I;G06F9/44(2006.01)I 主分类号 G06F9/38(2006.01)I
代理机构 北京世誉鑫诚专利代理事务所(普通合伙) 11368 代理人 孙国栋
主权项 一种并发程序设计中减少临界区保护机制开销的优化方法,其特征在于:所述优化方法是:基于源代码的优化并发程序中,临界区里的代码在满足一定条件的情况下,访问共享资源时,省去CSenter和CSexit操作,减少了同步机制带来的不必要开销;所述临界区里的代码满足的一定条件包括条件1和条件2;条件1:对需要访问的共享资源的读和写的操作必须是硬件实现的原子操作,也就是说,执行对共享资源的读和写的操作的机器指令是原子指令;条件2:在临界区里至多有一个临界引用;所述优化方法的具体实施步骤如下:1)、确定并发程序中需要保护的临界区,临界区的数目为n个,用CS1,…,CSn来分别代表临界区1,…,临界区n,每个临界区由一个抽象语法树来表示;2)、对临界区代码进行扫描,也就是遍历相应的抽象语法树,并且计算临界引用X的值在每个临界区的使用次数;3)、如果CS1…CSn都满足条件2,并且这个临界引用X满足条件1,则省略CS1…CSn的临界区进入和退出操作,即CSenter和CSexit。
地址 100094 北京市海淀区永丰路28号