Scalable parallel packet router
First Claim
Patent Images
1. A device for routing data packets between high-speed communication lines, comprising:
- a data interconnect circuit;
a first processing node that receives data packets from a first high-speed communication line and is adapted to forward data packets via said data interconnect circuit;
second and third processing nodes each adapted to receive data packets from said first processing node via said data interconnect circuit;
first and second low-speed communication lines respectively coupled to said second and third processing nodes; and
a multiplexer having at least two input ports, said multiplexer being adapted to send data packets over a second high-speed communication line, said sent data packets being received via said at least two input ports, said first and second low-speed communication lines being respectively coupled to said at least two input ports,said first, second, and third processing nodes being operative such that a first stream of data packets having a plurality of different sources and destinations are routed from said first high-speed communication line to said second high-speed communication line via a uniform distribution of said first and second low-speed communication lines, while a second stream of data packets each having the same source and destination are routed from said first high-speed communication line to said second high-speed communication line via only one of said first and second low-speed communication lines.
4 Assignments
0 Petitions
Accused Products
Abstract
A scalable parallel packet router comprises a massively parallel computer 10 and a plurality of multiplexers 15, and is controlled by a disclosed packet routing algorithm, and a method of very high-speed packet routing. The method includes selection of an destination node by computing a hash function from source and destination addresses of a packet, so the ordering of packets is preserved.
112 Citations
22 Claims
-
1. A device for routing data packets between high-speed communication lines, comprising:
-
a data interconnect circuit; a first processing node that receives data packets from a first high-speed communication line and is adapted to forward data packets via said data interconnect circuit; second and third processing nodes each adapted to receive data packets from said first processing node via said data interconnect circuit; first and second low-speed communication lines respectively coupled to said second and third processing nodes; and a multiplexer having at least two input ports, said multiplexer being adapted to send data packets over a second high-speed communication line, said sent data packets being received via said at least two input ports, said first and second low-speed communication lines being respectively coupled to said at least two input ports, said first, second, and third processing nodes being operative such that a first stream of data packets having a plurality of different sources and destinations are routed from said first high-speed communication line to said second high-speed communication line via a uniform distribution of said first and second low-speed communication lines, while a second stream of data packets each having the same source and destination are routed from said first high-speed communication line to said second high-speed communication line via only one of said first and second low-speed communication lines. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A device for routing data packets between first and second high-speed communication lines, comprising:
-
a first multiplexer having at least two output ports, said first multiplexer being adapted to receive data packets from said first high-speed communication line, and to send said received data packets via said at least two output ports; first and second low-speed communication lines respectively coupled to said at least two output ports; first and second processing nodes respectively coupled to said first and second low-speed communication lines; a data interconnect circuit; third and fourth processing nodes each adapted to receive data packets from said first and second processing nodes via said data interconnect circuit; third and fourth low-speed communication lines respectively coupled to said third and fourth processing nodes; and a second multiplexer having at least two input ports, said second multiplexer being adapted to send packets over said second high-speed communication line, said sent data packets being received via said at least two input ports, said third and fourth low-speed communication lines being respectively coupled to said at least two input ports, said first and second multiplexers and said first, second, third and fourth processing nodes being operative such that a first stream of data packets having a plurality of different sources and destinations are routed from said first high-speed communication line to said second high-speed communication line via a uniform distribution of said first, second, third and fourth low-speed communication lines, while a second stream of data packets each having the same source and destination are routed from said first high-speed communication line to said second high-speed communication line via only one of said third and fourth processing nodes.
-
-
10. A method for routing data packets between a plurality of high-speed communication lines in a data packet routing device, said method comprising:
-
receiving a data packet from a source high-speed communication line at a source multiplexer; sending the data packet from the source multiplexer to a source network interface via a source low-speed communication line; receiving the data packet at a source processing node; determining from a destination address of the data packet a destination high-speed communication line and a destination multiplexer; determining a number of multiplexer ports associated with the destination multiplexer; selecting a destination multiplexer port, wherein the selecting step comprises the step of computing a function from a plurality of arguments comprising a source address of the data packet and the destination address of the data packet; determining a destination processing node and a destination network interface associated with the destination processing node, wherein the destination network interface is connected to the selected destination multiplexer port by a low-speed communication line; forwarding the data packet to the destination processing node; and sending the data packet to the destination high-speed communication line via the destination network interface, the low-speed communication line, and the destination multiplexer. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. A method of forwarding packets between high-speed communication lines in a packet router device, said packet router device comprising a linearly scalable data interconnect circuit, a first processing node that receives data packets from a first high-speed communication line and is adapted to forward received data packets via said data interconnect circuit, a plurality of second processing nodes each adapted to receive data packets from said first processing node via said data interconnect circuit, a plurality of multiplexers respectively adapted to send data packets over a plurality of second high-speed communication lines, and a plurality of low-speed communication lines coupled between said second processing nodes and said multiplexers, said method comprising:
-
receiving a data packet from said first high-speed communication line at said first processing node; determining from a destination address of said data packet a destination one of said second high-speed communication lines and a destination one of said multiplexers; computing a function from a plurality of arguments including a source address of said data packet and said destination address of said data packet, said function returning a first value equal to a value returned for another source address and another destination address when said source and destination addresses are the same as said another source and destination addresses, said function returning a second value different than said first value when said source and destination addresses are different than said another source and destination addresses; determining a destination one of said processing nodes connected to said destination multiplexer by one of said low-speed communication lines based on a returned value of said function; forwarding said data packet to said destination processing node via said data interconnect circuit; and sending said data packet to said destination high-speed communication line via said connected low-speed communication line and said destination multiplexer. - View Dependent Claims (17, 18, 19, 20, 21, 22)
-
Specification