CN105812276B - 采用多核处理器的报文转发自适应系统和方法 - Google Patents

采用多核处理器的报文转发自适应系统和方法 Download PDF

Info

Publication number
CN105812276B
CN105812276B CN201610268950.1A CN201610268950A CN105812276B CN 105812276 B CN105812276 B CN 105812276B CN 201610268950 A CN201610268950 A CN 201610268950A CN 105812276 B CN105812276 B CN 105812276B
Authority
CN
China
Prior art keywords
adaptive
service
self
forwarding
unit
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.)
Active
Application number
CN201610268950.1A
Other languages
English (en)
Other versions
CN105812276A (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.)
Shenzhen Forward Industrial Co Ltd
Original Assignee
Shenzhen Forward Industrial 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 Shenzhen Forward Industrial Co Ltd filed Critical Shenzhen Forward Industrial Co Ltd
Priority to CN201610268950.1A priority Critical patent/CN105812276B/zh
Publication of CN105812276A publication Critical patent/CN105812276A/zh
Application granted granted Critical
Publication of CN105812276B publication Critical patent/CN105812276B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/80Actions related to the user profile or the type of traffic
    • H04L47/805QOS or priority aware

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种在不增加成本的情况下能提升系统转发业务数据的处理能力和业务扩展能力的采用多核处理器的报文转发自适应系统和方法。其包括具有M个核的多核处理器,该系统包括控制管理子系统和数据转发子系统,其中,控制管理子系统运行在多核处理器中预设的一个核上,其由自适应控制单元、系统状态管理维护单元、转发业务表项管理单元组成;数据转发子系统运行在除控制管理子系统占用的核之外的其它核之上,其由自适应执行单元、基础业务数据转发单元和增强业务数据转发单元组成。本发明通过控制管理子系统的自适应控制单元实现数据转发子系统的业务与线程的自适应绑定,其能灵活调配系统资源,灵活扩展业务范围和提升转发吞吐量业务数据的能力。

Description

采用多核处理器的报文转发自适应系统和方法
技术领域
本发明涉及网络通信技术,具体而言,涉及一种基于多核架构的报文转发自适应方法和一种基于多核架构的报文转发自适应系统。
背景技术
光纤技术的发展带来了网络带宽指数化增长,信息业务多样化、实时、高速传输,网络威胁日益严峻,对报文转发系统的稳定性、高性能、业务复杂度都提出了更大挑战。
在过去,CPU的频率每18个月就提高一倍,但是这个规律在2004年以后已经失效,CPU的制造工艺遇到了瓶颈。人们又转向通过增加处理器的个数来提高处理能力。多核处理器是通过在一个芯片上集成了多个处理器核来达到更高更快的处理能力。多核处理器的处理能力跟处理器核个数的关系不是线性的关系,如何充分利用若干个核的处理能力,是基于多核处理器的设备在设计时考虑的重要议题。
现有技术中,采取多核架构的报文转发系统提供了两种技术方案来发挥多核处理器并行处理能力,但都存在一些问题:
1、业务流水线模式(参见图1):将报文转发的业务功能划分为多级流水线任务,每个微处理器负责一级流水线,通过串行化调度微处理器完成业务。也就是说,从报文接收到最终转发,这个报文被多个微处理器依次处理。
主要缺陷是:
对于同级流水线,不同业务对应的流水线长度不同,极易导致该级流水线对应的微处理器负载不均衡,进而降低流水线效率(比如IP转发与MPLS转发这两个业务对于转发表项查找的平均指令周期个数的比例要大小50:1。对于执行转发表项查找的微处理器来说,在处理IP报文转发业务的时候,微处理器线程利用率大大降低);复杂业务(例如IPv6过渡技术)有很多跳转、回溯直接导致流水线设计难度增加,进而导致开发周期变长;业务扩展性差,每增加一个业务,流水线必须重新划分、级别需重新调整。
2、报文并发模式(参见图2):采取轮询方式将报文分发给不同的微处理器,利用微处理器并发执行的特点,来提高吞吐量。
主要缺陷是:
对于一些需要串行化处理的任务必须通过加锁来完成,这样会形成多核处理器之间的竞争,导致转发性能降低,因此可以说报文并发模式限制了串行业务的扩展。
从上述分析可以看到,当多核处理器的核个数为一定时,现有的技术方案不能同时解决转发性能高效和复杂业务灵活扩展性问题。设备在设计的时候,无法预测到用户环境可能会使用的业务,为了保证广泛的适应性,必须支持全部的业务处理(即使有些业务在部分用户环境下不需要使用),这必然会牺牲部分处理性能。简单增加处理器核的个数,可以提升性能,但也同时带来了产品硬件成本增加,业务重新分布,程序重新设计,产品开发周期变长等一系列问题。
为同时支持基础业务、复杂业务,现有技术有以下两种处理方法:
1、根据业务来划分网络设备,让完成不同业务的网络设备连接在一起,这些设备共同实现基础、复杂业务。一个典型的例子是:网络划分为接入网设备、核心网设备、防火墙设备等。让接入网设备只完成最基本的转发业务,让核心网设备实现QoS复杂业务,让防火墙设备实现安全防护复杂业务。
2、用软件来实现基础业务,用硬件专用芯片来实现复杂业务。一个典型的例子是:用多核处理器编程实现基础转发业务软件系统,并增加一个专门处理QoS业务的ASIC芯片或FPGA。
由此可见,现有技术是采用简单堆叠硬件系统资源来实现基础业务数据和增强业务数据的转发功能,极大地增加了系统研发成本和开发周期。
术语说明:
多核处理器:由多个核组成,M核处理器指的是核的个数是M个,微处理器核依次是核“0”、核“1”...核“M-1”;
线程:一个核由多个线程组成,这里需强调的是本文所述的线程都是这种硬件线程,而非操作系统所指的软线程。对多核处理器来说,每个核的线程个数是相同的。一个多核处理器总的线程个数用N来表示,线程依次是线程0、线程1、...线程N-1;
L2~L4:网络分层,这里指的是IP网络的第二层~第四层。
Mpps:报文转发性能度量单位,指的是1秒内转发多少M(兆,10^6)个报文。
发明内容
本发明要解决的技术问题是提供一种在不增加成本的情况下能提升系统转发业务数据的处理能力和业务扩展能力的采用多核处理器的报文转发自适应系统和方法。
为了解决上述技术问题,本发明采用的技术方案为:
本发明的采用多核处理器的报文转发自适应系统,包括具有M个核的多核处理器,该系统包括控制管理子系统和数据转发子系统,其中,
1)控制管理子系统负责对处理速度要求不高但逻辑关系比较复杂的包含系统运行及通信状态管理维护、机箱状态管理维护、转发数据信息库管理在内的基础业务数据进行处理;该子系统运行在所述多核处理器中预设的一个核上的若干个硬件线程上,其由自适应控制单元、系统状态管理维护单元、转发业务表项管理单元组成;所述自适应控制单元分别通过自适应开关控制接口与系统状态管理维护单元相接,通过自适应业务配置接口与转发业务表项管理单元相接,通过自适应业务状态查询接口与所述的数据转发子系统相接,系统状态管理维护单元与外部用户相接;
自适应开关控制接口,将用户请求重新配置的相关信息送至系统状态管理维护单元;
自适应业务配置接口,当记载在转发业务表项管理单元中的某类业务总的使能状态发生改变时,会触发该接口向自适应控制单元发送一个业务切换请求信息;
自适应业务状态查询接口,将由数据转发子系统获取的与所述业务切换请求信息对应的当前业务的执行状态信息送至自适应控制单元,继而由自适应控制单元做出是否切换业务的决策并在需要切换业务时向数据转发子系统发出执行动作的指令;
2)数据转发子系统完成基础业务数据转发和增强业务数据转发;其运行在所述多核处理器中除所述控制管理子系统占用的核之外的其它核之上的硬件线程上,该子系统由自适应执行单元、基础业务数据转发单元和增强业务数据转发单元组成;增强业务数据转发单元运行在所述多核处理器中所述其它核的一个核之上,基础业务数据转发单元和自适应执行单元运行在所述多核处理器中所述其它核的其余核之上;
自适应执行单元,接收所述自适应控制单元发送的执行动作指令,并将其作用于增强业务数据转发单元实现对所述增强业务数据和基础业务数据的配置;
基础业务数据转发单元,对处于链路层、网络层和应用层中的各类报文进行数据转发并通过状态机灵活实现所述报文的流程处理点跳转与回溯;
增强业务数据转发单元,通过自适应执行单元完成对包含QoS、BFD、Netflow在内的增强业务数据的配置和对基础业务数据的配置。
所述控制管理子系统运行在所述多核处理器中的核“0”之上;所述数据转发子系统运行在所述多核处理器中的核“1”至核“M-1”上,其中,基础业务数据转发单元和自适应执行单元运行在多核处理器的核“1”至核“M-2”之上,增强业务数据转发单元运行在多核处理器的核“M-1”之上。
所述基础业务数据转发单元由报文收发模块、上行处理流程模块与下行处理流程模块构成,所述报文收发模块包括报文接收、队列管理及报文发送模组;所属上行处理流程模块包括报文分发、报文分类和路由表项查找、状态机模组;所述下行处理流程模块包括报文分类、分组修改模组。
所述增强业务数据转发单元包括QoS数据处理模块、BFD数据处理模块、Netflows数据处理模块和安全防护处理模块。
所述的QoS业务运行于至少两个线程之上;所述的BFD、Netflows和安全防护业务共享一个线程。
所述的控制管理子系统采用Linux操作系统。
所述自适应控制单元由业务识别分发模块、自适应业务状态探测模块、增强业务感知模块、增强业务切换决策模块、自适应消息产生器和自适应消息发送模块组成,其中,
业务识别分发模块,将自适应业务配置接口发出的所述的业务切换请求信息自动分类、分发给对应的所述增强业务感知模块;
自适应业务状态探测模块,通过所述的自适应业务状态查询接口在所述的数据转发子系统中,同步查询并获得与所述业务切换请求信息对应的当前业务的执行状态;
增强业务感知模块,针对所述的业务切换请求信息,结合自适应业务状态探测模块获得的执行状态综合判断后,产生某类业务需要使能或者去使能的切换指令,并将该切换指令发送给所述的增强业务切换决策模块;
增强业务切换决策模块,将获取的针对所有增强业务是否需要做自适应切换的配置信息,通过所述的自适应开关控制接口传送给所述的系统状态管理维护单元,然后根据增强业务感知模块产生的所述切换指令,针对所述的业务切换请求信息形成与之匹配的自适应切换决策信息并发送给所述的自适应消息产生器;
自适应消息产生器,根据所述的自适应切换决策信息的类型,产生对应的自适应消息发送给自适应消息发送器;
自适应消息发送模块,将所述的自适应消息传送至设置于数据转发子系统中的所述自适应执行单元。
本发明的采用多核处理器的报文转发自适应方法,包括采用具有M个核的多核处理器的操作系统,所述操作系统为本发明的所述的采用多核处理器的报文转发自适应系统,其包括以下步骤:
1)对所述的自适应系统的转发业务进行划分,将转发平面的微处理器划分为多个线程池,不同的线程池拥有各自并发线程来完成相应的业务;
2)将所述的自适应系统拆分为控制管理子系统、数据转发子系统,将一个固定的微处理器分配给控制管理子系统,其余分配给数据转发子系统;
3)根据业务复杂度、业务特性来设置所述的数据转发子系统线程池的并发线程个数;
4)业务和线程的自适应绑定通过控制管理子系统中的自适应控制单元和数据转发子系统中的自适应执行单元来协同完成:
5)控制管理子系统中的自适应控制单元由该控制管理子系统中的自适应业务配置接口接收用户有关业务配置的修改信息,同时,自适应控制单元通过该控制管理子系统的自适应业务状态查询接口从数据转发子系统中查询当前业务使能状态,之后,向所述的自适应执行单元发送自适应切换决策信息;
6)自适应执行单元结束当前业务以后修改业务状态,切换到新的业务流程。
本发明的方法中,所述数据转发子系统支持两种工作模式,其配置通过所述的自适应执行单元完成,两种工作模式分别为:
1)实现包括QoS-服务质量、BFD-双向转发检测技术、Netflow-用于统计网络流量信息的技术和安全防护业务在内的增强业务数据的处理流程;
2)实现包含处理能力要求不高但逻辑关系比较复杂的系统运行及通信状态管理维护、类似各类线卡、子卡、接口的机箱状态管理维护和转发数据信息库管理业务在内的基础业务数据的处理流程。
本发明的方法中,所述控制管理子系统运行在所述多核处理器中的核“0”之上;所述数据转发子系统运行在所述多核处理器中的核“1”至核“M-1”上;所述数据转发子系统由自适应执行单元、基础业务数据转发单元和增强业务数据转发单元组成,其中,基础业务数据转发单元和自适应执行单元运行在多核处理器的核“1”至核“M-2”之上,增强业务数据转发单元运行在多核处理器的核“M-1”之上。
与现有技术相比,本发明将多核处理器的数据转发系统分为控制管理子系统和数据转发子系统,数据转发子系统又分成自适应执行单元、基础业务数据转发单元和增强业务数据转发单元,然后再将其运行在设定的核处理器之上,通过控制管理子系统的自适应控制单元实现数据转发子系统的业务与线程的自适应绑定,通过该方法能灵活调配系统资源,灵活扩展业务范围和提升转发吞吐量业务数据的能力。
附图说明
图1为现有技术中串行模式的多核转发系统示意图。
图2为现有技术中并发模式的多核转发系统示意图。
图3为本发明的多核转发系统示意图。
图4为本发明的控制管理子系统示意图。
图5为本发明的数据转发子系统示意图。
图6为本发明的基础业务数据转发单元示意图。
图7为本发明的增强业务数据转发单元示意图。
图8为本发明的自适应控制单元接口示意图。
图9为本发明的自适应控制单元示意图。
图10为本发明一个实施例中实现转发系统自适应方法流程图。
图11为本发明一个实施例中自适应微处理器之间的通信机制图。
具体实施方式
一、本发明的采用多核处理器的报文转发自适应系统,包括具有M个核的多核处理器,该系统包括控制管理子系统和数据转发子系统,其中,
1、控制管理子系统运行在多核处理器中预设的一个核上的若干个硬件线程上(优选核“0”之上),其由自适应控制单元、系统状态管理维护单元、转发业务表项管理单元组成。
其中的自适应控制单元分别通过自适应开关控制接口与系统状态管理维护单元相接,通过自适应业务配置接口与转发业务表项管理单元相接,通过自适应业务状态查询接口与所述的数据转发子系统相接,系统状态管理维护单元与外部用户相接。
2、数据转发子系统运行在多核处理器中除所述控制管理子系统占用的核之外的其它核之上的硬件线程上(优选为核“1”至核“M-1”之上),其由自适应执行单元、基础业务数据转发单元和增强业务数据转发单元组成。
其中的增强业务数据转发单元运行在所述多核处理器中所述其它核的一个核之上(优选为核“M-1”之上),基础业务数据转发单元和自适应执行单元运行在多核处理器中所述其它核的其余核之上(优选为核“1”-核“M-2”之上)。
二、本发明的采用多核处理器的报文转发自适应方法的特点在于,包括:
1、根据转发系统业务的特性来划分数据转发平面的微处理器线程池,让不同的线程池各自拥有一定数量的并发线程来对应处理相应的转发业务;
2、通过自适应控制单元来判断当前系统的业务状态,向自适应执行单元下达是否完成自适应切换的命令;
3、自适应执行单元在业务复合的线程完成当前业务以后,修改业务状态,切换到新的业务流程。
4、转发系统的微处理器线程按照如下方式进行划分:
1)如前所述,将一个固定的多核微处理器中的一个核分配给控制管理子系统,其余核(核“1”~核“M-1”)分配给数据转发子系统。
2)需根据业务复杂度、业务特性来设置数据转发子系统线程池的并发线程个数:
a.基础报文(又称基础业务数据)转发业务是转发系统必备的功能,拥有的并发线程最多;
b.其他业务都归于增强业务(又称增强业务数据),是可选的。
c.缺省情况下将核“1”~核“M-2”分配用于处理基础报文转发业务;
d.将核“M-1”分配用于处理增强业务转发。
5、本部分为本发明的特点,通过控制管理子系统的自适应控制单元实现数据转发子系统业务和线程的自适应绑定:
自适应的控制单元能够接收用户配置,实现业务的灵活定制,并完成数据转发子系统的业务-线程绑定关系,其处理流程是:
1)接收用户配置命令,读取业务配置信息,识别系统需要进行哪些增强业务处理。
2)当增强业务功能使能状态发生改变的时候重新修改转发子系统的业务-线程绑定关系,并向对应的转发子系统微处理器线程通过同步机制发送消息通知其修改业务处理流程。
三、对本发明的报文转发自适应系统的进一步说明。
所述控制管理子系统:提供调配系统资源,实现自适应控制的功能。
所述数据转发子系统:完成基础业务数据转发和增强业务数据转发功能,能够根据自适应控制信息来做自适应切换。
自适应控制单元位于控制管理子系统上。
自适应执行单元位于数据转发子系统上。
数据转发子系统又可以分为基础业务数据转发单元和增强业务数据转发单元,通过本步骤的实施来保证这两种不同类型业务的高效和灵活性,技术方案是:
基础业务数据转发单元实现L2~L4(链路层、网络层、应用层)等各类报文的数据转发功能,采取流水线设计思想并根据分布式报文转发数据处理流程进一步细化功能组件,每个功能组件都对应一个流水线处理的阶段,各个阶段的转换通过状态机来进行转换。
根据微处理器的划分,增强业务数据转发单元运行于核“M-1”的一组线程上,缺省条件下每个线程都负责各自不同的增强业务,保证了业务的串行化处理无需加锁,报文不会出现乱序。
每个增强业务线程都具备基础业务数据转发处理能力,能够通过内部通信机制来接收自适应控制单元下发的消息,当不存在相应的增强业务时,可以切换到基础数据转发处理流程里。
综上,本发明综合考虑了转发系统的不同业务特性,通过对业务分类,并根据系统业务配置情况自动调整线程的分配,实现了基于多核处理器架构的转发系统的自适应方法,具有以下有益效果:
能够根据业务复杂度来灵活修改处理器线程和业务的绑定关系,调整系统资源;避免了未使能增强业务的情况下导致的系统资源浪费,将这部分资源(微处理器)利用起来,提高基础转发性能;无需增加硬件投入,就能够提升系统的报文转发吞吐量,效果明显。
采用本发明实施例提供的自适应方法的系统,能够灵活地调整增强业务微处理器核的业务逻辑,当系统只提供基础转发业务功能时,相当于增加了一个微处理器核来处理基础转发业务,能够理论预测报文吞吐量的提升比例
四、以下结合附图进一步描述本发明技术方案是如何实施的。
如图3所示,本发明的采用多核处理器的报文转发自适应系统分为控制管理子系统和数据转发子系统,二者之间通过共享内存、以及微处理器之间的消息通道来完成数据信息通信。
如图4所示,控制管理子系统负责性能要求不高但逻辑比较复杂的处理,完成一些管理功能,包括:系统状态管理与维护、表项管理等,自适应控制单元也设置于该子系统上。控制管理子系统运行于多核处理器的核“0”的一组线程上。控制管理子系统软件采取基于Linux系统进行开发的方式,在用户态下实现和平台无关的上层软件开发,有利于软件移植和扩展。当系统运行起来时,其中的自适应控制单元运行于核“0”的某个线程上。
该子系统中的自适应控制单元,接收业务配置修改信息,查询当前业务运行状态并向自适应执行单元发送消息;
该子系统中的系统状态管理维护单元,实现转发设备系统启动加载,确保系统正常运行,提供自适应切换功能总开关控制功能;
该子系统中的转发业务表项管理单元,包括各类业务(基础业务、增强业务)功能的转发表项信息管理,通过该单元能够获悉各类业务功能配置情况。
如图5所示,数据转发子系统包括基础业务数据转发单元和增强业务数据转发单元,将多核处理器的核“1”~核“M-1”分配给该系统。增强业务数据转发单元运行于核“M-1”上,能够接收来自于控制管理子系统的自适应控制单元下发的自适应切换消息,并自动切换到基础业务处理流程。
本部分为本发明的特点,如图6所示,基础业务数据转发单元采取了基于流水线和状态机的设计思想,将转发流程划分为上行处理流程和下行处理流程。上行处理流程的功能模块包括:报文接收、报文分发、报文分类和路由查找组件。下行处理流程的功能模块包括:分组修改、队列管理、报文发送组件。
这样划分基础业务数据转发单元的功能组件的好处有:
1、遵循了分布式转发系统处理流程特点,从体系结构上就保证了收、发这两个方向的负载均衡;
2、将容易发生跳转和回溯的处理点都放到上行流程,并集中式在同一个线程上进行表项查找,避免了上下文切换带来的性能损失;
3、将处理性能要求最高的队列管理放到下行流程,便于提示系统整体性能。
基础业务数据转发单元实现了二层、三层、四层的各类报文的转发,通过状态机机制灵活地实现了各类报文的流程处理点跳转和回溯,方便扩展新的业务。
如图7所示,本实施案例的增强业务数据转发单元包括了QoS(即服务质量)、BFD(一种双向转发检测技术)、Netflows(一种用于统计网络流量信息的技术)和安全防护功能,考虑到QoS业务对性能要求,分配多个线程给QoS业务,BFD、Netflows和安全防护功能对性能要求不高,可共享一个线程。
运行增强业务数据转发单元的核“M-1”拥有自适应执行单元来完成业务流程的自动切换。
本部分为本发明的特点,如图8所示,自适应控制单元位于转发系统控制管理平面,对外的接口包括自适应功能开关控制接口、自适应业务配置接口、自适应业务状态查询接口。其中:
自适应功能开关控制接口位于自适应控制单元和系统状态管理维护单元之间。当用户配置打开自适应功能开关,则相关信息会通过转发控制管理平面的公共传输层到达系统状态维护管理单元。
自适应业务配置接口位于自适应控制单元和转发业务表项管理单元之间。当用户修改任何一个业务的配置,都会在转发业务表项管理单元形成对应的业务转发表项,转发业务管理表项单元会将每类业务的转发表项信息进行汇总,形成一个每类业务总的使能状态。当某类业务的总的使能状态发生改变,会触发自适应业务配置接口向自适应控制单元产生一个业务切换的请求信息。
自适应业务查询状态接口位于自适应控制单元和转发数据平面的自适应执行单元之间。当业务切换请求信息到达自适应控制单元,自适应控制单元会通过自适应业务查询状态接口获得当前业务的执行状态,然后进行是否切换业务的决策,并触发后续自适应执行单元的执行动作。
自适应控制单元面向用户的接口只有一个,即自适应功能开关控制接口,其余接口都是面向系统内部,这样在实际使用过程中,用户只需关注是否启用某类业务的自适应,业务本身的配置操作和其他通用路由器是完全一致的,也就是说自适应对用户是完全透明的。
本部分为本发明的特点,如图9所示,自适应控制单元自身由业务识别分发单元、自适应业务状态探测模块、各类增强业务感知模块、各类增强业务切换决策模块、自适应消息产生器以及自适应消息发送模块组成。其中:
业务识别分发模块用于处理从自适应业务配置接口获得的信息,一旦接收到业务配置修改,就自动完成业务分类分发工作,将信息分配给对应的增强业务感知模块;
自适应业务状态探测模块用于同步查询获得当前业务的执行状态;
增强业务感知模块综合来自业务识别分发模块和自适应状态探测模块的信息,产生哪一类业务是否需要发生使能/去使能切换的信息,并将该信息发送给增强业务切换决策模块。
增强业务切换决策模块直接通过自适应功能开关控制接口获取所有业务的自适应开关配置信息,然后根据增强业务感知模块产生的某类业务完成何种切换信息,形成该类业务的自适应切换决策信息,发送给自适应消息产生器。
自适应消息产生器根据切换决策信息类型产生对应的自适应消息,并通过自适应消息发送模块送达自适应执行单元。
本部分为本发明的特点,如图10所示,转发系统业务自适应的过程如下:
1、自适应控制单元接收到用户的业务配置信息;
一个实例:用户所在网络没有BFD业务需求,通过CLI(命令行接口)配置一个去使能BFD业务的命令,该命令对应一个配置消息(BFD disable command message),将通过转发系统设备的物理配置接口(以太网络接口)并经过设备公共传输服务层的处理到达自适应控制单元。
2、自适应控制单元同步查询获得当前增强业务的使能状态;
这一过程会分别获取业务自适应允许控制状态和业务运行状态:
对应过程1,自适应控制单元向系统状态管理及维护单元请求,并同步等待以获得BFD业务自适应允许控制状态,缺省配置下,是允许控制;
对应过程1,自适应控制单元通过通信层读取共享内存,获得转发数据子系统里BFD业务对应增强业务单元的BFD业务运行状态,在缺省配置下系统启动了BFD业务,是运行状态。
3、自适应控制单元根据以上2步的信息进行决策,即先判断这一类业务是否允许自适应控制,然后判断是否需要向自适应执行单元发送业务修改的消息,和发送什么类型的消息。
对应上述实例,过程1用户发送了BFD业务的去使能配置消息,在过程2获得当前BFD业务允许自适应控制且处于运行状态,,则在过程3里自适应控制单元需要向实施BFD业务的增强业务线程的自适应执行单元发送BFD业务关闭消息。
4、自适应执行单元接收自适应切换消息,解析消息,识别出消息里所包含的增强业务单元当前工作模式、新的工作模式。
对应上述实例,当前工作模式是增强业务模式,新的工作模式是普通业务模式。
5、自适应执行单元需要针对当前工作模式做一些资源释放处理,回收当前工作模式下特有的系统资源,并针对新的工作模式做一些资源预分配工作。
对应上述实例,当前工作模式是增强业务,且业务类型是BFD,为支持BFD增强业务,系统向该线程提供了高精度硬件定时器、BFD报文缓存等一系列特有的资源(这些资源在普通业务模式下是不需要的)。
在该过程中,BFD线程自适应执行单元会逐步回收这些资源,然后再进行新的普通业务转发模式的资源预分配工作,例如分配普通转发业务所需的报文缓存资源。
6、自适应执行单元设置业务切换完成标志,并更新增强业务单元新的工作模式和运行状态。
对应上述实例,BFD线程自适应执行单元写共享内存,设置BFD业务切换完成标志位,设置BFD线程当前工作模式是普通业务模式,BFD业务运行状态是关闭。
7、增强业务单元切换到新的业务处理流程,完成相应的业务处理。
对应上述实例,BFD线程完成普通业务转发处理。
本部分为本发明的特点,如图11所示,转发系统业务自适应内部通信机制分2部分:
第一部分,自适应控制消息同步:
考虑到增强业务仍处于处理状态,为了可靠接收处理自适应切换的消息,采用自适应切换消息队列来缓存自适应控制消息。自适应控制单元将切换的控制消息写入到消息队列,通知自适应执行单元进行切换。
自适应控制单元和每个增强业务线程上的自适应执行单元构成了一个单生产者-单消费者模型,采取环形缓冲区(RING-BUFFER)的同步通信机制,也就是说自适应切换消息队列做成一个环形队列,自适应控制单元作为生产者,只修改写指针,而自适应执行单元作为消费者,只修改读指针。采取这种通信机制可以保证内部通信无锁。
第二部分,自适应增强业务信息同步:
通过共享内存来实现,每个自适应执行单元更新自身线程和业务状态的对应关系,自适应控制单元读取共享内存的相应信息。
采用本发明实施例提供的自适应方法的系统,能够灵活地调整增强业务微处理器核的业务逻辑,当系统只提供基础转发业务功能时,相当于增加了一个微处理器核来处理基础转发业务,能够理论预测报文吞吐量的提升比例。实测数据基本符合预测值:
表中的“预测提升比例”是指:以8个核为例,当增强业务单元的微处理器核通过自适应切换也做基础转发业务处理时,用于基础转发业务的核总数就从6个增加到7个,相比没有做自适应切换的时候,用于基础转发业务的核总数6个,故预测报文吞吐量提升比例为:(7-6)核:6核=16.7%;
表中的“实测提升比例”是指:根据报文吞吐量实际测试结果来计算。以8个核为例,当增强业务单元通过自适应切换也做基础转发业务处理,则报文吞吐量为8.3Mpps(单位Mpps表示1秒内转发报文个数=1兆=1024*1024),相比没有做自适应切换的时候,报文吞吐量是7.3Mpps,故实际测试提升比例是(8.3-7.3)Mpps:7.3Mpps=14%。
以上公开的仅为本发明的具体实施例,本发明并非局限于此,任何本领域技术人员根据本发明公开的技术方法思想所作出的任何不脱离本发明实质的其他任何变形和组合都在本发明的保护范围之内。

Claims (10)

1.一种采用多核处理器的报文转发自适应系统,包括具有M个核的多核处理器,其特征在于:该系统包括控制管理子系统和数据转发子系统,其中,
1)控制管理子系统负责对处理速度要求不高但逻辑关系比较复杂的包含系统运行及通信状态管理维护、机箱状态管理维护、转发数据信息库管理在内的基础业务数据进行处理;该子系统运行在所述多核处理器中预设的一个核上的若干个硬件线程上,其由自适应控制单元、系统状态管理维护单元、转发业务表项管理单元组成;所述自适应控制单元分别通过自适应开关控制接口与系统状态管理维护单元相接,通过自适应业务配置接口与转发业务表项管理单元相接,通过自适应业务状态查询接口与所述的数据转发子系统相接,系统状态管理维护单元与外部用户相接;
自适应开关控制接口,将用户请求重新配置的相关信息送至系统状态管理维护单元;
自适应业务配置接口,当记载在转发业务表项管理单元中的某类业务总的使能状态发生改变时,会触发该接口向自适应控制单元发送一个业务切换请求信息;
自适应业务状态查询接口,将由数据转发子系统获取的与所述业务切换请求信息对应的当前业务的执行状态信息送至自适应控制单元,继而由自适应控制单元做出是否切换业务的决策并在需要切换业务时向数据转发子系统发出执行动作的指令;
2)数据转发子系统完成基础业务数据转发和增强业务数据转发;其运行在所述多核处理器中除所述控制管理子系统占用的核之外的其它核之上的硬件线程上,该子系统由自适应执行单元、基础业务数据转发单元和增强业务数据转发单元组成;增强业务数据转发单元运行在所述多核处理器中所述其它核的一个核之上,基础业务数据转发单元和自适应执行单元运行在所述多核处理器中所述其它核的其余核之上;
自适应执行单元,接收所述自适应控制单元发送的执行动作指令,并将其作用于增强业务数据转发单元实现对所述增强业务数据和基础业务数据的配置;
基础业务数据转发单元,对处于链路层、网络层和应用层中的各类报文进行数据转发并通过状态机灵活实现所述报文的流程处理点跳转与回溯;
增强业务数据转发单元,通过自适应执行单元完成对包含QoS、BFD、Netflow在内的增强业务数据的配置和对基础业务数据的配置。
2.根据权利要求1所述的采用多核处理器的报文转发自适应系统,其特征在于:所述控制管理子系统运行在所述多核处理器中的核“0”之上;所述数据转发子系统运行在所述多核处理器中的核“1”至核“M-1”上,其中,基础业务数据转发单元和自适应执行单元运行在多核处理器的核“1”至核“M-2”之上,增强业务数据转发单元运行在多核处理器的核“M-1”之上。
3.根据权利要求2所述的采用多核处理器的报文转发自适应系统,其特征在于:所述基础业务数据转发单元由报文收发模块、上行处理流程模块与下行处理流程模块构成,所述报文收发模块包括报文接收、队列管理及报文发送模组;所属上行处理流程模块包括报文分发、报文分类和路由表项查找、状态机模组;所述下行处理流程模块包括报文分类、分组修改模组。
4.根据权利要求2所述的采用多核处理器的报文转发自适应系统,其特征在于:所述增强业务数据转发单元包括QoS数据处理模块、BFD数据处理模块、Netflows数据处理模块和安全防护处理模块。
5.根据权利要求2所述的采用多核处理器的报文转发自适应系统,其特征在于:所述的QoS业务运行于至少两个线程之上;所述的BFD、Netflows和安全防护业务共享一个线程。
6.根据权利要求1所述的采用多核处理器的报文转发自适应系统,其特征在于:所述的控制管理子系统采用Linux操作系统。
7.根据权利要求1所述的采用多核处理器的报文转发自适应系统,其特征在于:所述自适应控制单元由业务识别分发模块、自适应业务状态探测模块、增强业务感知模块、增强业务切换决策模块、自适应消息产生器和自适应消息发送模块组成,其中,
业务识别分发模块,将自适应业务配置接口发出的所述的业务切换请求信息自动分类、分发给对应的所述增强业务感知模块;
自适应业务状态探测模块,通过所述的自适应业务状态查询接口在所述的数据转发子系统中,同步查询并获得与所述业务切换请求信息对应的当前业务的执行状态;
增强业务感知模块,针对所述的业务切换请求信息,结合自适应业务状态探测模块获得的执行状态综合判断后,产生某类业务需要使能或者去使能的切换指令,并将该切换指令发送给所述的增强业务切换决策模块;
增强业务切换决策模块,将获取的针对所有增强业务是否需要做自适应切换的配置信息,通过所述的自适应开关控制接口传送给所述的系统状态管理维护单元,然后根据增强业务感知模块产生的所述切换指令,针对所述的业务切换请求信息形成与之匹配的自适应切换决策信息并发送给所述的自适应消息产生器;
自适应消息产生器,根据所述的自适应切换决策信息的类型,产生对应的自适应消息发送给自适应消息发送器;
自适应消息发送模块,将所述的自适应消息传送至设置于数据转发子系统中的所述自适应执行单元。
8.一种采用多核处理器的报文转发自适应方法,包括采用具有M个核的多核处理器的操作系统,其特征在于:所述操作系统为权利要求1-7中任一项所述的采用多核处理器的报文转发自适应系统,其包括以下步骤:
1)对所述的自适应系统的转发业务进行划分,将转发平面的微处理器划分为多个线程池,不同的线程池拥有各自并发线程来完成相应的业务;
2)将所述的自适应系统拆分为控制管理子系统、数据转发子系统,将一个固定的微处理器分配给控制管理子系统,其余分配给数据转发子系统;
3)根据业务复杂度、业务特性来设置所述的数据转发子系统线程池的并发线程个数;
4)业务和线程的自适应绑定通过控制管理子系统中的自适应控制单元和数据转发子系统中的自适应执行单元来协同完成:
5)控制管理子系统中的自适应控制单元由该控制管理子系统中的自适应业务配置接口接收用户有关业务配置的修改信息,同时,自适应控制单元通过该控制管理子系统的自适应业务状态查询接口从数据转发子系统中查询当前业务使能状态,之后,向所述的自适应执行单元发送自适应切换决策信息;
6)自适应执行单元结束当前业务以后修改业务状态,切换到新的业务流程。
9.根据权利要求8所述的方法,其特征在于:所述数据转发子系统支持两种工作模式,其配置通过所述的自适应执行单元完成,两种工作模式分别为:
1)实现包括QoS-服务质量、BFD-双向转发检测技术、Netflow-用于统计网络流量信息的技术和安全防护业务在内的增强业务数据的处理流程;
2)实现包含处理能力要求不高但逻辑关系比较复杂的系统运行及通信状态管理维护、类似各类线卡、子卡、接口的机箱状态管理维护和转发数据信息库管理业务在内的基础业务数据的处理流程。
10.根据权利要求8所述的方法,其特征在于:所述控制管理子系统运行在所述多核处理器中的核“0”之上;所述数据转发子系统运行在所述多核处理器中的核“1”至核“M-1”上;所述数据转发子系统由自适应执行单元、基础业务数据转发单元和增强业务数据转发单元组成,其中,基础业务数据转发单元和自适应执行单元运行在多核处理器的核“1”至核“M-2”之上,增强业务数据转发单元运行在多核处理器的核“M-1”之上。
CN201610268950.1A 2016-04-27 2016-04-27 采用多核处理器的报文转发自适应系统和方法 Active CN105812276B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610268950.1A CN105812276B (zh) 2016-04-27 2016-04-27 采用多核处理器的报文转发自适应系统和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610268950.1A CN105812276B (zh) 2016-04-27 2016-04-27 采用多核处理器的报文转发自适应系统和方法

Publications (2)

Publication Number Publication Date
CN105812276A CN105812276A (zh) 2016-07-27
CN105812276B true CN105812276B (zh) 2023-11-10

Family

ID=56458652

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610268950.1A Active CN105812276B (zh) 2016-04-27 2016-04-27 采用多核处理器的报文转发自适应系统和方法

Country Status (1)

Country Link
CN (1) CN105812276B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106789447B (zh) * 2017-02-20 2019-11-26 成都欧飞凌通讯技术有限公司 一种多核中实现超有限自动机图变更时不丢包的方法
US10642650B2 (en) * 2017-12-13 2020-05-05 Juniper Networks, Inc. Multi-threaded route processing
CN111026543B (zh) * 2019-10-31 2023-06-16 北京浪潮数据技术有限公司 一种存储系统转发数据的方法、装置、设备及介质
CN111131046B (zh) * 2019-12-16 2022-02-08 东软集团股份有限公司 报文转发方法和多核系统
CN111107536B (zh) * 2019-12-30 2022-07-26 联想(北京)有限公司 一种用户面功能的转发方法、装置、系统和存储介质
US11502946B2 (en) 2020-03-10 2022-11-15 Juniper Networks, Inc. Distributed label assignment for labeled routing protocol routes
US11356369B1 (en) 2020-03-31 2022-06-07 Juniper Networks, Inc. Border gateway protocol update packing for a distributed routing information base
US11561823B1 (en) 2020-05-12 2023-01-24 Juniper Networks, Inc. Lockless management of immutable objects by multi-threaded processes using multiple counters
CN111865713B (zh) * 2020-06-23 2022-02-08 东软集团股份有限公司 吞吐测试方法、装置、存储介质和电子设备
US11762710B2 (en) 2020-06-23 2023-09-19 Juniper Networks, Inc. Multithreaded route processing for routing information display
CN113453251A (zh) * 2021-05-25 2021-09-28 新华三技术有限公司成都分公司 一种无线网络设备和组网方法
CN113885461B (zh) * 2021-10-22 2024-03-01 北京和利时系统工程有限公司 一种串并转换模块、设备、方法、装置和工业控制系统
CN114006873B (zh) * 2021-10-29 2023-12-15 深圳市风云实业有限公司 一种基于多核处理器的流量调度方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101197782A (zh) * 2007-12-26 2008-06-11 中兴通讯股份有限公司 一种基于多核处理器的网络设备的控制方法及系统
CN101442513A (zh) * 2007-11-20 2009-05-27 杭州华三通信技术有限公司 实现多种业务处理功能的方法和多核处理器设备
CN101442442A (zh) * 2008-12-17 2009-05-27 华为技术有限公司 管理装置、控制装置、管理控制装置及路由器系统
WO2009065313A1 (fr) * 2007-11-20 2009-05-28 Hangzhou H3C Technologies Co., Ltd. Procédé et équipement à processeur multicœurs pour la mise en œuvre de plusieurs fonctions de traitement de services
CN102137005A (zh) * 2010-12-31 2011-07-27 华为技术有限公司 一种通信系统中的数据转发方法、装置和系统
CN102609307A (zh) * 2012-03-07 2012-07-25 汉柏科技有限公司 多核多线程双操作系统网络设备及其控制方法
US8336056B1 (en) * 2009-12-22 2012-12-18 Gadir Omar M A Multi-threaded system for data management
CN103346980A (zh) * 2013-07-02 2013-10-09 华为技术有限公司 一种业务调度方法、装置及网络设备
CN103380640A (zh) * 2010-12-22 2013-10-30 思科技术公司 通信系统中的自适应智能路由

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8020163B2 (en) * 2003-06-02 2011-09-13 Interuniversitair Microelektronica Centrum (Imec) Heterogeneous multiprocessor network on chip devices, methods and operating systems for control thereof
US8576864B2 (en) * 2011-01-21 2013-11-05 International Business Machines Corporation Host ethernet adapter for handling both endpoint and network node communications

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101442513A (zh) * 2007-11-20 2009-05-27 杭州华三通信技术有限公司 实现多种业务处理功能的方法和多核处理器设备
WO2009065313A1 (fr) * 2007-11-20 2009-05-28 Hangzhou H3C Technologies Co., Ltd. Procédé et équipement à processeur multicœurs pour la mise en œuvre de plusieurs fonctions de traitement de services
CN101197782A (zh) * 2007-12-26 2008-06-11 中兴通讯股份有限公司 一种基于多核处理器的网络设备的控制方法及系统
CN101442442A (zh) * 2008-12-17 2009-05-27 华为技术有限公司 管理装置、控制装置、管理控制装置及路由器系统
US8336056B1 (en) * 2009-12-22 2012-12-18 Gadir Omar M A Multi-threaded system for data management
CN103380640A (zh) * 2010-12-22 2013-10-30 思科技术公司 通信系统中的自适应智能路由
CN102137005A (zh) * 2010-12-31 2011-07-27 华为技术有限公司 一种通信系统中的数据转发方法、装置和系统
CN102609307A (zh) * 2012-03-07 2012-07-25 汉柏科技有限公司 多核多线程双操作系统网络设备及其控制方法
CN103346980A (zh) * 2013-07-02 2013-10-09 华为技术有限公司 一种业务调度方法、装置及网络设备

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
A Design of Versatile Image Processing Platform Based on the Dual Multi-core DSP and FPGA;Zhenhuan Zhan 等;《2012 Fifth International Symposium on Computational Intelligence and Design》;全文 *
An Architecture for Describing;D. Harrington;Internet Management Frameworks;全文 *
S1-060012.3GPP tsg_sa\WG1_Serv.2006,(TSGS1_31-Denver),全文. *
基于多核多线程处理器的网络设备设计与实现;张振华;白中英;陈卉;;电子设计工程(12);全文 *
自适应的未来网络体系架构;林闯;贾子骁;孟坤;;计算机学报(06);全文 *

Also Published As

Publication number Publication date
CN105812276A (zh) 2016-07-27

Similar Documents

Publication Publication Date Title
CN105812276B (zh) 采用多核处理器的报文转发自适应系统和方法
US11036556B1 (en) Concurrent program execution optimization
US10678584B2 (en) FPGA-based method for network function accelerating and system thereof
CN108363615B (zh) 用于可重构处理系统的任务分配方法和系统
US10445850B2 (en) Technologies for offloading network packet processing to a GPU
US10572290B2 (en) Method and apparatus for allocating a physical resource to a virtual machine
US8997109B2 (en) Apparatus and method for managing data stream distributed parallel processing service
US20110145461A1 (en) Method and device for balancing interrupt load of multicore processor
CN105511954A (zh) 一种报文处理方法及装置
CN105900063A (zh) 多处理环境中的调度方法和装置
US11838384B2 (en) Intelligent scheduling apparatus and method
CN102594891A (zh) 用于处理远程过程调用请求的方法及系统
EP3295629B1 (en) Query plan and operation-aware communication buffer management
JP2017505578A (ja) ソフトウェア・デファインド・プロトコル・ネットワークノードのためのシステムおよび方法
US20160308696A1 (en) Packet relay device, and copy function distribution method of packet relay device
CN114363269A (zh) 一种消息传输方法、系统、设备以及介质
CN112380001A (zh) 日志输出方法、负载均衡设备及计算机可读存储介质
Szymanski Low latency energy efficient communications in global-scale cloud computing systems
CN112804166A (zh) 一种报文收发方法、装置及存储介质
US20230319642A1 (en) Methods and Apparatus for Application Processing in Modems
Suto et al. Context-aware task allocation for fast parallel big data processing in optical-wireless networks
Ji et al. Research on Virtualization Technology of Power Information Network Security Access
CN104104593A (zh) 一种基于多节点网络报文传输的请求响应管理机制
Riedl et al. Optimal Service Provisioning Schemes for Multi-Layer Fog Networks
CN116647520A (zh) 一种网络功能虚拟化场景下面向时延敏感性业务的网络转发系统和方法

Legal Events

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