一种基于多核处理器的报文处理方法及装置的制造方法

文档序号:9710797阅读:390来源:国知局
一种基于多核处理器的报文处理方法及装置的制造方法
【技术领域】
[0001]本发明涉及通信技术领域,尤其涉及一种基于多核处理器的报文处理方法及装置。
【背景技术】
[0002]用于处理报文的网络设备,如交换机、路由器、防火墙和网关等,作为计算机互连的数据交换节点,数据转发性能决定了网络的整体质量。随着用户连接数的急剧增长和各种高宽带应用的出现,主频提升受限的单核处理器越来越难以满足高速数据转发的性能需求。而多核处理器凭借其较低成本的扩展能力和并行计算特性,逐渐在网络通信领域得到广泛应用。所谓多核处理器,是指在一个硬件芯片上集成多个核心处理器(英文Core-CPU),通常为共享内存式结构。多核处理器具备相对独立的多个计算处理核心,可以并行地执行报文处理程序,从而使得报文处理性能得到大幅度提高,进而可以提高系统整体的吞吐率。
[0003]但是,多核处理器由于共享许多硬件和软件资源,在数据转发繁忙时,如何能够提高彼此的协同效率,减少相互等待时间,充分发挥并行特性成为多核处理器平台软件开发的难点。再者,由于每个处理器核心处理不同报文的时间随机性,有可能造成先进入转发序列的报文,反而后到达输出序列,出现所谓的报文乱序现象。
[0004]为了提高多核处理器的计算并行性,现有技术中通常采用流水线技术:接收到报文,根据该报文中携带的特征值(例如该报文的源IP、源端口、目的IP、目的端口等)计算该报文的散列值,然后将报文分配给与该散列值对应的流水线处理。
[0005]然而,不同报文类型的报文在流水线处理时可能需要进行的处理操作是不同的,故而不同报文类型的报文处理过程所执行的代码,所访问的数据,所花费的处理时间也不同,故现有技术会造成cache miss的增多,这将影响报文的转发性能。

【发明内容】

[0006]本发明实施例提供了一种基于多核处理器的报文处理方法及装置,用以解决目前存在的报文处理过程中现有技术会造成cache miss的增多,影响报文的转发性能等问题。
[0007]本发明实施例提供了一种基于多核处理器的报文处理方法,包括:
[0008]接收到待处理报文后,确定所述待处理报文所属的报文类型;
[0009]在预置的报文类型与流水线族之间的对应关系中,查找所述待处理报文所对应的流水线族;其中,同一流水线族对应至少一种报文类型、且同一流水线族对应的不同报文类型的报文处理过程的关键路径的量化值之间的差值小于预设阈值;
[0010]将所述待处理报文分配给对应的所述流水线族进行报文处理。
[0011]进一步地,本发明实施例还提供了一种基于多核处理器的报文处理装置,包括:
[0012]报文类型确定模块,用于接收到待处理报文后,确定所述待处理报文所属的报文类型;
[0013]流水线族查找模块,用于在预置的报文类型与流水线族之间的对应关系中,查找所述待处理报文所对应的流水线族;其中,同一流水线族对应至少一种报文类型、且同一流水线族对应的不同报文类型的报文处理过程的关键路径的量化值之间的差值小于预设阈值;
[0014]处理模块,用于将所述待处理报文分配给对应的所述流水线族进行报文处理。
[0015]本发明有益效果如下:本发明实施例中将量化值接近(即量化值之间的差值小于预设阈值)的关键路径建立对应的流水线组,然后将同一流水线族的报文发送给该流水线族处理,这样,同一流水线族处理的报文所执行的关键路径、执行时间基本相同,这样就可以减少cache miss,提高网络设备的报文转发性能。
【附图说明】
[0016]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0017]图1所示为本发明实施例一中所述基于多核处理器的报文处理方法的流程示意图;
[0018]图2所示为本发明实施例二中所述基于多核处理器的报文处理装置的结构示意图之一;
[0019]图3所示为本发明实施例二中所述基于多核处理器的报文处理装置的结构示意图之二。
【具体实施方式】
[0020]本发明实施例提供了一种基于多核处理器的报文处理方法及装置,在本发明实施例所述技术方案中,由于接收到待处理报文后,确定所述待处理报文所属的报文类型;在预置的报文类型与流水线族之间的对应关系中,查找所述待处理报文所对应的流水线族;其中,同一流水线族对应至少一种报文类型、且同一流水线族对应的不同报文类型的报文处理过程的关键路径的量化值之间的差值小于预设阈值;将所述待处理报文分配给对应的所述流水线族进行报文处理。这样,本发明实施中,将量化值接近(即量化值之间的差值小于预设阈值)的关键路径建立对应的流水线组,然后将同一流水线族的报文发送给该流水线族处理,这样,同一流水线族处理的报文所执行的关键路径、执行时间基本相同,这样就可以减少cache miss,提高网络设备的报文转发性能。
[0021]为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0022]实施例一:
[0023]如图1所示,其为本发明实施例一中所述基于多核处理器的报文处理方法的流程示意图,所述基于多核处理器的报文处理方法可包括以下步骤:
[0024]步骤101:接收到待处理报文后,确定所述待处理报文所属的报文类型。
[0025]其中,在一个实施例中,报文类型例如是根据报文所使用的网络协议划分的,例如报文类型包括:HTTP报文、TCP报文、UDP报文等等。
[0026]其中,在一个实施例中,报文类型还可以根据报文五元组信息(如IP地址、协议类型、端口号)信息划分。当然,也可以根据报文需要处理的过程划分报文类型,例如报文类型为病毒扫描,或者仅需要路由等。需要说明的是,具体实施时,可以根据实际需要划分报文类型,本发明对此不做限定。
[0027]步骤102:在预置的报文类型与流水线族之间的对应关系中,查找所述待处理报文所对应的流水线族;其中,同一流水线族对应至少一种报文类型、且同一流水线族对应的不同报文类型的报文处理过程的关键路径的量化值之间的差值小于预设阈值。
[0028]步骤103:将所述待处理报文分配给对应的所述流水线族进行报文处理。
[0029]其中,在一个实施例中,步骤102中所述报文类型与流水线族之间的对应关系可以根据以下方法建立,包括:
[0030]步骤Al:针对预置的报文类型集合中的每种报文类型,获取该报文类型的报文处理过程中的执行路径。
[0031]步骤A2:对执行路径进行分析,获取该种类型报文的关键路径。
[0032]其中,在一个实施例中,针对不同应用类型的网络设备可以根据网络设备当前开启的各种业务的业务功能,获取到不同的关键路径。例如,对于需要进行病毒扫描的报文类型,可以认为它的关键路径是报文接收-病毒扫描-病毒特征码入库为关键路径;也可以以报文接收-病毒扫描-报文丢弃作为关键路径。对于仅需要路由的报文类型,获取到的关键路径为报文接收-路由查找-报文发送;对于需要全安检测的报文类型,其关键路径变为报文接收-防攻击-病毒检测-报文发送。具体实施时,可以根据实际需要获取关键路径,本发明实施例对此不做限定。
[0033]步骤A3:对获取的关键路径进行量化分析,得到该关键路径的量化值。
[0034]其中,在一个实施例中,各关键路径在报文处理的程序中有与其对应的代码段;故此,为便于简化操作通过简便的方法获得量化值,关键路径的量化值可以为该关键路径对应的程序代码段的代码行数或程序执行时间。例如,关键路径B对应的代码段为C,关键路径B的量化值可以为代码段C的代码行数或代码段C的执行时间。
[0035]步骤A3:将量化值之间的差值小于预设阈值的关键路径归类到同一关键路径集合中。
[0036]例如,第一报文类型的第一关键路径的量化值为Tl,第二报文类型的第二关键路径的量化值为T2,第三报文类型的第三关键路径
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1