书签 分享 收藏 举报 版权申诉 / 111
上传文档赚钱

类型第三代网络系统课件.ppt

  • 上传人(卖家):三亚风情
  • 文档编号:3033395
  • 上传时间:2022-06-24
  • 格式:PPT
  • 页数:111
  • 大小:1.06MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《第三代网络系统课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    第三代 网络 系统 课件
    资源描述:

    1、第三部分 网络处理器技术主要内容p第三代网络系统与网络处理器p网络处理器体系结构p网络处理器的扩放 p网络处理器举例 p网络处理器的设计权衡1.1 第二代网络系统回顾p第二代网络系统对第一代网络系统的扩展:n将包的分类和转发功能下放到NIC上n引入了快速数据通路的概念p优点:可以支持更多的网络连接p缺点:仍依赖通用CPU处理例外的包,当集合包速很高时,CPU仍然是瓶项。1.2 第三代网络系统p出现于上世纪90年代后期p在每个网络接口上使用定制的硬件处理例外的包及高层协议(至第四层),即执行数据面(data plane)上的所有任务:n第一、二层功能:市售的物理层芯片组n第三层基本功能、包分类及

    2、转发:ASIC硬件n第四层协议及例外包:嵌入式处理器n流量管制、监视和统计: ASIC硬件 p标准CPU负责执行控制面(control plane)上的任务。第三代网络系统的概念组织嵌入式处理器p为什么采用嵌入式处理器而不是ASIC?n处理任务不涉及快路径,不需要太快的速度n第四层协议庞大而复杂,采用软件实现比较合适p为什么选用RISC而不是CISC处理器?nCISC处理器的大指令集对于协议处理没有增强作用nRISC的指令集比较简单,CPU可运行在较高的频率nRISC芯片的硬件接口比较简单,硬件设计较容易nRISC处理器通常比较便宜,且功耗较小 第三代网络系统的问题p由于执行一个复杂的任务需要

    3、许多条指令,当集合速率很高时,RISC处理器仍然是瓶颈。p上世纪90年代中期,工业界普遍认为能够处理因特网骨干连接的唯一可行技术是专用芯片。p使用ASIC代替RISC处理器的缺点:n开发周期长:设计复杂,芯片设计者不了解协议处理,修改费时n成本高:开发周期长,生产成本高,修改代价高,产品寿命短n仿真困难:对协议栈进行大量仿真不可行n可重用性低:在不同的产品、不同版本的产品中几乎不能重用或重用很有限n需要专业人员pRISC VS. ASIC是一个两难的抉择。1.3 第四代网络系统p目标:n结合第一代网络系统的灵活性与第三代网络系统的高速度。p在因特网早期,第一代网络系统能够很好地适应新的协议标准

    4、和网络功能。pIP协议的相对稳定及以太网成为企业网主流技术减小了对网络产品灵活性的要求。p为什么仍然需要灵活性:n新的IP特性(如QoS,MPLS,多播,移动IP)要求网络产品支持新的应用n网络接口的类型在增加1.4 网络处理器的概念p网络处理器的设计目标:n结合ASIC的高速度和嵌入式处理器的灵活性,p网络处理器的定义:n网络处理器是一种专门针对网络处理而优化的可编程芯片,它结合了RISC处理器的低成本和高灵活性以及ASIC硬件的高速度。p网络处理器应具有的特点:n较低的成本n简单的硬件接口n内存访问能力n可编程能力n可扩展到高速度网络处理器的基本设计思想p通过可编程性获得灵活性,通过灵活性

    5、降低成本:n类似于常规处理器,硬件保持不变,通过软件来控制包的处理。n硬件复用性好,可应用于任何一种协议处理。n方便系统设计、实现、修改和升级,缩短开发周期。p高性能设计的关键:n针对协议处理优化的指令集(通用性 VS 速度)n利用多处理器体系结构获得可扩展性(并行 VS 流水线) 网络处理器的位置p目前n比传统CPU贵,比ASIC慢n比传统CPU快,比ASIC便宜网络处理器 VS. ASICp用ASIC开发的系统n开发成本高(一百万美元)n生产成本低p用网络处理器开发的系统n开发成本低n生产成本高p使用网络处理器的动机主要是经济方面的:n开发成本比ASIC低n处理速度比传统CPU高1.5 网

    6、络处理器的一般设计问题p网络处理器的设计取决于:n要执行的操作n在网络系统中的作用p研究目标:n一个通用、优化的硬件设计,能够应用于系统体系结构中的任何地方和处理任何协议p设计的困难:n不仅要求功能全面,而且要求功能最小化包处理功能p地址查找和包转发p差错检测和纠正p分片、分段和重组p解多路复用p包分类p排队和包丢弃p调度p安全:认证和保密p流量测量、整形和管制p定时器管理 问题p以上列出的任务包括所有的协议处理了吗?p哪些功能的优化是最重要的?p以上功能如何映射到一个典型的网络系统的硬件单元上?p在一个典型的网络系统中,哪些硬件单元可以用网络处理器来替代?p实现以上功能的最小通用指令集是什么

    7、? 1.6 任务分组p为设计最小指令集,将协议处理任务划分成几个组,分别找出适合于每一组任务的指令集,然后将它们集成到一个最终的指令集中。p最常见的一种划分方法是将包处理任务分成两个组:n当包到达时执行的处理,称为ingressn当包离开时执行的处理,称为egress Ingress处理p差错检测和安全检验p分类或解多路复用p流量测量和管制p地址查找和包转发p包头修改和传输层接续p排队和调度 p包重组或流终止Egress处理p校验码生成p地址查找和包转发p分段或分片p流量整形p定时和调度p排队和缓存p输出安全处理(如加密) Ingress 和 Egress的分界线1.7 并行和分布式处理结构p

    8、提高网络处理器扩展能力的三种技术:n包括专门的硬件单元用以处理特定的任务n关键的硬件单元被复制多份,各自独立运行(并行或流水线执行)n网络处理器工作在分布式环境,可以一起工作以获得更高的集合吞吐量 p对扩展性的关注给网络处理器的设计带来很大的困难:n必须选择适合每个特殊任务的硬件单元n选择要被复制的硬件单元n选择支持分布式执行的硬件单元n缺乏网络协议的经验,硬件设计者没有现成的经验规则可以使用。1.8 网络处理器在网络系统架构中的作用p代替一个常规的CPUp增强一个常规的CPUp用在NIC的输入路径上p用在NIC和交换结构之间p用在交换结构和输出接口之间p用在NIC的输出路径上p像其它端口一样

    9、连接到交换结构上 代替一个常规的CPUp网络处理器必须具有常见的CPU功能和优化包处理的特殊功能p指令集中应包括:n常规指令:算术指令,数据操作指令n特殊指令:处理数据包的指令增强一个常规的CPUp将网络处理器附加到一个常规CPU上nCPU执行大部分的包处理n网络处理器执行特殊的任务p两种结构上的方法:n作为预处理器:在包进入CPU前进行处理,比如从硬件端口获取数据包,执行Ingress处理等n作为协处理器:可以执行任何操作p使用网络处理器来增强CPU而不是替代CPU的优点:n不用考虑常规指令,网络处理器的设计复杂度低p缺点:n需要有调用网络处理器的硬件,增加硬件开销置于NIC的输入路径上p网

    10、络处理器从输入端口获取数据包,执行Ingress操作p优点:n灵活性好,可以方便地修改Ingress处理置于NIC和交换结构之间p网络处理器作为NIC和交换结构之间的仲裁者。p通过与交换结构的控制器交互建立路径、传输数据和释放路径。置于交换结构和输出接口之间p在使用分布式控制机制的交换结构中,每个输出端口控制对自己的访问。p当输入端口准备好使用交换结构时,输入端口使用另一个独立的机制通知输出端口;输出端口调度请求,在交换结构准备好时通知发送者。p网络处理器可用于协调输出端口的访问。置于NIC的输出路径上p网络处理器执行Egress处理,从交换结构接收分组、管理队列、流量整形、向输出端口发送包等

    11、。直接连接到交换结构上p网络处理器可以像任何其它端口那样连接到交换结构上,从而可以作为一个中间节点,执行包处理任务。p如果将多个网络处理器连接到交换结构上,系统可以将输入的数据包分布到整个网络处理器集合。p优点:n易于扩展n允许最大的并行性1.9 宏观数据流水线p每个stage由一个网络处理器实现,网络处理器直接连接到交换结构上,利用交换结构提供相邻stage之间的连接。p优点:n支持异构处理器,降低对网络处理器通用性的要求n允许跳过流水线中的某个(些)stage,克服了流水线的一个主要缺点。1.10 网络处理器设计和软件仿真p硬件设计者依靠软件仿真评估设计的性能和正确性p和常规处理器不同,传

    12、统的软件基准测试对于网络处理器不适用:n不同体系结构的低层硬件细节不同,应用和基准程序不能在不同的网络处理器间共享。n软件必须被重写以适应要测试的体系结构,甚至可能需要完全重新组织,这使得性能比较很困难。p网络处理器设计的关键是软硬件协同设计。1.11 网络处理的其它方案pNet ASICn一类特殊的网络处理集成电路的统称,包含能实现大部分网络处理功能的辅助硬件,但不可编程。n优点:p全硬件实现,具有确定的处理性能p软件开发环境是开发人员熟悉的n采用Net ASIC的公司大多缺乏设计和工程经验,缺乏资金或者市场,无法忍受专用ASIC漫长的开发周期,另外也不愿意去学习陌生的开发平台,导致开发周期

    13、延长。n由于商业的原因,Net ASIC的开发进程已终止。网络处理的其它方案(续)p基于IP Core(Intelligent Property ) 设计:n20世纪90年代得到广泛应用,现在一个完整的SOC包括了多个结构化的核心电路模块。n系统设计者向可靠的第三方获取电路核心设计的使用许可,避免重新设计n核心电路采用标准化设计,易于集成n模块可重用,缩短开发周期n授权费用高昂n主要客户是大的网络设备提供商,市场较小。主要内容p第三代网络系统与网络处理器p网络处理器体系结构p网络处理器的扩放 p网络处理器举例 p网络处理器的设计权衡2.1 网络处理器体系结构的多样性p多种网络处理器体系结构存在

    14、:n网络处理器内在的复杂性允许采用多种不同的体系结构来设计n固定用户群的缺乏给了开发商在选择设计方案时有更大的自由度n工业界对于网络处理器设计的许多问题没有一个统一的认识p哪些协议处理功能要映射到专用硬件上,如何映射p网络处理器在整个系统体系结构中的最佳作用p网络处理器中应包括哪些硬件构件块,哪些硬件功能要被复制,如何组织各个部件p如何在多个网络处理器之间建立有效的分布式连接2.2 网络处理器体系结构的主要特征p处理器体系(processor hierarchy)p存储器体系(memory hierarchy)p内部传输机制:在芯片内部各功能单元之间提供数据通路p外部接口和通信机制:与网络系统

    15、其余部分的连接p专用硬件p轮询和通知机制:异步事件处理机制p并发执行支持:最大化系统吞吐量p编程模型和范例(programming model and paradigm)p硬件和软件分配机制(hardware and software dispatch mechanisms)p隐式或显式并行处理器体系p指执行各种包处理任务的硬件单元,包括可编程的和不可编程的p一个典型的网络系统中的处理器体系:网络处理器中包含的处理器p网络处理器通常包含了许多协同工作的物理处理器:n一个或多个嵌入式处理器,处理高层协议和提供整体控制n一个或多个专用协处理器,为特定的包处理任务而优化n一个或多个I/O处理器,以线

    16、速执行ingress和egress处理n一个或多个与交换结构的接口n一个或多个数据传输单元,在I/O设备与内存之间传递数据包。存储器体系p分级存储系统可以较低的代价获得较高的性能:n分级存储系统呈金字塔形,等级越高的存储器容量越小、速度越快,成本越高n各种数据依照访问频度的高低放在相应层次的存储器中p网络处理器芯片通常不包含大容量的存储器,但包含接口硬件。p存储器体系是对网络处理器的基本补充。内部传输机制p在网络处理器芯片的功能单元间提供数据通路的任何机制,用于传送元数据、数据包及辅助数据等。p由于网络处理器芯片包含多个独立的处理器,内部通信对于性能来说非常重要。p大多数网络处理器包括多种传输

    17、机制:n内部总线:提供连接多个功能单元的数据通路,多数使用集中式访问控制,确保每次只有一个单元访问总线。n硬件FIFO:用于连接不同速度的功能单元n传输寄存器:提供缓存的传输,不要求顺序访问n片上共享存储外部接口和通信机制p外部连接包括:n标准和专用的总线接口:处理电气连接的细节和提供对片上处理器的总线访问;n存储器接口:优化与存储器的交互;n直接I/O接口:允许片上处理器访问外部I/O设备;n交换结构接口:处理与交换结构的接口细节专用硬件p除协处理器外,网络处理器可以包含至少两类专用硬件:n控制硬件:协调硬件单元对共享资源的访问n可配置硬件单元:其参数可被配置,然后被调用执行某个任务,是对专

    18、用协处理器和完全可编程处理器的一个折衷。轮询和通知机制p处理异步事件的两种机制:n轮询:要求一个活动单元不断地测试与事件相关的硬件n通知:用硬件或软件中断实现p高速系统倾向于使用轮询以避免中断的开销。并发执行支持p一个典型的网络处理器在多个层次上提供对并发线程的支持:n嵌入式RISC处理器中:由操作系统提供并发支持,上下文切换开销大n低级I/O处理器中:由硬件提供并发支持,切换代价很低或没有p两个问题:n线程的执行可否跨越多个处理器:全局线程提供更多的灵活性,但带来处理器间切换的开销。n线程是否可抢占:允许抢占则编程比较容易,不使用抢占则程序员有更多的控制处理的能力。程序设计的硬件支持p对程序

    19、设计的两种最流行的硬件支持形式:n异步事件处理程序:程序员创建一组处理程序,每个处理程序同一个特定的事件关联,当事件发生时系统调用相应的事件处理程序。事件可能来自硬件或软件。n通信线程:多个线程独立执行,线程使用进程间通信机制将数据从一个线程传递给另一个线程。一个线程典型地执行一个无限循环。 do forever wait for next input packet, P;process P;send P on to next thread; 硬件和软件分配机制p分配(dispatch)是指对并行或并发任务的整体控制p分配器将一个准备就绪的任务指派给一个特定的处理器或线程p可以使用硬件或软件来

    20、控制分配,一般而言,n软件分配用在有操作系统的处理器上n硬件分配由没有操作系统的低级I/O处理器使用显式或隐式并行p显式并行:n硬件体系结构的并行细节暴露给程序员n程序员具有更多的控制执行的能力n要求程序员了解底层硬件细节n程序可重用性差p隐式并行:n向程序员隐藏硬件体系结构的并行细节,程序员采用单线程执行模式编写程序,由硬件自动完成并行化处理。n减小了编程的复杂度,易于程序重用。2.3 网络处理器的主要设计风格p嵌入式处理器加不可编程的协处理器p嵌入式处理器加可编程I/O处理器p多个并行的处理器p处理器流水(pipelined processors)p数据流(dataflow)嵌入式处理器结

    21、构p单个处理器,处理所有的功能p称为run-to-completion并行体系结构p每个处理器处理总负载的1/N流水线结构p每个处理器执行一个功能p数据包穿过流水线处理器的时钟速率p单处理器结构中,处理器的处理包速为线速。p并行结构中,每个处理器的处理包速为1/N线速,时钟速率为单处理器结构时钟速率的1/N。p流水线结构中,每个处理器的处理包速为线速,时钟速率小于单处理器结构时钟速率,理想情况下为1/N。数据流体系结构p一个数据流处理器由一个大内存和一个选择器硬件组成;p内存中的每一个数据项包含一个标签,说明需要进行的处理;p当一个功能单元空闲时,选择器从内存中选择一个数据项交给功能单元处理;

    22、p数据流结构可以有多个并行执行的功能单元以提高性能n每个功能单元的时钟速率可以降低n选择器和内存仍必须运行在线速以上 2.4 软件体系结构p集中式程序,像调用子例程一样调用协处理器 p集中式程序,与智能可编程I/O处理器上的代码交互p通信线程p事件驱动程序pRPC风格(程序在处理器之间划分)p流水线(即使硬件不使用流水线)p以上模式的组合 可编程处理器的使用例子p最佳利用底层硬件特点的软件体系结构必须被设计为与处理器体系相匹配,特别是每个处理器被用来处理与其能力相适应的任务。p通用CPUn最高级功能,管理接口,系统控制,整体管理功能,路由协议p嵌入式处理器n中间级功能,高层协议,I/O处理器控

    23、制,异常和错误处理,高级的输入处理(如包重组),高级的输出处理(如流量整形)pI/O处理器n基本包处理,分类,转发,低级的输入/输出操作数据包流经处理器体系p包处理任务应当被分配到能够执行该任务的最低级处理器上去执行。pI/O处理器的处理能力对系统性能的影响很大。主要内容p第三代网络系统与网络处理器p网络处理器体系结构p网络处理器的扩放 p网络处理器举例 p网络处理器的设计权衡3. 网络处理器的扩放(scaling)p扩放:支持更高的数据速率或更多的网络接口p限制网络处理器扩放规模的主要因素:n处理器(处理速度)n内存(访存速度)p其它因素:n芯片面积,电气及光学特性,软件,3.1 处理能力的

    24、扩放p提高单个处理器的处理能力p增加处理器的数目p增加处理器的类型(1)提高单个处理器的处理能力p这里主要指提高低级处理器的处理能力。p提高时钟频率:p受底层硬件技术限制p当外部延迟控制处理时间时,对于扩放无帮助p提高并行度(允许多个执行线程):p在不提高处理器速度的前提下支持更高的网络流量p可用线程数受(I/O处理时间/计算时间)的限制(2)增加处理器的数目p使用多个处理器拷贝,并使它们并行工作。p问题:需要多少个处理器拷贝?p在处理器体系中,较低的处理器需要处理较多的数据流,越高级的处理器需要的处理能力越少,因此越低的处理器等级从并行获得的收益越多。p两个因素限制处理器的数目:n处理器之间

    25、的协调机制可能成为瓶颈p可以复制多个协调机制,令每个机制只协调少量处理器n内部数据通路和内存可能成为瓶颈处理器等级的扇出p扇出(fan out):表示并行性随处理器等级的下降而增大的概念。(3)增加处理器的类型p增加处理器类型的三种方法:n在处理器等级中插入新的层次n将新的协处理器插入到一个异构流水线中n增加新的协处理器,用以缷载嵌入式处理器或I/O处理器中的计算p原则上,常规处理器控制下的专用协处理器可以提供扩放。实际上,常规处理器以及在常规处理器和协处理器之间传递数据和结果的机制可能成为一个瓶颈。p组织成流水线结构的一组协处理器常常比集中控制下的协处理器运行得快。3.2 存储器扩放p任何一

    26、种处理器扩放都要求有相应的存储器扩放。p存储器等级和处理器等级之间没有直接联系。p存储技术的选择通常涉及对以下四种主要存储特性的权衡:n存储大小:一般可以预先确定或者和系统规模有关n访存延迟和访存周期:p访存延迟是存储器芯片对一个访问请求的响应时间,访问外部存储器比访问片上存储器要慢大约一个数量级。p访存周期定义为两个连续请求之间所需要的最小时间间隔n特定应用:针对特定应用选择合适的存储技术n成本:设计者通常选择一个满足给定需要的成本最低的存储器存储器扩放的措施p增加内存大小p增加内存带宽p增加存储器种类p增加高速缓存p增加内容可寻址存储器(CAM)(1)增加内存大小p某个等级上的存储器大小与

    27、处理器数目没有关系,而是倾向于和成本成反比。(2)增加内存带宽p内存带宽:存储器一次可以传输的数据比特数。p优点:n增加内存带宽可以加快块数据的传输p缺点:n增加内存带宽不能减少小数据量传输所需的时间n要求较多的芯片物理空间和较多的外部连接(3)增加存储器种类p针对特定应用使用合适的存储器技术(4)增加高速缓存p高速缓存是一种用来减小访存延迟的技术。 p原则上说,Cache能够极大地提高性能。p但Cache不能解决扩放的一般性问题:nCache的有效性取决于数据访问的重复性,但包处理任务一般不具有高引用时间局部性。n弥补以上问题需要较大的cache空间,占据较多的芯片面积,并要求较长的搜索时间

    28、。p一般而言,cache对于网络处理器的扩放作用不大,因为它对于处理一系列低引用时间局部性的包来说是非常低效的。(5)增加CAMpCAM是一种支持快速搜索和数据存储的存储机制,主要用于改善查表操作的性能。pCAM被组织成一个二维阵列,其中每一行的长度固定,称为一个槽。pCAM提供的查找操作是并行匹配,处理器提供一个查找关键定,CAM返回匹配该关键字的一组槽,响应时间一般不超过100ns。CAM的组织TCAM的实现p硬件在每个入口存储一个二进制数和一个掩码。p掩码的长度等于槽长度,用于说明槽中哪些比特要和查找关键字中的相应比特进行比较。pTCAM对于快速包分类尤其有用,可以并行地执行分类表的查找

    29、,并返回一个分类ID。用TCM查找分类表Associative Memoryp使用CAM保存附加信息的概念可以推广以构成相联存储器。p与查找关键字相关的附加信息存放在一个单独的RAM中。pCAM的每个槽放两个值,一个查找关键字和一个指向RAM中附加信息的指针。p这种间接关系允许程序员不修改硬件而改变查找关键字和附加信息之间的绑定。用 CAM 构建的相联存储器3.3 其它制约扩放的因素p芯片面积n有限的空间限制了并行和存储的数量,不能将任意数量的处理器或存储器加到一个芯片上。n可用空间也限制了内部连接的选择,特别是内部数据通路的带宽通常取决于并行线路的数目。p时钟偏移和信号传播延迟n信号传播延迟

    30、和时钟偏移限制了芯片的大小和数据通路的长度。p管脚n有限的管脚限制了芯片的可扩展性。其它制约扩放的因素(续)p内部和外部通信n许多包处理任务是I/O密集的,因此数据传输速度会制约扩放性。n内部通信机制提供片上通信,包括总线。n外部通信机制提供网络处理器之间或者网络处理器与其它设备之间的通信,包括外部总线和交换结构。p电气和热力学特性n功耗和产热限制芯片的复杂度和规模p软件n许多网络处理器要求程序员编写适合硬件的代码。n流水线结构上的软件扩展非常困难。n将一个软件移到一个规模更大的系统上要求手工完成大量的改动。3.4 瓶颈和扩放p扩放网络处理器所要解决的最重要问题是:瓶颈在哪里?p网络处理器的瓶

    31、颈可能来自硬件和软件组件的某种意想不到的组合。p消除一个瓶颈后,新的瓶颈会出现p网络处理器以及任何网络系统性能的提高都是通过不断地发现瓶颈和消除瓶颈来实现的。主要内容p第三代网络系统与网络处理器p网络处理器体系结构p网络处理器的扩放 p网络处理器举例 p网络处理器的设计权衡4.1 两级流水线(Agere)pAgere公司的网络处理器称为Agere PayloadPlus(APP)。pAgere的第一代网络处理器使用三个芯片的结构:n快速模式处理器 FPP(Fast Pattern Processor):包分类n路由交换处理器 RSP(Routing Switch Processor):包处理n

    32、Agere系统接口模块 ASI(Agere System Interface):提供主处理器到FPP和RSP的接口,维护数据流状态信息,获取统计信息pFPP和RSP常被组织成一个两级流水线,线速地处理数据流。p主处理器提供系统控制和管理,包括路由表和虚电路(ATM)更新、硬件配置和例外处理等。APP550芯片的概念组织p模式处理引擎PPE:流水线结构的具有64个独立上下文的多线程处理器,以线速执行包分类。p流量管理器:队列管理、流量管理、输出包修改,包含最多256K个包队列层次。p状态引擎:收集统计数据,提供给流量管理器进行流量管理和调度,与主CPU接口。Agere网络处理器的特点p能够提供R

    33、ISC水平的灵活性和可编程能力:n分类器和流量管理器均为可编程。nAgere开发的函数式语言FPL是保证灵活性和多功能性的关键,FPL编写的代码可以实现第二层及以上协议的处理。n包处理程序采用FPL编写,代码被编译成可被PPE执行的指令。n调度和流量整形用类C的脚本语言C-NP编写,在流量管理器上执行。p方便编程:nAgere网络处理器向程序员隐藏了PPE的并行性,并允许程序员使用高级语言。nFPL的使用大大方便了程序员编程,程序员只需编写代码告知下层计算资源实现何种功能,而不需要考虑如何实现。nFPL能够大量减少指令的数目,显著提高软件工程的开发效率。Agere网络处理器的特点(续)p提供对

    34、流量管理的广泛支持n流量调度管理器包含了最多达256K个包队列层次p支持大规模搜索列表n搜索和模式匹配专利技术:搜索任意长度的数据模式的时间取决于模式的长度,而与需要搜索的模式的数量无关。nPPE能够同时进行64路数据包的解析和分类,不会出现RISC环境中由于推理性执行失败导致的流水线停顿,也不会出现上下文切换的开销。 p高性能n超过基于先进RISC核心的网络处理器五倍n达到固定ASIC的水平,且提供RISC水平的灵活性和可编程能力4.2 增强的RISC处理器(Alchemy)pAlchemy架构由一个嵌入式RISC处理器加上协处理器组成。n芯片的核心是一个增强了包处理能力的MIPS-32 C

    35、PUn指令集中增加了若干条与包处理有关的指令,如优化CRC或检查和的计算、计算比特串的某一位前有多少个1或多少个0、预取内存、有条件地转移数据等。p由于芯片使用增强的MIPS处理器,因而可以用C编程。p芯片提供商提供了软件开发工具、嵌入式操作系统和其它支持软件。p功耗较低。Alchemy Au1500芯片的内部结构p芯片包含两个片上cache:指令cache和数据cache。p嵌入式处理器可以访问各种I/O控制器和功能单元。p两条内部总线:系统总线和外设总线。p一个DRAM控制器p一个SRAM控制器。4.3 并行的嵌入式处理器加协处理器(AMCC)pAMCC网络处理器由嵌入式RISC系统加上一

    36、组协处理器组成,其核心是网络优化指令集计算NISC(Network-optimized Instruction Set Computing)架构。pNISC指令集是一个高度专用的指令集,裁减了不需要的指令,并优化了数据包解析、查找及修改等操作。pNISC由AMCC公司的专利nPcore实现,据估计,nPcore引擎可获得4倍12倍典型的RISC处理器的网络处理能力。p高速AMCC芯片提供并行的nPcore,nPcore的数目取决于设备所要满足的连接速度。p协处理器用于高速查找、包转换、收集统计信息等。p核心处理器用C或C+编程,AMCC提供由编译器、汇编器和调试器组成的支持软件。p采用隐式并行

    37、,程序员像为一个单处理器编程一样,硬件自动进行并行化。nP7510的内部结构p6个并行的nPcorep策略引擎:在一个时钟周期内同时查找第二、三、四层包头域。p测量引擎:收集统计信息。p包转换引擎:包头修改p片上存储和统一的存储访问单元p协处理器总线可以扩展到片外,适应更多产品的不同搜索要求。4.4 同构处理器流水(Cisco)pCisco公司的PXF(Parallel eXpress Forwarding)网络处理器是一个专用芯片,专为Cisco路由器而设计。pPXF使用并行的处理器流水:一个芯片包含32个嵌入式处理器,分成四个并行流水线。p用一个单独的路由处理器提供控制功能和网络管理功能。

    38、4.5 异构处理器流水(EZchip)p由异构处理器组成的流水线,不同的处理器为不同的任务而设计,每一级使用一组相同的处理器。p使用任务最优化处理器TOP(Task Optimized Processor)引擎替代常见的RISC处理器,速度快约10倍。p将大量快速高效的引擎集成在同一个芯片中并配置成超标量架构,使分组处理任务最优化。p四种TOP引擎,每一类都有一个内部指令集和为特定协议处理任务优化的数据路径:nTOPparse:解析包nTOPsearch:查表nTOPresolve:转发和QoS决定,路由表和状态信息维护nTOPmodify:修改包p四种TOP引擎按照四级并行流水的方式组织在一

    39、起EZchip NP-1的内部结构p每个阶段都有多个TOP引擎执行相同的功能,每个阶段可对多个包同时进行处理。p每个阶段的多个TOP处理器都有自身的指令存储器p硬件调度器把到达的分组分配到流水线每个阶段的可用硬件上。p对网络处理器编码就是对四种TOP引擎编码EZchip网络处理器的特点p集成度高:n一片网络处理器芯片加上外部DRAM就可以实现完整的交换卡。n基于NP-1的解决方案,其芯片数量、功耗和运行成本大约为其它解决方案的1/5。n第二代产品(NP-1c)处理能力提高一倍,而集成度更高、成本更低:p10Gb/s接口的IPv6路由器只需要一个NP-1c和四个DRAM,整体价格约为820美元,

    40、功耗17W。4.6 大量不同的处理器(Hifn)p基于PowerNP技术,包含了大量非常不同的嵌入式处理器、协处理器和其它功能单元。p嵌入式处理器联合体EPC:n1个嵌入式PowerPC处理器:提供CP(Control Point)功能。n16个皮可引擎(picoengine):数据路径处理,每个皮可引擎是多线程的。p各种协处理器:高速数据传输、校验和计算、队列操作、提供访问接口、流量管理、信号量。p广泛的编程支持PowerNP网络处理器的内部结构4.7 灵活的RISC加协处理器(Motorola)p每个C-Port处理器被设计为执行ingress和egress处理。p每个C-Port芯片包含

    41、16个包处理器,称为通道处理器(Channel Processor,CP)。p每个CP是一个具有独立编程能力的计算引擎,可独立执行不同的功能,如支持ATM、以太网、PPP等。p一个CP可被配置为以下三种方式之一:n专用配置:一个CP对应一个物理接口,适合于中低速接口。n并行配置:一组CP被配置成一个并行簇,对应一个物理接口。n流水线配置:一组CP被配置成一条流水线,对应一个物理接口。C-Port芯片的内部结构及并行簇配置一个CP的内部结构pRISC处理器n指令集为MIPS指令集的子集n用C或C+编程n主要运行应用程序p串行数据处理器SDPn负责数据编码/解码、帧封装/解析、CRC检测等比特级操

    42、作n输入SDP:CRC校验、解码、包头分析、域抽取n输出SDP:帧修改、CRC码生成、成帧、编码nSDP可实现几乎所有的第一层接口和第二层协议处理n每个端口可以独立地配置不同的协议n使用微码编程4.8 超长同构流水线(Xelerated)p数据包要穿过一条极长的流水线(200个处理器)p每个处理器最多用四条指令处理一个包p流水线提供11个外部访问点,在每个访问点上可以调用一个(片上或片外)功能单元,如片上hash生成器、分类器、管制器或统计数据累加器等。Xelerated X10q主要内容p第三代网络系统与网络处理器p网络处理器体系结构p网络处理器的扩放 p网络处理器举例 p网络处理器的设计权

    43、衡网络处理器 VS. 专用ASICp经济的角度:开发成本 VS. 性能p技术的角度:可编程性 VS. 处理速度网络系统设计p每端口速率 VS. 集合速率n若与每个端口关联的机制形成系统瓶颈,则系统性能受制于每端口速率n若交换结构形成系统瓶颈,则系统性能受制于集合速率n设计者必须平衡网络处理器的最大速率与交换结构的集合速率。指令集设计p速度 VS. 功能:n小而专门的指令集:功能少,执行速度快n大而通用的指令集:功能强,芯片复杂,执行速度慢协处理器设计plookaside VS. flow-throughnLookaside协处理器:p运行起来像过程调用,主处理器在需要时调用一个协处理器p优点:

    44、模块化,易于扩展p缺点:调用时需要传递全部信息nFlow-through协处理器:p用流水线方式处理数据,当数据通过时对数据进行修改p必须工作于线速p集成在设计中,难以修改流水线设计p均衡 VS. 同步n均衡(uniform)流水线:p每个功能单元用相同的时间处理一个包p级之间不需要缓冲或同步,成本低p较快的级必须等待较慢的级n非均衡流水线:p一个单元执行的功能决定了它所用的时间p可处理任意协议p相邻级之间需要缓冲,硬件必须同步级之间的时序和转发p最慢的级成为瓶颈并行(1)p成本 VS. 可编程性n显式并行:p要求较简单的硬件p芯片可能编程困难n隐式并行:p要求附加的硬件(向程序员隐藏并行行为

    45、),增加了成本,并可能稍微降低性能p芯片容易编程并行(2)p扩放性 VS. 包序n保持包序对于有些应用是必需的,或者能够提高某些应用的性能n放松包序的要求能够提高系统的吞吐量:p由于不需要执行复杂的包同步任务,协调硬件可以运行得更快。p数据包可以无延迟地发出,系统不会阻塞一个处理器或者令一个输出端口空闲。并行(3)p速度 VS. 共享状态n并行处理器必须同步对共享状态信息的访问,共享导致速度下降,因为任何一个时刻只允许一个处理器更新共享信息。n比如:当运行在N个并行处理器上时,静态分类可以获得N倍的加速比,但动态分类的速度慢得多。存储p速度 VS. 可编程性n存储器通常被划分成几个可以同时访问

    46、的bankn最大访问速率只可能通过合理分布数据、避免访问竞争来得到,但这样编程比较困难。输入/输出pI/O性能 VS. 管脚数n较宽的总线允许较大的吞吐量n较宽的总线要求较多的管脚,增加了芯片的封装成本。高速设备中芯片的封装成本通常决定了芯片的成本。编程语言p编程语言的设计体现了编程的容易性、语言的功能性以及代码速度三者之间的权衡:n易于编程 VS. 功能性p只包含小型专用高级指令集的语言容易使用,但缺乏处理任意任务需要的功能性。p包含能够处理许多任务的指令集的语言功能性强,但不易使用。n易于编程 VS. 速度p高级语言易于使用,但运行效率不高p低级语言运行效率高,但编程困难n速度 VS. 功

    47、能性p单一功能的语言易于产生出高度优化的代码p设计者必须通过减少功能性来换取较快的代码多线程p吞吐量 VS. 可编程性n支持多线程可获得较高的吞吐量n多线程增加了编程的复杂度流量管理p速度 VS. 成本n低速率下,嵌入式RISC处理器能够执行流量管理及其它功能,成本较低n高速率下,流量管理要求专用硬件,增加了成本存储类型p专用 VS. 通用nCAM比SRAM和DRAM有较高的成本和散热nCAM提供较多的每I/O管脚功能,一次CAM查找可以替代几次SRAM/DRAM访问,并且不再需要查找协处理器。p使用CAM的一般考虑:n通常用于高端处理器以获得高性能n适合用于在包含少量大数据记录的数据库中进行快速查找n尽量避免使用CAM以降低成本。设计新一代产品p向后兼容 VS. 结构先进n新技术提供更高的速度和更好的功能性,但增加用户成本,包括要购买新的硬件和重写/重测试用户软件。n向后兼容导致很少的成本或者没有增加成本。多处理器设计p并行多处理 VS. 流水线n并行多处理易于均衡负载,但每个处理器需要执行较多的处理。n流水线中每个处理器只需要执行较少的处理,但在各级间不易均衡负载。p实际的设计方案通常包含了流水线和并行多处理的组合。结论p设计网络处理器时有很多的权衡考虑,权衡通常代表了在更强的功能性、更高的性能和较低的成本之间的选择。

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:第三代网络系统课件.ppt
    链接地址:https://www.163wenku.com/p-3033395.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库