[发明专利]一种支持多核帮助线程的低开销的块同步方法无效
申请号: | 200910085602.0 | 申请日: | 2009-05-26 |
公开(公告)号: | CN101561766A | 公开(公告)日: | 2009-10-21 |
发明(设计)人: | 古志民;郑宁汉;张轶;黄艳;唐洁;刘昌定;陈嘉;周伟峰;张博 | 申请(专利权)人: | 北京理工大学 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F12/08 |
代理公司: | 北京理工大学专利中心 | 代理人: | 张利萍 |
地址: | 100081北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及一种支持多核帮助线程的低开销的块同步方法,属于多核计算机技术领域。本发明在共享缓存的多核架构基础上,针对多核应用中非规则数据缺失的问题,通过为预取帮助线程引入提前量和低开销的块同步以及循环控制的机制,降低了计算线程执行的数据缺失,减少了共享缓存的污染,提高了计算线程的执行性能,实现了异核协同的非规则数据推送。本发明可广泛应用于未来多核编译器优化及数据库性能优化。 | ||
搜索关键词: | 一种 支持 多核 帮助 线程 开销 同步 方法 | ||
【主权项】:
1.一种支持多核帮助线程的低开销的块同步方法,其特征在于其基本思想是在共享缓存的多核架构基础上,针对多核应用中非规则数据缺失的问题,通过为预取帮助线程引入提前量和低开销的块同步机制,达到降低计算线程执行时的数据缺失、减少预取帮助线程与计算线程同步的开销,提高计算线程执行性能的目的;具体实现步骤如下:步骤一、构造预取帮助线程的提前量在预取非规则数据时,借助历史地址信息,动态保持预取帮助线程的预取工作指针总提前于计算线程的当前工作指针k个位置,这样,无论在计算线程和预取帮助线程是处于开始或同步状态时,预取帮助线程可动态保持在计算线程之前访问数据,并使该数据能在被计算线程访问之前被及时推送到共享缓存之中;步骤二、选择低开销的块同步机制在步骤一构造预取帮助线程的提前量基础上,步骤二选择一种低开销的块同步机制;该低开销的块同步机制分为两种情况,可依据测试情况择优选择其中之一:a.双计数器的块同步机制块同步机制将计算线程中引发共享缓存缺失的数据访问流,按先后顺序划分为若干块,每个块的大小依据应用实例的选择测试效果情况来设定具体值;并且同步操作仅仅发生在块的边界,以减小同步的精度来降低同步代价;预取帮助线程的提前量及其动态的保持可由步骤一来完成,对于每一个块用pushsize表示块的大小,计算线程和预取帮助线程都拥有自己的计数器,当它们每访问共享缓存缺失数据流中的一项数据,就会对其计数器加1,当计数器的数值达到pushsize时,其线程间必须进行同步,如果另一线程没有与其达到同一进度,此线程必须被阻塞并等待直到另一线程与之同步;b.单计数器的块同步机制计算线程不会被同步所阻塞,也没有加入额外的同步操作,只有预取帮助线程拥有一个计数器,当计数器的值达到pushsize,预取帮助线程会将推送数据的指针与计算线程设为相同,预取帮助线程的提前量及其动态的保持可由步骤一来完成。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京理工大学,未经北京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/200910085602.0/,转载请声明来源钻瓜专利网。
- 上一篇:一种空转锁
- 下一篇:一种非吸收性材料与纯水泥基材料结合处的防水密封方法