* Head of queue blocking in the Gigaswitch
Even though the Gigaswitch has input and output queues, your output queue
will block until the other providers input queue is free.
My (admittedly second hand) understanding is that the Gigaswitch/FDDI
actually has minimal amounts of buffering. During a congestion event, it
simply withholds the token, resulting in buffering in the routers. Queues
there eventually overflow, and ...
This matches my understanding, though I think it understates the problem.
Gigaswitches are essentially input-queued. When their teeny tiny buffers
fill they flow-control everyone to slow them down. What this means is that
a single congested output port will cause all inputs, including packets
to the other `n' uncongested output ports, to be pushed back, so the overall
throughput drops. And there appear to be additional problems caused when
two gigaswitches are connected together, on the link between them, I
assume because flow control sucks even worse when neither of the guys on
the ends of the link has buffers.
In any case, the head-of-line blocking means these switches only work
really well when they're unloaded, something I've always suspected.
Providing suitable buffering in switches is both necessary and sufficient.
The evil that flow control attempts to hide is still evil, you just have
to work harder to see it.