Wormhole routing is a unique case of virtual cut-through, where the buffers at the intermediate nodes are the size of a flit. The network latency is equal to in virtual cut-through and thus autonomous of the communication distance.
The advantage of wormhole routing over circuit switching and virtual cut-through appears in networks where contention is not negligible. In circuit switching, once a channel is assigned to a message, it cannot be used by other messages until the channels become free. In virtual cut-through, blocked messages should be saved in the buffer of intermediate nodes.
In wormhole routing, channels can be transferred by multiple messages after introducing the virtual channel approach. Virtual channels create it possible for multiple independent messages to use a similar physical channel by supporting multiple buffers for each channel in the network. Virtual channels decouple the distribution of buffers from the distribution of physical channels. A virtual channel includes a buffer for holding additional flits.
Various virtual channels share the bandwidth of a single unidirectional physical channel through a pair of multiplexer-demultiplexer units as shown in the figure for three virtual channels A, B, and C.
For each virtual channel, a bidirectional control line with a handshaking protocol is employed to assure pipeline usage of virtual channels. The low value represents an empty buffer flit on the receiver side. The multiplexer switch can choose any of the virtual channels whose control line is low and whose sender flit buffer is full. After selecting such a channel the corresponding control line is raised, indicating that the channel is ready to send a flit. When the flit arrives, the control line remains high as long as the flit buffer on the receiver is not emptied.
There is the following advantage of virtual channels are as follows −
Virtual channels improve network throughput by decreasing physical channel idle time.
Virtual channels can be used for deadlock prevention.
Virtual channels support the mapping of the logical topology of communicating processes onto a specific physical topology.
Virtual channels can guarantee connection bandwidth to specific system-related functions, including debugging and monitoring.
The main advantage of virtual channels appears in avoiding deadlocks in routing networks. Deadlock is a situation in the structure when a subset of messages is commonly blocked for a free buffer to be launched by one of the other messages. Deadlock can generally appear in networks where cyclic dependencies can be formulated. There are several methods to avoid deadlock which are as follows −
The first solution leads to an adaptive routing technique where one of the trapped messages is rerouted on an alternative path towards the destination node. In the second approach, one of the messages is discarded and retransmitted from the source node on an alternative route.