CN104199800A - 一种解决多核系统中表项互斥的方法 - Google Patents
一种解决多核系统中表项互斥的方法 Download PDFInfo
- Publication number
- CN104199800A CN104199800A CN201410347825.0A CN201410347825A CN104199800A CN 104199800 A CN104199800 A CN 104199800A CN 201410347825 A CN201410347825 A CN 201410347825A CN 104199800 A CN104199800 A CN 104199800A
- Authority
- CN
- China
- Prior art keywords
- cpu
- shared
- list item
- table items
- shared table
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Multi Processors (AREA)
Abstract
本发明涉及一种解决多核系统中表项互斥的方法,包括以下步骤:1)创建表项,具体为:11)当一个CPU需要查找共享表项时,先查找该CPU对应的独立CPU表;12)SHARED表先加锁,然后查找表项,该CPU申请CPU独立使用的内存,把SHARED表中的内容复制到CPU表中,并建立CPU表和SHARED表的关联,SHARED表项的引用计数加一并记录是哪个CPU引用了,SHARED表解锁;2)删除表项,具体为:21)SHARED表的表项要删除时,先加锁并查找到共享表项;22)判断共享表的引用计数是否为0;221)直接删除SHARED表的表项;222)根据表项中记录的引用CPU,逐一发消息到每个CPU,通知各个CPU删除本地表项;23)每个CPU删除表项后通知SHARED表。与现有技术相比,本发明具有高效、省时等优点。
Description
技术领域
本发明涉及多核系统领域,尤其是涉及一种解决多核系统中表项互斥的方法。
背景技术
多核系统中,经常涉及到资源共享的问题,两个或两个以上的进程,不能同时进入关于同一组共享变量的临界区域,否则可能发生与时间有关的错误,这种现象被称作进程互斥,也就是说,一个进程正在访问临界资源,另一个要访问该资源的进程必须等待。
处于临界区中的数据,要访问时必须进行互斥,互斥的数据越多,越不利于多核并行处理。现有的大部分数据,都是多核共享的,当多个核同时访问时,就只能有一个核进行操作,其余核只能等待,造成了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);
S222)根据表项中记录的引用CPU,逐一发消息到每个CPU,通知各个CPU删除本地表项,并执行步骤S23);
S23)每个CPU删除表项后通知SHARED表,显示CPU表已经删除完毕;
S24)所有的CPU表项都删除后,删除SHARED表并且解锁。
所述的SHARED表项为所有CPU共享,是临界资源。当前的所有共享表项都可作为SHARED表。所述的CPU表为各CPU独立表项,互相不可见。
Claims (4)
1.一种解决多核系统中表项互斥的方法,其特征在于,包括以下步骤:
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表并且解锁。
2.根据权利要求1所述的一种解决多核系统中表项互斥的方法,其特征在于,所述的SHARED表项为所有CPU共享,是临界资源。
3.根据权利要求2所述的一种解决多核系统中表项互斥的方法,其特征在于,当前的所有共享表项都可作为SHARED表。
4.根据权利要求1所述的一种解决多核系统中表项互斥的方法,其特征在于,所述的CPU表为各CPU独立表项,互相不可见。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410347825.0A CN104199800A (zh) | 2014-07-21 | 2014-07-21 | 一种解决多核系统中表项互斥的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410347825.0A CN104199800A (zh) | 2014-07-21 | 2014-07-21 | 一种解决多核系统中表项互斥的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104199800A true CN104199800A (zh) | 2014-12-10 |
Family
ID=52085095
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410347825.0A Pending CN104199800A (zh) | 2014-07-21 | 2014-07-21 | 一种解决多核系统中表项互斥的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104199800A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105227493A (zh) * | 2015-10-15 | 2016-01-06 | 上海斐讯数据通信技术有限公司 | 多核平台下提高数据报文转发性能的方法 |
CN106713023A (zh) * | 2016-12-14 | 2017-05-24 | 东软集团股份有限公司 | Cam表的操作方法及装置 |
CN111736982A (zh) * | 2020-05-12 | 2020-10-02 | 深圳震有科技股份有限公司 | 一种5g数据转发平面的数据转发处理方法和服务器 |
CN114760237A (zh) * | 2022-03-11 | 2022-07-15 | 深圳市风云实业有限公司 | 一种基于tcam表的多级流表构建方法 |
CN115914387A (zh) * | 2022-11-02 | 2023-04-04 | 百果园技术(新加坡)有限公司 | 资源共享及数据查询的方法、装置和服务器 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101650646A (zh) * | 2009-09-22 | 2010-02-17 | 杭州华三通信技术有限公司 | 一种共享数据一致性的实现方法及装置 |
CN101789901A (zh) * | 2009-12-30 | 2010-07-28 | 北京天融信科技有限公司 | 多核平台上转发系统的加速方法及装置 |
CN102081603A (zh) * | 2009-11-27 | 2011-06-01 | 上海博达数据通信有限公司 | 一种在多核环境下的arp查询优化的方法 |
CN102117262A (zh) * | 2010-12-21 | 2011-07-06 | 清华大学 | 用于多核处理器的Cache的主动复制方法及系统 |
US20130014120A1 (en) * | 2011-07-08 | 2013-01-10 | Microsoft Corporation | Fair Software Locking Across a Non-Coherent Interconnect |
-
2014
- 2014-07-21 CN CN201410347825.0A patent/CN104199800A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101650646A (zh) * | 2009-09-22 | 2010-02-17 | 杭州华三通信技术有限公司 | 一种共享数据一致性的实现方法及装置 |
CN102081603A (zh) * | 2009-11-27 | 2011-06-01 | 上海博达数据通信有限公司 | 一种在多核环境下的arp查询优化的方法 |
CN101789901A (zh) * | 2009-12-30 | 2010-07-28 | 北京天融信科技有限公司 | 多核平台上转发系统的加速方法及装置 |
CN102117262A (zh) * | 2010-12-21 | 2011-07-06 | 清华大学 | 用于多核处理器的Cache的主动复制方法及系统 |
US20130014120A1 (en) * | 2011-07-08 | 2013-01-10 | Microsoft Corporation | Fair Software Locking Across a Non-Coherent Interconnect |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105227493A (zh) * | 2015-10-15 | 2016-01-06 | 上海斐讯数据通信技术有限公司 | 多核平台下提高数据报文转发性能的方法 |
CN106713023A (zh) * | 2016-12-14 | 2017-05-24 | 东软集团股份有限公司 | Cam表的操作方法及装置 |
CN106713023B (zh) * | 2016-12-14 | 2020-01-07 | 东软集团股份有限公司 | Cam表的操作方法及装置 |
CN111736982A (zh) * | 2020-05-12 | 2020-10-02 | 深圳震有科技股份有限公司 | 一种5g数据转发平面的数据转发处理方法和服务器 |
CN111736982B (zh) * | 2020-05-12 | 2023-12-08 | 深圳震有科技股份有限公司 | 一种5g数据转发平面的数据转发处理方法和服务器 |
CN114760237A (zh) * | 2022-03-11 | 2022-07-15 | 深圳市风云实业有限公司 | 一种基于tcam表的多级流表构建方法 |
CN114760237B (zh) * | 2022-03-11 | 2024-04-19 | 深圳市风云实业有限公司 | 一种基于tcam表的多级流表构建方法 |
CN115914387A (zh) * | 2022-11-02 | 2023-04-04 | 百果园技术(新加坡)有限公司 | 资源共享及数据查询的方法、装置和服务器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104199800A (zh) | 一种解决多核系统中表项互斥的方法 | |
US11736424B2 (en) | Searchable peer-to-peer system through instant messaging based topic indexes | |
WO2016127903A1 (zh) | 一种数据同步方法、装置和系统 | |
EP3178003B1 (en) | Safe data access following storage failure | |
US10885060B2 (en) | On-demand file synchronization | |
CN101650646B (zh) | 一种共享数据一致性的实现方法及装置 | |
US20140195769A1 (en) | Management of storage in a storage network | |
WO2019100921A1 (zh) | 消息推送方法及装置 | |
WO2018192286A1 (zh) | 一种数据库的切换方法、主服务器以及从服务器 | |
US20160085602A1 (en) | Content Sharing Between Sandboxed Apps | |
CN103150149B (zh) | 处理数据库重做数据的方法和装置 | |
US20120215786A1 (en) | Server-Side Search Of Email Attachments | |
CN104679596A (zh) | 一种提高服务器端并发性能的消息处理方法及其系统 | |
CN104618304A (zh) | 数据处理方法及数据处理系统 | |
JP2012510094A5 (zh) | ||
US20170255668A1 (en) | Methods and apparatuses for improving processing efficiency in a distributed system | |
CN102209115A (zh) | 一种虚拟桌面系统中不同用户之间的协同方法 | |
CN107870982A (zh) | 数据处理方法、系统和计算机可读存储介质 | |
US8327278B2 (en) | Synchronizing metadata describes user content updates and an indication of user gestures being performed within the document, and across client systems using different communication channels | |
CN108259348B (zh) | 一种报文传输方法和装置 | |
US10863347B2 (en) | Policy enhancement for mixed capability devices | |
CN100451974C (zh) | 会话表管理方法及装置 | |
US20160261705A1 (en) | Off-line mobile application synchronization | |
Delaët et al. | Snap-stabilization in message-passing systems | |
CN109347746B (zh) | 一种mac地址学习方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20141210 |
|
RJ01 | Rejection of invention patent application after publication |