通过FPGA内部编程实现轮询调度的设计

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

通过FPGA内部编程实现轮询调度的设计

1、引言

4X2.5G线路接口卡是T比特路由器的一种重要接口,属于高密度线路接口,这种接口是当前路由器设计中的一个重点和难点。所谓高密度,指的是在一块绕路接口卡上提供多个接口。之所以出现高密度线路接口的需求,是因为互联网的规模不断的扩大,对路由器的接入能力提出了日益增大的需求,如果还沿用单板单接口的设计方法将导致路由器的物理规模不断的扩大,不符合现代设备发展的趋势。在4X2.5G线路接口卡的设计中,采用单片多路的SDH处理芯片S19202集中完成物理层的处理,然后根据整体设计方案在其后端进行数据的技术处理。

针对多路报文在送往转发单元时的公平性和稳定性需求,以及SDH芯片S19202的特点,提出了输入报文合路采用分片轮询(Cell Round Robin Scheduling;CRR)和改进的欠账式轮询调度(Defect Round Robin Scheduling;DRR)相结合的调度策略。这种调度策略保证了4路POS接口之间的公平性和整包处理的稳定性,并且在工程上易于实现。本文第2节详细阐述了该调度策略的设计与实现过程,第3节对全文进行了总结。

2、轮询调度的设计与实现

在4X2.5G线路接口卡的设计中,采用了AMCC公司的SDH处理芯片S19202进行链路层数据处理,该芯片的特点是4个接口共享同一组接收总线和同一组发送总线,另外提供通道选择信号来指示当前工作的线路接口号,其输入端每个接口的缓存大小最大只有1k字节,根本不足以缓存一个长的整包(最长包可达到1500字节)。

针对这个特点,设计中使用了在S19202后端的FPGA进行分片轮询和整包接收的处理,保证了4个接口的公平性和稳定性;针对4个接口的报文共享一条到转发的通路时,由于各接口的报文长度差异,可能造成的不公平和不稳定,提出了一种改进式欠账轮询的调度策略。通过分片轮询和改进式欠账轮询的结合使用,保证了4个接口合路的公平性和稳定性。

相关文档
最新文档