网站大量收购闲置独家精品文档,联系QQ:2885784924

使用Stratix Ⅱ实现转发系统中定制队列管理.docVIP

使用Stratix Ⅱ实现转发系统中定制队列管理.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
使用Stratix Ⅱ实现转发系统中定制队列管理

使用Stratix Ⅱ实现转发系统中定制队列管理   在通信网络中,流量管理起着至关重要的作用。本文结合FPGA的结构及特点,针对流量管理的队列管理模块阐述其结构,工作原理及设计方法   目前硬件高速转发技术的趋势是将整个转发分成两个部分:PE(ProtocolEngine,协议引擎)和TM(Traffic Management,流量管理)。其中PE完成协议处理,TM负责完成队列调度、缓存管理、流量整形、QoS等功能,TM的核心是BM(Buffer Management,缓冲器管理)、QM(Queue Management,队列管理)、Scheduler(调度器)。   而在实际的转发系统中,转发系统服务的客户不同,处在网络的位置不同而使得数据的业务类型、用户的数量等等均不尽相同,在很多情况下NP(Network Processor,网络处理器)芯片、TM芯片、交换网芯片无法选用同一家厂商的芯片,在这种条件下定制TM成为了成本最低系统最优化的方案,一般使用FPGA来实现。   TM的常规结构如图1所示,目前主流的TM接口均为SPI4-P2接口形式,对于SP14-P2接口形式可直接采用Altera公司的IP Core实现,SPI4-P2IP Core的配置如图2所示。   Altera公司的主流FPGA均实现了硬件DPA功能,以stratix Ⅱ器件为例,在使能DPA的情况下使用Altera的SPI4-P2 IP Core可实现16GB/s的接口数据速率。   SEG模块为数据切分块,根据交换网的数据结构要求,在上交换网的方向上负责把IP包或数据包切分为固定大小的数据块。SEG模块可以使用Altera的SPI4-P2 IP Core来实现。与SEG模块对应的是RSM模块,RSM模块将从交换网下来的数据块重新组合成完整的IP包或数据包。   BM模块为缓冲管理模块,管理TM的缓冲单元,BM模块可以吸收线路中数据流的突发,平滑网络的流量。BM模块存取数据时访问外部DRAM的带宽既是TM的瓶颈带宽。外部DRAM的控制部分可使用使用Altera的DDRSDRAM IP Core实现来解决带宽瓶颈,其配置如图3所示。   当使用Stratix Ⅱ FPGA,BRAM使用DDR Ⅱ SDRAM时,有测试表明DDR Ⅱ SDRAM接口速率可达到800MB/s。   在常规使用的情况下DDR ⅡSDRAM接口速率可保证667MB/s。对于一个64位的DRAM接口,接口速率可达到42.7GB/s,完全可以满足一个10G的TM系统。   QM模块为队列管理模块,负责完成端口的数据队列管理功能,接收BM模块读写DRAM时的数据入队,出队请求,TM所能支持的数据流的数目、业务类型数目、端口的数目等性能指标在QM模块处体现出来。   Scheduler模块为调度模块,根据数据包类型及优先级和端口分配的带宽进行调度,TM流量整形、QoS等功能通过调度模块实现。   CELL_EDIT模块完成输出数据的封装,把由DRAM中读出的数据封装后发送出去。   在TM中需要基于数据服务策略,对于不同服务等级的数据包进行不同的管理策略,例如多媒体类的数据包,如语音包是不能允许到同一个用户的包乱序的,同时也必须保证一定的带宽,而数据包则没有则没有这些要求。   不同类型的数据包有大有小,经过SEG模块所分割成的数据块的数目也有多有少,业务的不同,需要的接口带宽、传送优先级也各不相同。必须把这些数据区分开来,做到按顺序及优先级进行排队服务。这样就必须有一套行之有效的数据结构基于链表的方法管理这些数据。   QM模块负责组建这样一套数据结构及链表,配合BM模块的入队出队操作及Scheduler模块的调度操作。因链表操作的频繁性及复杂性决定了部分链表必须在片内组建,QM的链表结构以及芯片内部的逻辑资源的限制往往使得QM的性能达不到预期的效果。在使用FPGA做这部分设计时,QM的设计就对FPGA的内部结构提出了要求。   QM在管理业务和数据流时共分4个层次,依据4个层次共分为3级链表。首先来看最底层的层次结构和链表,PQ关系如图4所示。   QM管理业务和数据流的最低层次为基本存取单元层,在TM中,数据的存储一般放在DRAM中,对于链表指针类的操作并不适合DRAM完成,所以同时存在着SRAM完成链表的管理。   BRAM为数据缓冲区,对应片外的DRAM。BRAM负责存储数据单元,相对于SEG模块切分的数据单元,BRAM内有相应大小的存储单元BCELL与之对应,BCELL在BRAM内以地址空间划分,每个BCELL相同大小,BCELL为BRAM的最小存取单元。在实际系统中基于SEG模块切分的数据单元大小,BCELL一般为64~512B。  

文档评论(0)

bokegood + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档