Skip to Main Content
We address the problem of serving multicast traffic in input-queued packet switches. Head-of-line blocking is a major problem in input-queued switches. It can be avoided in unicast switches by maintaining a queue per output port at each input port. This is not feasible in multicast switches, since the number of destination multicast addresses is exponential in the number of output ports. Our approach is to maintain a limited number of input queues for multicast traffic. We solve two key resulting problems: (1) how to assign incoming packets to queues, and (2) which packets should be selected to transfer to output queues. Through heuristic arguments and simulation we show that our architecture leads to significant improvements in switch throughput over the best existing scheduling algorithms. Since modern links operate at very high speeds, we take care to ensure that the scheduling algorithm can be implemented efficiently in hardware.