关闭

关闭

关闭

封号提示

内容

首页 面向多核网络处理器软件框架的研究与实现

面向多核网络处理器软件框架的研究与实现.pdf

面向多核网络处理器软件框架的研究与实现

xl46512 2012-05-08 评分 0 浏览量 0 0 0 0 暂无简介 简介 举报

简介:本文档为《面向多核网络处理器软件框架的研究与实现pdf》,可适用于IT/计算机领域,主题内容包含武汉理工大学博士学位论文面向多核网络处理器软件框架的研究与实现姓名:蒋汉平申请学位级别:博士专业:计算机应用技术指导教师:李腊元武汉理工大学博士学位符等。

武汉理工大学博士学位论文面向多核网络处理器软件框架的研究与实现姓名:蒋汉平申请学位级别:博士专业:计算机应用技术指导教师:李腊元武汉理工大学博士学位论文摘要多核网络处理器是指在单个封装内集成多个执行核每个执行核是独立的处理器具有自己的体系结构资源。它兼有高速处理和灵活编程两种能力能很好地适应高速网络和业务演化的需要。多核网络处理器可以高速处理控制/数据平面、处理应用感知内容、检测深度包、模式匹配和加密加速被广泛的应用于各种网络设备包括路由器、交换机、应用认知网关、无线局域网、G接入和聚合设备以及网络存储设备等。在这些环境中网络进化为一个承载数据、语音和视频内容的多元混合体不仅要具备应用传输所需的线速处理高层数据的能力还要进行加密、认证、入侵防护和防病毒等多层安全操作以及多功能的整合。因此面向多核网络处理器的软件框架的高性能和通用性成为多核网络处理器的核心问题。多核网络处理器软件开发的困难主要来自于其微并行结构之复杂性和网络多平面处理环境之特殊性突出表现为:缺乏高层编程模型和开发工具缺乏网络通信处理算法组件库缺乏适应多平面处理环境的os支持。因此基于多核网络处理器的软件框架的设计与实现都变得极为复杂。近年来虽然国内外学者做了大量的研究工作但基于多核网络处理器架构提供高性能、面向商层应用的研究尚处于初期阶段。本文在总结前人研究工作的基础上深入研究并设计实现了多核网络处理器的多平面分层软件框架、内核网络协议栈模块框架、管理平面框架等关键技术分析和实现了IP网络中若干关键安全应用的设计并进行了充分的测试以验证其达到了高性能、通用性的设计目标提出了一种从硬件抽象层到应用管理的完整软件框架。本文就以下几个方面进行了创新性的研究工作:()提出并设计了可扩展的多平面软件框架。多平面框架面向多核网络处理器实现了三平面的融合即数据平面、控制平面共同完成复杂高层网络应用功能的实现过程在管理平面内通过统一管理系统针对多核网络处理器主要的应用环境进行多业务的管理融合。()研究并实现了面向数据平面和控制平面的接口设计框架。最新的Linux内核并没有对快速路径和慢速路径进行明确的区分本文明确提出了两种路径的划分通过一系列的接口设计来实现多核网络处理器性能武汉理‘大学博士学位论文发挥和内核功能实现之问的平衡屏蔽底层硬件细节提高网络应用可复用能力与跨平台可移植能力。()研究并设计了算法组件库。在多核网络处理器的快速路径中应用基于均匀服务队列的分组调度算法使决策时间复杂性、公平性、调度时延特性均与数据流个数无关具有良好的可扩展性应用遗传式自动分配算法在网络处理器上建立流水编程任务分配模型。()设计了内核虚拟网络块框架在管理平面实现了配置的模块化。将面向对象的设计方法引入内核设计中采用“低层处理”的策略将所有的网络操作处理模块化尽可能在最低层把非法的数据包屏蔽掉在最低层对内存进行释放使整个核心数据处理流程全部工作在内核~级把相对耗费时间的匹配过程交给了用户进程去处理。同时在管理平面内采用面向对象的模块化设计方法利用事件机制对不同的高层应用提供配置、管理功能。在多核网络处理器软件框架研究和设计的基础上本文对多种IP安全技术进行了优化实现:对snort进行了并行多线程的重新设计对NAT/PT进行了快速路径的优化设计并对netflow进行了数据平面虚拟网络模块框架的实现还对IPSec在数据平面利用API隐藏硬件特定细节提供了统一接口。通过完善的测试方案验证了软件框架设计方案的性能和适用性。本文得到了国家自然科学基金项目()、教育部博士点基金项目()、湖北省科技攻关项目(AAlc)的资助。关键词:多核网络处理器软件框架控制平面:数据平面:快速路径:慢速路径IIAbstractMulticorenetworkprocessorisakindofintegratedcircuit(IC)whichhastwoormoreexecutingcoresinonepackage.Eachexecutingcoreisallindependentprocessorwhichhasitsownsetofexecutingunitsandarchitectureresources.Multicorenetworkprocessorcanachievehighprocessingperformanceandbeprogrammedflexibly.Thesefeaturesmakemulticorenetworkprocessorverysuitablefortheneedsofhighspeednetworkanditsservice.MulticorenetworkprocessorcanoffertheabilitiesofhighspeedcontrolplaneanddataplaneprocessingapplicationawareprocessingDPIpatternmatchandencryptionaccelerating.Itistargetedforusinginawidevarietyofnetworkingandstorageequipmentsincludingrouterscontentawareswishestriple。playgatewaysG/Gaccessandaggregationdevicesetc.Intheseapplicationenvironmentsnetworksareevolvingtodeliveraflexiblemixofdatavoiceandvideocontent。Dataratesareincreasingapplicationdeliverymandatestheneedtoprocessintelligentlayertolayerdataandcontentatlinerate.Ahighperformanceanduniversalsottwareframeworkhasbecomeakeyissueinthisfield.Thesoftwaredevelopmentofmulticorenetworkprocessorsisaverytoughtaskduetotheparallelarchitecturalcomplexityandthecrossplaneparticularityofnetworkprocessingsystem.Currentlythedeficienciesofsoftwaresupportlieinthreeaspects:highlevelprogrammingmodelnetworkprocessingalgorithmlibraryandOSsupportsuitabletomultiplanessystems.Inrecentyearsscholarshaveresearchedalotofproblemswherasthereexiststillmanyunresolutedproblems.AndtheresearchofhighlayerapplicationandhighperformancesoftwareframeworkisstillarttheinitialstageThedissertationhasmadeinnovativeprogressinthefollowingrespects.)AnextensiblemultiplanesframeworkhasbeenproposedandimplementedwhichCansupporttheintegrationofdataplanecontrolplaneandmanagementplane.ThedataplaneandcontrolplaneCanimplementcomplexnetworkapplicationprocessingthemanagementplanehasproposedallunifymanagementsystemto武汉理工大学博七学位论文managemultservice.’》Aninteractioninterfacesframeworkhasbeenresearchedandimplementedwhichcallsupportthecommunicationandcoordinationbetweendataplaneandcontrolplane.InthenewestLinuxkernelthereisn’tdivisionclearlybetweenfastpathandslowpath.Thedissertationhasdefinedthedivisionandoptimizedtwopathsforthefirsttime.AseriesofinterfacedesignisimportedtorealizetheperformancebalanceandimprovementbetweenmulticoreprocessorandOSkernel.)Analgorithmscomponentslibraryhasbeenimportedandimplementedbasedonmultieorenetworkprocessors。Apacketschedulerbasedontheconceptofevenservicesequenceisimplementedatfastpathwhichshowsthatperformanceoftheschedulerisnotproportionalwiththenumberofflowandthusisquitescalable.Ageneticalgorithmisconstructedforpipelinedprogrammingmodewhichassignstaskstoprocessingenginesautomatieallyandacceleratemulticoresoftwaredevelopmentprocess.)Avirtualnetworkblock(VNB)frameworkhasbeendesignedandimplementedatOSkernelnetworksubsystemwhichimplementsthe“lowlayerprocessing”strategyandimports(objectoriented)intothekernellevel.TheVNBframeworkshieldsandprocessesmostofillegalpacketandreleasememory,allofkeydataprocessingareworkedonkernellevel.TheVNBintegratedwithmulti.planessoftwareframeworkCanimproveperformanceandfunctionsdynamicextension.AtthesametimeOOisimportedinthedesignofmanagementplaneeventmechanismprovidetheunifyconfigurationandmanagementinterfacetosomeKghlevelapplication.ThisdissertationimplementedandoptimizedsomekeyIPsecurityapplications.Tosnortweredesigneditbyparallelandmultithread.ToNAT/PT,weoptimizeditbyfastpath.Tonetflow,Weredesigneditbydualplane。ToIPSecweimportthenewesthardwareencryptionstandardatdataplanetoadaptthespecialhardwarespecificationandimplementalltheperformanceassociatedprocessingatfastpathtodigtheperformancedataofmulticoreprocessor.AtthesametimealloftheIPsecurityapplication‘Stestingresultdatashaveverifiedthesuccessofsoftwareframeworkbasedonmulticorenetworkprocessors.IV武汉理工大学博士学位论文ThisdissertationissponsoredbyNationalNaturalScienceFoundationofChinaunderGranttheDoctoralProgramFoundationoofMinistryofEdueationofChinaunderGrant.andandtheKeyTechnologyRDProgramofHubeiProvinceinChinaunderGrantNo.AAcKeywords:MulticorenetworkprocessorSoftwareeframeworkControlplaneDataplaneFastpathSlowpathV独创性声明本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究成果。尽我所知除了文中特另J)Jn以标注和致谢的地方外论文中不包含其他人已经发表或撰写过的研究成果也不包含为获得武汉理工大学和其它教育机构的学位和证书而使用过的材料。与我一同工作的同志对本研究所作的任何贡献均已在论文中作了明确的说明并表示了感谢。签名:关于论文使用授权的说明魄华心伊本人完全了解武汉理工大学有关保留、使用学位论文的规定即学校有权保留、送交论文的复印件允许论文被查阅和借阅学校可以公布论文的全部或部分内容可以采用影印、缩印或其它复制手段保存论文。(保密的论文在解密后应遵守此规定)签名:导师签名:垒丝‰:避垒武汉理工大学博士学位论文第章绪论.多核网络处理器概念网络的迅猛增长和应用的飞速发展对网络处理的性能和灵活性提出了挑战年以来互联网流量每个月翻一番其增长率是CPU处理能力增长率(摩尔定律)的.倍更远快过内存带宽的增长网络安全、QoS(QualityofService)、VolP(VoiceoverIP)、PP(Peerto.Peer)和网络多媒体等新兴网络服务要求网络设备支持和集成更多、更复杂且不断更新的协议与任务并要求时间和成本的代价尽可能低相比通用处理器(GeneralPurposeProcessor,简称GPP)、FPGA(FieldProgrammableGateArray)、可配置硬件和ASIC(ApplicationSpecificIntegratedCircuit)等解决方案上世纪年代末才出现的网络处理器(NetworkProcessor,简称NP)由于其高性能与可编程性更好地满足了需求呈现出良好的应用和发展前景尤其是近年来第三代多核网络处理器的推出更加速了这种趋势II州。多核处理器又叫单片多处理器(ChipMulti.Processor简称CMP)~引多核网络处理器是针对网络处理设计的专用指令处理器(ApplicationSpecificInstructionProcessor简称ASIP)也就是在同一个芯片上集成多个处理器内核。多核处理器相对于传统超标量和超长指令字(VLIW)的指令级并行具有更高的并行度在多核处理器上达到线程级并行也就是同一时刻处理器上有多个线程在并行执行f叫。.多核网络处理器的历史及发展趋势..多核网络处理器的历史早期的网络中数据速率相对较低协议处理也比较简单因此网络设备通常以通用处理器(GPP)配合分组处理软件实现。然而随着数据速率的不断提高和协议处理的日益复杂GPP处理能力的增长逐渐落后于数据速率的增长这导致其难以满足分组处理的线速要求。NP出现之前ASIC以其高速处理特点成为GPP方案的替代品。它将原来武汉理:大学博士学位论文的软件处理功能以硬件线路实现在分组转发等固定操作上有着明显的优势可满足实际应用中苛刻的速度要求因此为网络设备厂商广泛采用。但是随着Internet的高速发展新的业务不断涌现ASIC器件必须重新设计以适应新情况但其较长的设计周期、较高的设计成本以及设计技术本身存在的诸多困难使基于ASIC的方案往往不能迅速满足不断变化的应用需求。因此网络设备的构建必须基于某种兼具高速处理性能和灵活编程能力的方案这导致了NP的出现。NP采用多种专门技术来优化其网络处理性能同时又是软件可编程的它兼具ASIC和GPP的优点能很好地满足高速网络和业务演化的需要。传统的网络处理设计通常有两种解决方案t在核心设备中采用ASIC实现高效的处理在边缘设备使用FPGA实现较底层处理用GPP实现高层处理Il弘l。前者具有很高的计算能力但缺乏灵活性而后者则恰恰相反因此都不能满足网络处理的发展要求。相比之下NP在性能、灵活性、功耗、开发周期、成本等方面都表象出较强的优势如表.所示。表.网络处理器的优势性娩父活性功耗较纠F皴嗣期芯片Jf笈成本系统照成J菠木通甩处理器氍商较高艇高中协处理嚣较高较低较住玻妖中较低蹦络处理嚣中软矗巾较簸l较离较岛列络处耀器商氟低长技低l匠NP实际上是兼顾性能和灵活性的一个优化方案。基于NP构建网络设备的主要工作是软件设计其设计难度明显低于硬件线路且可随业务发展而方便地进行功能升级能有效缩短产品开发周期降低设备成本。.。多核网络处理器的发展趋势白上世纪年代末以来短短几年里NP已经经历了几次技术更新和产业变动从性能、内部实现、外部接口、可编程性、系统集成能力和应用领域等几个方面都进行改进。目前NP已经发展到了第三代如表.所示。武汉理工大学博士学位论文表.网络处理器的发展第一代网络处理嚣第二代网络处理嚣第三代网络处理器性能退到OC.达到()COC一OCTfl:织牢t内上作撅难低工作镬率巾PE数爝多处瑾单元.E数篮:少pE数黛t巾(向基于RISC梭(如MlP!矾)的CMP结构发艘l内韶澄赶理潦操作缓。如辩套找CRC增强的内部如处理嚣功能级.姻IPSec.流最符婵绷譬t僬.铹蹙:锻鞭譬lll雩台巍ll}l捌乍:商t荦抒馏t离存储吏持RLDRAMFCRAMRDRAM.DDR直掩SDRAMSRAM宽持DDR.QDR.参通遒技术.QDRII外鄂接u支捧林壤接IJCStX.SPl.稚标准%.NPl.L^一.NPr$i健.amiagI靠‘er内cc控制接门PCI增强PCI慧线PC!.XPC!一X.PCIgxpress瑕々莱矩弭溺(筷餐水吏捋乘除派遣增强的拼夸集瞧致计靠魄力地强踅待计算密簇埋随钝力算).两向Jo密鬃硝运珂甩JF发语青和编译簿馓码丹始芰抟高级语身籀弭麟优化技术进步提高系统浆壤少锻夫强高灵活配置。^芰持受疑式系统体系结构接入和玲业网.t要咖向多豫务搂人靠qk网.支持支持核心网和.层的廊瞬应川领域交抉稠路受多的戍川OllfXML。VPN'IPs.Antirind等)hIcIIXPAMCCnIXX.IBMPowerNPCtSlmdIXP,ET.C,hipCAVlUMOCl‘EONHT.ChlpNP.Intel代表代甚抟BraadcomBCM魏Np.IXPMotorolaC第~代NP芯片主要面向中低端交换路由等相对简单的应用由于业界还没有制定统一的外部接口标准因此与switchfabric、外部协处理器的集成能力比较弱:第二代NP芯片的主要改进在于普遍采用CSIX、SPI./、NPFLA.、NPFStreamingInterface等接口标准并提高了性能【ln应用领域也更加广泛。第一、二代NP主要适用于接入网和企业网应用虽然在市场上取得了一定的成功但也曝露出很多问题如难以支持层以上或比较复杂的应用、实际性能与理论值有很大差距、编程与调试难度较大、系统集成的灵活性还有待提高等等。提高处理器性能的通常办法是提高主频但这样做会增加处理器的功耗和设计的复杂度高频率所带来的高发热量会导致芯片运行不稳定且处理器发展到今天主频的提升空间已经不大。在单核计算时提高性能的并行手段是用超标量处理器的方式使处理器在一个周期内执行多条指令通常超标量处理器有两个或多个处理单元为充分利用这些硬件资源需要对软件进行精心设计且为适应多流水线需要对软件进行大量修改可移植性较差:除此之外就是通过超流水线的方式提高频率但是超流水线已有多级己经达到瓶颈。因此从指令级上提升性能已经达到极限同时存在存储器访问速度与处理器武汉理工大学博七学位论文运行速度不匹配的情况这些势必影响计算机系统总体性能的提高。针对这些问题近年来才开始出现的第三代NP芯片技术上做了许多的改进和创新发展趋势已经比较明显主要表现为:()采用基于通用RISC内核如MIPS的CMP结构或通过指令集扩充以支持复杂的运算指令使NP的可编程性更强从而能够支持VPN等计算密集性应用以及病毒检测等高层应用。()通过提高内部工作频率、增加PE数量、改善内部通信机制以及支持RLDRAM、FCRAM、RDRAM等新一代高速存储将NP的整体性能提高到OC.或OC.能够集成更多的应用从而将应用领域扩展到电信级核心网。()进一步提高了针对应用的硬件优化技术增加了IPSec、流量管理、解压缩、TCP流处理、正则表达式等功能级(相对与操作级而言)内部协处理器。()进一步加强了高级开发语言和编译器的支持降低了代码开发和调试的难度提高了编译化技术以及代码的可读性、可移植性和可维护性。()随着switchfabric、外部协处理器等外围芯片的不断发展与各种芯片的搭配更加灵活系统集成能力得到进一步加强支持交换式的系统体系结构能够满足电信级网络系统的要求。网络处理器对网络报文流进行处理的核心部件是处理单元(PE)根据核心处理单元的实现特点目前主流的网络处理器分为以下四种类型:()以专用指令集处理器(ASIP)为核心:主要代表有Agere的PayloadPlus系列、EZChip的TOPcore系列。。特点是采用专门针对网络处理进行优化的处理单元使用专门的指令集以流水线、并行或者混合的方式进行连接。()以高性能通用处理器为核心:主要代表有Broadcom的BCM系列、Clearwater的CNSP等J。特点是集成了采用超标量、超长指令字、并发多线程等技术的高性能通用处理器来完成网络报文流处理的主要任务。()以多个简单的RISC处理单元为核心:主要代表有IBM的PowerNP系列、Intel的IXP系列等t。特点是采用多个具有针对网络处理专门指令的简单RISC处理单元和网络处理引擎或协处理器来完成网络处理器数据平面的处理工作。()以增强指令型RISC处理器为核心:主要代表有AMDAlchemyAUl系列、AMCC的nPcore系列等副。特点是使用一个或多个通用RISC处理器核来进行网络报文流的处理这些核增加了针对网络处理进行优化的指令并和武汉理工大学博士学位论文多个协处理器协同工作。在硬件并行性设计上多核、多线程技术成为提高处理器性能的潮流主要有三个方向:首先提出了多核的概念并迅速推出几款具有双核的处理器如Freescale的MPCD、Intel的PentiumDXX系列处理器等【'.】它们通过增加核的个数来获取处理性能的提高比通过提高主频实现要容易得多第二个方向是基于硬件多线程的概念的多核处理器如RAZA公司采用MIPS架构推出具有高吞吐量的多线程多内核的XLR系列多核处理器具有个核每个核上具有个硬件线程每一个硬件线程在逻辑上可以看作一个虚拟CPU(vCPU)对于核上提供对硬件线程的支持最多可含有个可并行工作的虚拟位RISCCPU主要是为了提高CPU的利用率及进程上下文切换的能力第三个方向是基于应用的多核网络处理器目前有多家主流的芯片公司推出专注于在安全智能网络领域的多核网络处理器解决方案如Cavium公司推出OCTEON处理器系列为网络无线控制和存储等应用提供高度集成化和位计算的芯片方案支持高度集成的独立硬件安全引擎和网络应用加速器【,l。多核网络处理器具有普通单核、单线程处理器所未有的性能优势目前已成为提高处理器性能的主要途径。同时多核网络处理器也为很多的应用领域提供了新的解决方案。发挥多核网络处理器硬件的优势需要从编译器技术、操作系统及其它软件的架构上来加以发掘这个全新的领域为我国发展软件带来了机遇和挑战。中国龙芯的发展方向也是多核处理器中国不仅需要发展自己的多核处理器而且要发展面向多核的操作系统及其它相关的软件只有如此中国才能在新技术的激烈竞争中争取优势。面向多核操作系统的研究即使在欧美也只是刚开始不久。中国应当抓住这个发展机遇在软件发面加大投资力度和相关人才的培养同时要利用好开源软件的能力尤其是Linux内核方面的研究和开发开发出具有核心竞争力的软件。.多核网络处理器体系结构当前NP的硬件体系结构主要分为两类一类为片上多处理器结构(CMP)内部包含多个对称的PE可根据软件需要组成并行或流水线结构这类NP以Intel公司IXA架构的NP芯片、IBM公司的PowerNP芯片为代表另一类是上下文流水线结构(ContextPipeline简称CP)PE按照流水线固定排列报文依武汉理:人学博七学位论文次经过这些PE接受不同阶段的功能处理流水线可以有多条流水线每个阶段可能包含多个并行的PE这类NP以CISCO公司的Toaster芯片、EZChip公司的NP./芯片为代表,。上述的两类体系结构都能够支持报文级并行(PacketLevelParallelism简称PLP)CMP结构还能够很好的支持对同一报文不同任务的并行处理(Intra.PacketParallelism简称PLP)。在PE内部通常采用多线程技术实现线程级并行(ThreadLevelParallelism简称TLP)少数NP的执行部分还采用了多发射技术(超长指令字或超标量)以支持指令级并行(InstructionLevelParallelism简称ILP)l除了CMP和CP外对同时多线程(Simulateous.Multithread简称SMT)等体系结构也进行了研究Crowley等人的研究表明在处理器资源相等的条件下SMT比CMP有更好的性能表现Melvin等人则从入侵检测、流量监控等基于流状态信息的应用在SMT的基础上提出了新的体系结构然而从易用性和灵活性方面考虑CMP结构仍然将是今后发展的主流【引。NP内部采用大量专用逻辑电路以提升处理性能这些专用电路包括:可编程的处理单元(ProcessingElement简称PE)有多个同构或异构的PE负责数据平面任务的处理每个PE内部往往又包括若干硬件线程支持零开销线程切换从而实现访存时延隐藏专用协处理部件为散列计算、数查找、缓冲和队列管理等操作提供高速硬件支持:片内通信部件如点对点的独立总线、高速宽总线优化的外围接口控制部件负责连接外存、MAC芯片、switchfabric、外部协处理器和PCI总线等外围部件并进行访问控制调教。此外有些NP还内置RISC核可以用来执行控制平面的任务处理。总之NP将ASIC的性能和GPP的编程能力有机结合起来符合技术和市场两方面的发展要求,l。多核网络处理器采用CMP的设计。在单个处理器芯片内实现两个或更多的“执行核’’执行核具有自己的执行集合以及体系结构资源根据设计的不同这些执行核可共享也可不共享片上Cache。多核网络处理器可以看作一个集成了多个核的SOC芯片。每一个核有自己的Ll级数据缓存与指令缓存各个核共享L级缓存或有自己独立的L级缓存并通过硬件实现同步。如Freescale的MPCD双核处理器每个核具有自己独立的L级缓存。多核网络处理器的体系结构如图.所示。武汉理工大学博士学位论文图.多核网络处理器体系结构对于每个核上有多个硬件线程的处理器来说(如MIPS公司的KMIPSCore具有个硬件线程)每~个硬件线程都有自己独立的寄存器栈可以运行独立的任务属于同一个核的硬件线程共享Ll数据缓存与L指令缓存。为了让每一硬件线程得到运行时间可以通过时间片轮转的方式由硬件进行调度或者由操作系统的调度程序来进行调度每一个核都是一个独立的运行单元可以独立的调度互不影响对于核上多个硬件线程在同一时刻只能有一个硬件线程在运作可以根据每一个核上的计算密度来对核上的硬件线程进行设置对于计算密度比较大的核可以只设置一个硬件线程运行对于计算密度比较小的核可以设置多个硬件线程运行。多个硬件线程的核结构如图.所示。图.具有四个硬件线程核结构示意图多线程把单个内核上最大的性能发挥出来而多核则将整个系统运算能力发扦刊极至。在高性能处理器中有很多性能本身其实没有被完全利用而是被浪费了。多线程就能够把每个单一处理器的所有性能加以利用再加上多内核就能提升总体性能。多核对提高整体性能很有效但是使用这些性能的效率相对比较低。比如说设计一个四核系统每个内核都只有一个线程诚然每个内核的性能都能达到最大化。但是即使这四个内核的性能都达到最大也就只有个达到峰值的处理器内核而如果有个多线程的处理器内核这样就能达到个或更多单线程的内核性能总和。也就是说多内核能使整体的性三武汉理工大学博士学位论文能达到顶峰而多线程能够显著提高单个内核的性能【。.多核网络处理器体系结构特点..并行为了达到线速处理速度各种NP普遍采用了并行处理技术这些技术一般体现在三个层面【,】:()PE级并行大多数NP都包含多个PE以充分利用分组处理中存在的数据并行性。这些PE的拓扑组织一般具有以下方式:流水结构:各PE分别实现不同的功能PE之间通过互连机制联接成一条流水线分组依次通过所有PE后即完成了整个处理任务。并行结构:每个PE都负责相同的完整的分组处理任务它们可以同时处理不同的分组。混合结构:这种方式是流水和并行的综合本质上属于多条并行的流水线。可配置结构:这种方式本身没有固定的拓扑只是提供了多个PE以及PE之间的多种互联机制用户使用时可通过编程来将其组成逻辑上的流水、并行或混和方式。不同的PE拓扑设计对系统性能的影响表明流水级数的增加能有效改善系统的性能而由于访存竞争等因素同一流水级并行程度的增长并不显著。()线程级并行线速处理的要求导致PE可用于处理分组的处理预算(时钟数)非常有限而存储器或协处理器访问等长延迟操作进一步加剧了这种紧张状况。如果每个分组的处理预算是个时钟周期而SRAM读写操作需要个周期那么两个SRAM操作将耗尽所有处理预算即使尚未进行任何处理。多线程技术可以在较大程度上隐藏这种延迟:PE当Ij{『分组处理因等待长延迟操作而难以为继时可以转而处理另一个分组操作完成后再继续原来的处理。显然这种技术可提高PE利用率并能够容忍更多长延迟操作。为了上述延迟屏蔽目的目前主流NP架构都一定程度上采用了多线程技术该技术可应用于上述任何PE拓扑中。存在两种主要的多线程形式~J:武汉理工大学博士学位论文FGMT:细粒度多线程。FGMT结构中存在多个硬件线程上下文不同的周期内PE执行的指令可能来自不同的线程。一个线程等待慢速操作时FGMT会切换执行另一个线程从而使系统总体吞吐率得到提升。SMT:同时多线程。SMT结构同样具备对多个线程上下文的硬件支持所不同的是它在一个周期内同时执行来自多个线程的指令。这种方式可更加充分的利用PE资源达到更高的指令吞吐率【l】。.应当指出的是性能的提高并不是没有代价的多线程结构必然导致NP编程更加复杂而且另一方面多线程的应用会导致分组延迟的抖动这对于某些实时网络应用来说是不希望出现的。从这个角度来看线程级并行支持似乎应该作为一个可选项由用户编程决定是否启用。()指令级并行指令级并行技术并非目前NP设计的主流这是因为多数网络应用似乎没有表现出足够的指令级并行性。然而确实存在一些设计实现了某种多发射结构以挖掘PE线程内存在的并行性这包括超长指令字和超标量。二者都可以在一个周期内执行多条指令区别在于前者依靠编译技术来完成并行调度而后者依靠硬件在运行时完成。..分层存储结构NP需要进行大量数据分组的接收、存储、复制、转发内存操作成为系统开销的一大瓶颈。为解决该问题除上d,节提及的多线程延迟屏蔽技术外通常还可以采用分级存储设计以及CAMCACHE等硬件加速机制。()适应不同数据类型的结构高层网络应用中不同的数据和信息的用途不同对存储访问的带宽和延迟要求也有所不同为各种数据和信息提供不同级别的存储性能是NP分级存储组织结构的主要原因。我们将NP操作相关的数据分为局部数据、分组元数据、信息表、以及分组负载数据四种类型。局部数据包括某些仪存在于一个PE上的状态信息可由运行在该PE上的各任务共享因此一般存储在PE本地高速内存中但这些内存容量较小。分组元数据武汉理【大学博士学位论文包含分组头等重要信息其特点是需要在多个PE之间传递且访问频繁因此往往存储在可由多PE共享的的高速片内SRAM中受制于:芭=片面积这利片内SRAM容量一般也有限。信息表包括路由表、过滤规则表、分组队列等它具有访问频率高且数据量较大的特点因此片内难以容纳一般置于片外高速SRAM中。而且信息表的查找往往使用CAM等加速机制完成。分组负载数据具有量大、复杂等特点如多媒体数据往往存于低成本大容量的DRAM中。鉴于应用中往往包含多次对负载数踞的读写操作DRAM的访存时间可能难以适应未来高速高层分组处理的趋势FCRAM等更快的存储器可能是更适合高速NP的方案。()高效操作支持片内CAM某些NP配有片内CAM可用于查找操作加速。一个简单的CAM查找可替代多个SRAM/DRAM访存操作且能免去设计查找协处理器的需要。但CAM尤其是片内CAM容量一般较小。数据CACHE考虑到网络处理的流式特点对于目前的网络应用来说虽然缓存分组的数据CACHE没有太大意义但缓存诸如路由表之类的信息表确实能带来一定好处这是因为一段时间内到达的多个分组可能携带相同的地址信息。分组处理常用存储访问硬件实现支持一些NP还包含分组处理常用存储访问模式的硬件实现和指令支持如IXP中的FindFirstBitSet操作和存储器的原子访问操作对于这些操作如果采用软件实现不仅速度慢而且容易出错。在基于NP的网络应用中处理过数据分组通常存储在某种队列结构中然后再由分组调度算法将其发送出。由于纯软件实现的队列管理需要多次访存再加上所涉及的队列数量很大因此要实现高效的队列操作应有硬件的支持【。..协处理器多数NP设计都含有某种形式的协处理器对某些常见的不易软件高速实现武汉理】二大学博士学位论文的处理任务提供加速。协处理器通常由多PE共享PE可通过消息传递存储映射或专门指令等机制对其访问。常见的协处理包括分类协处理、查表协处理、CRC、HASH等通用处理的硬件加速以及应用相关协处理如加密/解密和压缩/解压缩等l。协处理器可以有两种工作方式:旁路调用和数据通路。旁路调用方式中PE接收所有分组只将其中需要特殊处理的分组交给协处理器而数据通路方式中所有分组都会通过协处理器协处理器会对分组进行特定处理。由于PE和协处理器之间是异步的所以旁路方式可以隐藏部分延时而且此种协处理器有着模块化的优势可以根据需要扩展而不需要对体系结构作太大改动。数据通路方式存在两个问题:首先为了避免成为瓶颈协处理器必须以线速工作第二由于这些协处理器更紧密地集成在设计中很难进行改变。..PE间互联如果仅用一条中央总线存储访问会使总线迅速饱和如果用Crossbar又会受到成本、芯片面积的限制实际实现往往是二者的折衷。例如InteilIXP有多条而不是一条总线而且将所有PE分成两个簇簇内轻量级通信可用专门的NextNeighbour单向互连同时簇内各PE共享一个SRAMBUS和COMMANDBUS而簇与簇之间共享一个DRAMBUS。..外部接口NP通常是用来构成更大系统(如线卡)组成部分其外部接口特性决定了其与系统其它组件的集成能力外部接口通常有以下几类:网络接口:用来联结NP和外部成帧器或物理层设备。某些NP可能在片内集成MAC器件因此可以直接和PHY器件相连尽管这将限制其应用灵活性但确实使系统集成更加容易接口带宽决定了出入NP的流量。交换接口:用来联结NP和外部交换结构多用于有多个NP互联的设备。交换接口必须具备足够的带宽以容纳所有网络接口的流量。多数交换结构厂家拥有自己的私有交换接口系统实现时需要在NP和交换结构之间实现某种转换逻辑这造成系统设计的不便。目前NP设计的流武汉理工大学博十学位论文行趋势是提供可配置的交换接口支持既可以作为网络接口又可以作为交换接口。协处理器接口:用来联结NP和各种外部协处理器。控制处理器接口:用来联结NP和外部控制处理器。因此如果控制平面数据流量不大可以选择PCI作为控制处理器接口。如果需要大量平面间通信则可选择RapidlO和HyperTransport。.多核网络处理器软件框架定义..多核网络处理器与软件框架的设计为了说明多核NP结构及其在网络应用系统中的作用这里将多核NP结构与软件框架放在一起讨论。多核网络处理器结构与软件框架之I'日J的对应关系如图.所示。分级存储彼眼元IICPU状态lCI'U状态:l蕊羌lcch。I蕊未L===i======i===r:=i二二:=::=:=:CPU状态:丽i匪:邑丝鬯璃翻多援网络处璩器l超圭鍪耋竺坐========倚娜、p断控制平丽数据平丽多甲孵分t噶软纠:棉絮图.多核网络处理器结构与软件框架图.右半部给出了网络处理应用的逻辑框架其包含三个不同的平面表现出鲜明的多平面分离处理特点。狳厣坐塑cC一寸疆呖篙嚣武汉理工大学博士学位论文()数据平面主要包含线速分组处理任务它又可分为快速路径和慢速路径。快速路径是大多数不需要特殊处理的常规分组经历的处理路径其中包括检测和纠错流量测量和整形协议分解分组分类地址查找和转发排队和调度加密和压缩等操作而慢速路径主要包括异常分组的处理例如需要分段的IP分组以及带有选项的lP分组等。()控制平面负责处理协议消息(例如RSVP和OSPF等包含信令和路由信息的协议分组)以及对数据平面的控制操作这些操作往往不需要达到线速。()管理平面负责对整个系统进行配置和统计管理。虽然目前己有的多核NP芯片都具有自己独到的设计特色体系结构不尽相同但仍具有基本的共性。我们在图.左下部给出了一个抽象的多核NP结构其中包括多个分组处理引擎(PE)、分级存储结构、高速接口单元和片上控制处理器核。PE是负责数据平面快通路任务的处理引擎它通常是面向分组处理优化了的RISCcore而图中虚线部分是一组片上控制处理器核它是一个通用RISCcore通常用于完成数据平面的异常处理是数据平面慢速路径的执行实体。但在某些低端网络设备中片上控制处理器也可能用来执行控制平面甚至管理平面的任务而较高端的网络设备控制平面和管理平面的处理通常由一个或多个片外控制处理器负责。。.多核网络处理器的应用需求多核网络处理器的设计理念更关注于提供应用性能通过广泛的、根据条件的时钟控制来降低功耗处理器核心内建硬件加速器使用多核技术而不是简单的提高CPU的频率一体化的针对不同应用的专用协处理器使用标准指令集的简单软件模型采用新的SOC集成了专门定制的MIPS处理器和面向多层应用加速和安全处理硬件。为了满足下一代IPv和IPv网络的各种需求多核处理器需要集成从L.L的数据内容和安全服务硬件加速选项这些加速器分担MPSCPU的很多任务降低了获得千兆线速所需要的CPU主频从而降低功耗。随着新一代多核网络处理器的推出和应用开发技术的不断成熟多核NP在网络安全将向着应用安全、内容安全和更加复杂的功能集成的方向发展如IPS、VPN、防蠕虫等等。随着新一代多核网络处理器如:CaviumOCTEON、IntelIXP、SeawaySW等的推出对网络边界安全、应用安全、内容安全和武汉理工大学博叶:学位论文功能高度集成的方向将扮演重要的角色。多核网络处理器将成为安全的应用认知型网络的主流硬件平刽。~~叫。在多核技术的开发中需要解决解决个重要问题:一是多核之间的竞争关系如何协调二是多核的负载均衡如何实现三是对如何实现对多核中内存、cache等的管理。要解决这些问题就需要软件框架基于多核硬件进行接口设计对某些功能进行定义。面向各种高层网络应用的多核网络处理器的软硬件设计模式成为设备软件优化的关键路径。基于多内核的网络设备迫切的需要一个基于标准且具有更全面支持能力的开发框架与环境。..多核结构对软件框架的影响对于某种特定的指令集体系结构而言提高CPU性能的途径主要有三种:提高时钟频率优化处理器的内部结构从而降低平均指令周期编译器对程序进行优化减少指令的数量或者是降低所生成指令的平均指令周期时钟频率的提升已经很有限了更重要的是从体系架构并行技术乃至编译技术等方面提升处理器性能。在以应用为市场导向的今天影响处理器未来发展的不是硬件而是软件最重要的是软件如何利用和发挥处理器的特性。向多核结构的转变将给设备开发带来巨大的影响。为了将多核网络处理器的性能充分发挥出来硬件开发非常重要而软件设计的全面协作必不可少但是以前微处理器的体系结构改变机会都没有对软件结构造成影响例如以前推出的同时执行多个命令的超标量型微处理器以及给微处理器追加新命令时使用相应的自动编码器再次进行程序编泽不必修改软件就使性能得到了提升,,,】。然而在多核网络处理器中各个核平衡地并行执行命令如果不将程序分为任务级和线程级进行编写就不能充分发挥运算性能。除了多处理器结构服务器等部分例外情况在大多数软件开发现场具有并行处理的程序设计方法面临很大的挑战。与单核处理器软件相比多核处理器软件的程序结构与调试都变得十分复杂设计出能充分发挥多核性能的软件对于使用多核处理器的设备是决定产品性能的关键因素。多核处理器软件的设计必须首先研究可实现对称多处理的操作系统其次需要进行软件的优化使之最大限度地实现并行处理。武汉理工大学博七学位论文向多核处理器的转移也是改革现行软件开发的一个契机。例如在单核工作时并不明显的多任务的错误在多核并行工作时需要特别注意。嵌入式软件在有些情况下规定禁止中断以避免存储器资源发生争用而且赋予任务优先级以控制执行顺序。单核处理器执行多任务时即使任务之间共享的变量没有进行互斥控制也不会出问题。但是在多核处理器时如果没有互斥控制操作就会出现错误为了避免这种情况最根本的办法是设计软件时应尽可能的确保各个CPU能够独立地进行处理同时还需要改变差错排错的方卉【~。Il卜、o采用可实现SMP的操作系统实现了利用几个CPU核并行处理线程的环境但是如果线程没有被分割成能并行执行的形式系统只

用户评论(0)

0/200

精彩专题

上传我的资料

每篇奖励 +1积分

资料评分:

/37
仅支持在线阅读

意见
反馈

立即扫码关注

爱问共享资料微信公众号

返回
顶部

举报
资料