Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
-
Economics & Finance
What is Wormhole switching?
In data communications, wormhole switching is a flow control technique where large data frames or packets are partitioned into smaller units and then transmitted. When a switching device (a bridge or a switch) receives a data packet, it partitions the packet into small parts called flow control units or flits. The flits are transmitted one by one instead of the whole packet. Also called wormhole flow control, wormhole switching is a subtype of flit-buffer flow control methods and is based upon fixed links.
Working Principle
In this technique, each packet or frame is broken into smaller pieces of data called flits. The header flits contain the destination address and other routing information for all of the flits comprising the packet. The header flits are followed by body flits and finally tail flits denoting the end of the data packet.
The buffers and channels are allocated on flit levels rather than for the entire packet. When the header flit arrives, a free buffer is allocated to the entire packet. The header flit is forwarded as soon as the routing information is decoded without waiting for arrival of the rest of the flits. The subsequent flits are allocated to the same buffers before forwarding them. Once a buffer is full, no more flits can be allocated. The tail flits free up the buffer.
Key Features
-
Flit-based transmission − Packets are divided into fixed-size flits for efficient processing.
-
Pipeline forwarding − Header flits establish the path while body flits follow without additional routing decisions.
-
Buffer allocation − Resources are reserved per flit rather than per entire packet.
Uses
Wormhole switching is usually deployed in multi-computers and Network-on-Chip (NoC) architectures for real-time communication due to its low latency and reduced memory requirements. It is commonly used in high-performance computing clusters and embedded systems where efficient data flow is critical.
Advantages
-
Low latency − Since the switching device does not need to store the entire frame together, the latency of passing through the switch or bridge is reduced considerably.
-
Less storage requirement − The switching devices do not require storing the entire data packets or data frames. Instead, they need to store only small-sized flits, allowing operation with reduced internal storage capacity.
-
Pipeline efficiency − Multiple packets can be processed simultaneously as flits from different packets can be interleaved through the network.
-
Scalability − Works well in large networks as it reduces buffer requirements at each switching node.
Disadvantages
-
Deadlock susceptibility − Can suffer from deadlock situations when multiple packets compete for the same resources.
-
Head-of-line blocking − A slow or blocked packet can prevent other packets from using network resources effectively.
Conclusion
Wormhole switching enhances network performance by dividing packets into flits and enabling pipeline forwarding with reduced buffer requirements. This technique is particularly valuable in high-performance computing and real-time communication systems where low latency is essential.
