CN104199800A - 一种解决多核系统中表项互斥的方法 - Google Patents

一种解决多核系统中表项互斥的方法 Download PDF

Info

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
Application number
CN201410347825.0A
Other languages
English (en)
Inventor
曹瑜
张剑波
王乃斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Huanchuang Communication Technology Co Ltd
Original Assignee
Shanghai Huanchuang Communication Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Huanchuang Communication Technology Co Ltd filed Critical Shanghai Huanchuang Communication Technology Co Ltd
Priority to CN201410347825.0A priority Critical patent/CN104199800A/zh
Publication of CN104199800A publication Critical patent/CN104199800A/zh
Pending legal-status Critical Current

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独立表项,互相不可见。
CN201410347825.0A 2014-07-21 2014-07-21 一种解决多核系统中表项互斥的方法 Pending CN104199800A (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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