Wormhole routing
From Wikipedia, the free encyclopedia
Wormhole routing is a system of simple flow control in computer networking based on known fixed links, typically with a short address. The name plays on the way packets are sent over the links: the address is so short that it can be translated before the message itself arrives. This allows the router to quickly set up the routing of the actual message and then "bow out" of the rest of the conversation. In most respects, it is very similar to ATM or MPLS forwarding, with the exception that the cell does not have to be queued.
Wormhole routing is primarily used in multiprocessor systems, notably hypercubes. In a hypercube computer each CPU is attached to several neighbours in a fixed pattern, which reduces the number of hops from one CPU to another. Each CPU is given a number (typically only 8-bit to 16-bit), which is its network address, and messages to CPUs are sent with this number in the header. When the message arrives at an intermediate CPU for forwarding, the CPU examines the header (very quickly), sets up a circuit to the next CPU, and then bows out of the conversation. In this way the messages rarely (if ever) have any delay as they travel though the network, so the speed is similar to the speed at which the computers would function if they were directly connected.
On the link layer, this is sometimes also called cut-through switching.
Large packets or messages are broken into small pieces called flits (flow units) in wormhole routing. In multiprocessor systems traditionally the first flit sets up the routing behavior for all subsequent flits associated with the message.
The transmission from the source node to the destination node is done through a sequence of routers.