基于SRAM的核心路由器交换矩阵输入端口设计
时间:11-10
来源:互联网
点击:
0引言
随着光纤通信技术的飞速发展,路由器的数据处理速度成为网络通信的主要瓶颈,交换矩阵作为核心路由器的重要组成部分则严重制约了路由器的传输速率。
目前核心路由器交换结构使用较多的有共享内存和Crossbar两种。共享内存结构通过共享输入和输出端口存储器件,减少了对总体存储空间的需求。共享内存结构相对简单,交换效率可根据需求不断优化。共享内存交换结构的交换性能取决于共享内存的存取速率,可扩展性较差,尤其当板卡端口数量较多时,交换效率有所下降。
Crossbar是一种严格的非阻塞交换结构,输入/输出之间可建立多条通路。Crossbar采用连接式,即N×N的交叉矩阵。Crossbar使用调度器,根据各输入点相关的信息,运算调度算法得到输入和输出之间的一个匹配,并配置相应交叉点。调度器的效率非常关键,决定了Crossbar的交换速率[1-3],因此调度算法必须高度完善。但Crossbar同样存在扩展性的问题,即交换矩阵的交叉点会随着输入/输出数量的增多呈指数增长。为维持无阻塞交换,需不断完善和改进调度算法,代价是开发的技术成本越来越高,核心交换芯片的面积也越来越大。另外,Crossbar也同样不能避免排队仲裁,传输效率受到一定影响和限制。但相比共享内存结构,Crossbar效率和扩展性都比较好[4],目前大部分高端路由器都使用Crossbar交换结构。
基于静态随机存储器(SRAM)的交换矩阵输入端口虚拟输出队列(VOQ)的设计同时结合了共享内存和Crossbar两种交换方式的优点,将输入端口中的数据缓冲区移至片外,用高效地调度算法对虚拟输出队列进行调度,可以有效的减小核心交换芯片的面积,并提高数据报文的读取速率。
1系统总体设计
由于核心路由器交换矩阵硬件实现简单,已经在越来越多的ATM交换机和高性能路由器中使用。当输入端口使用单一的FIFO排队机制时,HOL(Headof Line)阻塞使得开关吞吐率最多只能利用58%[5],因此,在目前输入缓冲的交换设备中,输入端口一般采用VOQ虚拟输出队列技术,即每个输入端口为到达不同输出端口的信元设置不同的FIFO队列。虚拟输出队列技术的采用消除了HOL阻塞。
核心路由器交换矩阵主要由三个模块组成,即调度模块,输入模块,输出模块。调度模块主要用来分析输入端口的缓存数据报文的目的地址,根据输入端口各个虚拟输出队列的调度请求,使用iSLIP调度算法8控制输入端口与输出端口之间的连接,防止队列的链头阻塞[6]。
输入模块主要是用来将从线卡上接收的数据报文存入不同的基于SRAM的虚拟输出队列,同时向调度器发出调度请求,当接收到调度指令后,将报文发往输出端口。输出模块是用来接收输入端口发来的数据报文,并将其重新组合成完整的数据包发送出去,同时给调度器一个反馈指令,交换矩阵的系统框图如图1所示。

图1交换矩阵整体结构
2VOQ虚拟输出队列设计
影响Crossbar交换效率的因素主要是输入排除链头阻塞问题和调度算法的选择。输入排队链头阻塞问题的解决方案就是采用给每个输入到输出建立一个虚拟缓冲队列的输入排队交换内核的体系结构,基本思想是每一个输入端口在其输入缓冲器中为每一个输出端口保存一个先进先出(FIFO)队列。对于8×8的交换结构,共有8×8个VOQ.到达输入端口的信元按照它的输出端口,置入相应的VOQ队列中。在每个交换时隙,调度器调度所有VOQ,使得每一个输出端口只有一个VOQ接受服务,然后发送其最前端的分组,不仅消除了由FIFO队列造成的链头阻塞,更不用考虑设置加速比问题,VOQ的具体结构如图2所示。

图2VOQ虚拟输出队列设计
VOQ方式将目的输出端口不同的信元放在不同的队列中缓存,因此发往不同输出端口的信元相互不存在HOL阻塞。在某些调度算法下,VOQ方式可100%获得交换开关的利用率。目前CiscoGSR12000,BBNMGR等路由器都采用VOQ方式组织输入队列。消除HOL阻塞后,交换开关仍存在另外两种阻塞,即输入端口阻塞和输出端口阻塞。由同一输入端口不同VOQ队列中的信元竞争输入端口而产生的阻塞称为输入端口阻塞,由不同输入端口的信元竞争同一输出端口而产生的阻塞称为输出端口阻塞。调度器根据各输入端口VOQ队列的状态决定Crossbar内部的拓扑关系,从而解决上述两种阻塞[7]。系统主要由交换阵列、调度器、输入控制器、输出控制器和SRAM组成。输入控制器从线卡接收信元,根据其目的端口号将其存入双端口SRAM中,每个输入端口共8个队列,分别存放发往不同输出端口的信元。输入端口控制器根据队列的空满情况向调度器发出请求[8]。调度器根据各输入端口的请求公平地分配输出端口,并将调度结果传送到Crossbar交换阵列和各输入/输出控制器。输入端口控制器接收到调度结果后,从相应的VOQ队列取出一个信元送交换阵列交换。同时输出端口控制器根据调度结果,将接收的信元放入相应的输出端口寄存器中。若输出接口控制器检测到寄存器中有重组完毕的报文,将报文发往相应的线卡中。
随着光纤通信技术的飞速发展,路由器的数据处理速度成为网络通信的主要瓶颈,交换矩阵作为核心路由器的重要组成部分则严重制约了路由器的传输速率。
目前核心路由器交换结构使用较多的有共享内存和Crossbar两种。共享内存结构通过共享输入和输出端口存储器件,减少了对总体存储空间的需求。共享内存结构相对简单,交换效率可根据需求不断优化。共享内存交换结构的交换性能取决于共享内存的存取速率,可扩展性较差,尤其当板卡端口数量较多时,交换效率有所下降。
Crossbar是一种严格的非阻塞交换结构,输入/输出之间可建立多条通路。Crossbar采用连接式,即N×N的交叉矩阵。Crossbar使用调度器,根据各输入点相关的信息,运算调度算法得到输入和输出之间的一个匹配,并配置相应交叉点。调度器的效率非常关键,决定了Crossbar的交换速率[1-3],因此调度算法必须高度完善。但Crossbar同样存在扩展性的问题,即交换矩阵的交叉点会随着输入/输出数量的增多呈指数增长。为维持无阻塞交换,需不断完善和改进调度算法,代价是开发的技术成本越来越高,核心交换芯片的面积也越来越大。另外,Crossbar也同样不能避免排队仲裁,传输效率受到一定影响和限制。但相比共享内存结构,Crossbar效率和扩展性都比较好[4],目前大部分高端路由器都使用Crossbar交换结构。
基于静态随机存储器(SRAM)的交换矩阵输入端口虚拟输出队列(VOQ)的设计同时结合了共享内存和Crossbar两种交换方式的优点,将输入端口中的数据缓冲区移至片外,用高效地调度算法对虚拟输出队列进行调度,可以有效的减小核心交换芯片的面积,并提高数据报文的读取速率。
1系统总体设计
由于核心路由器交换矩阵硬件实现简单,已经在越来越多的ATM交换机和高性能路由器中使用。当输入端口使用单一的FIFO排队机制时,HOL(Headof Line)阻塞使得开关吞吐率最多只能利用58%[5],因此,在目前输入缓冲的交换设备中,输入端口一般采用VOQ虚拟输出队列技术,即每个输入端口为到达不同输出端口的信元设置不同的FIFO队列。虚拟输出队列技术的采用消除了HOL阻塞。
核心路由器交换矩阵主要由三个模块组成,即调度模块,输入模块,输出模块。调度模块主要用来分析输入端口的缓存数据报文的目的地址,根据输入端口各个虚拟输出队列的调度请求,使用iSLIP调度算法8控制输入端口与输出端口之间的连接,防止队列的链头阻塞[6]。
输入模块主要是用来将从线卡上接收的数据报文存入不同的基于SRAM的虚拟输出队列,同时向调度器发出调度请求,当接收到调度指令后,将报文发往输出端口。输出模块是用来接收输入端口发来的数据报文,并将其重新组合成完整的数据包发送出去,同时给调度器一个反馈指令,交换矩阵的系统框图如图1所示。

图1交换矩阵整体结构
2VOQ虚拟输出队列设计
影响Crossbar交换效率的因素主要是输入排除链头阻塞问题和调度算法的选择。输入排队链头阻塞问题的解决方案就是采用给每个输入到输出建立一个虚拟缓冲队列的输入排队交换内核的体系结构,基本思想是每一个输入端口在其输入缓冲器中为每一个输出端口保存一个先进先出(FIFO)队列。对于8×8的交换结构,共有8×8个VOQ.到达输入端口的信元按照它的输出端口,置入相应的VOQ队列中。在每个交换时隙,调度器调度所有VOQ,使得每一个输出端口只有一个VOQ接受服务,然后发送其最前端的分组,不仅消除了由FIFO队列造成的链头阻塞,更不用考虑设置加速比问题,VOQ的具体结构如图2所示。

图2VOQ虚拟输出队列设计
VOQ方式将目的输出端口不同的信元放在不同的队列中缓存,因此发往不同输出端口的信元相互不存在HOL阻塞。在某些调度算法下,VOQ方式可100%获得交换开关的利用率。目前CiscoGSR12000,BBNMGR等路由器都采用VOQ方式组织输入队列。消除HOL阻塞后,交换开关仍存在另外两种阻塞,即输入端口阻塞和输出端口阻塞。由同一输入端口不同VOQ队列中的信元竞争输入端口而产生的阻塞称为输入端口阻塞,由不同输入端口的信元竞争同一输出端口而产生的阻塞称为输出端口阻塞。调度器根据各输入端口VOQ队列的状态决定Crossbar内部的拓扑关系,从而解决上述两种阻塞[7]。系统主要由交换阵列、调度器、输入控制器、输出控制器和SRAM组成。输入控制器从线卡接收信元,根据其目的端口号将其存入双端口SRAM中,每个输入端口共8个队列,分别存放发往不同输出端口的信元。输入端口控制器根据队列的空满情况向调度器发出请求[8]。调度器根据各输入端口的请求公平地分配输出端口,并将调度结果传送到Crossbar交换阵列和各输入/输出控制器。输入端口控制器接收到调度结果后,从相应的VOQ队列取出一个信元送交换阵列交换。同时输出端口控制器根据调度结果,将接收的信元放入相应的输出端口寄存器中。若输出接口控制器检测到寄存器中有重组完毕的报文,将报文发往相应的线卡中。
- 一种基于OPNET的小型网络仿真及分析(04-08)
- APOX软件在A+B频段无线网络规划中的应用(06-26)
- 基于GUI的跳频OFDM系统仿真设计(03-03)
- 基于CPLD的RS-232串口通信实现(04-23)
- 2.5 Gbps收发器中1∶2解复用电路的设计(09-17)
- 填补网络 SoC 设计前端与后端验证的差距(09-19)
射频专业培训教程推荐
栏目分类