网络全光化进程的加快以及网络技能的演进扩展了传统数据业务以外的多业务形式,比如音视频下载、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将长期共存,这样才能够进行比如背板业务的处理以及能为产品供给差异于竞争对手产品的附加值。
图1:飞思卡尔行将推出的多核通讯渠道将支撑三级缓存。
多核NP在高层运用中面对应战
传统NP不支撑规范操作体系和C/C++代码。新式多核NP现已开展成为能够支撑规范编程规划模块、C/C++和Linux、VxWorks和BSD等操作体系的NP。多核架构由于能够经过不同的处理单元并行处理使命,因而能够为整个体系带来优点。依据阿姆达尔定律,多核软件功用将很大程度上依靠于次序履行的代码数量。嵌入式体系复用了旧体系许多的留传代码,而其间大部分的代码库是为单核处理而编写的。一般这些已写好的软件是单线程的,有必要依靠代码的次序履行。因而需求把代码切割成许多小片,一起削减次序履行代码的数量。在运用多核NP进行规划的时分,开发人员有必要时间提示自己是在运用多核与硬件加快。
单处理中心的负载平衡能够由OS很简单的完结。可是关于多核来说,要视乎是不对称多重处理(AMP)仍是对称多重处理(SMP)操作体系。AMP OS的负载平衡是停止的并依靠于程序员来切割代码。因而当工作量不一致时问题就呈现了,而静态平衡则意味着他们需求对代码进行重切割以习惯不同的环境。其他的问题还包含并行处理时内核间的优化、处理器的同享数据的优化、在多核环境下寻觅重布置代码库的办法以及用软件包集成通用产品和功用。