基于多核CPU的数据平面和控制平面部署系统及方法技术方案

技术编号:7502942 阅读:231 留言:0更新日期:2012-07-11 02:58
本发明专利技术公开了一种基于多核CPU的数据平面和控制平面部署系统及方法,涉及网络通信领域。所述系统包括:运行在多核CPU上的数据平面和控制平面,并且多核CPU的每个核分别对应一个所述数据平面和一个所述控制平面。本发明专利技术所述基于多核CPU的数据平面和控制平面部署系统及方法,主要用于网络通信产品,通过对多核CPU的每个核对应设置一个数据平面和控制平面,克服了控制平面部署在单个核上而造成的系统性能瓶颈问题,尤其在控制平面的业务满载运行时,有利于提高控制平面业务整体性能,并且有利于提高数据平面的业务稳定性。

【技术实现步骤摘要】

本专利技术涉及网络通信
,特别涉及一种基于多核CPU的数据平面和控制平面部署系统及方法
技术介绍
随着多核时代到来,网络通信产品也都步入了对多核硬件的支持。网络通信产品的业务处理特点是,其80%的时间处理报文转发类业务,20%的时间处理系统管理或控制类的业务。所以,网络通信产品会将业务划分为数据平面(Data Plane)和控制平面(Control Plane),其中数据平面主要负责报文转发类业务的处理,如路由转发,报文访问控制,地址转换等,而控制平面负责系统控制或应用类的业务,如HTTP (Hyper Text Transfer Protocol,超文本传输协议)网页访问管理,动态路由协议0SPF(0pen Shortest Path First,开放式最短路径优先)等。同时,网络通信业务主要以报文转发业务为主。因此,在多核平台的部署下,传统方案为了获得更高的性能,尽可能的将数据平面并行化,而将控制平面部署为单核形式。图 1为现有技术常见的部署系统结构图。如图1所示,当硬件CPU具有N个核时,数据平面一般采用单线程或进程方式与CPU的某个核强行绑定运行,并且数据平面总共使用N-I个核; 而控制平面仅使用1个核,并且采用多线程或进程调度的形式满足管理类和应用服务类的业务需求。现有技术主要缺点为控制平面部署在单个CPU核上,控制平面的性能取决于单个核的性能,而控制平面的业务随着功能增加会线性增加,当控制平面的业务满载运行,会造成控制平面业务整体性能低下,进而造成数据平面的业务稳定性不够,并影响数据平面的性能。比如IPSEC(—种开放标准的框架结构)VPN(Virtual Private Network,虚拟专用网络)的IKE(互联网密钥交换协议)协商必须部署在控制平面,而用于完成报文加解密的 IPSEC隧道必须部署在数据平面内,以保证加解密报文转发性能。这样,当系统运行大量的 IPSEC隧道,并且隧道集中超时重协商密钥时,控制平面因运行较多业务,会造成IKE业务运行不及时,并造成协商报文丢失,进而造成数据平面的IPSEC隧道震荡。
技术实现思路
(一)要解决的技术问题本专利技术要解决的技术问题是如何提供一种基于多核CPU的数据平面和控制平面部署系统及方法,以克服控制平面部署在单个CPU核上而造成的系统性能瓶颈问题。( 二 )技术方案为解决上述技术问题,本专利技术提供一种基于多核CPU的数据平面和控制平面部署系统,其包括运行在多核CPU上的数据平面和控制平面,并且多核CPU的每个核分别对应一个所述数据平面和一个所述控制平面。优选地,所述数据平面和控制平面采用上下文切换方式共享所述多核CPU的相应的核。优选地,所述部署系统还包括运行在所述多核CPU上的多核操作系统;所述数据平面通过所述多核操作系统的单线程与所述多核CPU的相应的核绑定。优选地,所述多核操作系统的线程调度池被分成与多核CPU的核数相等同的数量个子线程调度池;每个所述控制平面对应一个所述子线程调度池,并且所述子线程调度池内的线程仅能够在所述控制平面对应的核上运行。本专利技术还提供一种基于多核CPU的数据平面和控制平面部署方法,其包括步骤A 部署与多核CPU的核数相等同的数量个数据平面和控制平面;B 为所述多核CPU的每个核分配一个相应的数据平面和控制平面,并且所述数据平面和控制平面采用上下文切换方式共享所述多核CPU的相应的核;C 将多核操作系统的线程调度池分成与所述多核CPU的核数相等同的数量个子线程调度池;D 为每个控制平面分配一个所述子线程调度池,并且所述子线程调度池内的线程仅能够在所述控制平面对应的核上运行;E 令所述数据平面通过所述多核操作系统的单线程与所述多核CPU的相应的核绑定。优选地,所述多核操作系统采用Linux操作系统。优选地,所述方法为用于网络通信产品的基于多核CPU的数据平面和控制平面部署方法(三)有益效果本专利技术所述基于多核CPU的数据平面和控制平面部署系统及方法,主要用于网络通信产品,通过对多核CPU的每个核对应设置一个数据平面和控制平面,克服了控制平面部署在单个核上而造成的系统性能瓶颈问题,尤其在控制平面的业务满载运行时,有利于提高控制平面业务整体性能,并且有利于提高数据平面的业务稳定性。附图说明图1为现有技术常见的部署系统结构图;图2是本专利技术实施例所述基于多核CPU的数据平面和控制平面部署系统结构图;图3是本专利技术实施例所述基于多核CPU的数据平面和控制平面部署方法流程图。具体实施例方式下面结合附图和实施例,对本专利技术的具体实施方式作进一步详细描述。以下实施例用于说明本专利技术,但不用来限制本专利技术的范围。图2是本专利技术实施例所述基于多核CPU的数据平面和控制平面部署系统结构图。 如图2所示,所述部署系统包括多核CPU 100,运行在所述多核CPU 100之上的多核操作系统200、数据平面300和控制平面400。所述多核操作系统可以采用Linux操作系统。在所述部署系统中,所述多核CPU 100的核101的数量与所述数据平面300和控制平面400的数量等同,并且,每个核101分别对应一个所述数据平面300和一个所述控制平面400。所述数据平面300和控制平面400采用上下文切换方式共享相应的核101。所述数据平面300通过所述多核操作系统200的单线程301与相应的核101绑定。所述多核操作系统200的线程调度池被分成与所述多核CPU 100的核数相等同的数量个子线程调度池401。每个所述控制平面400对应一个所述子线程调度池401,并且所述子线程调度池401内的线程仅能够在所述控制平面400对应的核101上运行。这样保证了同一个子线程调度池401内的线程任务串行化执行,而不同的子线程调度池401内的线程并行化执行。基于上述设计,为了提高控制平面400的业务性能,可以将整体业务分成与子线程调度池401的数量相同的份数,分别部署到不同控制平面400对应的子线程调度池 401中,以同时享用多个核101的资源;为了提高某个业务的处理速度,可以将此业务多实例化多份,分别部署到不同的子线程调度池401内来并行处理。图3是本专利技术实施例所述基于多核CPU的数据平面和控制平面部署方法流程图。 如图3所示,所述方法包括步骤A 部署与多核CPU 100的核数相等同的数量个数据平面300和控制平面 400。步骤B 为多核CPU 100的每个核101分配一个相应的数据平面300和控制平面 400,并且所述数据平面300和控制平面400采用上下文切换方式共享所述多核CPU 100的相应的核101。步骤C 将多核操作系统200的线程调度池分成与多核CPU 100的核数相等同的数量个子线程调度池401。步骤D 为每个控制平面400分配一个所述子线程调度池401,并且所述子线程调度池401内的线程仅能够在所述控制平面400对应的核101上运行。步骤E 令所述数据平面301通过所述多核操作系统200的单线程301与所述多核CPU 100的相应的核101绑定。本专利技术实施例所述基于多核CPU的数据平面和控制平面部署系统及方法,主要用于网络通信产品,通过对多核CPU的每个核对应设置一个数据平面和控制平面,克服了控制平面部署在单个核上而造成的系统性能瓶颈问题,尤其本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:陈天航
申请(专利权)人:汉柏科技有限公司
类型:发明
国别省市:

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

1
相关领域技术