一种基于多crossbar交换结构的调度方法

文档序号:7871195阅读:396来源:国知局
专利名称:一种基于多crossbar交换结构的调度方法
技术领域
本发明属于计算机通信技术,涉及交换机设计中一种多crossbar交换结构的调度方法。
背景技术
现代交换式通信网络,由节点机和交换机组成,所有节点机均通过链路与交换机相连,实现分布式通信。在航空电子系统设计中,要求交换机支持单播和多播的线速无阻交换,并且为了能够排查和定位网络产品研发过程中出现的问题,要求交换机支持基于消息的数据监控功能。在传统交换机设计中,采用一条crossbar实现交换机的单播、多播和消息监控功能,由于单播、多播和消息监控共享带宽的限制,导致它们之间互相影响,影响交换机的交换性能,导致吞吐量下降,延迟增大,并且会导致数据消息监控丢包,不能满足航空电子系统实时性和安全性的设计要求。

发明内容
本发明提供一种基于多crossbar交换结构的调度方法,消除单crossbar交换结构的负面影响,实现交换机单播和多播的线速无阻交换。本发明的技术解决方案如下。本发明对单播、多播和消息监控米用三条完全独立的crossbar,三条crossbar分别采用独立的硬件逻辑电路,分别采用独立的调度算法,三条crossbar之间互不影响,实现高性能网络交换功能。具体方案是:—种基于多crossbar交换结构的调度方法,其采用的多crossbar交换结构由MAC、输入单元,输出单元和三条独立的crossbar构成,其中,输入单元包括m个通信端口输入单元和m个监控端口输入单元,输出单元包括m个通信端口输出单元和n个监控端口输出单元;(I)MAC负责接收来自于与之相连的节点机的数据,实现相应标准媒体访问层协议,并对数据进行封装/解析,实现数据的接收和发送;(2)输入单元接收来自于MAC的数据帧,对数据帧进行有效性检测,根据目的ID查找路由表,将数据帧放到相应的虚拟输出队列(VOQ)排队等待调度;同时检测消息ID查找表,判断该条数据帧是否需要被监控,如果需要被监控,将数据帧复制到监控端口输入单元的缓冲区中,等待调度;(3)三条crossbar独立调度,分别实现单播、多播和消息监控的转发调度;三条crossbar均采用“请求一准许一接受”的分布式调度策略,将数据帧从输入单元的缓冲区中调度到输出单元的缓冲区中;(4)输出单元负责从输出缓冲区读取数据帧,将数据帧发送到MAC,输出到与之相连的节点机;监控端口输出单元和数据通信端口输出单元的差别在于监控端口输出单元需要增加监控时标,并且需要重新进行循环冗余校验码(CRC)计算;基于所述多crossbar交换结构,实现单播crossbar调度的过程如下:单播实现采用m X m的crossbar,其中,m即通信端口的数量,n即监控端口的数量;单播crossbar采用分布式调度算法,每次调度按照“请求_准许_接受”的步骤进行:a.当输入单元的缓冲区中有单播帧时,输出单元发出请求信号;b.对于每个通信端口输出单元,当接收到不同通信端口输入单元的请求信号后,采用Round-Robin算法产生准许信号;c.对于每个通信端口输入单元,当接收到不同通信端口输出单元的准许信号后,采用Round-Robin算法产生接受信号并且开始调度;d.各个通信端口输出单元持续检测自己发出的准许信号是否被接受,如果被接受,则执行调度;基于所述多crossbar交换结构,实现多播crossbar调度的过程如下:多播实现采用m X m的交叉开关,多播crossbar采用多址调度算法实现分布式调度,多址调度算法由以下四个步骤组成:a.当某个输入单元有一个多播帧需要发送时,根据该帧的多播组ID查询到该多播组的成员,即多个目的端口,向所有目的端口发送请求信号,转到步骤h ;b.输入单元在一个固定的时间窗口内等待目的端口的发送准许信号:如果所有的目的端口都回复了发送准许,立即转到步骤c ;如果该时间窗口已过,则只要有任何一个目的端口回复发送准许,转到步骤c ;如果在整个时间窗口内没有任何一个目的端口回复发送准许,重新发送请求;c.输入单元向发送了准许信号的目的端口发送数据帧,直至该数据帧结束,转到步骤d ;d.输入单元将这些已发送了准许信号的目的端口从请求列表中删除,向剩余的目的端口发送请求信号,重复步骤b_d,直到把该多播数据帧发送至所有目的端口,完成调度;基于所述多crossbar交换结构,实现消息监控crossbar调度的过程如下:采用m X n的crossbar,按照以下步骤进行(与多播类似的调度过程,不同点仅是启动条件不同:通过检测消息ID查找表,判断该数据帧是否被监控,以及被哪个监控端口监控;如果被监控,则向对应的监控端口发送请求信号;监控crossbar调度过程的其余步骤与多播完全相同):a.检测消息ID查找表,判断该数据帧是否被监控,以及被哪个监控端口监控;如果被监控,则向对应的监控端口发送请求信号;b.输入单元在一个固定的时间窗口内等待监控端口的发送准许信号:如果所有的监控端口都回复了发送准许,立即转到步骤c ;如果该时间窗口已过,则只要有任何一个监控端口回复发送准许,转到步骤c ;如果在整个时间窗口内没有任何一个监控端口回复发送准许,重新发送请求;c.输入单元向发送了准许信号的监控端口发送数据帧,直至该数据帧结束,转到步骤d ;
d.输入单元将这些已发送了准许信号的监控端口从请求列表中删除,向剩余的监控端口发送请求信号,重复步骤b_d,直到把该数据帧发送至所有监控端口,完成调度。本发明具有的优点是:I)吞吐率高,延迟小,可以确保单播、多播通信互不影响,实现线速无阻交换;2)交换机在线速通信时,可以实现线速监控,保证不丢包;3)可扩展性强,只需要对内部资源进行扩充,即可支持更多通信端口和监控端口的更大规模的交换机的设计和实现。


图1是本发明的多crossbar交换结构示意图;图2是本发明的单播crossbar调度示意图;图3是本发明的多播crossbar调度示意图。
具体实施方式
:以m个通信端口和n个监控端口的交换机为例,以下详述本发明的实现,涉及多crossbar交换结构、单播crossbar调度、多播crossbar调度以及监控crossbar调度。1.多 crossbar 交换结构:交换结构由MAC、输入单元,输出单元(包括通信端口输出单元和监控端口输出单元)和3条独立的crossbar构成,如图1所示。下面对各部分的功能进行介绍。a.MAC负责接收来自于与之相连的节点机的数据,实现相应标准媒体访问层协议,并对数据进行封装/解析,实现数据的接收和发送。b.输入单元接收来自于MAC的数据帧,对数据帧进行有效性检测,根据目的ID查找路由表,将数据帧放到相应的虚拟输出队列(VOQ)排队等待调度。同时检测消息I D查找表,判断该条数据帧是否需要被监控,如果需要被监控,将数据帧复制到监控缓冲区中,等待调度。c.三条crossbar独立调度,分别实现单播、多播和消息监控的转发调度。三条crossbar均采用“请求一准许一接受”的分布式调度策略,将数据帧从输入单元的缓冲区中调度到输出缓冲区中。d.输出单元负责从输出缓冲区读取数据帧,将数据帧发送到MAC,输出到与之相连的节点机。监控端口输出单元和数据通信端口输出单元的差别在与监控端口输出单元需要增加监控时标,并且需要重新进行CRC计算。2.单播 crossbar 调度:单播实现采用m X m的crossbar,单播crossbar采用分布式调度算法,每次调度由“请求-准许-接受”三个步骤组成,如图2所示。a.当输入单元缓冲区中有单播帧时,发出请求信号;b.当输出单元接收到不同输入单元的请求信号后,采用Round-Robin算法产生准
许信号;c.输入单元接收到不同输出单元的准许信号后,采用Round-Robin算法产生接受信号并且开始调度;
d.输出单元持续检测自己发出的准许信号是否被接受,如果被接受,则开始调度;否则,重新接受请求信号。3.多播 crossbar 调度:多播实现采用m X m的交叉开关,多播crossbar采用多址调度算法实现分布式调度,多址调度算法由以下4个步骤组成,如图3所示。a.当某个输入单元有一个多播帧需要发送时,根据该帧的多播组ID查询到该多播组的成员(即目的端口),向所有目的端口发送请求信号,转到步骤b ;b.输入单元在一个固定的时间窗口内等待目的端口的发送准许信号:如果所有的目的端口都回复了发送准许,立即转到步骤c ;如果该时间窗口已过,则只要有任何一个目的端口回复发送准许,转到步骤c ;如果在整个时间窗口内没有任何一个目的端口回复发送准许,重新发送请求。c.输入单元向发送了准许信号的目的端口发送数据帧,直至该数据帧结束,转到步骤d ;d.输入单元将这些已发送了准许信号的目的端口从请求列表中删除,向剩余的目的端口发送请求信号,重复步骤b_d,直到把该多播数据帧发送至所有目的端口,然后转向步骤a。4.监控 crossbar 调度:监控采用m X n的crossbar,采用与多播类似的调度过程,不同点仅是启动条件不同:通过检测消息ID查找表,判断该数据帧是否被监控,以及被哪个监控端口监控。如果被监控,则向对应的监控端口发送请求信号。监控crossbar调度过程的其余步骤与多播完全相同。
权利要求
1.一种基于多crossbar交换结构的调度方法,其采用的多crossbar交换结构由MAC、输入单元,输出单元和三条独立的crossbar构成,其中,输入单元包括m个通信端口输入单元和m个监控端口输入单元,输出单元包括m个通信端口输出单元和n个监控端口输出单元; (1)MAC负责接收来自于与之相连的节点机的数据,实现相应标准媒体访问层协议,并对数据进行封装/解析,实现数据的接收和发送; (2)输入单元接收来自于MAC的数据帧,对数据帧进行有效性检测,根据目的ID查找路由表,将数据帧放到相应的虚拟输出队列(VOQ)排队等待调度;同时检测消息ID查找表,判断该条数据帧是否需要被监控,如果需要被监控,将数据帧复制到监控端口输入单元的缓冲区中,等待调度; (3)三条crossbar独立调度,分别实现单播、多播和消息监控的转发调度;三条crossbar均采用“请求一准许一接受”的分布式调度策略,将数据帧从输入单元的缓冲区中调度到输出单元的缓冲区 中; (4)输出单元负责从输出缓冲区读取数据帧,将数据帧发送到MAC,输出到与之相连的节点机;监控端口输出单元和数据通信端口输出单元的差别在于监控端口输出单元需要增加监控时标,并且需要重新进行循环冗余校验码(CRC)计算; 基于所述多crossbar交换结构,实现单播crossbar调度的过程如下: 单播实现采用m X m的crossbar,其中,m即通信端口的数量,n即监控端口的数量;单播crossbar采用分布式调度算法,每次调度按照“请求_准许_接受”的步骤进行: a.当输入单元的缓冲区中有单播帧时,输出单元发出请求信号; b.对于每个通信端口输出单元,当接收到不同通信端口输入单元的请求信号后,采用Round-Robin算法产生准许信号; c.对于每个通信端口输入单元,当接收到不同通信端口输出单元的准许信号后,采用Round-Robin算法产生接受信号并且开始调度; d.各个通信端口输出单元持续检测自己发出的准许信号是否被接受,如果被接受,则执行调度; 基于所述多crossbar交换结构,实现多播crossbar调度的过程如下: 多播实现采用m X m的交叉开关,多播crossbar采用多址调度算法实现分布式调度,多址调度算法由以下四个步骤组成: a.当某个输入单元有一个多播帧需要发送时,根据该帧的多播组ID查询到该多播组的成员,即多个目的端口,向所有目的端口发送请求信号,转到步骤b ; b.输入单元在一个固定的时间窗口内等待目的端口的发送准许信号:如果所有的目的端口都回复了发送准许,立即转到步骤c ;如果该时间窗口已过,则只要有任何一个目的端口回复发送准许,转到步骤c ;如果在整个时间窗口内没有任何一个目的端口回复发送准许,重新发送请求; c.输入单元向发送了准许信号的目的端口发送数据帧,直至该数据帧结束,转到步骤d ; d.输入单元将这些已发送了准许信号的目的端口从请求列表中删除,向剩余的目的端口发送请求信号,重复步骤b-d,直 到把该多播数据帧发送至所有目的端口,完成调度;基于所述多crossbar交换结构,实现消息监控crossba r调度的过程如下: 采用m X n的crossbar,按照以下步骤进行(与多播类似的调度过程,不同点仅是启动条件不同:通过检测消息ID查找表,判断该数据帧是否被监控,以及被哪个监控端口监控;如果被监控,则向对应的监控端口发送请求信号;监控crossbar调度过程的其余步骤与多播完全相同): a.检测消息ID查找表,判断该数据帧是否被监控,以及被哪个监控端口监控;如果被监控,则向对应的监控端口发送请求信号; b.输入单元在一个固定的时间窗口内等待监控端口的发送准许信号:如果所有的监控端口都回复了发送准许,立即转到步骤c ;如果该时间窗口已过,则只要有任何一个监控端口回复发送准许,转到步骤c ;如果在整个时间窗口内没有任何一个监控端口回复发送准许,重新发送请求; c.输入单元向发送了准许信号的监控端口发送数据帧,直至该数据帧结束,转到步骤d ; d.输入单元将这些已发送了准许信号的监控端口从请求列表中删除,向剩余的监控端口发送请求信号,重复 步骤b-d,直到把该数据帧发送至所有监控端口,完成调度。
全文摘要
本发明提供一种基于多crossbar交换结构的调度方法,消除单crossbar交换结构的负面影响,实现交换机单播和多播的线速无阻交换。本发明对单播、多播和消息监控采用三条完全独立的crossbar,三条crossbar分别采用独立的硬件逻辑电路,分别采用独立的调度算法,三条crossbar之间互不影响,实现高性能网络交换功能。本发明吞吐率高,延迟小,可以确保单播、多播通信互不影响,实现线速无阻交换;交换机在线速通信时,可以实现线速监控,保证不丢包。
文档编号H04L12/761GK103078809SQ201210591140
公开日2013年5月1日 申请日期2012年12月28日 优先权日2012年12月28日
发明者李大鹏, 黄韬, 王红春, 李玉发 申请人:中国航空工业集团公司第六三一研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1