[发明专利]计算系统以及在该计算系统中操作锁的方法无效
申请号: | 201410520410.9 | 申请日: | 2014-09-30 |
公开(公告)号: | CN104267929A | 公开(公告)日: | 2015-01-07 |
发明(设计)人: | 艾义;徐林;吕建超;张绍华 | 申请(专利权)人: | 香港应用科技研究院有限公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 张春媛;阎娬斌 |
地址: | 中国香港*** | 国省代码: | 中国香港;81 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 计算 系统 以及 操作 方法 | ||
1.一种用于在具有多个处理单元的计算系统中操作锁的方法,所述锁可由计算系统中产生的多个线程获取和释放,其中线程中的每一个是可中止的或是不可中止的,所述方法包括:
响应于当锁被多个线程中的持有者线程持有时多个线程中的请求者线程做出的锁获取尝试,通过被分配用于执行请求者线程的第一处理单元确定持有者线程是可中止的还是不可中止的;
在确定持有者线程是不可中止的之后,不管请求者线程是可中止的还是不可中止的,都通过第一处理单元将请求者线程配置为处于自旋状态,其中自旋状态的特征在于请求者线程持续做出锁获取尝试,并且第一处理单元检查尝试是否成功;
在确定持有者线程是可中止的之后,通过第一处理单元确定请求者线程是可中止的还是不可中止的,除非请求者线程放弃获取锁;
在确定请求者线程是不可中止的之后,通过第一处理单元安排请求者线程再次做出锁获取尝试;以及
在确定请求者线程是可中止的之后,通过第一处理单元将请求者线程增加至等待队列,作为增加的中止的线程,其中等待队列经配置以存储可以被多个处理单元中的一个恢复的多个中止的线程。
2.如权利要求1所述的方法,还包括:
当持有者线程释放锁时,通过多个处理单元中的一个执行锁释放程序,其中所述锁释放程序包括:
(a)如果等待队列具有一个或多个中止的线程,从等待队列中选择一个中止的线程,并恢复该选择的中止的线程,使得该恢复的线程重新被安排去获取锁。
3.如权利要求2所述的方法,其中进一步配置锁释放程序的执行,使得仅在持有者线程是可中止的时,执行锁释放程序。
4.如权利要求1所述的方法,还包括:
当多个线程中的任一个都不持有锁并且请求者线程做出锁获取尝试时,通过第一处理单元获取锁,使得与该锁对应的共享资源可以被请求者线程访问。
5.如权利要求1所述的方法,其中:
所述锁实现为锁上下文,所述锁上下文是计算系统的全局共享存储器块的数据结构,所述全局共享存储器块对于多个线程来说是可见的,并可以被所述多个处理单元访问;以及
所述等待队列实现为全局共享存储器块中的另一数据结构。
6.如权利要求5所述的方法,其中:
所述锁上下文包括锁状态和持有者类型,其中所述锁状态指示所述锁是否被持有,所述持有者类型指示当所述锁被持有时,所述持有者线程是可中止的还是不可中止的;以及
所述等待队列包括用于等待队列中存储的中止的线程中的每一个的标签,所述标签使得所述中止的线程被配置成使得等待队列中所有中止的线程的到达顺序是可确定的。
7.如权利要求6所述的方法,还包括:
通过第一处理单元从所述锁上下文中抓取锁状态的值;
通过第一处理单元将抓取的锁状态的值与预定值进行比较,以确定所述锁是否被多个线程中的任一个持有;以及
当确定锁没有被多个线程中的任一个持有时,通过第一处理单元更新锁状态和持有者类型,使得请求者线程获取锁。
8.如权利要求7所述的方法,其中当确定锁没有被持有时,抓取锁状态的值、将抓取的值与预定值比较以及更新锁状态和持有者类型被配置成在一个原子操作中执行。
9.一种计算系统,包括:
多个处理单元;以及
全局共享存储器块,其一部分可分配用于建立锁,以控制计算系统中共享资源的可访问性,所述锁可由多个线程获取和释放,所述多个线程可在所述计算系统中产生,线程中的每一个被配置为是可中止的或不可中止的,所述全局共享存储器块被配置为对于所述多个线程可见并可以由所述多个处理单元访问;
其中所述锁经配置以根据权利要求1所述的方法操作。
10.如权利要求9所述的计算系统,其中所述多个处理单元位于多核处理器中。
11.一种计算系统,包括:
多个处理单元;以及
全局共享存储器块,其一部分可分配用于建立锁,以控制计算系统中共享资源的可访问性,所述锁可由多个线程获取和释放,所述多个线程可在所述计算系统中产生,线程中的每一个被配置为是可中止的或不可中止的,所述全局共享存储器块被配置为对于所述多个线程可见并可以由所述多个处理单元访问;
其中所述锁经配置以根据权利要求2所述的方法操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于香港应用科技研究院有限公司,未经香港应用科技研究院有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410520410.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:通用芯片外观检测机
- 下一篇:一种旋振筛的防堵结构