- VOQ (having one queue per output at each port), which avoids the "head of line blocking" problem where packets need to wait until the one at the head of a FIFO queue has had a chance to go to its desired output. I liked the traffic analogy for this.
- Fixed-size cells, which simplify the scheduling to a timeslot-based process and thus improve efficiency.
- iSLIP / ESLIP, a bidding-based heuristic algorithm that finds a matching between inputs and outputs quickly on each timestep.
- Using the properties of the switch fabric to replicate cells for multicast.
- Priorities for QOS.
- Speedup of the switch fabric compared to the input rates to prevent blocking-related reductions in throughput (apparently 2x can be sufficient).
- Fanout splitting for multicast (allow sending on some links even if one is not scheduled to send on all of them).
One question I have about the work is how to support more advanced queueing disciplines than FIFO with priorities in this kind of fabric. When we read the fair queueing work, we said that fair queueing is supported in today's high-speed routers, but how would it be done in a switch like this? Is it possible to implement it only at the line cards and then use the 2-3 priority levels for scheduling outputs? Perhaps this is discussed in other papers, but it wasn't discussed in this one.
From the point of view of organizing the course, it would make more sense to put this paper before the 100 TB router one in the reading list.
No comments:
Post a Comment