• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 新华三人才研学中心
  • 关于我们
docurl=/cn/Products___Technology/Products/Router/Home/Technology_Doc/200906/663299_30003_0.htm

多核处理器开创多业务路由器发展新天地

【发布时间:2009-06-15】

有别于面向报文转发和控制的传统路由器,新一代多业务路由器更强调面向应用,强调多样化的应用保障,强调并发与高性能的业务支持,强调快速适应新业务的能力。多核处理器技术天然契合多业务融合时代的需求,开辟了路由器产品技术发展的全新天地,如何充分发挥多核技术对多业务应用的价值,是路由器软硬件平台技术研究和发展的新课题。

/李晶林 王海东

多业务路由器的必备特性

 

随着多业务承载与应用融合趋势的进一步加速,新一代面向多业务融合应用的路由器技术平台发展正面临着以下挑战:

首先是全业务应用性能。传统路由器有一个突出的特点,就是转发性能很高,但是一旦同时启动多种业务特性时,性能会大幅下降,在某些情况下甚至下降到原来的10%。在多种业务并存情况下,如果一种业务需要处理的特性多、处理时间长,将不可避免影响并存的其他业务的质量,这种情况是不可接受的,新一代路由器必然要求具备全业务的线速性能。

其次是并发多业务应用支持能力。在当前数据大集中、网络扁平化和B/S应用普及的情况下,网络流量呈大量并发连接快速生成和终止的现象,例如打开新浪首页(http://www.sina.com.cn),就将同时触发几十条TCP连接的生成和终止。是否能对这些彼此逻辑分离的并发流量进行快速并发处理,是新一代多业务路由对用户应用适应能力的关键。

第三是应用识别与控制能力。为了确保企业网络关键资源为关键应用服务,流量可视性必不可少。精确而广泛的应用识别能力,可以让管理员通过应用优化和加速技术来配置网络应用性能,实现流量控制和关键应用质量保障,帮助企业减少带宽滥用,优化带宽资源,降低安全风险,从而全面提升网络价值。

第四是资源弹性调度能力。从某种意义上说,传统路由器因为无法实现资源的有机调度,所以无法真正实现面向应用的服务质量保障。比如,集中式路由器的CPU同一时间只能进行同一项任务,很可能在重新计算路由的情况下占用全部计算资源,而导致报文流量无法处理,从而带来应用质量的下降。又如,转发CPU可能处在一个繁忙的转发进程中,而无法及时处理收到的BFD报文,从而导致链路检测出现失误。

第五是强安全能力。现今,安全已经成为路由器的核心业务能力之一,路由器安全特性的嵌入为实现全方位的网络安全提供了坚实的土壤。新一代路由器强安全能力的支持主要体现在内置安全加密引擎和TCP流量加速引擎等等。

 .器势,如何而开创性地第一次在一个,一个核来跑可以也可以不同,另外还有未知新应用支持能力。新一代路由器对新应用的支持能力主要体现在是否具备开放架构和对计算融入网络的支持能力。传统路由器基于嵌入式系统架构开发,对新业务数据融合能力主要集中在对语音的接入支持上,很难做到进一步的应用层面融合。

 

多核处理器对多业务融合的价值

传统的单核通用处理器由于存在性能瓶颈,无法满足日益增长的全业务下的路由性能需求;ASIC芯片由于采用了固化的硬件芯片技术,无法按照用户需求灵活改变数据报文的处理流程;网络处理器对报文的处理流程比较固定,支持复杂多业务较为困难,而且代码指令空间的限制也使业务不能做得很丰富。

多核处理器技术的出现,使得新一代路由器的技术实现有了一个全新的选择。

多核处理器一方面克服了单核处理器的性能瓶颈,另一方面也摆脱了ASIC、网络处理器在多业务处理中的尴尬境地,高性能和业务灵活性得到兼顾,无需额外的专用设备即可满足用户对业务功能以及性能日益增长的需求。

典型多核处理器的报文处理流程如图1所示。报文在进入多核处理器后,先经过报文解析与负载均衡引擎完成预处理,其间一般采用硬件均衡结合软件均衡来兼顾效率与灵活性;之后业务流量将均匀散布到处理器的不同内核中进行下一步处理,每一个内核所做的工作可以一致也可以不同。例如某时刻控制管理处理内核完成控制管理、协议等报文的处理,业务处理内核1完成安全业务,业务处理内核23完成GRE隧道处理业务,业务处理内核4完成NAT业务处理,通过各种业务被多个独立的处理器内核并行处理来保证性能和灵活性。

1 多核处理器的报文处理流程

 

1.相当于原来N个处理器的并行工作,大幅度提升全业务应用情况下的性能

传统的处理器性能提升主要是通过提升时钟主频、指令优化、缓存等技术实现,已经面临技术与工艺瓶颈。而多核处理器则是通过并行的多个处理器引擎来实现,在不增加技术工艺难度的基础上,达到性能的N倍提升。对用户应用而言,就相当于N个处理器引擎同时工作,从而满足在全业务应用情况下的高性能处理要求。简单类比,就是传统火车头与动车组的区别。

2.并行处理架构,天然适合对大流量的并发多业务应用支持

多个独立并行工作的处理器引擎尤其适合互相独立的并行业务流的处理,借助硬件加速的流量分发引擎,根据不同的用户实际应用需求,将并发的业务流量灵活分配到不同的处理器引擎上,实现不同业务流的并行处理,不同流量的处理复杂度完全不影响其他流量的服务质量,从而实现对大流量并发多业务应用的天然良好支持。

3.基于通用处理器架构,可满足深度应用识别与应用控制的快速编程需求

多核处理器基于通用处理器架构,采用最通用的C编程语言,可以快速重用已有的代码,也可以快速实现对新业务的响应。多核处理器不存在指令空间问题,可以很容易地进行功能扩展。部分多核处理器支持正则表达式的加速处理,可实现基于应用特征或者会话状态的深度应用识别,实现基于应用的流量控制和智能QoS技术,从而进一步为基于用户、基于应用、基于其他各种特定需求的精细化流量管理奠定基础。

4.采用模块化设计思路与并行工作机制,轻松实现对运算处理资源的弹性调度和灵活分配

基于多核处理器的业务模块化处理模型与并行工作机制,可通过对业务功能的合理划分和科学建模,保证业务模块间的顺畅对接和高效率的并行处理。进入网络设备的各种报文流量,可以根据实际的网络部署和具体的用户业务需求,动态选择与调度多核处理器的内核资源来进行处理。一些应用可通过简单地在每个内核上复制相同的处理流程,如果某些应用需要高确定性的执行时间,则可以通过非对称多处理技术,允许软件为关键处理预留运算处理资源,确保按照预期目标完成。

比如在一个8核处理器中,可以用一个核来处理控制系统,一个核来处理BFD应用,6个核来处理数据平面。这些资源划分可根据用户配置和应用进行改变。如果多核处理器采用多线程技术,则可以进一步基于线程来实现资源调度。

5.多种内置的协处理引擎提供强安全、强媒体流处理等多业务加速能力

现代多核处理器技术不仅仅是增加处理器内核个数,一般都会加入多种业务加速处理引擎,如加密解密、压缩解压缩、TCP流量加速、语音处理、正则表达式加速引擎、硬件模式匹配引擎等等。高计算业务的处理由专用的引擎实现,可以大大降低对处理器引擎运算资源的占用,而且这些引擎与处理器内核之间通常采用高带宽的连接结构来提升运行效率。这些硬件协处理引擎的存在,对于用户强安全和多媒体融合等多业务融合应用提供了很好的支撑。

6.多核多系统的开放式设计平台,实现对上层应用以及未知新应用的无限扩展

多核处理器提供了对多核多系统环境的良好支持,可以在其中一个或者多个核上运行独立的Linux系统,并在这些系统上运行第三方应用,从而开创性地在单一的处理器平台上实现开放式多平台架构。基于多核多操作系统技术,可以实现与第三方应用的完全融合。基于此技术,路由器实现了从单一的网络处理平台向计算与网络平台融合的跨越。

 

 

 

软件系统如何更好利用多核性能

多核软件设计是软件编程设计技术史上的又一次重大革命。多核软件系统如何设计,才能在稳定的基础上提高系统的性能?如何充分发挥多核处理器优势,从串行工作流程转向并行流程?对路由器软件架构而言,是一个全新的课题。

长期以来,并发只属于ASICNPFPGA等硬件,数通领域嵌入式设备上的软件无法做到真正的并发运行。多核处理器的出现使得软件的并发运行成为可能,在极大提升系统性能的同时,也给软件系统设计带来了全新的挑战。H3C Comware在以下几方面的创新发展,为充分发挥多核处理器技术优势奠定了基础。

1.分离

首先是软件系统中控制面与数据面的分离,这也是业界的共识。多数软件系统都宣称做到了这点,但实际情形又如何呢?多核处理器是一块很好的“试金石”。只有控制面与数据面做到彻底的分离,才能有效地利用多核,将转发性能提升到较佳;只有做到彻底分离,报文大流量转发才不影响路由的计算和链路的协商,大流量下命令行停滞的现象才会无影无踪。Comware多核软件系统,能将控制面与数据面的处理彻底分离,其数据面就等同于ASICNPFPGA这些硬件平面,只不过比这些硬件支持更多更复杂的特性,也更容易升级、扩充。

其次是数据的分离。在软件系统中,大量数据往往是以表项的形式来表达的,表项的大小会影响到多核处理器Cache的利用,从而对性能产生影响。

Comware多核软件系统中,对软件的数据表项进行了精心组织,确保表项内容的单一性、纯洁性,极大地提高了软件性能。例如,一些同时支撑IPv4IPv6的模块,其对应的IPv4表项与IPv6表项可以分开组织,也可以组织到一起,Comware多核软件系统选择了将这些表项分开组织。

此外,多核并发需要对共享数据进行加锁保护,实际上,不少场景下,通过对数据精心组织,并结合延迟删除、RCU锁机制,可大大降低锁对性能的影响。Comware多核软件系统在数据结构的定义和组织上,严格遵循了数据流触发修改的信息与控制流触发修改的信息要分离的原则,能够在多数情形下避免锁操作,满足了系统的高性能要求。

2.分流

嵌入式设备的主要任务是处理报文,那么如何才能高效利用多核处理报文呢?前提就是必须将报文进行高效分流,并合理分发到各个核的线程上。

在这一点上,Comware多核软件系统组织了三个层次的分流。

一是硬件分流,利用多核处理器的硬件Parse,提取报文23层信息,对报文进行分类;对匹配的3层报文,如IP/MPLS报文分发到若干个线程上(这些线程上会进行软件粗分流);对其他3层报文或链路协商报文分发到缺省线程。

二是软件粗分流,这一线程上运行最简单的软件,只作粗分流一件事情,将3层报文继续分发到其他线程上。

三是软件细分流,这一线程上对报文进行细粒度分类处理:2层链路协商、监控报文通过核间消息发送到控制面所在线程;3层到本地的报文,通过核间消息发送到控制面所在线程;3层转发报文在本线程上做转发处理。

3.分布

如何将各功能模块分布在各多核线程上,是否分得越散越好?

答案是否定的,因为核间消息是有代价的,大量的核间消息对性能有较大影响。而且,如何将功能模块均匀地分布在各线程上,不致于出现线程忙闲不均的现象,也是个难题。

Comware多核软件系统对此做了细心的测试、研究和精心设计,目前,采用的是串行与并行共存的混合模式。

4.分配

内存是影响软件性能的一个重要因素,如何分配使用内存,对软件系统的稳定与高效有着至关重要的影响。

Comware多核软件系统有倾斜地分配内存的使用,对系统一些重要的表项和报文频繁访问的表项,采用了一次性分配,“专存专用”的做法,很大程度地提高了系统的性能,增强了系统的稳定性。

 

总结

多核处理器强大的并行处理能力、高效的负载均衡、模块化设计思想、互相独立的操作环境,天然契合企业当前多业务应用的大趋势,为企业多业务路由器的发展提供了一个良好的技术发展平台。随着多核处理器硬件和软件技术的发展,将进一步驱动路由器从面向报文的处理方式向面向应用的纵深发展。

 

新华三官网
联系我们