Tuesday, September 23, 2008

A Fast Switched Backplane for a Gigabit Switched Router

This paper provides an introduction to how high-throughput switches and routers are designed, focusing on how to employ a switched backplane effectively. I liked the fact that the paper started with some context about other router design choices (centralized CPU/memory, one CPU per line card and bus, etc), since this explains the historical context and the reason why we are worrying about switched backplanes. Beyond this, the paper explains several concepts/algorithms that can make a switched backplane efficient:
  • 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).
These techniques are all explained intuitively and evaluated through analysis/simulation. It's useful to see them all in one document as a set of guidelines.

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: