Flit (computer networking)
FLITs is an acronym for FLow control digITs
Large network packets are broken into small pieces called flits (flow control digits). The first flit, called the header flit holds information about this packet's route (namely the destination address) and sets up the routing behavior for all subsequent flits associated with the packet. The head flit is followed by zero or more body flits, containing the actual payload of data. The final flit, called the tail flit, performs some book keeping to close the connection between the two nodes.
A virtual connection holds the state needed to coordinate the handling of the flits of a packet. At a minimum, this state identifies the output port of the current node for the next hop of the route and the state of the virtual connection (idle, waiting for resources, or active). The virtual connection may also include pointers to the flits of the packet that are buffered on the current node and the number of flit buffers available on the next node.[1]: 237
Example

For example, there is a packet transmitting between A and B in the figure bellow. The packet transmitting process is happening in the following steps.
- The packet will be split into flits W, X, Y and Z.
- [null The transmit buffer in A will load the first flit Z and send it to B.]
- After B receive Z, B will move the flit out of the buffer. *The transmit buffer in A will then load the next flit Y and send it to B.
- Keep perform the above actions until all flits has been transmitted to B.
- B will then put together all the flits to get the whole packet.
Summary
A flit (flow control digits) is a unit amount of data when the message is transmitting in link-level. The flit can be accepted or rejected at the receiver side base on the flow control protocol and the size of the receive buffer. The mechanism of link-level flow control is allowing the receiver to send a continuous signals stream to control if it should keep sending flits or stop sending flits. When a packet is transmitted over a link, the packet will need to be split into multiple flits before the transmitting begin.[2]
References
- ^ William James Dally; Brian Towles (2004). "13.2.1". Principles and Practices of Interconnection Networks. Morgan Kaufmann Publishers, Inc. ISBN 978-0-12-200751-4.
- ^ Solihin, Yan (2009). Fundamentals of Parallel Computer Architecture, Multichip and Multicore Systems. Solihin Publishing & Consulting LLC. p. 363.