| US 7,587,516 B2 | ||
| Class network routing | ||
| Gyan Bhanot, Princeton, N.J. (US); Matthias A. Blumrich, Ridgefield, Conn. (US); Dong Chen, Croton On Hudson, N.Y. (US); Paul W. Coteus, Yorktown Heights, N.Y. (US); Alan G. Gara, Mount Kisco, N.Y. (US); Mark E. Giampapa, Irvington, N.Y. (US); Philip Heidelberger, Cortlandt Manor, N.Y. (US); Burkhard D. Steinmacher-Burow, Mount Kisco, N.Y. (US); Todd E. Takken, Mount Kisco, N.Y. (US); and Pavlos M. Vranas, Bedford Hills, N.Y. (US) | ||
| Assigned to International Business Machines Corporation, Armonk, N.Y. (US) | ||
| Appl. No. 10/468,999 PCT Filed Feb. 25, 2002, PCT No. PCT/US02/05573 § 371(c)(1), (2), (4) Date Aug. 22, 2003, PCT Pub. No. WO02/069550, PCT Pub. Date Sep. 06, 2002. |
||
| Claims priority of provisional application 60/271124, filed on Feb. 24, 2001. | ||
| Prior Publication US 2004/0081155 A1, Apr. 29, 2004 | ||
| Int. Cl. G06F 15/173 (2006.01); H04L 12/66 (2006.01); H04L 12/50 (2006.01) | ||
| U.S. Cl. 709—238 [370/352; 370/387; 370/388; 370/389; 370/395.31] | 16 Claims |

| 1. A method of class network routing in a network to allow a compute processor in a network of compute processors located
at nodes of the network to multicast a message to a plurality of other compute processors in the network comprising:
dividing, a message into one or more message packets which pass through the network, each one or more message packets including
a header having a field including a class value;
at each switch in the network, using the class value as a vector index to a table having an array of stored values that efficiently
encode actions performed by the switch on the message packet, said class value determining a switch action of path-based multidrop
message passing for multiphase multicasting of a message packet through the network along a path comprising an intermediate
node and a destination node, to determine from said table having an array of stored values at a switch at each said intermediate
node or destination node, whether that intermediate node or a destination node should deposit a copy of the message packet,
wherein said array of stored values at each switch includes different entries such that said class network routing allows
a node to not receive a copy of a packet, even though the node is on a path of the multidrop message packet,
wherein said class network routing further comprising using a D-phase multicast from an origin node to all nodes of a D-dimensional
cube wherein, in a first phase the origin node sends a multidrop message to all other nodes in one of the rows of the sending
node, in a second phase each of the recipients of the first phase and the sender of the first phase simultaneously send a
multidrop message to all other nodes in a row orthogonal to the row of the first phase, in a third phase each of the recipients
of the second phase and the senders of the second phase simultaneously send a multidrop message to all other nodes in a row
orthogonal to the rows of the first and second phases, and so on in further phases such that all node of the cube receive
the broadcast message after all the phases.
|