Previous | Next --- Slide 43 of 49
Back to Lecture Thumbnails
apk

The problem here is caused by the buffers processing elements in order - can only pop from the front of the queue.

jocelynh

To elaborate, the blue packet needs to be routed to the bottom-right free link, but because it is stuck in the queue behind the gray packet (which is in turn blocked waiting for its next link to become free), it cannot proceed. So even though its path is unused, it cannot proceed due to the queue.

albusshin

The "head of the line" is blocking the rest of the flits from making progress, hence the name.

life

one solution is that there can be multiple queues

hdd

Head of line blocking is a problem with flits because the head of the line cannot make progress even though its destination link is clear after the next switch, but due to the blocking at the current switch, we do not make forward progress. Hence, a way to solve "head of line" blocking is by using "virtual channels". In virtual channels even though physical link is the same, virtually for the system , the flits are in different queues(virtually) , so this eliminates head of line blocking.

fxffx

The head-of-line blocking happens because at each switch there is only one queue. The gray packet is blocking and it's at the front of queue, so the blue packet after it cannot move, even if its road is free.