[发明专利]实现自适应锁的方法和装置以及多核处理器系统有效
申请号: | 201110394780.9 | 申请日: | 2011-12-02 |
公开(公告)号: | CN102566979A | 公开(公告)日: | 2012-07-11 |
发明(设计)人: | 秦岭;陈渝;崔岩;吴瑾 | 申请(专利权)人: | 华为技术有限公司;清华大学 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 北京龙双利达知识产权代理有限公司 11329 | 代理人: | 王君;肖鹂 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 实现 自适应 方法 装置 以及 多核 处理器 系统 | ||
1.一种实现自适应锁的方法,其特征在于,包括:
当新的第一线程尝试获得自适应锁时,如果所述自适应锁空闲,则使所述第一线程获得所述自适应锁,否则使所述第一线程根据竞争所述自适应锁的激烈程度进入自旋状态或者节能状态;
当所述第一线程处于节能状态,使所述第一线程等待被唤醒进入自旋状态,或者当所述第一线程处于自旋状态,使所述第一线程竞争所述自适应锁,直到所述第一线程竞争到所述自适应锁并对所述自适应锁保护的共享资源操作完毕,释放所述自适应锁;
当所述自适应锁被释放时,如果有处于节能状态的线程,则唤醒另一个处于节能状态的线程以使其进入自旋状态,以便与其他处于自旋状态的线程一同竞争所述自适应锁。
2.根据权利要求1所述的方法,其特征在于,所述使所述第一线程根据竞争所述自适应锁的激烈程度进入自旋状态或者节能状态包括:
递增所述自适应锁的请求者计数器中记录的竞争该自适应锁的线程数目;
当所述自适应锁的请求者计数器中记录的竞争该自适应锁的线程数目小于或等于阈值,使所述第一线程进入自旋状态;
当所述自适应锁的请求者计数器中记录的竞争该自适应锁的线程数目大于阈值,使所述第一线程进入节能状态。
3.根据权利要求1或2所述的方法,其特征在于,所述使所述第一线程进入节能状态包括:
使所述第一线程获取所述自适应锁的节能状态请求者集合的保护锁;
使所述第一线程顺序地加入到所述自适应锁的节能状态请求者集合中,其中所述节能状态请求者集合对应于其上运行所述第一线程的处理器核;
使所述线程被设置节能状态标识;
在所述节能状态请求者集合的保护锁被解除后,使所述线程进入节能状态。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述使所述第一线程竞争所述自适应锁,直到所述第一线程竞争到所述自适应锁并对所述自适应锁保护的共享资源操作完毕,释放所述自适应锁包括:
使处于自旋状态的所述第一线程竞争所述自适应锁,直到所述第一线程获得所述自适应锁,递减所述自适应锁的请求者计数器中记录的竞争所述自适应锁的线程数目,在所述第一线程对所述自适应锁保护的共享资源操作完毕后,释放所述自适应锁。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述当所述自适应锁被释放时,如果有处于节能状态的线程,则唤醒另一个处于节能状态的线程以使其进入自旋状态包括:
当所述自适应锁被释放时,判断是否存在非空的节能状态请求者集合,如果存在,则依据竞争所述自适应锁的线程的有序竞争状态或者无序竞争状态选择一个非空的节能状态请求者集合;
唤醒所述非空的节能状态请求者集合的首个线程,使其进入自旋状态。
6.根据权利要求5所述的方法,其特征在于,所述依据竞争所述自适应锁的线程的有序竞争状态或者无序竞争状态选择非空的节能状态请求者集合包括:
当竞争所述自适应锁的线程是无序地竞争所述自适应锁时,则选择对应于第一处理器核的节能状态请求者集合,而当对应于第一处理器核的节能状态请求者集合为空时,再根据其他处理器核与所述第一处理器核之间的距离,由近及远地依次选择对应于第二处理器核的节能状态请求者集合,其中所述第一处理器核上运行有释放所述自适应锁的第一线程,第二处理器核为所述其他处理器核中与所述第一处理器核的距离最近的处理器核;
当竞争所述自适应锁的线程是有序地竞争所述自适应锁时,则通过遍历所有非空的节能状态请求者集合,寻找票序号最小的线程所在的节能状态请求者集合,所述票序号是用于标记获取所述自适应锁的顺序的标识变量。
7.根据权利要求5或6所述的方法,其特征在于,所述唤醒所述非空的节能状态请求者集合的首个线程,使其进入自旋状态包括:
通过硬件指令监测所述非空的节能状态请求者集合的首个线程的节能状态标识是否被清零,如果所述节能状态标识被清零,使所述首个线程进入自旋状态。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司;清华大学,未经华为技术有限公司;清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110394780.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:道路拥堵状况实时查询系统及方法
- 下一篇:触摸控制方法和电子设备