多核技术培训及趋势分析.ppt_第1页
多核技术培训及趋势分析.ppt_第2页
多核技术培训及趋势分析.ppt_第3页
多核技术培训及趋势分析.ppt_第4页
多核技术培训及趋势分析.ppt_第5页
已阅读5页,还剩75页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

,多核技术培训及趋势分析,Agenda,多核处理器背景介绍常见多核系统软件架构设计NGP平台的目标定位初探多核处理器典型代表:OCTEON多核处理器对比评估:OCTEONVSXLR,3,多核处理器背景介绍,网络的演进:Internet1.5,MainOffice,MobileWorkers,BusinessPartners,HomeOffices,Regional/RemoteOffices,WLANUsers,DataCenter,V,L2-L4SecurityOverlay:WirelessSecurity,IPsec,SSL,V,V,V,IPsecVPN,SSLVPN,网络的演进:Internet2.0Secure,ContentAwareNetworks,MainOffice,BusinessPartners,Regional/RemoteOffices,WLANUsers,DataCenter,V,NeedL2-L7DataandSecurityServices,V,V,V,IPsecVPN,SSLVPN,V,WirelessBroadband,3G,WiMax,MobileWorkers,HomeOffices,ServicesForNextGenerationNetworks,NetworkProtocols,TypesofSecurityServices,TypesofDataServices,RequirementsofSecure,ContentAwareNetworksforVoice,VideoandData,L4-L7DataServicesReadandinterpretmessagesatapplicationlevelinsteadofpacketlevelContentSwitchingCPUnotInvolved,PIPInputQOS,DropPacket,BackPressure,Y,N,PIPgenerateflowidentifier“TAG”PIPSubmitWQEtoSSO,SSOScheduleWQEtoCoreSSOkeeptheflowsequence,DataforwardCore0,Core,CoreN,CoreM,Get_Work,Get_Work,Get_Work,数据面负责快表查找,如果命中则直接进行快速转发数据面未命中则通过tag-switch交由控制面进行建流处理控制平面和数据平面分属不同的GROUP来区分获取报文,FPA,申请内存,多核CPU应用示例DPI参考数据流程(2),LookupFlowKeyTAG,CheckforSignature,SetupNewFlow,TakeAction:PermitDenyRemapToSSteer,RateLimit,MeasureUsage,MatchExistingflow?,Y,N,Y,N,Match?,Re-classifyflow,Y,N,Allowed?,DropPacket,Y,N,RateExceeded?,DropPacket,OutgoingPacket,N,ControlCPU,DataCPU,Tag-SwitchSSOinvolved,DFAInvolved,配合DFA引擎进行关键字匹配,协处理器,SSOTIMERFAUInvolved,PKOSendout,FPA,FreeMemory,32,NGP平台的目标定位初探,NGP平台概述,多核CPU的选型与评估针对目前主流多核处理器进行预研,针对目标产品应用进行测试模型搭建与测试,分析性能瓶颈点以及优化思路.软件平台搭建:构建基于多核处理器的支撑平台软件支撑平台主要包括BSP软件,操作系统维护,驱动及SDK维护,基于多核系统的中间件软件开发与维护.BSP软件主要提供UBOOT,支持软件加载,核间心跳监测,业务软件升级备份等功能.操作系统维护主要在于系统的选型和对系统调度的优化,硬件协处理器与操作系统结合的增量开发.同时需要评估芯片厂商操作系统的可靠度,针对芯片自带硬件加速单元进行软件封装.驱动和SDK的维护主要负责底层代码跨CPU体系的移植,相关驱动问题定位.整合底层驱动模块使其具有良好的移植性.便于后期上层业务软件移植与整合.负责SDK版本的更新与新型号的芯片支持.基于多核系统的中间件软件开发与维护第一步工作主要是根据上层业务软件需求,封装必要的支撑函数.结合芯片特性封装的二次开发包软件,构建多核系统下的基础通信通道.然后在前述工作的基础上,对NGP平台软件进行良好的整合.使其既能满足前端机的需求,又能便于日后扩展产品,做为中间件软件的需求.另外支撑平台软件架构需要可适配不同的多核处理器核心数量,软件架构能够灵活调整.支持不同系列的多核处理器.与上游芯片厂商保持紧密的合作关系,构建多样化的硬件平台,NGP平台选型参考点,评估各多核处理器的转发性能,结合芯片特性,进行软硬件的综合考量.软件提供的开发包的功能完整性和稳定度.厂商能够提供技术支持的力度,芯片价格等.芯片功耗是否具有优势,芯片稳定度等.是否具有良好的产品演进路标多核处理器今年处于新一代的换代时间点.新一代处理器的性能预计会大幅上升,同时功耗降低,工艺提升.根据目前公司产品研发的速度,需要进一步评估研发时间点与上游厂商芯片换代的时间切合程度.需要保证今后产品容易切换到新的芯片型号,软件架构,软件驱动等可以平滑升级.硬件改动可以做到相对较小是否可以提供从低端到高端全线的芯片型号选择随着多核处理器的发展,网络检测设备可以根据需求灵活变换内置芯片内核的数量.因此要求上游厂商可以提供多样的产品线,软件保证全部兼容是否在硬件接口上可以满足目前以及日后的分布式系统IP化的需求需要定义下一代网络测试设备对接口的需求,如PCIE,千兆网口,万兆网口,RAID加速等.上游厂商的芯片目前普遍内置各类接口,可以有效的降低BOM成本.需要评估目前多核处理器的PCI通道上的吞吐率,并与X86对比。需要评估是否支持PCI通道上的虚拟网口技术。便于软件开发的一致性。,前端机的目前实现(1),驱动,驱动,数据采集分发进程,收数据,底层解码,软总线进程,处理进程,上层解码,合成,Disk,Data,CDR,自身维护进程,处理进程,上层解码,合成,处理进程,更上层解码,合成,处理进程,更上层解码,合成,CDR,前端机的目前实现(2),数据采集分发进程主要负责从接口侧接收流量,进行初步的流分类,并通过软总线转交给上层的解码进程.QA:剥离数据采集分发进程,脱离操作系统支持,做为数据面针对流的快速识别,整合,分发.并通过软总线转发到对应的后端核上处理.QA:是否可以在现有的实现基础上,利用部分硬件的解析校验功能,以节约CPU资源.解码进程主要关注报文的上层业务分析与复杂处理.QA:做为Linux下的用户进程,是否可以根据需要进行并行处理的改造,以便充分利用多核处理器的性能优势.QA:针对芯片提供的加解密加速指令,是否可以优化代码,通过CPU的加速指令来优化性能.软总线进程QA:由于目前多核处理器都提供特定的核间通信机制.如OCTEON的SSO,RMI的FMN.因此是否可以考虑对现有的IPC机制进行优化.分为芯片内和跨芯片两种场景.对于芯片内跨核心的IPC,利用多核处理器的硬件特性进行性能优化.自身维护进程,前端机-流量采集特点(1),接收流量交大,转发流量较小目前的多核处理器在接收端的报文所需的内存都是由硬件自动申请,不需要软件干预,由于接收流量非常大,因此要求硬件支持的缓冲区没有容量的限制,同时在性能评估时,也要要求把硬件的缓冲区开到最大,以验证可靠性.如果硬件的缓冲区数量够用,可以减少内存拷贝的次数.提高性能.由于接收流量较大,因此必须能够在多核系统上实现良好的负载均衡.在大流量输入时候,能够保证整个系统的流量均匀的分配到多个核心上,以避免某个核心忙,某个核心却很闲的情况出现.OCTEON的一个主要优点在于容易实现负载均衡.在接收端利用硬件的流识别,和流绑定.这样同样的流可以只通过一个核处理,减少核间的消息传递.RMI和OCTEON都可以做到这一点.区别在于OCTEON支持前端一级的QOS机制.由于需要对协议处理进行业务分析,对于多核系统并行处理时候,能够保证流的排序.以免乱序造成协议分析出错.RMI需要软件支持.OCTEON可以通过硬件支持.,前端机-流量采集特点(2),业务处理较复杂,需要对大量的报文进行缓冲和深度识别由于需要对报文进行深度查找,包括跟踪协议处理进程.因此硬件的协处理器如DFA硬件单元是否能够集成的目前的软件中去.大量的复杂协议分析,相关的大量缓冲区,数据结构等都是基于原有X86体系的CPU设计,因此目前情况下需要根据嵌入式处理器的特点进行优化,典型问题是表的算法,表的对齐等等.由于多核系统的并行处理,在对报文进行缓冲和识别的过程中,前端采集分发进程需要能够保证”正确的流”到正确的”核心”上去,这样就可以减少锁的存在,减少临界区的保护.反之则容易导致软件BUG和影响性能.如果采用并行处理方式,是否可以把解码进程整合为单一任务,这样更便于进行并行处理.,现有软件如何结合芯片特性发挥出多核处理的性能优势TCP/IPL2/L3/L4硬件报文解析,校验硬件高精度时钟对于基于会话的应用至关重要硬件存储器管理单元(FPAunit)给予处理器内硬件单元独立于操作系统操作内存的能力,提供更加强大的软硬件协同工作能力提供应用程序友好性,UNIX风格的skbuf/mbuf核内建的安全处理器为IPsec,SSL,和Wirelesssecurity等应用提供更好的应用平台更好的小包性能硬件Compression/Decompression单元对基于内容的应用至关重要,如Contentinspection,Anti-Spam,Anti-Virus,Anti-Spyi.e.,最多达32个并行正则表达式查找引擎DFA对内容搜索及检测等智能应用至关重要,前端机-流量采集特点(3),前端机软件架构设计基于多核系统的一些考虑多核系统的软件设计非常灵活,如何很好的划分目前各软件模块的工作量,并合理的分配到各个硬件核心上.由于RMI的多线程技术,可以把工作划分更细,但是由于线程间共享很多的硬件资源,又会反过来相互影响性能,另外Linux系统下,对多线程技术支持不是很好.目前协议分析处理负荷很大,需要跟踪各协议的处理流程.因此是采用全并行处理还是串行+并行处理需要进一步的评估.1.全并行处理一个主要优点就是可以灵活的适应日后的升级.2.可否把目前的一些复杂的工作分离,通过一些协处理器进行加速(如SSO可以和协议处理阶段进行结合设计).缺点就是软件的通用性较差,与特定的芯片关联度较高.SupportPipelinesoftwarearchitectureDifferentcoresbepartitionedintodifferentgroupDifferenttasksrunningondifferentCPUCoregroupsUseSSOunitascommunicationstationtopassmessagesbetweengroupsSupportParallelsoftwarearchitectureAllcoresinthesamegroupAllapplicationsrunningonthesameCPUcore,meansalltaskswillbehandledbythesameCPUcoreSynchronization,SchedulingandOrderingaretheburningissuesforMulti-coreprocessorrunninginparallelmodeLockstronglyimpactsthesystemperformanceandscalabilityLoadbalancing(schedule)betweencoresneedlotsofCPUcomputing,CPUneedstomaintainlotsofqueues,windowsorotheralgorithmtodotaskschedulingUpto32SPI4.2(16perPIP);4PCIAllocatesbufferspaceandDMAspacketdataorprogrammableportionofpackettoL2orDRAMInputPacketHWperformsallparsing/checkresultstooffloadMIPScoresL2type,errorchecks(FCS,FrameError,LengthMismatch,etc.)IPv4SupportsVLANstackingAcceptsexternallygeneratedtagthroughheaderPacketpriority:comboofdefault,VLAN,diffservonper-portOptionalRED(RandomEarlyDetection)fordroppingpacketswhenfreebufferspacegetslowInterface“backpressure”priortopacketsbeingdroppedCreateWorkUnitandsubmitsittotheSynch/Sched/OrderOptionally,performflow-load-balancingacrossgroupsinaflexiblemanner,OCTEONPacketOutputProcessingFeatures,128dynamicallyallocatedoutputqueuesUnlimitedsize;ResideinL2/DRAMUpto8queuespervirtualoutputport36virtualoutputportsUpto8RGMII;Upto32SPI4.2;4PCIHWarbitratesbetweenassignedqueuesforeachportHWDMAspacketdatafromL2/DRAMouttotheportsL4(TCP/UDP)HWchecksuminsertionHWsupportsgatherWeightedfairarbitrationamongstqueuestoeachport,oralternativelysetaqueuetohighestpriority,OCTEONSchedule/Synch/OrderUnitFeatures,WorkschedulingRelievesSW(andcoherentbus)oftheworkschedulingburdenlowoverheadmultiprocessoroperationTagmanagementofin-flightworkOrdering&Synchronization8inputworkqueues(e.g.QOS),unlimitedsize2Kinternalentries(in-flight+inputqueue)OverflowsintomemorywithautoprefetchPerformance:Upto100MtagswitchespersecondUpto30Madd-work/get-workspersecond16groupsAnycorecanparticipateinanygroupFulldebugvisibility,HowSSOUnitWorks(1),TagTupleThe“TagTuple”isthecombinationoftheTagTypeandtheTagValue.TheTagTypeisoneof:ORDERED,ATOMIC,orNULL.TheTagValueisa32-bitnumber.ThefirstTagValueissetbythePIP/IPDwhenthepacketisreceived.Notethat“ORDERED-5”and“ATOMIC-5”aredifferenttagtuples.ORDEREDTagType:ParallelProcessingMultiplepacketsfromthesameflowwithanORDEREDTagTypemaybeprocessedinparallelbymultiplecores.SSOwillkeepthepacketorder.ATOMICTagType:SerializedProcessing:AccessingCriticalRegionsOnlyonepacketwiththesametagtuplecanhavetheATOMIClock.ATOMICtagtupleprocessingisserialized:one-at-a-timeiningress-order.NULLTagType:Unordered,notserialized,notsynchronizedNULLTagTypesareneitherorderednorserialized:multiplecorescanprocessmultiplepackets,andnopacketorderismaintainedbytheSSO.,WorkQueueEntry(WQE)TheWorkQueueEntry(WQE)isadatastructurewhichcontainstheTagType,TagValue,QoSvalue,Group,andapointertothePacketDataBuffer.TheIPDallocatestheWQEBufferfromtheFPA.ThePIP/IPDfillintheWQEfields,thensendstheWQEpointertotheSSO.,HowSSOUnitWorks(2),SSOWorkDescriptorsTheSSOcontainsinternalmemory.PartoftheinternalmemoryhasbeenusedtocreatealimitednumberofWorkDescriptors.EachWorkDescriptorcontainsthekeyinformationneededbytheSSOtoscheduletheworkonacore,andtokeepthepacketsinthecorrectorder.,OCTEONArchitectureandPacketFlow,ParsethepacketasitarrivesReceiveandbufferthepacketAllocateabufferforandwritetheWQEintoL2,PacketsqueuedforoutputonspecificportEachporthasmultipleprioritizedqueuesPacketbuffermemorycanautomaticallybereturnedtothefreepoolCanbeconfiguredtoinsertL4checksumonpacketegress,OCTEON转发流程介绍:PacketInput,65,OCTEON转发流程介绍:SSOandCoreProcessing,66,OCTEON转发流程介绍:PacketOutput,67,SSO协处理器单元可以进行基于流的硬件保续,解除多核系统上架构设计时对流进行保续的困扰SSO单元支持灵活的流类型,可以同时保证在在多核系统上对于单流的并行处理和多流转发时临界区的互斥Core主动Get_Work的获取方式便于实现多核系统的负载均衡,有效的避免常见多核系统无法有效的分配负载问题PIP/PKO单元硬件支持QOS特性,可以保证性能的平滑并且有效的避免端口拥塞.FPA单元可以实现硬件的内存申请与释放,有效的降低在大容量转发时的CPU申请释放内存的负载,OCTEON处理器架构典型特点(1),硬件Timer可以实现高精度的定时器,支持灵活的触发方式,有效的加速上层业务处理.FAU(Fetch-AddUnit)单元可以有效避免因为计数互锁导致性能的降低,以及AtomicAddWord/DoubleWord等扩展指令通过SSO单元进行临界区的互斥,提供相对于传统spin_lock更好的公平性.cnMIPS内核采用MIPS64release2指令集,相对标准的MIPS可以节约15%的指令每个CPU内核都内置独立的Security引擎,内置支持的算法种类较全.CN56XX系列处理器支持RAID算法,可以对存储进行加速.,OCTEON处理器架构典型特点(2),70,多核处理器对比评估:OCTEONVSXLR,RMIXLRBlockDiagram,OCTEONvsRMIXLR#1:MIPS64ProcessorCore,MIPS64R1core7+yearoldreleaseofinstr.setUses1.3x+moreinstructionscomparedtoOCTEONfornetworking10-stagepipelineResultsinlargebranchmis-predictpenaltiesNegativelyimpactsperformance1-issueMaxinstructionspercycle(IPC)oneachCPUonXLRcanbe1MaxpossibleIPC/threadis0.25Inpractice,XLRIPCis0.5to0.85,MIPS64R2+ExtensionsIndustrysfirstimplementationofMIPS64R2instructionsetExtensionsoptimizedforpacketprocessing,automaticallygeneratedbyGNUcompiler5-stagepipelineLowermis-predictpenalties2-issueMaxIPConeachcnMIPScanbe2MeasuredIPCof.91.8IPC,XLRCores,OCTEONcnMIPS,OCTEONvsRMIXLR#1:MIPS64ProcessorCore(2),XLR:thenumberofcoresXLR:theinstructioncachesizeperthreadDifferentthreadsonacoremustrunidenticalcodeforgoodperformanceCodemustfit,elseinstructioncachethrashingNotsuitedforL3-L7ApplicationsUsedpreviouslyonlyinL2-3NPUsXLRMulti-threading(4-threads)Limitedcapability:thread-switcheverycycleorweightedswitchingSwitcheverycycleresultsinall4threadshittingmemoryaccessatsametime,eliminatinganybenefit&loweringIPCWeightedthread-switchingverycomplicatedtosetupandtuning,OCTEON:2xthenumberofcoresOCTEON:4xtheinstructioncachesize

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论