[发明专利]一种解决多核系统中表项互斥的方法在审
申请号: | 201410347825.0 | 申请日: | 2014-07-21 |
公开(公告)号: | CN104199800A | 公开(公告)日: | 2014-12-10 |
发明(设计)人: | 曹瑜;张剑波;王乃斯 | 申请(专利权)人: | 上海寰创通信科技股份有限公司 |
主分类号: | G06F15/16 | 分类号: | G06F15/16;G06F9/50 |
代理公司: | 上海科盛知识产权代理有限公司 31225 | 代理人: | 赵志远 |
地址: | 200241 上海市闵*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 解决 多核 系统 中表 项互斥 方法 | ||
技术领域
本发明涉及多核系统领域,尤其是涉及一种解决多核系统中表项互斥的方法。
背景技术
多核系统中,经常涉及到资源共享的问题,两个或两个以上的进程,不能同时进入关于同一组共享变量的临界区域,否则可能发生与时间有关的错误,这种现象被称作进程互斥,也就是说,一个进程正在访问临界资源,另一个要访问该资源的进程必须等待。
处于临界区中的数据,要访问时必须进行互斥,互斥的数据越多,越不利于多核并行处理。现有的大部分数据,都是多核共享的,当多个核同时访问时,就只能有一个核进行操作,其余核只能等待,造成了CPU资源的浪费。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种解决多核系统中表项互斥的方法,把互斥的数据变为独立使用的数据,减少核间等待时间,提高多核处理性能。
本发明的目的可以通过以下技术方案来实现:
一种解决多核系统中表项互斥的方法,其特征在于,包括以下步骤:
1)创建表项,具体为:
11)当一个CPU需要查找共享表项时,先查找该CPU对应的独立CPU表,如果CPU表项无法查到,则到SHARED表中查找,并执行步骤12);
12)SHARED表先加锁,然后查找表项,查到表项后,该CPU申请CPU独立使用的内存,把SHARED表中的内容复制到CPU表中,并建立CPU表和SHARED表的关联,SHARED表项的引用计数加一并记录是哪个CPU引用了,SHARED表解锁;
13)该CPU再次需要查表时,直接在CPU表中查到表项进行访问;
2)删除表项,具体为:
21)SHARED表的表项要删除时,先加锁并查找到共享表项;
22)判断共享表的引用计数是否为0,若为0,则进行步骤221),若不为0,则进行步骤222);
221)直接删除SHARED表的表项,并执行步骤23);
222)根据表项中记录的引用CPU,逐一发消息到每个CPU,通知各个CPU删除本地表项,并执行步骤23);
23)每个CPU删除表项后通知SHARED表,显示CPU表已经删除完毕;
24)所有的CPU表项都删除后,删除SHARED表并且解锁。
所述的SHARED表项为所有CPU共享,是临界资源。
当前的所有共享表项都可作为SHARED表。
所述的CPU表为各CPU独立表项,互相不可见。
与现有技术相比,本发明具有以下优点:
1、只有在CPU独立表项查不到时才会触发互斥,减少了对临界资源的访问;
2、减少了CPU等待时间,提高了CPU的处理效率;
3、该方法运用在数据转发流程中时,转发性能大幅提升。
附图说明
图1为本发明的方法流程图;
图2为本发明多核系统的结构示意图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
实施例
在多核系统中,经常涉及到资源共享的问题,处于临界区中的数据,要访问时必须进行互斥。互斥的数据越多,越不利于多核并行处理。本发明的方法主要解决互斥问题,把互斥的数据变为独立使用的数据,减少核间等待时间,提高多核处理性能。
如图1和图2所示,一种解决多核系统中表项互斥的方法,包括以下步骤:
S1)创建表项,具体为:
S11)当一个CPU需要查找共享表项时,先查找该CPU对应的独立CPU表,如果CPU表项无法查到,则到SHARED表中查找,并执行步骤S12);
S12)SHARED表先加锁,然后查找表项,查到表项后,该CPU申请CPU独立使用的内存,把SHARED表中的内容复制到CPU表中,并建立CPU表和SHARED表的关联,SHARED表项的引用计数加一并记录是哪个CPU引用了,SHARED表解锁;
S13)该CPU再次需要查表时,直接在CPU表中查到表项进行访问;
S2)删除表项,具体为:
S21)SHARED表的表项要删除时,先加锁并查找到共享表项;
S22)判断共享表的引用计数是否为0,若为0,则进行步骤S221),若不为0,则进行步骤S222);
S221)直接删除SHARED表的表项,并执行步骤S23);
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海寰创通信科技股份有限公司;,未经上海寰创通信科技股份有限公司;许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410347825.0/2.html,转载请声明来源钻瓜专利网。