CN103078809B - 一种基于多crossbar交换结构的调度方法 - Google Patents
一种基于多crossbar交换结构的调度方法 Download PDFInfo
- Publication number
- CN103078809B CN103078809B CN201210591140.1A CN201210591140A CN103078809B CN 103078809 B CN103078809 B CN 103078809B CN 201210591140 A CN201210591140 A CN 201210591140A CN 103078809 B CN103078809 B CN 103078809B
- Authority
- CN
- China
- Prior art keywords
- crossbar
- input unit
- frame
- scheduling
- output unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种基于多crossbar交换结构的调度方法,消除单crossbar交换结构的负面影响,实现交换机单播和多播的线速无阻交换。本发明对单播、多播和消息监控采用三条完全独立的crossbar,三条crossbar分别采用独立的硬件逻辑电路,分别采用独立的调度算法,三条crossbar之间互不影响,实现高性能网络交换功能。本发明吞吐率高,延迟小,可以确保单播、多播通信互不影响,实现线速无阻交换;交换机在线速通信时,可以实现线速监控,保证不丢包。
Description
技术领域
本发明属于计算机通信技术,涉及交换机设计中一种多crossbar交换结构的调度方法。
背景技术
现代交换式通信网络,由节点机和交换机组成,所有节点机均通过链路与交换机相连,实现分布式通信。在航空电子系统设计中,要求交换机支持单播和多播的线速无阻交换,并且为了能够排查和定位网络产品研发过程中出现的问题,要求交换机支持基于消息的数据监控功能。
在传统交换机设计中,采用一条crossbar实现交换机的单播、多播和消息监控功能,由于单播、多播和消息监控共享带宽的限制,导致它们之间互相影响,影响交换机的交换性能,导致吞吐量下降,延迟增大,并且会导致数据消息监控丢包,不能满足航空电子系统实时性和安全性的设计要求。
发明内容
本发明提供一种基于多crossbar交换结构的调度方法,消除单crossbar交换结构的负面影响,实现交换机单播和多播的线速无阻交换。
本发明的技术解决方案如下。
本发明对单播、多播和消息监控采用三条完全独立的crossbar,三条crossbar分别采用独立的硬件逻辑电路,分别采用独立的调度算法,三条crossbar之间互不影响,实现高性能网络交换功能。
具体方案是:
一种基于多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交换结构,实现消息监控crossbar调度的过程如下:
采用m x n的crossbar,按照以下步骤进行(与多播类似的调度过程,不同点仅是启动条件不同:通过检测消息ID查找表,判断该数据帧是否被监控,以及被哪个监控端口监控;如果被监控,则向对应的监控端口发送请求信号;监控crossbar调度过程的其余步骤与多播完全相同):
a.检测消息ID查找表,判断该数据帧是否被监控,以及被哪个监控端口监控;如果被监控,则向对应的监控端口发送请求信号;
b.输入单元在一个固定的时间窗口内等待监控端口的发送准许信号:如果所有的监控端口都回复了发送准许,立即转到步骤c;如果该时间窗口已过,则只要有任何一个监控端口回复发送准许,转到步骤c;如果在整个时间窗口内没有任何一个监控端口回复发送准许,重新发送请求;
c.输入单元向发送了准许信号的监控端口发送数据帧,直至该数据帧结束,转到步骤d;
d.输入单元将这些已发送了准许信号的监控端口从请求列表中删除,向剩余的监控端口发送请求信号,重复步骤b-d,直到把该数据帧发送至所有监控端口,完成调度。
本发明具有的优点是:
1)吞吐率高,延迟小,可以确保单播、多播通信互不影响,实现线速无阻交换;
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调度过程的其余步骤与多播完全相同。
Claims (1)
1.一种基于多crossbar交换结构的调度方法,其采用的多crossbar交换结构由MAC、输入单元,输出单元和三条独立的crossbar构成,其中,输入单元包括m个通信端口输入单元和n个监控端口输入单元,输出单元包括m个通信端口输出单元和n个监控端口输出单元;
(1)MAC负责接收来自于与之相连的节点机的数据,实现相应标准媒体访问层协议,并对数据进行封装/解析,实现数据的接收和发送;
(2)输入单元接收来自于MAC的数据帧,对数据帧进行有效性检测,根据目的ID查找路由表,将数据帧放到相应的虚拟输出队列排队等待调度;同时检测消息ID查找表,判断该条数据帧是否需要被监控,如果需要被监控,将数据帧复制到监控端口输入单元的缓冲区中,等待调度;
(3)三条crossbar独立调度,分别实现单播、多播和消息监控的转发调度;三条crossbar均采用“请求—准许—接受”的分布式调度策略,将数据帧从输入单元的缓冲区中调度到输出单元的缓冲区中;
(4)输出单元负责从输出缓冲区读取数据帧,将数据帧发送到MAC,输出到与之相连的节点机;监控端口输出单元和数据通信端口输出单元的差别在于监控端口输出单元需要增加监控时标,并且需要重新进行循环冗余校验码计算;
基于所述多crossbar交换结构,实现单播crossbar调度的过程如下:
单播实现采用mxn的crossbar,其中,m即通信端口的数量,n即监控端口的数量;单播crossbar采用分布式调度算法,每次调度按照“请求-准许-接受”的步骤进行:
a1.当输入单元的缓冲区中有单播帧时,输出单元发出请求信号;
b1.对于每个通信端口输出单元,当接收到不同通信端口输入单元的请求信号后,采用Round-Robin算法产生准许信号;
c1.对于每个通信端口输入单元,当接收到不同通信端口输出单元的准许信号后,采用Round-Robin算法产生接受信号并且开始调度;
d1.各个通信端口输出单元持续检测自己发出的准许信号是否被接受,如果被接受,则执行调度;
基于所述多crossbar交换结构,实现多播crossbar调度的过程如下:
多播实现采用mxn的交叉开关,多播crossbar采用多址调度算法实现分布式调度,多址调度算法由以下四个步骤组成:
a2.当某个输入单元有一个多播帧需要发送时,根据该帧的多播组ID查询到该多播组的成员,即多个目的端口,向所有目的端口发送请求信号,转到步骤b2;
b2.输入单元在一个固定的时间窗口内等待目的端口的发送准许信号:如果所有的目的端口都回复了发送准许,立即转到步骤c2;如果该时间窗口已过,则只要有任何一个目的端口回复发送准许,转到步骤c2;如果在整个时间窗口内没有任何一个目的端口回复发送准许,重新发送请求;
c2.输入单元向发送了准许信号的目的端口发送数据帧,直至该数据帧结束,转到步骤d2;
d2.输入单元将这些已发送了准许信号的目的端口从请求列表中删除,向剩余的目的端口发送请求信号,重复步骤b2–d2,直到把该多播数据帧发送至所有目的端口,完成调度;
基于所述多crossbar交换结构,实现消息监控crossbar调度的过程如下:
采用mxn的crossbar,按照以下步骤进行:
a3.检测消息ID查找表,判断该数据帧是否被监控,以及被哪个监控端口监控;如果被监控,则向对应的监控端口发送请求信号;
b3.输入单元在一个固定的时间窗口内等待监控端口的发送准许信号:如果所有的监控端口都回复了发送准许,立即转到步骤c3;如果该时间窗口已过,则只要有任何一个监控端口回复发送准许,转到步骤c3;如果在整个时间窗口内没有任何一个监控端口回复发送准许,重新发送请求;
c3.输入单元向发送了准许信号的监控端口发送数据帧,直至该数据帧结束,转到步骤d3;
d3.输入单元将这些已发送了准许信号的监控端口从请求列表中删除,向剩余的监控端口发送请求信号,重复步骤b3-d3,直到把该数据帧发送至所有监控端口,完成调度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210591140.1A CN103078809B (zh) | 2012-12-28 | 2012-12-28 | 一种基于多crossbar交换结构的调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210591140.1A CN103078809B (zh) | 2012-12-28 | 2012-12-28 | 一种基于多crossbar交换结构的调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103078809A CN103078809A (zh) | 2013-05-01 |
CN103078809B true CN103078809B (zh) | 2015-06-24 |
Family
ID=48155218
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210591140.1A Active CN103078809B (zh) | 2012-12-28 | 2012-12-28 | 一种基于多crossbar交换结构的调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103078809B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6771642B1 (en) * | 1999-01-08 | 2004-08-03 | Cisco Technology, Inc. | Method and apparatus for scheduling packets in a packet switch |
CN101527686A (zh) * | 2009-04-07 | 2009-09-09 | 华为技术有限公司 | 一种数据交换方法和设备 |
CN102420760A (zh) * | 2011-12-02 | 2012-04-18 | 盛科网络(苏州)有限公司 | 通过以太网封装包处理头来实现芯片间转发的方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4489308B2 (ja) * | 2001-01-05 | 2010-06-23 | 富士通株式会社 | パケットスイッチ |
JP4568364B2 (ja) * | 2005-09-13 | 2010-10-27 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 相互接続ファブリックにおいてユニキャスト・トラフィック及びマルチキャスト・トラフィックをスケジューリングする方法、装置、及びコンピュータ・プログラム(相互接続ファブリックにおいてユニキャスト・トラフィック及びマルチキャスト・トラフィックをスケジューリングする方法及び装置) |
-
2012
- 2012-12-28 CN CN201210591140.1A patent/CN103078809B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6771642B1 (en) * | 1999-01-08 | 2004-08-03 | Cisco Technology, Inc. | Method and apparatus for scheduling packets in a packet switch |
CN101527686A (zh) * | 2009-04-07 | 2009-09-09 | 华为技术有限公司 | 一种数据交换方法和设备 |
CN102420760A (zh) * | 2011-12-02 | 2012-04-18 | 盛科网络(苏州)有限公司 | 通过以太网封装包处理头来实现芯片间转发的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103078809A (zh) | 2013-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102160328B (zh) | 用于协调分布式虚拟网络交换环境中的多播消息传送的中央控制器 | |
EP3484108B1 (en) | Method of data delivery across a network | |
CN103139060B (zh) | 基于双dsp的高容错性can总线数字网关 | |
CN104104570A (zh) | Irf系统中的聚合处理方法及装置 | |
US10484199B2 (en) | Redundantly operable industrial communication system, method for operating the communication system, and radio transceiver station | |
CN101325497B (zh) | 在不存在自动协商标准的接口上的自动协商 | |
CN1825836B (zh) | 避免网络设备拥塞的系统和方法 | |
CN102970247B (zh) | 一种有效的时间触发网络通信时间调度方法 | |
CN107864099B (zh) | 一种异构fc网络的流量控制方法及系统 | |
US10484238B2 (en) | Radio communication system for an industrial automation system, method for operating said radio communication system, and radio transceiver station | |
US9264298B2 (en) | Technique for bundling in link aggregation | |
US10405185B2 (en) | Redundantly operable industrial communication system, method for operation thereof and radio subscriber station | |
CN101552725B (zh) | 聚合子链路恢复处理方法、系统及设备 | |
JP2016015750A (ja) | ネットワークトラフィック減少方法 | |
US20090006650A1 (en) | Communication device, communication method, communication interface, and program product | |
US10122835B2 (en) | Method and radio communication system for an industrial automation system, radio subscriber station and serialization unit | |
CN101964719A (zh) | 基于主控板倒换的数据处理方法、线卡及主控板 | |
JP5518754B2 (ja) | ネットワークノード | |
CN101547131B (zh) | Eaps环网单通故障定位和保护方法 | |
CN103078809B (zh) | 一种基于多crossbar交换结构的调度方法 | |
EP3396901B1 (en) | Control network system and node device thereof | |
CN103684719A (zh) | 一种与平台无关的网络双冗余热切换方法 | |
KR101442567B1 (ko) | 링 네트워크 토폴로지에서 프레임기반 라우팅을 이용한 프레임 무손실 통신 방법 | |
CN103368836B (zh) | 一种数字微波设备及其网管数据路由方法 | |
CN110855540A (zh) | 一种基于单环网的485多主通信方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |