CN103023669B - Switching network based broadcast scheduling method - Google Patents
Switching network based broadcast scheduling method Download PDFInfo
- Publication number
- CN103023669B CN103023669B CN201210590882.2A CN201210590882A CN103023669B CN 103023669 B CN103023669 B CN 103023669B CN 201210590882 A CN201210590882 A CN 201210590882A CN 103023669 B CN103023669 B CN 103023669B
- Authority
- CN
- China
- Prior art keywords
- broadcast
- port
- license
- transmission
- ingress port
- 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
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
The invention discloses a switching network based broadcast scheduling method which achieves broadcast link-speed forwarding and guarantees broadcast messages to reach all destination ports simultaneously. When a broadcast is transmitted by multiple ports, deadlock is avoided, and transmission loads of transmission ports are kept balanced; and the method is supportive to a cascade network of two switches. All the ports needing to transmit the broadcast messages are arbitrated by a designed global broadcast arbitrator; then the ports with permission transmit requests to all the destination ports and transmit data frames and repeal the broadcast transmission requests after obtaining permission of all the destination ports; and the broadcast arbitrator moves onto next round of arbitration.
Description
Technical field:
The invention belongs to computer communication technology, relate to the dispatching method of a kind of broadcast of switch in communication network.
Background technology:
Modern switched communication network, be all made up of Node station and switch, all Node station are all connected with switch by link, realize distributed communication.Switch, as the core component of whole switching network, is responsible for the exchanges data support that all nodes in network provide clean culture, multicast and broadcast.In order to support more network node, usually multiple switch is carried out cascade to realize.
In some real-time communication systems, there is particular/special requirement to broadcast, require that broadcast reaches each destination interface simultaneously, so just require that all destination interfaces could send broadcast after all ready.When needing when there being multiple port to send broadcast, may occur that multiple port is mutually waited for and causes broadcast Deadlock simultaneously.In addition, in the cascade network of two switch compositions, how to realize broadcast and arrive each destination interface simultaneously, temporarily without relate art literature.
Summary of the invention:
The object of this invention is to provide a kind of broadcast scheduling method based on switching network, realize the surface speed forwarding of broadcast, guarantee that broadcast can arrive all destination interfaces simultaneously; When multiport sends broadcast, deadlock freedom, each transmit port sends load and keeps in balance; And support two switch concatenation networks.
The present invention passes through the overall broadcast moderator of design one, arbitrates all ports sending broadcast that needs; Then licensed-in port sends request to all destination interfaces, after obtaining the license of all destination interfaces, sends Frame and cancels broadcast transmission request; Then next round arbitration is proceeded to.Accordingly, the present invention proposes following scheme:
Based on a kind of broadcast scheduling method of switching network, comprise following link:
1) when broadcast queue's non-NULL of one or more Ingress port, the frame to be sent such as being namely in is broadcast frame state, each Ingress port sends respective " broadcast scheduling request " to broadcast moderator, also sends cascade Extended Capabilities Port marking signal and Priority flag signal to broadcast moderator simultaneously; Broadcast moderator is arbitrated, and sends " broadcast scheduling license " according to arbitration result to selected Ingress port;
2) if Ingress port does not receive " broadcast scheduling license ", then continue to send " broadcast scheduling request "; If received " broadcast scheduling license ", then according to the broadcast isolation register of host configuration, Ingress port sends " broadcast transmission request " to other all Egress destination interfaces except broadcast isolated port;
3) after Egress destination interface receives " the broadcast transmission request " of Ingress port transmission, Priority flag signal priority according to step 1) is selected to adopt Round Robin algorithm to arbitrate to high priority " broadcast transmission request ", according to this arbitration result, Egress destination interface sends " broadcast transmission license " to corresponding Ingress port;
After Egress destination interface receives the transmission of Ingress port " accepting broadcast transmission license ", proceed to next round arbitration; Otherwise Egress destination interface continues to send " broadcast sends license ";
4), after Ingress port collects " the broadcast transmission license " of all Egress destination interfaces, send " accepting broadcast transmission license " to all Egress destination interfaces; Meanwhile, Ingress port control logic produces " broadcast data frame goes out team's request ", and its effective status is maintained to this frame end; Control logic, according to the broadcast frame queue of Priority flag signal behavior respective priority, enters broadcast transmission state;
5), after Ingress port enters broadcast transmission state, cancel " the broadcast scheduling request " that send to broadcast moderator; Meanwhile, broadcast moderator proceeds to next round arbitration, again performs step 1) to 5);
The execution content of described broadcast moderator after receiving " broadcast scheduling request " is:
Whether a, detection cascade Extended Capabilities Port have " broadcast scheduling request ", if had, send " broadcast scheduling license ", then go to step d) to this cascade Extended Capabilities Port; Otherwise, go to step b);
B, detect whether there be " the broadcast scheduling request " of high priority, if had, RoundRobin algorithm is utilized to arbitrate the high priority received " broadcast scheduling request ", and according to arbitration result, send " broadcast scheduling license " to this port, then go to step d); Otherwise go to step c);
C, employing Round Robin algorithm are arbitrated the low priority received " broadcast scheduling request ", and according to arbitration result, are sent " broadcast scheduling license ", then go to step 4 to this port);
D, detect licensed port and whether cancel " broadcast scheduling request ", if so, go to step a), carry out next round arbitration; Otherwise, continue to detect this port and whether cancel " broadcast scheduling request ".
Advantage of the present invention is:
Reliability is high: in single switch and two switch concatenation networks, when occurring that multiple port sends broadcast simultaneously, can guarantee to there will not be deadlock.
Efficiency of transmission is high: single port sends broadcast can reach linear speed; When multiport sends broadcast, each transmit port sends balanced.
Extensibility is strong: only need to expand moderator Round Robin port number, can support the Design and implementation that the switch of more multiport is broadcasted.
Support broadcast isolation: can, according to actual conditions, by host configuration, make section ports not receive broadcast frame.
Accompanying drawing explanation
Fig. 1 is broadcast implementation schematic diagram;
Fig. 2 is broadcast moderator workflow schematic diagram;
Fig. 3 is broadcast transmission schematic flow sheet.
Embodiment:
Implementation of the present invention is divided into broadcast overall plan, broadcast moderator, broadcast transmission flow process three parts.Below to support 32 port switch of two-stage priority, three parts are specifically introduced.
1. broadcast implementation:
As shown in Figure 1, when certain or some Ingress ports (port input) of switch receive broadcast data frame, need to send " broadcast scheduling request " to broadcast moderator, perform following process simultaneously:
1) broadcast moderator from all " broadcast scheduling request " ports, arbitrate out some ports by " broadcast moderator ", send " broadcast scheduling license " to it;
2) the Ingress port of " broadcast scheduling license " is received, " broadcast transmission request " signal is sent to all Egress destination interfaces (port output) receiving broadcast that needs, after " the broadcast transmission license " that collect the reply of all Egress destination interfaces, proceed to transmission state, and cancel " broadcast scheduling request " signal sent to broadcast moderator; Do not receive the Ingress port of " broadcast scheduling license ", then continue to send " broadcast scheduling request " to broadcast moderator;
3) broadcast moderator after sending out " broadcast scheduling license " to certain Ingress port, whether " broadcast scheduling request " signal continuing to detect this port is cancelled, after detecting that this signal is cancelled, goes to step 1), carry out next round arbitration.
2. broadcast moderator:
For avoiding occurring broadcast storm, broadcast can only pass through a cascade Extended Capabilities Port.Broadcast moderator adopts the Round Robin algorithm based on priority, and preferentially accept the request of high priority, wherein, cascade Extended Capabilities Port priority is the highest, and other port priority is the priority of respective broadcast frame.
As shown in Figure 2, moderator workflow is broadcasted as follows:
1) detect cascade Extended Capabilities Port whether to have " broadcast scheduling request ", if had, send " broadcast scheduling license " to this cascade Extended Capabilities Port, then go to step 4); Otherwise, go to step 2);
2) detect " the broadcast scheduling request " that whether have high priority, if had, RoundRobin algorithm is utilized to arbitrate the high priority received " broadcast scheduling request ", and according to arbitration result, send " broadcast scheduling license " to this port, then go to step 4); Otherwise go to step 3);
3) utilize Round Robin algorithm to arbitrate the low priority received " broadcast scheduling request ", and according to arbitration result, send " broadcast scheduling license " to this port, then go to step 4);
4) detect licensed port whether to cancel " broadcast scheduling request ", if so, go to step 1), carry out next round arbitration; Otherwise, continue to detect this port and whether cancel " broadcast scheduling request ".
3. broadcast transmission flow process:
The Ingress port of each FPDP has an input-buffer, is used for the various Frames that buffer memory receives.This buffer memory is divided into the identical N number of subregion of size (representative value is 4,8,12,14,16), and each cache partitions enough stores a largest frames.There is a corresponding position indicator pointer each cache partitions, and value is respectively 0 ~ N.The position indicator pointer of the cache partitions of still untapped cache partitions and just release leaves in a pointer pond, and this pointer pond FIFO realizes.
The Ingress port of each FPDP has several queues: 32 clean culture Low Priority Queuings, 32 clean culture high-priority queues, 1 multicast Low Priority Queuing, 1 multicast high-priority queue, 1 broadcast Low Priority Queuing, 1 broadcast high-priority queue.
When a Frame enters Ingress port, read not by the cache partitions position indicator pointer used from pointer pond, then according to this pointer, Frame is written to position corresponding in input-buffer.Meanwhile, according to the destination address of this Frame, by queue tail of the queue corresponding for position indicator pointer write.
As shown in Figure 3, broadcast transmission flow process is as follows:
1) when broadcast queue's non-NULL (namely etc. frame to be sent be broadcast frame) of one or more Ingress port (input port), each Ingress port sends respective " broadcast scheduling request " to broadcast moderator, also sends cascade Extended Capabilities Port marking signal and Priority flag signal to broadcast moderator simultaneously; Broadcast moderator is arbitrated, and sends " broadcast scheduling license " according to arbitration result to selected Ingress port.
2) if Ingress port does not receive " broadcast scheduling license ", then continue to send " broadcast scheduling request "; If received " broadcast scheduling license ", then according to the broadcast isolation register of host configuration, Ingress port sends " broadcast transmission request " to other all Egress destination interfaces (output port) except broadcast isolated port.
3) after Egress destination interface receives " the broadcast transmission request " of Ingress port transmission, Priority flag signal priority according to step 1) selects to adopt Round Robin algorithm to arbitrate to high priority " broadcast transmission request ", and (this arbitration and aforementioned moderator have nothing to do, only aforementioned moderator also adopts this algorithm usually), send " broadcast transmission license " to corresponding Ingress port according to arbitration result Egress destination interface.
After Egress destination interface receives the transmission of Ingress port " accepting broadcast transmission license ", proceed to next round arbitration; Otherwise Egress destination interface continues to send " broadcast sends license ".
4), after Ingress port collects " the broadcast transmission license " of all Egress destination interfaces, send " accepting broadcast transmission license " to all Egress destination interfaces.Meanwhile, Ingress port control logic produces " broadcast data frame goes out team's request ", and its effective status is maintained to this frame end.Control logic is according to the broadcast frame queue of Priority flag signal behavior respective priority, enter broadcast transmission state (from respective priority broadcast queue playback head pointer, then calculate this broadcast frame according to this head pointer and leave initial address in input-buffer in, enter broadcast transmission state).
5), after Ingress port enters broadcast transmission state, cancel " the broadcast scheduling request " that send to broadcast moderator.Meanwhile, broadcast moderator proceeds to next round arbitration, again performs step 1) to 5).
After entering broadcast transmission state, specifically perform following process: Ingress port control logic is sense data frame from input-buffer, sent to all Egress destination interfaces by crossbar simultaneously, until this frame end.Then this position indicator pointer used is re-write in pointer pond, use for later dataframe.
Claims (1)
1., based on a kind of broadcast scheduling method of switching network, comprise following link:
1) when broadcast queue's non-NULL of one or more Ingress port, the frame to be sent such as being namely in is broadcast frame state, each Ingress port sends respective " broadcast scheduling request " to broadcast moderator, also sends cascade Extended Capabilities Port marking signal and Priority flag signal to broadcast moderator simultaneously; Broadcast moderator is arbitrated, and sends " broadcast scheduling license " according to arbitration result to selected Ingress port;
2) if Ingress port does not receive " broadcast scheduling license ", then continue to send " broadcast scheduling request "; If received " broadcast scheduling license ", then according to the broadcast isolation register of host configuration, Ingress port sends " broadcast transmission request " to other all Egress destination interfaces except broadcast isolated port;
3) after Egress destination interface receives " the broadcast transmission request " of Ingress port transmission, according to step 1) described in Priority flag signal priority select adopt Round Robin algorithm to arbitrate to high priority " broadcast transmission request ", according to this arbitration result, Egress destination interface sends " broadcast transmission license " to corresponding Ingress port;
After Egress destination interface receives the transmission of Ingress port " accepting broadcast transmission license ", proceed to next round arbitration; Otherwise Egress destination interface continues to send " broadcast transmission license ";
4), after Ingress port collects " the broadcast transmission license " of all Egress destination interfaces, send " accepting broadcast transmission license " to all Egress destination interfaces; Meanwhile, Ingress port control logic produces " broadcast data frame goes out team's request ", and its effective status is maintained to this frame end; Control logic, according to the broadcast frame queue of Priority flag signal behavior respective priority, enters broadcast transmission state;
5), after Ingress port enters broadcast transmission state, cancel " the broadcast scheduling request " that send to broadcast moderator; Meanwhile, broadcast moderator proceeds to next round arbitration, again performs step 1) to 5);
The execution content of described broadcast moderator after receiving " broadcast scheduling request " is:
A), detect cascade Extended Capabilities Port and whether have " broadcast scheduling request ", if had, send " broadcast scheduling license " to this cascade Extended Capabilities Port, then go to step d); Otherwise, go to step b);
B), detect " the broadcast scheduling request " that whether have high priority, if had, Round Robin algorithm is utilized to arbitrate the high priority received " broadcast scheduling request ", and according to arbitration result, send " broadcast scheduling license " to this port, then go to step d); Otherwise go to step c);
C), adopt Round Robin algorithm to arbitrate the low priority received " broadcast scheduling request ", and according to arbitration result, send " broadcast scheduling license " to this port, then go to step d);
D), detect licensed port and whether cancel " broadcast scheduling request ", if so, go to step a), carry out next round arbitration; Otherwise, continue to detect this port and whether cancel " broadcast scheduling request ".
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210590882.2A CN103023669B (en) | 2012-12-28 | 2012-12-28 | Switching network based broadcast scheduling method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210590882.2A CN103023669B (en) | 2012-12-28 | 2012-12-28 | Switching network based broadcast scheduling method |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103023669A CN103023669A (en) | 2013-04-03 |
CN103023669B true CN103023669B (en) | 2015-04-15 |
Family
ID=47971830
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210590882.2A Active CN103023669B (en) | 2012-12-28 | 2012-12-28 | Switching network based broadcast scheduling method |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103023669B (en) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104734961B (en) * | 2013-12-20 | 2017-10-24 | 中国航空工业集团公司第六三一研究所 | Route selection method based on FC exchange networks |
CN104104618B (en) * | 2014-08-07 | 2017-10-17 | 曙光信息产业(北京)有限公司 | A kind of multicast message dispatching method and device |
CN105490845A (en) * | 2015-12-08 | 2016-04-13 | 中国航空工业集团公司西安航空计算技术研究所 | FC switcher cascading configuration and routing realizing method |
US10594505B2 (en) | 2016-01-27 | 2020-03-17 | Quanta Computer Inc. | System and method for avoiding deadlock in transmission of broadcast traffic in a server system |
CN107277780B (en) * | 2016-04-07 | 2020-11-20 | 中兴通讯股份有限公司 | Broadcast message sending method and device and mobile terminal |
CN112311702B (en) * | 2020-12-30 | 2021-04-06 | 北京国科天迅科技有限公司 | FC switch scheduling method and device, electronic equipment and storage medium |
CN114025182A (en) * | 2021-10-09 | 2022-02-08 | 南京思迈恩传媒科技有限公司 | Video arrangement processing system suitable for streaming media network program broadcasting |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1604537A (en) * | 2003-09-29 | 2005-04-06 | 中国人民解放军理工大学通信工程学院 | A high-speed Crossbar scheduling strategy supporting multipriority |
CN101388846A (en) * | 2007-09-11 | 2009-03-18 | 国际商业机器公司 | Method, apparatus and program for transferring data |
US7948991B1 (en) * | 2008-05-09 | 2011-05-24 | Cisco Technology, Inc. | Broadcast and multicast transmissions with acknowledgement scheduling |
-
2012
- 2012-12-28 CN CN201210590882.2A patent/CN103023669B/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1604537A (en) * | 2003-09-29 | 2005-04-06 | 中国人民解放军理工大学通信工程学院 | A high-speed Crossbar scheduling strategy supporting multipriority |
CN101388846A (en) * | 2007-09-11 | 2009-03-18 | 国际商业机器公司 | Method, apparatus and program for transferring data |
US7948991B1 (en) * | 2008-05-09 | 2011-05-24 | Cisco Technology, Inc. | Broadcast and multicast transmissions with acknowledgement scheduling |
Non-Patent Citations (2)
Title |
---|
分布式多级交换系统中队列结构及其负载平衡调度算法研究;黄平;《中国博士学位论文全文数据库信息科技辑》;20080315(第3期);全文 * |
移动实时环境下一种改进的广播调度算法;帖军 等;《计算机科学》;20120531;第39卷(第5期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN103023669A (en) | 2013-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103023669B (en) | Switching network based broadcast scheduling method | |
CN105677608B (en) | A kind of how main RS485 bus arbitration method and system | |
US20150010014A1 (en) | Switching device | |
CN101383712A (en) | Routing node microstructure for on-chip network | |
US7729258B2 (en) | Switching device | |
US9860841B2 (en) | Communications fabric with split paths for control and data packets | |
US8050265B2 (en) | Multicast data packet switching method | |
CN111611185A (en) | MSI interruption filtering device with multiple PCIE ports | |
US6721816B1 (en) | Selecting independently of tag values a given command belonging to a second virtual channel and having a flag set among commands belonging to a posted virtual and the second virtual channels | |
US8589593B2 (en) | Method and apparatus for processing protocol messages for multiple protocol instances | |
EP2899644A1 (en) | Device and method for inter-core communication in multi-core processor | |
CN103106177B (en) | Interconnect architecture and method thereof on the sheet of multi-core network processor | |
CN101459598A (en) | Method for implementing packet exchange and system thereof | |
CN112817774A (en) | System and method for transaction broadcasting in network on chip | |
CN102857443B (en) | Data writing method, device and system | |
CN104486257A (en) | Graded sending dispatching circuit structure based on AFDX network switch chip | |
CN115955441A (en) | Management scheduling method and device based on TSN queue | |
CN101815025A (en) | Dispatching method, device and system for unicast and multicast | |
JP2009251652A (en) | Multi-core system | |
US8902899B2 (en) | Input buffered switching device including bypass logic | |
US20150095523A1 (en) | Information processing apparatus, data transfer apparatus, and data transfer method | |
CN202332303U (en) | Structure of multichannel real-time direct-reading memory | |
CN107222435B (en) | Method and device for eliminating exchange head resistance of message | |
JP4724743B2 (en) | Data transfer apparatus and data transfer apparatus control method | |
JP5691555B2 (en) | Interconnected network control system and interconnected network control method |
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 |