US20080247411A1 - Method to operate a crossbar switch - Google Patents
Method to operate a crossbar switch Download PDFInfo
- Publication number
- US20080247411A1 US20080247411A1 US12/079,854 US7985408A US2008247411A1 US 20080247411 A1 US20080247411 A1 US 20080247411A1 US 7985408 A US7985408 A US 7985408A US 2008247411 A1 US2008247411 A1 US 2008247411A1
- Authority
- US
- United States
- Prior art keywords
- sending
- port card
- acknowledgements
- receiving
- ports
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/55—Prevention, detection or correction of errors
- H04L49/552—Prevention, detection or correction of errors by ensuring the integrity of packets received through redundant connections
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/101—Packet switching elements characterised by the switching fabric construction using crossbar or matrix
Definitions
- the invention relates to a method to operate a crossbar switch comprising a crossbar fabric with N sending and M receiving ports, such as that used within an interconnection network connecting cache lines of multi-core computer systems.
- the invention further relates to a crossbar switch.
- An interconnection network such as an interconnection network used to switch data cells or data packets in a high-performance computing system (HPC) comprises, compute nodes interconnected by crossbar switches.
- a more general case of a crossbar fabric is an asymmetric crossbar fabric with N input ports and M output ports, wherein N is unequal to M. Such an asymmetric crossbar fabric is part of a so-called N ⁇ M switch.
- the asymmetric crossbar fabric has M/C, which typically is equal to N, cluster ports, where C ports are clustered or co-located on the same physical port-card for performance and reduced contention.
- M/C typically is equal to N
- C ports are clustered or co-located on the same physical port-card for performance and reduced contention.
- Each of the C ports on a clustered port-card can receive data cells from C out of N input ports in the same time-step or cycle.
- a control unit also called arbiter or scheduler, that is also part of the crossbar switch, provides that this happens.
- port cards transmit data cells to other port cards.
- Data cell headers carry sequence numbers for reliability and ordering.
- a sending port card transmits data cells to a receiving port card and holds data cells that are unacknowledged. If a receiving port card receives a data cell without an error, an acknowledgement (ACK) is routed to the sending port card. When this acknowledgement is received by the sending port card, the unacknowledged data cell is released from the sending port card's memory. If a data cell is received in error at the receiving port card and so communicated to the sending port card, the data cell may be retransmitted by the sending port card. If a time-out expires at the sending port card before the corresponding acknowledgement is received at the sending port card, the sending port card may also retransmit data cells to the receiving port card.
- FIG. 1 A crossbar switch 1 according to the state of the art is shown in FIG. 1 .
- the crossbar switch 1 comprises an asymmetric crossbar fabric 2 with two sending port cards 3 , 4 and one receiving port card 5 connected via said crossbar fabric 2 .
- the crossbar switch 1 further comprises a control unit (arbiter) 6 connected with the sending port cards 3 , 4 via discrete control channel links 7 .
- the control unit 6 is clocking the sending ports connected with the sending port cards 3 , 4 and the receiving ports connected with the receiving port card 5 and further controls which port cards 3 , 4 , 5 exchange data cells with each other.
- Links 9 to and from the crossbar fabric 2 are called data channel links, while links 7 between the control unit 6 and the port cards 3 , 4 , 5 are called control channel links.
- the sending port cards 3 and 4 can send data cells to the receiving port card 5 across the crossbar fabric 2 .
- the receiving port card 5 can receive a data cell from the sending port card 3 as well as from the sending port card 4 in the same cycle.
- the receiving port card 5 has only one transmitter connected via a transmitter link 8 with the crossbar fabric 2 . If the receiving port card 5 wants to acknowledge data cells from the sending port card 3 as well as from the sending port card 4 , then it transmits acknowledgements to the sending port cards 3 and 4 in succession in subsequent cycles. These acknowledgements also occupy bandwidth within the crossbar fabric 2 . The bandwidth provided for data cells within the crossbar fabric 2 is reduced by the acknowledgements.
- Crossbar fabric 2 of FIG. 1 can be optical with arbiter 6 providing electrical or optical control.
- crossbar fabric 2 of FIG. 1 can be electrical and arbiter 6 providing electrical control.
- Intra-switch packet communication reliability uses a Cyclic Redundancy Check (CRC) to be checked on packet arrival and again at packet egress. Packets at egress that have failed CRC are stamped with a code, yet sent out on the link consuming precious bandwidth as no intra-switch ACKs are supported.
- CRC Cyclic Redundancy Check
- the switch uses link-level retransmissions to ensure reliability for inter-switch communication.
- a sender port uses a go-back-n retransmission policy with ACKs being carried on the data channel links between switches.
- the switch uses link-to-link retransmission rather than end-to-end retransmission (from source compute node to destination compute node) to allow packet header modifications enroute to the destination compute node. Such modifications enroute to the destination are critical for superior traffic management cognizant of current network loading conditions, adaptive routing and packet aging.
- one receiving port card can receive C data cells of multiple sending port cards during one cycle but due to its connection with only one clustered port of the crossbar fabric, it needs C cycles to acknowledge the C data cells.
- a main shortcoming of this is that the sending port cards may have to wait for up to C transmissions from the receiver port card to release the transmitted cell. Note that each cell can be transmitted only after arbitration successfully completes.
- a second drawback is that if acknowledgements from a receiving port card to a sending port card are carried on the data channel, this leads to a reduced bandwidth provided to data cell transmission, if the data channel bandwidth is fixed, or leads to increased data channel bandwidth to provide a constant bandwidth for data cell transmission.
- data cells are cumulatively acknowledged (i.e. each data cell is not acknowledged on a per cell basis but rather grouped over a range of sequence numbers) then increased buffer space is indicated at the sender to wait for the cumulative acknowledgement.
- a first aspect of the invention relates to a method to operate a crossbar switch, which crossbar switch comprises a crossbar fabric with N sending and M receiving ports, with port cards coupled or connected to at least one sending and/or receiving port each of the crossbar fabric, said crossbar switch further comprising a control unit connected with or coupled to the port cards via discrete control channel links that are independent of the crossbar fabric, wherein C ports are clustered on a single receiving port card so that such a receiving port card in a single cycle defined by a time step can receive up to C data cells from C sending port cards simultaneously, and wherein each sending port card comprises a buffer space storing each data cell sent until an acknowledgement is received.
- the control channel links are used to relay acknowledgements between the port cards.
- This provides the advantage of an increased bandwidth for transmitting data cells via said crossbar fabric. It has the further advantage that the buffer space at the sending port cards can be reduced by allowing a receiving port card to acknowledge data cells received from different sending port cards within the same time-step or cycle. As acknowledgements are routed via the control channel links and not via the e.g. crossbar fabric, the method according to the invention provides an increased bandwidth within the crossbar fabric for data cells. Another advantage of the invention is that the method allows a reliable data cell delivery within a crossbar switch.
- At least one acknowledgement from a receiving port card to at least one sending port card on the control channel link is piggybacked directly on a control channel cell in the same cycle or time step.
- piggybacked acknowledgements after being sent from a receiving port card are split to discrete acknowledgements before forwarding the acknowledgements to the corresponding sending port cards.
- the crossbar switch can be an electrically controlled electrical switch, an optically controlled optical switch or an electrically controlled optical switch.
- the crossbar switch can be a symmetric one with N equal to M or an asymmetric one with N unequal to M.
- a second aspect of the invention relates to a crossbar switch comprising a crossbar fabric with N sending and M receiving ports, with port cards coupled to at least one sending and/or receiving port each of the crossbar fabric and with a control unit coupled to the port cards via discrete control channel links that are independent of the crossbar fabric.
- C ports are clustered on a single receiving port card so that such a receiving port card in a single cycle defined by a time step can receive C data cells from C sending port cards to be acknowledged simultaneously.
- Each sending port card comprises a buffer space storing each data cell sent until an acknowledgement is received.
- Said crossbar switch comprises means to use the control channel links to relay acknowledgements between the port cards.
- the crossbar switch according to this aspect of the invention provides an increased bandwidth for transmitting data cells via said crossbar fabric.
- the crossbar switch according to the invention allows benefiting all the advantages of the method mentioned above. Doing so also a crossbar switch with a reliable data cell delivery is provided.
- said means to use the control channel links to relay acknowledgements between the port cards comprise a reliable delivery queue (RDQ) and acknowledgement match unit on each sending port card, which enqueues descriptor entries corresponding to entries in a retransmission queue at the sending port card, maintains a deterministic timestamp set at a current time plus a round-trip time (RTT) loaded into each descriptor entry stored in the reliable delivery queue (RDQ).
- Round-trip time is the time between a data cell being transmitted on the data channel and the corresponding acknowledgement arriving at the sender from the receiver.
- Each of the acknowledgements from the receiver carry the sequence number of the data cell received from the sender without error. Retransmissions from the sender are triggered when the current time exceeds retransmission deadline stored in the head-of-line packets in the RDQ and/or when missing sequence numbers are noticed in acknowledgements from the receiver.
- said means to use the control channel links to relay acknowledgements between the port cards comprise a fuse and forward unit on each receiving port card, which extracts sequence numbers and source port identification numbers (IDs) from data cells received, fuses this data and piggybacks acknowledgements.
- IDs sequence numbers and source port identification numbers
- the data cells are checked for errors using a Cyclic Redundancy Check (CRC).
- CRC Cyclic Redundancy Check
- means to use the control channel links to relay acknowledgements between the port cards comprise a split and steer unit within the control unit which splits the fused and piggybacked acknowledgements and transmits the split acknowledgements to the corresponding sending port cards via control channel links.
- a split and steer unit preferably comprises means to use a hybrid data steering binary tree for an N ⁇ M asymmetric switch, wherein said means to use a hybrid data steering binary tree comprise a first and remaining stages with a first stage consisting of M/2 2:1 multiplexers and the remaining log 2 (M) ⁇ 1 stages consist of AND gates, such that N such trees exist corresponding to each of the N input ports in the crossbar switch, each of the N trees has M inputs, with each tree input consisting of sequence numbers and source port ident numbers (IDs) from corresponding acknowledgements.
- said means to use a hybrid data steering binary tree comprise a first and remaining stages with a first stage consisting of M/2 2:1 multiplexers and the remaining log 2 (M) ⁇ 1 stages consist of AND gates, such that N such trees exist corresponding to each of the N input ports in the crossbar switch, each of the N trees has M inputs, with each tree input consisting of sequence numbers and source port ident numbers (IDs) from corresponding acknowledgements.
- IDs source port ident numbers
- FIG. 1 showing a crossbar switch according to the state of the art
- FIG. 2 showing a crossbar switch according to the invention
- FIG. 3 showing a scheme of the steps performed in a reliable delivery queue and acknowledgement match unit according to the invention
- FIG. 4 showing a fuse and forward unit according to the invention
- FIG. 5 showing a split and steer unit according to the invention
- FIG. 6 showing a hybrid data steering tree in a split and steer unit according to the invention.
- a crossbar switch 10 as shown in FIG. 2 to switch data cells or data packets in an interconnection network comprises a crossbar fabric 20 with two sending ports 21 , 22 and two receiving ports 23 , 24 , with sending port cards 30 , 40 connected to one sending port 21 , 22 each and one receiving port card 50 coupled to the receiving ports 23 , 24 .
- the crossbar switch 10 further comprises a control unit 60 connected with the port cards 30 , 40 , 50 via discrete control channel links 70 that are preferably independent of the crossbar fabric 20 .
- the two receiving ports 23 , 24 are clustered on the single receiving port card 50 so that this receiving port card 50 in a single cycle defined by a time step can receive two data cells from the two sending port cards 30 , 40 simultaneously.
- the crossbar switch 10 further comprises means 80 to use the control channel links 70 to relay acknowledgements between the receiving port card 50 and the sending port cards 30 , 40 in order to provide an increased bandwidth for transmitting data cells or data packets via said crossbar fabric 20 .
- both sending port cards 30 , 40 can transmit data cells via the crossbar fabric 20 by their transceivers TX 1 , TX 2 , that can function as transmitters, to the receivers RX 1 , RX 2 respectively on the receiving port card 50 in the same cycle or time-step.
- the sending port cards 30 , 40 comprise a reliable delivery queue (RDQ) and acknowledgement match unit 31 , 41 each, in which unacknowledged data cells are saved.
- RDQ reliable delivery queue
- a fuse and forward unit 51 on the receiving port card 50 fuses the acknowledgements corresponding to data cells on receivers RX 1 and RX 2 and piggybacks them on the control channel link 71 .
- An acknowledgement is generated for every data channel cell received in a given cycle or time-step.
- a split and steer unit 61 integrated in the control unit 60 splits the fused acknowledgements and forwards them to the sending port cards 30 , 40 via the control channel links 72 , 73 respectively. After receiving the acknowledgements, the sending port cards 30 , 40 remove the corresponding data cell from the buffer space.
- the means 80 to use the control channel links 70 to relay acknowledgements between the receiving port card 50 and the sending port cards 30 , 40 are established by the fuse and forward unit 51 , the split and steer unit 61 and the reliable delivery queue and acknowledgement match units 31 , 41 .
- the functionality of the reliable delivery queue and acknowledgment match units 31 , 41 ( FIG. 2 ) is depicted in FIG. 3 .
- the RDQ 35 and the reliable delivery queue and acknowledgment match units 31 , 41 ( FIG. 2 ) are implemented on each sending port card 30 , 40 ( FIG. 2 ) in a control channel link management block.
- a timestamp counter 100 is incremented on each data channel cell slot, wherein each slot represents a time-step to signify the progress of time.
- a descriptor 32 corresponding to the transmitted data cell is placed in the retransmission queue 34 .
- a descriptor 33 corresponding to the entry placed in the retransmission queue 34 is placed in the RDQ 35 .
- This descriptor 32 carries the sum of the current time (CT) 101 and round trip time (RTT) 102 for each data cell as its retransmission deadline 103 .
- CT current time
- RTT round trip time
- Every cycle a comparator compares the head-of-line entry in the RDQ 35 with the timestamp counter 100 . Thereby in a given time-step or cycle only one data cell is sent by a sending port to a receiving port so that head of line entries across RDQs 35 form a sorted list.
- an acknowledgement retransmission policy is used for retransmission. This policy can either be go-back-N or selective-retry.
- go-back-N is used for crossbar switches with optical data channels consistent with burst errors usually seen on optical links.
- a mismatch in sequence numbers between an acknowledgement received on the control channel link from an output port and the corresponding descriptor entry in the RDQ 35 for a particular output port can trigger a retransmission. This corresponds to the situation where data channel cells or control channel cells are lost or found to be in error.
- an additional pointer is maintained in each RDQ 35 and the required retransmission queue descriptor 32 is provided to the port-card transmitter for retransmission. This can be efficient for selective-retry schemes.
- the whole error control window comprising the sequence numbers between last acknowledged sequence number and current data cell sequence number for a given queue i.e. output port is transferred to a queue by block copying. This is efficient for go-back-N schemes.
- an acknowledgement received for a particular data cell can preempt a retransmission in progress. This is especially useful for go-back-N. A deadline elapse can trigger a go-back-N retransmission. If the acknowledgements for subsequent data cells arrive in proper form and order, these acknowledgements can interrupt and squash the retransmission of descriptors 32 from the retransmission queue 34 . This allows bandwidth to be saved.
- a data cell is transmitted and a descriptor 32 corresponding to the data channel cell is placed in the retransmission queue 34 .
- a descriptor 33 corresponding to the entry placed in the retransmission queue 34 is placed in the RDQ 35 .
- the receiving port card 50 can be fitted with a RDQ and with an acknowledgment match unit as well if the receiving port card 50 is foreseen to also send data cells via said crossbar fabric 20 ( FIG. 2 ).
- FIG. 4 shows a fuse and forward unit 51 integrated on a receiving port card 50 ( FIG. 2 ).
- Each receiving port card 50 has a number of C co-located receivers RX 1 , RX 2 etc. Every cycle the fuse and forward unit 51 creates acknowledgements from multiple receivers RX 1 , RX 2 by extracting sequence number and port ID information from incoming data cells. This information is then embedded, piggybacked and forwarded via the control channel link 71 to all receivers TX 1 , TX 2 of the sending port cards 30 , 40 in the same cycle or time-step.
- sequence numbers and port IDs are extracted from data channel cells on a first port 23 and a second port 24 and transmitted on the control channel link 71 .
- a split and steer unit 61 shown in FIG. 5 receives inputs e.g., 62 , 63 from each M/C cluster ports.
- M/C can be set to the number of input ports N.
- the fused acknowledgements are then split and steered to the corresponding sending port (e.g. outputs 64 , 65 of FIG. 5 ). This is possible because the fused acknowledgements from the receiver port card carry the sequence number of the corresponding data cell along with the port ID of the sender.
- all the port cards are tied to a single clock supplied from the central control unit 60 ( FIG. 2 ).
- a sending port card 30 , 40 can only transmit a single data cell to the receiving port-card 50 in a given cycle or time-step. This means that in a given cycle, only one acknowledgement can be destined to a given sending port card from the receiving port-card 50 .
- the potentially large M:1 multiplexer can be implemented as a tree of 2:1 multiplexers.
- the first stage may have M/2 2:1 multiplexers and there may be log 2 (M) stages in the tree of 2:1 multiplexers. This helps to keep wires short and leads to a high speed hardware implementation.
- any given sending port can receive only one acknowledgement from a receiver in a given time step. Consequently, the first stage can use 2:1 multiplexers, while for other stages, 2:1 multiplexers are replaced by AND gates. In other words, the decision about whether a given tree input corresponds to an input port is already resolved in the first stage and subsequent stages are used only to propagate values to the root of a hybrid data steering tree.
- Input 81 contains a value of port ID equal to ‘2’. There is one and only one port that can send a data cell in a given time-step as established earlier, so the matching entry of the input 81 regarding sequence number and port ID is transferred along the branch 88 . A boolean value with all bits set to ‘1’ is consequently transferred along the branch 89 as the comparison in the comparator 86 would not have matched, wherein the comparator 85 already found a match.
- the present invention may use hop-by-hop reliability to allow modifications to packet headers.
- the present invention may work in conjunction with end-to-end reliability and retransmission policies.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
- The invention relates to a method to operate a crossbar switch comprising a crossbar fabric with N sending and M receiving ports, such as that used within an interconnection network connecting cache lines of multi-core computer systems. The invention further relates to a crossbar switch.
- An interconnection network, such as an interconnection network used to switch data cells or data packets in a high-performance computing system (HPC) comprises, compute nodes interconnected by crossbar switches. A crossbar switch typically comprises a crossbar fabric with N input ports and M output ports. If N=M this is called a symmetric crossbar fabric. A more general case of a crossbar fabric is an asymmetric crossbar fabric with N input ports and M output ports, wherein N is unequal to M. Such an asymmetric crossbar fabric is part of a so-called N×M switch. If C is the physical co-location or clustering factor, then the asymmetric crossbar fabric has M/C, which typically is equal to N, cluster ports, where C ports are clustered or co-located on the same physical port-card for performance and reduced contention. Each of the C ports on a clustered port-card can receive data cells from C out of N input ports in the same time-step or cycle. A control unit, also called arbiter or scheduler, that is also part of the crossbar switch, provides that this happens. An asymmetric crossbar fabric becomes a symmetric crossbar fabric when N is equal to M, i.e. N=M.
- In a crossbar switch, port cards transmit data cells to other port cards. Data cell headers carry sequence numbers for reliability and ordering. A sending port card transmits data cells to a receiving port card and holds data cells that are unacknowledged. If a receiving port card receives a data cell without an error, an acknowledgement (ACK) is routed to the sending port card. When this acknowledgement is received by the sending port card, the unacknowledged data cell is released from the sending port card's memory. If a data cell is received in error at the receiving port card and so communicated to the sending port card, the data cell may be retransmitted by the sending port card. If a time-out expires at the sending port card before the corresponding acknowledgement is received at the sending port card, the sending port card may also retransmit data cells to the receiving port card.
- A
crossbar switch 1 according to the state of the art is shown inFIG. 1 . Thecrossbar switch 1 comprises anasymmetric crossbar fabric 2 with twosending port cards port card 5 connected via saidcrossbar fabric 2. Thecrossbar switch 1 further comprises a control unit (arbiter) 6 connected with thesending port cards control channel links 7. Thecontrol unit 6 is clocking the sending ports connected with thesending port cards receiving port card 5 and further controls whichport cards Links 9 to and from thecrossbar fabric 2 are called data channel links, whilelinks 7 between thecontrol unit 6 and theport cards crossbar switch 1, thesending port cards receiving port card 5 across thecrossbar fabric 2. Thereby thereceiving port card 5 can receive a data cell from the sendingport card 3 as well as from the sendingport card 4 in the same cycle. Thereceiving port card 5 has only one transmitter connected via atransmitter link 8 with thecrossbar fabric 2. If thereceiving port card 5 wants to acknowledge data cells from the sendingport card 3 as well as from thesending port card 4, then it transmits acknowledgements to the sendingport cards crossbar fabric 2. The bandwidth provided for data cells within thecrossbar fabric 2 is reduced by the acknowledgements. It is also customary to cumulatively acknowledge the receipt of data cells from thesending port cards port cards receiving port card 5 has to wait for a data cell to piggyback the cumulative acknowledgement. This can further aggravate buffering needs at the sending ports.Crossbar fabric 2 ofFIG. 1 can be optical witharbiter 6 providing electrical or optical control. Similarly,crossbar fabric 2 ofFIG. 1 can be electrical andarbiter 6 providing electrical control. - Using the state of the art's crossbar switches, there are successive acknowledgement transmissions in the case of asymmetric crossbar fabrics with a co-location or clustering factor C, wherein C successive transmissions are needed to reach a sending port card assuming that C sending port cards transmit data cells within the same cycle to a clustered or co-located port on the same physical receiving port-card. Increased buffer space at the sending port cards is also required. In addition, data cell piggybacked cumulative acknowledgements require additional buffer space at the sender as the sender must wait for the cumulative acknowledgement piggybacked on a data cell from the receiver to the sender.
- Daily et al, “The Reliable Router: A Reliable and High-Performance Communication Substrate for Parallel Computers”, first International Workshop on Parallel Computing Routing and Communications, Seattle, Wash., May 1994, describes a reliability mechanism using multiple data packet copies and a unique token. Two copies of each data packet and a token are required that transfer from switch to switch. This removes the need for source buffering at the input compute node and removes acknowledgements from the data channel, but comes at the expense of higher data channel bandwidth due to multiple data copies and logic to remove duplicates at the destination node. This work is relevant for mesh-based networks and is inefficient for arbitrary topology packet networks.
- In the Galles article entitled, “Spider: A High-Speed Network Interconnect,” IEEE Micro, Vol. 17, No. 1, pp. 34-39, January/February, 1997, an interconnection network using an electrical switch to switch data cells/packets is known. Intra-switch packet communication reliability uses a Cyclic Redundancy Check (CRC) to be checked on packet arrival and again at packet egress. Packets at egress that have failed CRC are stamped with a code, yet sent out on the link consuming precious bandwidth as no intra-switch ACKs are supported. The switch uses link-level retransmissions to ensure reliability for inter-switch communication. A sender port uses a go-back-n retransmission policy with ACKs being carried on the data channel links between switches. The switch uses link-to-link retransmission rather than end-to-end retransmission (from source compute node to destination compute node) to allow packet header modifications enroute to the destination compute node. Such modifications enroute to the destination are critical for superior traffic management cognizant of current network loading conditions, adaptive routing and packet aging.
- In summary within a crossbar switch according to the state of the art two main drawbacks arise. First, one receiving port card can receive C data cells of multiple sending port cards during one cycle but due to its connection with only one clustered port of the crossbar fabric, it needs C cycles to acknowledge the C data cells. A main shortcoming of this is that the sending port cards may have to wait for up to C transmissions from the receiver port card to release the transmitted cell. Note that each cell can be transmitted only after arbitration successfully completes. A second drawback is that if acknowledgements from a receiving port card to a sending port card are carried on the data channel, this leads to a reduced bandwidth provided to data cell transmission, if the data channel bandwidth is fixed, or leads to increased data channel bandwidth to provide a constant bandwidth for data cell transmission. Moreover, if data cells are cumulatively acknowledged (i.e. each data cell is not acknowledged on a per cell basis but rather grouped over a range of sequence numbers) then increased buffer space is indicated at the sender to wait for the cumulative acknowledgement.
- It is thus an object of the invention to provide another method to operate a crossbar switch. It is a further object of the invention to provide a method to operate a crossbar switch comprising a crossbar fabric with N sending and M receiving ports with port cards housing each sending and receiving port, which method provides increased bandwidth for transmitting data cells via said crossbar fabric and which method allows to acknowledge data cells received within the same cycle from different sending ports, in order to reduce buffer space at the sending port cards. It is further an object of the invention to provide a crossbar switch with an increased bandwidth for data cell transmission.
- A first aspect of the invention relates to a method to operate a crossbar switch, which crossbar switch comprises a crossbar fabric with N sending and M receiving ports, with port cards coupled or connected to at least one sending and/or receiving port each of the crossbar fabric, said crossbar switch further comprising a control unit connected with or coupled to the port cards via discrete control channel links that are independent of the crossbar fabric, wherein C ports are clustered on a single receiving port card so that such a receiving port card in a single cycle defined by a time step can receive up to C data cells from C sending port cards simultaneously, and wherein each sending port card comprises a buffer space storing each data cell sent until an acknowledgement is received. The control channel links are used to relay acknowledgements between the port cards.
- This provides the advantage of an increased bandwidth for transmitting data cells via said crossbar fabric. It has the further advantage that the buffer space at the sending port cards can be reduced by allowing a receiving port card to acknowledge data cells received from different sending port cards within the same time-step or cycle. As acknowledgements are routed via the control channel links and not via the e.g. crossbar fabric, the method according to the invention provides an increased bandwidth within the crossbar fabric for data cells. Another advantage of the invention is that the method allows a reliable data cell delivery within a crossbar switch.
- According to a preferred embodiment of the method according to the invention, at least one acknowledgement from a receiving port card to at least one sending port card on the control channel link is piggybacked directly on a control channel cell in the same cycle or time step. Unlike according to the state of the art, there is no need to transmit C acknowledgements for C data cells received in a single cycle, within C successive cycles, if C ports are clustered on the same receiving port card. Since piggybacking acknowledgements to be sent via the discrete control channel links does not narrow the bandwidth provided to exchange data cells via the crossbar fabric, a limitation of the number of acknowledgements to be piggybacked is only given by the physical limitations of the control channel links.
- According to another preferred embodiment of the method according to the invention, piggybacked acknowledgements after being sent from a receiving port card are split to discrete acknowledgements before forwarding the acknowledgements to the corresponding sending port cards.
- The crossbar switch can be an electrically controlled electrical switch, an optically controlled optical switch or an electrically controlled optical switch. The crossbar switch can be a symmetric one with N equal to M or an asymmetric one with N unequal to M.
- A second aspect of the invention relates to a crossbar switch comprising a crossbar fabric with N sending and M receiving ports, with port cards coupled to at least one sending and/or receiving port each of the crossbar fabric and with a control unit coupled to the port cards via discrete control channel links that are independent of the crossbar fabric. Thereby C ports are clustered on a single receiving port card so that such a receiving port card in a single cycle defined by a time step can receive C data cells from C sending port cards to be acknowledged simultaneously. Each sending port card comprises a buffer space storing each data cell sent until an acknowledgement is received. Said crossbar switch comprises means to use the control channel links to relay acknowledgements between the port cards. The crossbar switch according to this aspect of the invention provides an increased bandwidth for transmitting data cells via said crossbar fabric. The crossbar switch according to the invention allows benefiting all the advantages of the method mentioned above. Doing so also a crossbar switch with a reliable data cell delivery is provided.
- According to a preferred embodiment of the crossbar switch according to the invention, said means to use the control channel links to relay acknowledgements between the port cards comprise a reliable delivery queue (RDQ) and acknowledgement match unit on each sending port card, which enqueues descriptor entries corresponding to entries in a retransmission queue at the sending port card, maintains a deterministic timestamp set at a current time plus a round-trip time (RTT) loaded into each descriptor entry stored in the reliable delivery queue (RDQ). Round-trip time is the time between a data cell being transmitted on the data channel and the corresponding acknowledgement arriving at the sender from the receiver. Each of the acknowledgements from the receiver carry the sequence number of the data cell received from the sender without error. Retransmissions from the sender are triggered when the current time exceeds retransmission deadline stored in the head-of-line packets in the RDQ and/or when missing sequence numbers are noticed in acknowledgements from the receiver.
- According to another preferred embodiment of the crossbar switch according to the invention, said means to use the control channel links to relay acknowledgements between the port cards comprise a fuse and forward unit on each receiving port card, which extracts sequence numbers and source port identification numbers (IDs) from data cells received, fuses this data and piggybacks acknowledgements. Preferably the data cells are checked for errors using a Cyclic Redundancy Check (CRC).
- According to a particularly preferred embodiment of the crossbar switch according to the invention, means to use the control channel links to relay acknowledgements between the port cards comprise a split and steer unit within the control unit which splits the fused and piggybacked acknowledgements and transmits the split acknowledgements to the corresponding sending port cards via control channel links.
- A split and steer unit preferably comprises means to use a hybrid data steering binary tree for an N×M asymmetric switch, wherein said means to use a hybrid data steering binary tree comprise a first and remaining stages with a first stage consisting of M/2 2:1 multiplexers and the remaining log2(M)−1 stages consist of AND gates, such that N such trees exist corresponding to each of the N input ports in the crossbar switch, each of the N trees has M inputs, with each tree input consisting of sequence numbers and source port ident numbers (IDs) from corresponding acknowledgements.
- Further embodiments of the invention cover elements in a crossbar switch to piggyback acknowledgements on control channel cells, split combined acknowledgements and steer discrete acknowledgements to required sending ports, and match acknowledgements to data cells in sending port cards waiting for corresponding acknowledgements.
- The foregoing, together with other objects, features, and advantages of this invention can be better appreciated with reference to the following specification, claims and drawings.
-
FIG. 1 showing a crossbar switch according to the state of the art, -
FIG. 2 showing a crossbar switch according to the invention, -
FIG. 3 showing a scheme of the steps performed in a reliable delivery queue and acknowledgement match unit according to the invention, -
FIG. 4 showing a fuse and forward unit according to the invention, -
FIG. 5 showing a split and steer unit according to the invention, and -
FIG. 6 showing a hybrid data steering tree in a split and steer unit according to the invention. - A
crossbar switch 10 as shown inFIG. 2 to switch data cells or data packets in an interconnection network comprises acrossbar fabric 20 with two sendingports ports port cards port port card 50 coupled to the receivingports crossbar switch 10 further comprises acontrol unit 60 connected with theport cards control channel links 70 that are preferably independent of thecrossbar fabric 20. The two receivingports port card 50 so that this receivingport card 50 in a single cycle defined by a time step can receive two data cells from the two sendingport cards port cards port card 50 to acknowledge data cells received from different sendingport cards port card crossbar switch 10 further comprises means 80 to use thecontrol channel links 70 to relay acknowledgements between the receivingport card 50 and the sendingport cards crossbar fabric 20. - Within the
crossbar switch 10, both sendingport cards crossbar fabric 20 by their transceivers TX1, TX2, that can function as transmitters, to the receivers RX1, RX2 respectively on the receivingport card 50 in the same cycle or time-step. The sendingport cards acknowledgement match unit forward unit 51 on the receivingport card 50 fuses the acknowledgements corresponding to data cells on receivers RX1 and RX2 and piggybacks them on thecontrol channel link 71. An acknowledgement is generated for every data channel cell received in a given cycle or time-step. A split andsteer unit 61 integrated in thecontrol unit 60 splits the fused acknowledgements and forwards them to the sendingport cards control channel links port cards - According to this embodiment of the invention the
means 80 to use thecontrol channel links 70 to relay acknowledgements between the receivingport card 50 and the sendingport cards forward unit 51, the split andsteer unit 61 and the reliable delivery queue andacknowledgement match units - The functionality of the reliable delivery queue and
acknowledgment match units 31, 41 (FIG. 2 ) is depicted inFIG. 3 . On each sendingport card crossbar switch 10. There is a single reliable delivery queue andacknowledgment match unit 31, 41 (FIG. 2 ) on a particular sending port card that serves all theRDQs 35. TheRDQ 35 and the reliable delivery queue andacknowledgment match units 31, 41 (FIG. 2 ) are implemented on each sendingport card 30, 40 (FIG. 2 ) in a control channel link management block. Atimestamp counter 100 is incremented on each data channel cell slot, wherein each slot represents a time-step to signify the progress of time. After a data cell is transmitted, adescriptor 32 corresponding to the transmitted data cell is placed in theretransmission queue 34. Simultaneously adescriptor 33 corresponding to the entry placed in theretransmission queue 34 is placed in theRDQ 35. Thisdescriptor 32 carries the sum of the current time (CT) 101 and round trip time (RTT) 102 for each data cell as itsretransmission deadline 103. Every cycle a comparator compares the head-of-line entry in theRDQ 35 with thetimestamp counter 100. Thereby in a given time-step or cycle only one data cell is sent by a sending port to a receiving port so that head of line entries acrossRDQs 35 form a sorted list. If thetimestamp counter 100 shows a time that matches the deadline entry in the head-of-line descriptor 35 and an acknowledgement corresponding to thedescriptor 33 is not present in the control channel link input, an acknowledgement retransmission policy is used for retransmission. This policy can either be go-back-N or selective-retry. - In an embodiment of the present invention, go-back-N is used for crossbar switches with optical data channels consistent with burst errors usually seen on optical links. In addition, a mismatch in sequence numbers between an acknowledgement received on the control channel link from an output port and the corresponding descriptor entry in the
RDQ 35 for a particular output port can trigger a retransmission. This corresponds to the situation where data channel cells or control channel cells are lost or found to be in error. - In an embodiment of the present invention, an additional pointer is maintained in each
RDQ 35 and the requiredretransmission queue descriptor 32 is provided to the port-card transmitter for retransmission. This can be efficient for selective-retry schemes. - In another embodiment of the present invention, the whole error control window comprising the sequence numbers between last acknowledged sequence number and current data cell sequence number for a given queue i.e. output port is transferred to a queue by block copying. This is efficient for go-back-N schemes.
- According to an embodiment of the invention an acknowledgement received for a particular data cell can preempt a retransmission in progress. This is especially useful for go-back-N. A deadline elapse can trigger a go-back-N retransmission. If the acknowledgements for subsequent data cells arrive in proper form and order, these acknowledgements can interrupt and squash the retransmission of
descriptors 32 from theretransmission queue 34. This allows bandwidth to be saved. - In an exemplary embodiment of the present invention as described with reference to
FIG. 3 a data cell is transmitted and adescriptor 32 corresponding to the data channel cell is placed in theretransmission queue 34. Simultaneously, adescriptor 33 corresponding to the entry placed in theretransmission queue 34 is placed in theRDQ 35. This descriptor entry carries the value eighty stored from the current time CT=25 time units and the round-trip time RTT=55 time units. Assuming that time elapses to CT+RTT=80 time units and the corresponding acknowledgement does not arrive, retransmission of the whole error control window for go-back-N or just the current data cell for selective retry will be triggered at the 81st time unit i.e. CT+RTT+1. - According to a further embodiment of the invention the receiving
port card 50 can be fitted with a RDQ and with an acknowledgment match unit as well if the receivingport card 50 is foreseen to also send data cells via said crossbar fabric 20 (FIG. 2 ). -
FIG. 4 shows a fuse andforward unit 51 integrated on a receiving port card 50 (FIG. 2 ). Each receivingport card 50 has a number of C co-located receivers RX1, RX2 etc. Every cycle the fuse andforward unit 51 creates acknowledgements from multiple receivers RX1, RX2 by extracting sequence number and port ID information from incoming data cells. This information is then embedded, piggybacked and forwarded via thecontrol channel link 71 to all receivers TX1, TX2 of the sendingport cards FIG. 4 , sequence numbers and port IDs are extracted from data channel cells on afirst port 23 and asecond port 24 and transmitted on thecontrol channel link 71. - A split and
steer unit 61 shown inFIG. 5 receives inputs e.g., 62, 63 from each M/C cluster ports. In an exemplary embodiment, M/C can be set to the number of input ports N. In another exemplary embodiment, for a N×M switch with N=64, M=128 and C=2 yields a 64×(128/2) switch. The fused acknowledgements are then split and steered to the corresponding sending port (e.g. outputs 64, 65 ofFIG. 5 ). This is possible because the fused acknowledgements from the receiver port card carry the sequence number of the corresponding data cell along with the port ID of the sender. In an embodiment of the present invention, all the port cards are tied to a single clock supplied from the central control unit 60 (FIG. 2 ). In this case, a sendingport card card 50 in a given cycle or time-step. This means that in a given cycle, only one acknowledgement can be destined to a given sending port card from the receiving port-card 50. This allows the split andsteer unit 61 to be constructed as N multiplexers, one for each input port. Each multiplexer multiplexes M output ports to a given input port, i.e. is a M:1 multiplexer. The multiplexer steers the acknowledgement corresponding to a given input port. For an N×M switch, there are N such multiplexers. - The potentially large M:1 multiplexer can be implemented as a tree of 2:1 multiplexers. The first stage may have M/2 2:1 multiplexers and there may be log2 (M) stages in the tree of 2:1 multiplexers. This helps to keep wires short and leads to a high speed hardware implementation.
- In an embodiment of the present invention, with all port cards tied to a single clock from the
control unit 60, in a given cycle, any given sending port can receive only one acknowledgement from a receiver in a given time step. Consequently, the first stage can use 2:1 multiplexers, while for other stages, 2:1 multiplexers are replaced by AND gates. In other words, the decision about whether a given tree input corresponds to an input port is already resolved in the first stage and subsequent stages are used only to propagate values to the root of a hybrid data steering tree. - According to an embodiment of the present invention shown in
FIG. 6 , in a split andsteer unit 61 with four output ports, a hybriddata steering tree 90 corresponds to a given input port I=2. It has 4/2=2comparators operators inputs input inputs output 91.Input 81 contains a value of port ID equal to ‘2’. There is one and only one port that can send a data cell in a given time-step as established earlier, so the matching entry of theinput 81 regarding sequence number and port ID is transferred along thebranch 88. A boolean value with all bits set to ‘1’ is consequently transferred along thebranch 89 as the comparison in thecomparator 86 would not have matched, wherein thecomparator 85 already found a match. Theoperator 87 performs an AND operation and the value of theinput 81 observed at the root of thetree 90 contains the sequence number and port ID of the data cell that was acknowledged successfully by thereceiver port card 50 and destined to the input port I=2. - The present invention may use hop-by-hop reliability to allow modifications to packet headers. The present invention may work in conjunction with end-to-end reliability and retransmission policies.
- While the present invention has been described in detail, in conjunction with specific preferred embodiments, it is evident that many alternatives, modifications and variations will be apparent to those skilled in the art in light of the foregoing description. It is therefore contemplated that the appended claims will embrace any such alternatives, modifications and variations as falling within the true scope and spirit of the present invention.
Claims (10)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP07006759 | 2007-03-31 | ||
EP07006759 | 2007-03-31 |
Publications (2)
Publication Number | Publication Date |
---|---|
US20080247411A1 true US20080247411A1 (en) | 2008-10-09 |
US7978690B2 US7978690B2 (en) | 2011-07-12 |
Family
ID=39826838
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/079,854 Expired - Fee Related US7978690B2 (en) | 2007-03-31 | 2008-03-28 | Method to operate a crossbar switch |
Country Status (1)
Country | Link |
---|---|
US (1) | US7978690B2 (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7978690B2 (en) * | 2007-03-31 | 2011-07-12 | International Business Machines Corporation | Method to operate a crossbar switch |
WO2014102649A1 (en) * | 2012-12-28 | 2014-07-03 | Telefonaktiebolaget L M Ericsson (Publ) | Job homing |
US20180048518A1 (en) * | 2016-08-09 | 2018-02-15 | Fujitsu Limited | Information processing apparatus, communication method and parallel computer |
US10165530B2 (en) * | 2016-03-22 | 2018-12-25 | Christoph RULAND | Verification of time information transmitted by time signals or time telegrams |
US11050680B2 (en) * | 2019-05-03 | 2021-06-29 | Raytheon Company | Non-blocking switch matrix for multi-beam antenna |
WO2022000076A1 (en) * | 2020-06-30 | 2022-01-06 | Viscore Technologies Inc. | Asymmetric network infrastructure with distributed broadcast-select switch and asymmetric network interface controller |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9667442B2 (en) * | 2007-06-11 | 2017-05-30 | International Business Machines Corporation | Tag-based interface between a switching device and servers for use in frame processing and forwarding |
US8559429B2 (en) * | 2007-06-11 | 2013-10-15 | International Business Machines Corporation | Sequential frame forwarding |
US8867341B2 (en) * | 2007-11-09 | 2014-10-21 | International Business Machines Corporation | Traffic management of client traffic at ingress location of a data center |
WO2009061973A1 (en) * | 2007-11-09 | 2009-05-14 | Blade Network Technologies, Inc. | Session-less load balancing of client traffic across servers in a server group |
US8953603B2 (en) * | 2009-10-28 | 2015-02-10 | Juniper Networks, Inc. | Methods and apparatus related to a distributed switch fabric |
US9039432B2 (en) | 2011-07-08 | 2015-05-26 | Cisco Technology, Inc. | System and method for high connectivity platform |
US8545246B2 (en) | 2011-07-25 | 2013-10-01 | Cisco Technology, Inc. | High connectivity platform |
US9426067B2 (en) | 2012-06-12 | 2016-08-23 | International Business Machines Corporation | Integrated switch for dynamic orchestration of traffic |
WO2018164119A1 (en) * | 2017-03-06 | 2018-09-13 | 三菱電機株式会社 | Digital switch, wireless communication device, control station, and wireless communication control method |
Citations (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5124978A (en) * | 1990-11-26 | 1992-06-23 | Bell Communications Research, Inc. | Grouping network based non-buffer statistical multiplexor |
US5168492A (en) * | 1991-04-11 | 1992-12-01 | Northern Telecom Limited | Rotating-access ATM-STM packet switch |
US5218602A (en) * | 1991-04-04 | 1993-06-08 | Dsc Communications Corporation | Interprocessor switching network |
US5237567A (en) * | 1990-10-31 | 1993-08-17 | Control Data Systems, Inc. | Processor communication bus |
US5261058A (en) * | 1990-11-09 | 1993-11-09 | Conner Peripherals, Inc. | Multiple microcontroller hard disk drive control architecture |
US5317565A (en) * | 1993-01-26 | 1994-05-31 | International Business Machines Corporation | Method of sequencing bus operations in a simplex switch |
US5535197A (en) * | 1991-09-26 | 1996-07-09 | Ipc Information Systems, Inc. | Shared buffer switching module |
US5910928A (en) * | 1993-08-19 | 1999-06-08 | Mmc Networks, Inc. | Memory interface unit, shared memory switch system and associated method |
US5991295A (en) * | 1995-10-10 | 1999-11-23 | Madge Networks Limited | Digital switch |
US6487171B1 (en) * | 1999-05-19 | 2002-11-26 | 3Com Corporation | Crossbar switching matrix with broadcast buffering |
US20030031197A1 (en) * | 2001-08-13 | 2003-02-13 | Schmidt Steven G. | Multiple arbitration circuit |
US6542502B1 (en) * | 1996-01-26 | 2003-04-01 | International Business Machines Corporation | Multicasting using a wormhole routing switching element |
US6553030B2 (en) * | 2000-12-28 | 2003-04-22 | Maple Optical Systems Inc. | Technique for forwarding multi-cast data packets |
US6574232B1 (en) * | 1999-05-26 | 2003-06-03 | 3Com Corporation | Crossbar switch utilizing broadcast buffer and associated broadcast buffer management unit |
US6597656B1 (en) * | 1998-05-29 | 2003-07-22 | International Business Machines Corporation | Switch system comprising two switch fabrics |
US20040062242A1 (en) * | 2002-09-26 | 2004-04-01 | Wadia Percy K. | Routing packets in packet-based input/output communications |
US6999453B1 (en) * | 2001-07-09 | 2006-02-14 | 3Com Corporation | Distributed switch fabric arbitration |
US7031330B1 (en) * | 1999-04-15 | 2006-04-18 | Marconi Intellectual Property (Ringfence), Inc. | Very wide memory TDM switching system |
US20070091894A1 (en) * | 2005-10-07 | 2007-04-26 | Samsung Electronics Co., Ltd. | Method and terminal and system for improving transmission rate by using ACK piggybacking of TCP in asynchronous wireless network environment |
US7349393B2 (en) * | 1999-12-02 | 2008-03-25 | Verizon Business Global Llc | Method and system for implementing an improved universal packet switching capability in a data switch |
US7359326B1 (en) * | 2002-02-05 | 2008-04-15 | 3Com Corporation | Method for splitting data and acknowledgements in a TCP session |
US7499464B2 (en) * | 2005-04-06 | 2009-03-03 | Robert Ayrapetian | Buffered crossbar switch with a linear buffer to port relationship that supports cells and packets of variable size |
US7724733B2 (en) * | 2005-03-31 | 2010-05-25 | International Business Machines Corporation | Interconnecting network for switching data packets and method for switching data packets |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7978690B2 (en) * | 2007-03-31 | 2011-07-12 | International Business Machines Corporation | Method to operate a crossbar switch |
-
2008
- 2008-03-28 US US12/079,854 patent/US7978690B2/en not_active Expired - Fee Related
Patent Citations (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5237567A (en) * | 1990-10-31 | 1993-08-17 | Control Data Systems, Inc. | Processor communication bus |
US5261058A (en) * | 1990-11-09 | 1993-11-09 | Conner Peripherals, Inc. | Multiple microcontroller hard disk drive control architecture |
US5124978A (en) * | 1990-11-26 | 1992-06-23 | Bell Communications Research, Inc. | Grouping network based non-buffer statistical multiplexor |
US5218602A (en) * | 1991-04-04 | 1993-06-08 | Dsc Communications Corporation | Interprocessor switching network |
US5168492A (en) * | 1991-04-11 | 1992-12-01 | Northern Telecom Limited | Rotating-access ATM-STM packet switch |
US5535197A (en) * | 1991-09-26 | 1996-07-09 | Ipc Information Systems, Inc. | Shared buffer switching module |
US5317565A (en) * | 1993-01-26 | 1994-05-31 | International Business Machines Corporation | Method of sequencing bus operations in a simplex switch |
US5910928A (en) * | 1993-08-19 | 1999-06-08 | Mmc Networks, Inc. | Memory interface unit, shared memory switch system and associated method |
US5991295A (en) * | 1995-10-10 | 1999-11-23 | Madge Networks Limited | Digital switch |
US6542502B1 (en) * | 1996-01-26 | 2003-04-01 | International Business Machines Corporation | Multicasting using a wormhole routing switching element |
US6597656B1 (en) * | 1998-05-29 | 2003-07-22 | International Business Machines Corporation | Switch system comprising two switch fabrics |
US7031330B1 (en) * | 1999-04-15 | 2006-04-18 | Marconi Intellectual Property (Ringfence), Inc. | Very wide memory TDM switching system |
US6487171B1 (en) * | 1999-05-19 | 2002-11-26 | 3Com Corporation | Crossbar switching matrix with broadcast buffering |
US6574232B1 (en) * | 1999-05-26 | 2003-06-03 | 3Com Corporation | Crossbar switch utilizing broadcast buffer and associated broadcast buffer management unit |
US7349393B2 (en) * | 1999-12-02 | 2008-03-25 | Verizon Business Global Llc | Method and system for implementing an improved universal packet switching capability in a data switch |
US6553030B2 (en) * | 2000-12-28 | 2003-04-22 | Maple Optical Systems Inc. | Technique for forwarding multi-cast data packets |
US6999453B1 (en) * | 2001-07-09 | 2006-02-14 | 3Com Corporation | Distributed switch fabric arbitration |
US20030031197A1 (en) * | 2001-08-13 | 2003-02-13 | Schmidt Steven G. | Multiple arbitration circuit |
US7359326B1 (en) * | 2002-02-05 | 2008-04-15 | 3Com Corporation | Method for splitting data and acknowledgements in a TCP session |
US20040062242A1 (en) * | 2002-09-26 | 2004-04-01 | Wadia Percy K. | Routing packets in packet-based input/output communications |
US7724733B2 (en) * | 2005-03-31 | 2010-05-25 | International Business Machines Corporation | Interconnecting network for switching data packets and method for switching data packets |
US7499464B2 (en) * | 2005-04-06 | 2009-03-03 | Robert Ayrapetian | Buffered crossbar switch with a linear buffer to port relationship that supports cells and packets of variable size |
US20070091894A1 (en) * | 2005-10-07 | 2007-04-26 | Samsung Electronics Co., Ltd. | Method and terminal and system for improving transmission rate by using ACK piggybacking of TCP in asynchronous wireless network environment |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7978690B2 (en) * | 2007-03-31 | 2011-07-12 | International Business Machines Corporation | Method to operate a crossbar switch |
WO2014102649A1 (en) * | 2012-12-28 | 2014-07-03 | Telefonaktiebolaget L M Ericsson (Publ) | Job homing |
US9110721B2 (en) | 2012-12-28 | 2015-08-18 | Telefonaktiebolaget L M Ericsson (Publ) | Job homing |
US10165530B2 (en) * | 2016-03-22 | 2018-12-25 | Christoph RULAND | Verification of time information transmitted by time signals or time telegrams |
US20180048518A1 (en) * | 2016-08-09 | 2018-02-15 | Fujitsu Limited | Information processing apparatus, communication method and parallel computer |
US11050680B2 (en) * | 2019-05-03 | 2021-06-29 | Raytheon Company | Non-blocking switch matrix for multi-beam antenna |
WO2022000076A1 (en) * | 2020-06-30 | 2022-01-06 | Viscore Technologies Inc. | Asymmetric network infrastructure with distributed broadcast-select switch and asymmetric network interface controller |
US11601382B2 (en) | 2020-06-30 | 2023-03-07 | Viscore Technologies Inc. | Asymmetric network infrastructure with distributed broadcast-select switch and asymmetric network interface controller |
Also Published As
Publication number | Publication date |
---|---|
US7978690B2 (en) | 2011-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7978690B2 (en) | Method to operate a crossbar switch | |
US11985060B2 (en) | Dragonfly routing with incomplete group connectivity | |
US20210320820A1 (en) | Fabric control protocol for large-scale multi-stage data center networks | |
US8135024B2 (en) | Method and system to reduce interconnect latency | |
US20190386934A1 (en) | Ethernet enhancements | |
KR101579917B1 (en) | Method, device, system and storage medium for implementing packet transmission in pcie switching network | |
US10419329B2 (en) | Switch-based reliable multicast service | |
US20060221948A1 (en) | Interconnecting network for switching data packets and method for switching data packets | |
US7489625B2 (en) | Multi-stage packet switching system with alternate traffic routing | |
US6952419B1 (en) | High performance transmission link and interconnect | |
US20050207436A1 (en) | Switching device based on aggregation of packets | |
WO1988002961A1 (en) | Batcher-banyan packet switch with output conflict resolution scheme | |
JP4146080B2 (en) | Communication network | |
EP3320635B1 (en) | Minimum latency link layer metaframing and error correction | |
CN101552725B (en) | Recovery processing method, system and apparatus of aggregation sublink | |
KR20200049854A (en) | Packet transmission methods, network components and computer readable storage media | |
WO2023230193A1 (en) | Chip-to-chip interconnect with a layered communication architecture | |
JP2008301002A (en) | Data processor, line selection control method used therefor, and program thereof | |
US11265268B1 (en) | High-throughput multi-node integrated circuits | |
WO2014029958A1 (en) | Acknowledgement system and method | |
US20120155360A1 (en) | Negative-acknowledgment oriented reliable multicast offload engine architecture | |
US20060165080A1 (en) | Replicated distributed responseless crossbar switch scheduling | |
WO2024201804A1 (en) | Relay device | |
CN117203627A (en) | Apparatus and method for remote direct memory access |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ABEL, FRANCOIS G.;GUSAT, MIRCEA;KRISHNAMURTHY, RAJARAM B.;AND OTHERS;REEL/FRAME:021142/0159;SIGNING DATES FROM 20080403 TO 20080512 Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ABEL, FRANCOIS G.;GUSAT, MIRCEA;KRISHNAMURTHY, RAJARAM B.;AND OTHERS;SIGNING DATES FROM 20080403 TO 20080512;REEL/FRAME:021142/0159 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
CC | Certificate of correction | ||
FPAY | Fee payment |
Year of fee payment: 4 |
|
FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
LAPS | Lapse for failure to pay maintenance fees |
Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20190712 |