一种多核处理器及报文处理方法技术

技术编号:18403787 阅读:28 留言:0更新日期:2018-07-08 22:08
本发明专利技术提供一种多核处理器及报文处理方法,该多核处理器包括:PKI模块,用于为报文分配分流标识和分流Core对应的Group,将Group标识和分流标识填写到报文对应Work中;分流Core,用于获取包括该分流Core对应Group标识的Work,基于Work包括的分流标识以及数据Core的数量从数据Core中分配第一数据Core,将Work包括的Group标识替换为第一数据Core对应的Group标识;第一数据Core,用于获取包括该第一数据Core对应的Group标识的Work,从内存中读取Work对应报文进行处理。本发明专利技术可减轻单个数据Core的处理压力。

A multi-core processor and message processing method

The present invention provides a multi-core processor and message processing method. The multi-core processor includes: a PKI module, which is used to assign a distributary identity to a message and divert a Group corresponding to a Core, and fill the Group identity and distributary identifier into the message corresponding to the Work, and divert Core to obtain Work including the corresponding Group identification of the distributary Core, based on it, Work includes the distributary identification and the number of data Core allocated the first data Core from the data Core, replacing the Group identity included by the Work as the Group identity corresponding to the first data Core; the first data Core is used to obtain the Work that includes the Group identity corresponding to the first data Core, and reads the corresponding message from the memory for processing. . The invention can reduce the processing pressure of a single data Core.

【技术实现步骤摘要】
一种多核处理器及报文处理方法
本专利技术涉及网络通信
,尤其涉及一种多核处理器及报文处理方法。
技术介绍
多核处理器是指在一个硬件芯片上集成有多个Core(称为处理核或内核)的处理器。由于多核处理器中的多个处理核相对独立,可并行处理报文,因此,可提升基于多核处理器的网络设备的报文处理能力。多核处理器在接收到报文后,首先为报文分配Group(组),然后基于Group与Core的对应关系,由分配的Group对应的Core对报文进行处理。由于每一个Core对应的Group的数量不同,导致对应较多Group的Core的处理压力会较大。
技术实现思路
本专利技术的目的在于提供一种多核处理器及报文处理方法,用以减轻Core的处理压力。为实现上述专利技术目的,本专利技术提供了如下技术方案:本专利技术提供一种多核处理器,所述多核处理器包括:PKI(PacketInputUnit,报文接收)模块、SSO(Schedule/Synchronize/OrderUnit,报文调度)模块、多个Core;其中,所述多个Core包括:分流Core和数据Core;所述PKI模块,用于为报文分配分流Core对应的Group和所述报文的分流标识,将分配的Group的Group标识和所述分流标识填写到所述报文对应的Work(工作项)中,并将所述报文存入内存,将所述Work发送至所述SSO模块,其中,属于同一数据流的报文的分流标识相同;所述分流Core,用于从所述SSO模块获取包括所述分流Core对应的Group的Group标识的Work,基于获取的Work包括的分流标识以及所述多个Core包括的数据Core的数量从所述数据Core中分配第一数据Core,将获取的Work包括的Group标识替换为所述第一数据Core对应的Group的Group标识,将替换后的Work发送至所述SSO模块;所述第一数据Core,用于从所述SSO模块获取包括所述第一数据Core对应的Group的Group标识的Work,并基于获取的Work从所述内存中读取报文进行处理。本专利技术还提供一种报文处理方法,应用于多核处理器包括的多个Core中的分流Core,所述多核处理器还包括:PKI模块、SSO模块,所述多个Core还包括数据Core,所述方法包括:从所述SSO模块获取包括所述分流Core对应的Group的Group标识的Work,所述分流Core获取的Work为所述PKI模块为报文分配分流Core对应的Group和所述报文的分流标识后,将分配的Group的Group标识和所述分流标识填写到所述报文对应的Work中,并将填写后的Work发送至所述SSO模块中的,其中,属于同一数据流的报文的分流标识相同;基于所述获取的Work包括的分流标识以及所述多个Core包括的数据Core的数量从所述数据Core中分配第一数据Core;将所述获取的Work包括的Group标识替换为所述第一数据Core对应的Group的Group标识;将替换后的Work发送至所述SSO模块,以使所述第一数据Core从所述SSO模块获取包括所述第一数据Core对应的Group的Group标识的Work,并基于获取的Work从内存中读取报文进行处理,所述第一数据Core从内存中读取的报文为所述PKI模块在填写报文对应的Work后,将报文存入所述内存中的。由以上描述可以看出,本专利技术首先由PKI模块为报文分配分流Core对应的Group和报文的分流标识,并将分流Core对应的Group的Group标识和报文的分流标识写入报文对应Work中;当分流Core获取到包括该分流Core对应的Group的Work时,基于Work中的分流标识和多核处理器中数据Core的数量从数据Core中分配第一数据Core,并将Work包括的Group标识替换为第一数据Core对应的Group的Group标识,以便第一数据Core获取包含该第一数据Core对应Group的Group标识的Work,并基于获取的Work从内存读取报文进行处理。也就是说,本专利技术对报文进行了二次分配,第一次分配是基于Group和Core的对应关系将报文分配给分流Core,第二次分配是由分流Core基于多核处理器中数据Core的数量将报文分配给数据Core(分流Core不对报文进行处理,只执行第二次分配操作),正是由于分流Core基于数据Core的数量的第二次分配,使得基于所有数据Core执行负载均衡成为可能,从而减轻单个数据Core的处理压力。附图说明图1是本专利技术实施例示出的一种多核处理器的结构示意图;图2是本专利技术实施例示出的一种报文处理方法的流程图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本专利技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本专利技术的一些方面相一致的装置和方法的例子。在本专利技术使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本专利技术。在本专利技术和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本专利技术可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本专利技术范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。本专利技术实施例提出一种多核处理器,该多核处理器包括PKI模块、SSO模块以及多个Core,其中,多个Core包括:分流Core和数据Core。参见图1,为本专利技术实施例示出的一种多核处理器的结构示意图,其中,Core1和Core2为分流Core,Core3~Core9为数据Core,当然,本专利技术并不具体限制Core的数量,图1所示Core的数量仅为示例性说明。以下将对多核处理器包括的各个模块进行描述:PKI模块:用于为报文分配分流Core对应的Group和所述报文的分流标识,将分配的Group的Group标识和所述分流标识填写到所述报文对应的Work中,并将所述报文存入内存,将所述Work发送至所述SSO模块。具体地,在PKI模块中配置分流Core对应的Group的范围,该分流Core对应的Group的范围与SSO模块中已配置的分流Core与Group的对应关系一致。参见表1,为SSO模块中已配置的Core与Group的对应关系,其中,每一个Group唯一对应一个Core。表1如前所述,Core1和Core2为分流Core,Core3~Core9为数据Core,因此,在PKI中配置分流Core对应的Group的范围为Group0~Group3。PKI接收到报文后,在已配置的分流Core对应的Group的范围内为报文分配Group,例如,可基于报文的目的IP地址为报文分配分流Core对应的Group,即为具有本文档来自技高网...

【技术保护点】
1.一种多核处理器,其特征在于,所述多核处理器包括:报文接收PKI模块、报文调度SSO模块、多个核Core;其中,所述多个Core包括:分流Core和数据Core;所述PKI模块,用于为报文分配分流Core对应的组Group和所述报文的分流标识,将分配的Group的Group标识和所述分流标识填写到所述报文对应的工作项Work中,并将所述报文存入内存,将所述Work发送至所述SSO模块,其中,属于同一数据流的报文的分流标识相同;所述分流Core,用于从所述SSO模块获取包括所述分流Core对应的Group的Group标识的Work,基于获取的Work包括的分流标识以及所述多个Core包括的数据Core的数量从所述数据Core中分配第一数据Core,将获取的Work包括的Group标识替换为所述第一数据Core对应的Group的Group标识,将替换后的Work发送至所述SSO模块;所述第一数据Core,用于从所述SSO模块获取包括所述第一数据Core对应的Group的Group标识的Work,并基于获取的Work从所述内存中读取报文进行处理。

【技术特征摘要】
1.一种多核处理器,其特征在于,所述多核处理器包括:报文接收PKI模块、报文调度SSO模块、多个核Core;其中,所述多个Core包括:分流Core和数据Core;所述PKI模块,用于为报文分配分流Core对应的组Group和所述报文的分流标识,将分配的Group的Group标识和所述分流标识填写到所述报文对应的工作项Work中,并将所述报文存入内存,将所述Work发送至所述SSO模块,其中,属于同一数据流的报文的分流标识相同;所述分流Core,用于从所述SSO模块获取包括所述分流Core对应的Group的Group标识的Work,基于获取的Work包括的分流标识以及所述多个Core包括的数据Core的数量从所述数据Core中分配第一数据Core,将获取的Work包括的Group标识替换为所述第一数据Core对应的Group的Group标识,将替换后的Work发送至所述SSO模块;所述第一数据Core,用于从所述SSO模块获取包括所述第一数据Core对应的Group的Group标识的Work,并基于获取的Work从所述内存中读取报文进行处理。2.如权利要求1所述的处理器,其特征在于,所述处理器还包括:中断控制器,用于从所述多个Core中确定目标Core,所述目标Core对应于所述SSO模块中存在的Work包括的Group标识对应的Group;触发所述目标Core从所述SSO模块获取所述存在的Work。3.如权利要求1所述的处理器,其特征在于,所述分流Core基于获取的Work包括的分流标识以及所述多个Core包括的数据Core的数量从所述数据Core中分配第一数据Core,包括:所述分流Core基于获取的Work包括的分流标识和所述多个Core包括的数据Core的数量进行哈希运算,基于运算结果从所述数据Core中分配第一数据Core。4.如权利要求1所述的处理器,其特征在于:所述分流Core,还用于统计分配给所述第一数据Core处理的报文的数量;所述第一数据Core还用于,统计从所述内存中读取的报文的数量;获取所述分流Core分配给所述第一数据Core处理的报文的数量;所述第一数据Core基于获取的Work从所述内存中读取报文进行处理,包括:所述第一数据Core基于获取的Work从所述内存中读取报文,若当前分配给所述第一数据Core处理的报文的数量与所述第一数据Core读取的报文的数量的差值大于预设的数量阈值,则丢弃从所述内存中读取的报文。5.一种报文...

【专利技术属性】
技术研发人员:程爱爽郭永亮王锋马宏源
申请(专利权)人:新华三信息安全技术有限公司
类型:发明
国别省市:安徽,34

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1