CN107656896A - 一种多核处理器及报文处理方法 - Google Patents

一种多核处理器及报文处理方法 Download PDF

Info

Publication number
CN107656896A
CN107656896A CN201710818605.5A CN201710818605A CN107656896A CN 107656896 A CN107656896 A CN 107656896A CN 201710818605 A CN201710818605 A CN 201710818605A CN 107656896 A CN107656896 A CN 107656896A
Authority
CN
China
Prior art keywords
group
wqe
priority
core
target core
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.)
Granted
Application number
CN201710818605.5A
Other languages
English (en)
Other versions
CN107656896B (zh
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.)
New H3C Security Technologies Co Ltd
New H3C Information Technologies Co Ltd
Original Assignee
New H3C Security Technologies 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 New H3C Security Technologies Co Ltd filed Critical New H3C Security Technologies Co Ltd
Priority to CN201710818605.5A priority Critical patent/CN107656896B/zh
Publication of CN107656896A publication Critical patent/CN107656896A/zh
Application granted granted Critical
Publication of CN107656896B publication Critical patent/CN107656896B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/1735Network adapters, e.g. SCI, Myrinet

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种多核处理器及报文处理方法,所述多核处理器包括:SSO模块、多个Core;所述SSO模块,用于在接收到所述多个Core中的目标Core发送的获取WQE的指令时,按照预先配置的Group的优先级,从所述SSO模块中存在的包括所述目标Core对应的Group的Group标识的WQE中,选择包括优先级最高的Group的Group标识的WQE发送给所述目标Core;所述目标Core,用于基于从所述SSO模块获取的与所述目标Core对应的Group的WQE从内存中读取报文进行处理。本发明无需针对特定报文指定专门的Core进行处理,从而节约了多核处理器的资源。

Description

一种多核处理器及报文处理方法
技术领域
本发明涉及网络通信技术领域,尤其涉及一种多核处理器及报文处理方法。
背景技术
多核处理器是指在一个硬件芯片上集成有多个Core(称为处理核或内核)的处理器。由于多核处理器中的多个处理核相对独立,可并行处理报文,因此,可提升基于多核处理器的网络设备的报文处理能力。
多核处理器除了处理数据报文,还需要处理一些特定报文(例如,控制层面相关的协议报文),且这些特定报文通常需要优先处理。为了防止数据报文流量过大,挤占处理特定报文所需的处理器资源,通常为这些特定报文指定专门的Core进行处理,但是,特定报文的流量通常较小,指定专门的Core进行处理,比较浪费多核处理器的资源。
发明内容
本发明的目的在于提供一种多核处理器及报文处理方法,用以在处理特定报文时,降低对多核处理器资源的占用。
为实现上述发明目的,本发明提供了如下技术方案:
一方面,本发明提供一种多核处理器,所述多核处理器包括:SSO(Schedule/Synchronize/Order,报文调度)模块、多个Core(核);
所述SSO模块,用于在接收到所述多个Core中的目标Core发送的获取WQE(WorkQueue Entry,工作项)的指令时,按照预先配置的Group(组)的优先级,从所述SSO模块中存在的包括所述目标Core对应的Group的Group标识的WQE中,选择包括优先级最高的Group的Group标识的WQE发送给所述目标Core;
所述目标Core,用于基于从所述SSO模块获取的与所述目标Core对应的Group的WQE从内存中读取报文进行处理。
另一方面,本发明提供一种报文处理方法,应用于多核处理器包括的SSO模块,所述多核处理器还包括:多个Core,所述方法包括:
在接收到所述多个Core中的目标Core发送的获取工作项WQE的指令时,按照预先配置的组Group的优先级,从所述SSO模块中存在的包括所述目标Core对应的Group的Group标识的WQE中,选择包括优先级最高的Group的Group标识的WQE;
将选择的WQE发送给所述目标Core,以使所述目标Core基于从所述SSO模块获取的与所述目标Core对应的Group的WQE从内存中读取报文进行处理。
由以上描述可以看出,本发明中SSO模块在接收到Core发送的获取WQE的指令时,基于预先配置的Group的优先级,从本地存在的包括该Core对应的Group的Group标识的WQE中,选择包括优先级最高的Group的Group标识的WQE发送给Core,基于此,本发明可将需要优先处理的特定报文所属的Group的优先级调高,以达到优先处理特定报文的目的。可见,本发明中处理数据报文的Core也可以处理特定报文,本发明未针对特定报文指定专门的Core进行处理,从而节约了多核处理器的资源。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例示出的一种多核处理器的结构示意图;
图2是本发明实施例示出的一种报文处理方法的流程图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
参见图1,为本发明实施例示出的一种多核处理器的结构示意图,该多核处理器包括PKI(Packet Input,报文接收)模块、SSO模块以及多个Core(Core1~Core3),图1所示Core的数量仅为示例性说明,本发明不对Core的数量进行限制。
以下将对多核处理器包括的各个模块进行描述:
PKI模块:用于基于报文的报文特征为报文分配Group,将分配的Group的Group标识以及为报文分配的在内存中的存放地址填写到报文对应的WQE中,将报文存入多核处理器之外的内存,并将报文对应的WQE发送至SSO模块。
SSO模块:用于在接收到所述多个Core中的目标Core发送的获取WQE的指令时,按照预先配置的Group的优先级,从所述SSO模块中存在的包括所述目标Core对应的Group的Group标识的WQE中,选择包括优先级最高的Group的Group标识的WQE发送给所述目标Core。
具体地,如前所述,PKI模块基于报文的报文特征为报文分配Group,具有相同报文特征的报文分配到相同的Group(即同属于同一Group),因此,SSO模块可通过为每一个Group设置不同的优先级,来决定具有不同报文特征的报文的处理顺序。参见表1,为本发明实施例示出的Group优先级配置表,该表仅为实例性说明,不具体限制Group的优先级。
Group Group优先级
Group0、Group4、Group8 0
Group1、Group2 1
Group6、Group3 2
Group5、Group9 3
Group7、Group10 4
表1
表1中表示Group优先级的数值范围为0~4,数值越小代表Group的优先级越高(当然,也可以定义数值越大代表的Group的优先级越高,本发明对此不作限定)。基于此,对于需要优先处理的特定报文,可为该特定报文所属Group设置一个较高的优先级,例如,通常可设置协议报文所属Group的优先级高于数据报文所属Group的优先级,以保证与控制层面相关的协议报文优先处理。
当SSO模块接收到某一个Core(记为目标Core)发送的获取WQE的指令时,SSO模块从本地存在的包括该目标Core对应的Group的Group标识的WQE中,选择包含优先级最高的Group的Group标识的WQE发送给目标Core。参见表2,为本发明实施例示出的SSO模块中预先配置的Group与Core的对应关系,该表仅为示例性说明,本发明不对Group与Core之间的具体对应关系进行限定。
表2
例如,若SSO模块接收到Core1发送的获取WQE的指令,SSO模块根据表2所示Group与Core的对应关系,确定与Core1对应的Group为Group0~Group3,查询表1,确定Group0的优先级为0,Group1和Group2的优先级为1,Group3的优先级为2;若SSO模块中存在包括上述Group的Group标识的WQE,则SSO模块选择包括优先级最高(数值越小优先级越高)的Group0的Group标识的WQE发送给Core1;当SSO模块再次接收到Core1发送的获取WQE的指令时,若SSO模块中已没有包括Group0的Group标识的WQE,则SSO模块从当前包括优先级最高(优先级为1)的Group1或Group2的Group标识的WQE中,任选一个包括Group1或Group2的Group标识的WQE发送给Core1,即从多个包括优先级最高的Group的Group标识的WQE中,任选一个包括优先级最高的Group的Group标识的WQE发送给Core1,以此类推,不再赘述。
目标Core:用于基于从所述SSO模块获取的与所述目标Core对应的Group的WQE从内存中读取报文进行处理。
具体地,目标Core从SSO模块获取到WQE后,基于WQE包括的报文的存放地址从内存中读取报文进行处理。由于SSO模块是按照Group优先级从高到低的顺序向目标Core返回WQE,因此,可保证属于高优先级Group的报文得到优先处理。
从上述描述可以看出,本发明为需要优先处理的特定报文所属的Group设置较高的优先级,即使在数量流量比较大的情况下,也能保证这些特定报文的及时处理,由于未针对特定报文指定专门的Core进行处理,因此,节约了多核处理器的资源。
本发明实施例还提出一种报文处理方法,参见图2,为本发明实施例示出的报文处理方法的流程图,该实施例从SSO模块侧对报文处理过程进行描述。
步骤201,在接收到所述多个Core中的目标Core发送的获取WQE的指令时,按照预先配置的Group的优先级,从所述SSO模块中存在的包括所述目标Core对应的Group的Group标识的WQE中,选择包括优先级最高的Group的Group标识的WQE。
步骤202,将选择的WQE发送给所述目标Core,以使所述目标Core基于从所述SSO模块获取的与所述目标Core对应的Group的WQE从内存中读取报文进行处理。
进一步地,所述按照预先配置的组Group的优先级,从所述SSO模块中存在的包括所述目标Core对应的Group的Group标识的WQE中,选择包括优先级最高的Group的Group标识的WQE之前,还包括:
配置每一个Group的优先级,其中,协议报文所属Group的优先级高于数据报文所属Group的优先级。
进一步地,所述从所述SSO模块中存在的包括所述目标Core对应的Group的Group标识的WQE中,选择包括优先级最高的Group的Group标识的WQE,包括:
当所述SSO模块中存在的包括所述目标Core对应的Group的Group标识的WQE中,存在多个包括优先级最高的Group的Group标识的WQE时,从所述多个包括优先级最高的Group的Group标识的WQE中,任选一个包括优先级最高的Group的Group标识的WQE。
上述报文处理方法的实现过程具体详见上述对多核处理器中各模块的描述,在此不再赘述。
现仍以图1所示多核处理器为例,介绍该多核处理器以及报文处理过程。
根据用户对不同报文处理顺序的要求,在SSO模块中为报文所属Group设置优先级,如表1所示;同时,在SSO模块中预先配置Group与Core的对应关系,如表2所示。
当报文Packet1进入多核处理器时,由PKI模块为Packet1分配Group,并获取Packet1在内存中的存放地址(记为Address1),若PKI模块为Packet1分配的Group为Group0,则将Group0和Address1填写到Packet1对应的WQE(记为WQE1)中,将WQE1发送给SSO模块,并将Packet1存入内存地址为Address1的存储空间中。
当报文Packet2进入多核处理器时,由PKI模块为Packet2分配Group,并获取Packet2在内存中的存放地址(记为Address2),若PKI模块为Packet2分配的Group为Group1,则将Group1和Address2填写到Packet2对应的WQE(记为WQE2)中,将WQE2发送给SSO模块,并将Packet2存入内存地址为Address2的存储空间中。
当报文Packet3进入多核处理器时,由PKI模块为Packet3分配Group,并获取Packet3在内存中的存放地址(记为Address3),若PKI模块为Packet3分配的Group为Group2,则将Group2和Address3填写到Packet3对应的WQE(记为WQE3)中,将WQE3发送给SSO模块,并将Packet3存入内存地址为Address3的存储空间中。
当报文Packet4进入多核处理器时,由PKI模块为Packet4分配Group,并获取Packet4在内存中的存放地址(记为Address4),若PKI模块为Packet4分配的Group为Group3,则将Group3和Address4填写到Packet4对应的WQE(记为WQE4)中,将WQE4发送给SSO模块,并将Packet4存入内存地址为Address4的存储空间中。
此时,若SSO模块接收到Core1发送的获取WQE的指令,SSO模块基于表2确定与Core1对应的Group为Group0~Group3,查询表1,确定Group0的优先级为0,Group1和Group2的优先级为1,Group3的优先级为2,即Group0的优先级最高,Group1和Group2的优先级次之,Group3的优先级最低,则SSO模块获取本地存在的包括Group0的Group标识的WQE1发送给Core1,Core1接收到WQE1后,基于WQE1包括的Address1从内存中读取Packet1进行处理。
在完成对Packet1的处理后,Core1再次向SSO模块发送获取WQE的指令,若SSO模块中已不存在包括Group0的Group标识的WQE,则SSO模块将包括Group1或Group2的Group标识的WQE发送给Core1,假设,SSO模块将包括Group1的Group标识的WQE2发送给Core1,则Core1基于WQE2包括的Address2从内存中读取Packet2进行处理。
当SSO模块接收到Core1在处理完Packet2后再次发送的获取WQE的指令时,将包括Group2的Group标识的WQE3发送给Core1,则Core1基于WQE3包括的Address3从内存中读取Packet3进行处理。
当SSO模块接收到Core1在处理完Packet3后再次发送的获取WQE的指令时,将包括Group3的Group标识的WQE4发送给Core1,则Core1基于WQE4包括的Address4从内存中读取Packet4进行处理。
即按照报文所属Group的优先级从高到低的顺序处理报文。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (6)

1.一种多核处理器,其特征在于,所述多核处理器包括:报文调度SSO模块、多个核Core;
所述SSO模块,用于在接收到所述多个Core中的目标Core发送的获取工作项WQE的指令时,按照预先配置的组Group的优先级,从所述SSO模块中存在的包括所述目标Core对应的Group的Group标识的WQE中,选择包括优先级最高的Group的Group标识的WQE发送给所述目标Core;
所述目标Core,用于基于从所述SSO模块获取的与所述目标Core对应的Group的WQE从内存中读取报文进行处理。
2.如权利要求1所述的处理器,其特征在于:
所述SSO模块,还用于配置每一个Group的优先级,其中,协议报文所属Group的优先级高于数据报文所属Group的优先级。
3.如权利要求1或2所述的处理器,其特征在于:
所述SSO模块,具体用于当所述SSO模块中存在的包括所述目标Core对应的Group的Group标识的WQE中,存在多个包括优先级最高的Group的Group标识的WQE时,从所述多个包括优先级最高的Group的Group标识的WQE中,任选一个包括优先级最高的Group的Group标识的WQE发送给所述目标Core。
4.一种报文处理方法,应用于多核处理器包括的报文调度SSO模块,其特征在于,所述多核处理器还包括:多个核Core,所述方法包括:
在接收到所述多个Core中的目标Core发送的获取工作项WQE的指令时,按照预先配置的组Group的优先级,从所述SSO模块中存在的包括所述目标Core对应的Group的Group标识的WQE中,选择包括优先级最高的Group的Group标识的WQE;
将选择的WQE发送给所述目标Core,以使所述目标Core基于从所述SSO模块获取的与所述目标Core对应的Group的WQE从内存中读取报文进行处理。
5.如权利要求4所述的方法,其特征在于,所述按照预先配置的组Group的优先级,从所述SSO模块中存在的包括所述目标Core对应的Group的Group标识的WQE中,选择包括优先级最高的Group的Group标识的WQE之前,还包括:
配置每一个Group的优先级,其中,协议报文所属Group的优先级高于数据报文所属Group的优先级。
6.如权利要求4或5所述的方法,其特征在于,所述从所述SSO模块中存在的包括所述目标Core对应的Group的Group标识的WQE中,选择包括优先级最高的Group的Group标识的WQE,包括:
当所述SSO模块中存在的包括所述目标Core对应的Group的Group标识的WQE中,存在多个包括优先级最高的Group的Group标识的WQE时,从所述多个包括优先级最高的Group的Group标识的WQE中,任选一个包括优先级最高的Group的Group标识的WQE。
CN201710818605.5A 2017-09-12 2017-09-12 一种多核处理器及报文处理方法 Active CN107656896B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710818605.5A CN107656896B (zh) 2017-09-12 2017-09-12 一种多核处理器及报文处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710818605.5A CN107656896B (zh) 2017-09-12 2017-09-12 一种多核处理器及报文处理方法

Publications (2)

Publication Number Publication Date
CN107656896A true CN107656896A (zh) 2018-02-02
CN107656896B CN107656896B (zh) 2020-07-07

Family

ID=61129644

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710818605.5A Active CN107656896B (zh) 2017-09-12 2017-09-12 一种多核处理器及报文处理方法

Country Status (1)

Country Link
CN (1) CN107656896B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108595370A (zh) * 2018-03-30 2018-09-28 新华三信息安全技术有限公司 一种多核处理器及报文处理方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101631077A (zh) * 2009-08-24 2010-01-20 中兴通讯股份有限公司 一种报文处理方法及装置
US20130151457A1 (en) * 2007-02-09 2013-06-13 Petteri Koponen Method and Arrangement for Content Prioritization
CN104468401A (zh) * 2014-11-20 2015-03-25 华为技术有限公司 一种报文处理方法和装置
CN105490961A (zh) * 2014-09-19 2016-04-13 杭州迪普科技有限公司 报文处理方法、装置以及网络设备
CN105511954A (zh) * 2014-09-23 2016-04-20 华为技术有限公司 一种报文处理方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130151457A1 (en) * 2007-02-09 2013-06-13 Petteri Koponen Method and Arrangement for Content Prioritization
CN101631077A (zh) * 2009-08-24 2010-01-20 中兴通讯股份有限公司 一种报文处理方法及装置
CN105490961A (zh) * 2014-09-19 2016-04-13 杭州迪普科技有限公司 报文处理方法、装置以及网络设备
CN105511954A (zh) * 2014-09-23 2016-04-20 华为技术有限公司 一种报文处理方法及装置
CN104468401A (zh) * 2014-11-20 2015-03-25 华为技术有限公司 一种报文处理方法和装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108595370A (zh) * 2018-03-30 2018-09-28 新华三信息安全技术有限公司 一种多核处理器及报文处理方法

Also Published As

Publication number Publication date
CN107656896B (zh) 2020-07-07

Similar Documents

Publication Publication Date Title
CN106961741B (zh) 一种上行资源分配方法和装置
CN109428922A (zh) 一种订阅发布方法及服务器
CN104468401B (zh) 一种报文处理方法和装置
CN108401037A (zh) 用户终端和设备的绑定方法、装置和系统
CN105278918B (zh) 寄存器的读取方法和采用该读取方法的寄存器
CN105991481B (zh) 一种报文转发方法及装置
TW201644230A (zh) 行動邊緣計算之控制方法、網路系統與服務平台
CN107656896A (zh) 一种多核处理器及报文处理方法
CN104009937A (zh) 一种增强型传输选择标准配置信息传输方法及装置
CN106686635A (zh) 基于无线接入点的控制和配置协议的数据传输方法和装置
CN106100953B (zh) PCIe设备共享网络的生成方法、装置及系统
CN109862134B (zh) 一种ip地址的租约时间配置方法和系统及dhcp客户端
CN109120731B (zh) 一种通用型通讯方法、系统及装置
CN105281944B (zh) 网络协议地址的设定方法及服务管理系统
CN104125646B (zh) 一种数据的处理方法及装置
CN111277514A (zh) 一种报文队列分配方法、报文转发方法及相关装置
CN116112572A (zh) 一种业务处理方法、装置、网络设备及存储介质
US8830942B2 (en) Mobile equipment and packet filtering method
CN108595370A (zh) 一种多核处理器及报文处理方法
EP3316133A1 (en) Network device subscription management
CN107704421A (zh) 一种多核处理器及报文处理方法
CN107707485A (zh) 一种范围型ip报文策略匹配电路及方法
CN114257545A (zh) 一种报文转发方法及装置
CN111586752B (zh) 时隙容器的配置方法及装置
CN107257550B (zh) 一种信号处理方法、基站及计算机存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant