网络全光化进程的加速以及网络技术的演进扩展了传统数据业务以外的多业务模式,诸如音视频下载、P2P流媒体等业务对网络的业务承载能力提出了新的挑战。随之而来的线速处理和可管理需求已使传统网络设备不堪重荷,因此新型网络设备需要具备快速的业务升级能力和高性能的处理能力以提高网络容量。目前,采用多内核和并行处理结构的网络处理器(Network Processor)在中高端网络设备中的使用已逐渐成为趋势。但与计算和消费市场一样,通信网络市场的多核并行处理的开发也面临着前所未有的挑战,因此如何突破NP多核架构的开发瓶颈已成为业界关注的焦点。
多业务流催生新型多核网络处理器
NP融合了CPU的灵活性和ASIC的高性能特点。NP拥有很强的硬件并行处理能力,其可通过多内核实现处理器级的并行处理,因此使用多核NP实现并行交换(PPS)能很好地提升网络容量。高性能系统需求可以说是驱动多内核和快速处理技术需求的动力。新型多核NP被应用在控制平面、数据平面以及两者结合的处理。目前主要的多核NP半导体厂商有MIPS架构阵营的Cavium、RMI、博通,以及PowerPC架构阵营飞思卡尔。
很多应用具有宽广的性能范围和能根据内核性能和数量进行缩放的解决方案。这些能力可以使系统厂商很容易实行跨平台保存和重新利用遗留代码并移植到未来的应用,因此增加性能和添加增值功能对网络设备而言十分有必要。多核NP主要通过可缩放的方式卸载TCP性能,而新型多核NP的片上内容处理卸载可以对L4层以上的分组提供处理并能够实现片上压缩/解压。为了帮助内核卸载,多数多核处理器的厂商都集成了特殊的硬件加速器进行那些可用硬件更高效实现的处理。由于新的多核处理器结合了硬件加速技术,多内核与多I/O可以共享同一数据报内的分组的所有部分,来自这些模块的关于位置和数据可追踪与可接入的信息实质上可以用来调试软件。而通过平台利用这些信息优化性能同样变得重要。可视化是驱动多核处理器的管理程序功能支持的另一个趋势。
面对日益增长的P2P业务流,深层包检测(DPI)技术被认为是对付网络多业务所带来的管理/控制挑战的有效方法。模式匹配是实现DPI的基础,而多核NP能对DPI的模式匹配提供有力的支持。实现DPI的模式匹配主要有TCAM(三态内容可访问存储器)模式匹配以及正则表示模式匹配。其中,TCAM是一种用于硬件加速查找的外接式存储器,广泛用于早期的高端路由器上。但其灵活性较差、功耗大。面对下一代网络的高吞吐量需求LA-1接口已经逐渐不能满足,目前主要TCAM生产厂商正为下一代TCAM制定新接口。正则表示式(regular expression)模式匹配由于具备高性能和高灵活性特点正逐渐成为DPI模式匹配的主流。
由于在DPI下交换协议、病毒定义和频繁的更新需要模式数据库,而为实现DPI性能需求,也对存储器带宽提出了需求。飞思卡尔半导体通过模式匹配引擎(PME)提供快速编译和提升了模式更新,因为可以使用廉价的DDR2存储模式使PME的吞吐量无需依赖于外部存储器。PME使用NFA(非确定性无限自动机)解决DPI中的模式剖析问题。另外,在分组的状态检测过程中也可以使用状态规则引擎(stateful rule engine)卸载更多的CPU带宽。多核处理器不但需要低延时存储器访问以进行高性能的L2和L3路由判决,而且需要具有高性能正则表示式的查找加速以允许分组能够被安全应用搜查到,也同样需要安全加速以处理分组的压缩/解压。所有这些加速器和多个内核共享数据和状态使得高带宽互连变得尤其重要。而这个互连必须是完全缓存一致性的。据飞思卡尔半导体网络和多媒体应用处理器部门的Jeffrey Ho介绍,飞思卡尔即将推出的多核平台将会支持三级缓存体系以满足那些同时需要共享前端缓存和本地后端缓存的应用。另外,由于用于L4层及以上的应用的模式匹配卸载需要灵活性和易于编程,在那些快速的业务更新里就无需外接昂贵的TCAM和RLDRAM了,PME引擎能围绕匹配的状态操作也无需进行软件的交互。
总的来看,新型多核NP相对于传统的微引擎/微码NP有很多优势。首先具有更好的编程性,例如能使用Linux、VxWorks或者BSD这些基于C/C++语言的标准嵌入式操作系统,以及多种标准开发环境;并能够将控制、管理和数据平面软件集成到单芯片里面。但高应用吞吐量才是高端NP首要关注的,低端NP提高集成度是为了达到降低成本的目的。而在应用中是否采用NP和ASIC/FPGA结合的方式则要视乎具体情况而定。目前,有厂商把控制和数据平面集成到单颗NP里面,但高端应用仍将它们进行分离处理。因为这更多的是取决于遗留代码、软件及具体方法而不是由NP的功能集成的支持度所决定的,所以在未来的高端设备设计当中NP和ASIC /FPGA将长期共存,这样才能够进行诸如背板事务的处理以及能为产品提供区别于竞争对手产品的附加值。