Isaac Keslassy - Ph.D. Dissertation

The Load-Balanced Router

Isaac Keslassy, "The Load-Balanced Router," Ph.D. Dissertation, Stanford University, June 2004.

Abstract

The function of a router is to switch arriving packets to their correct output destination. A router is built to achieve a specified capacity (the sum of the rates of its interfaces), and users expect a router to consistently achieve this capacity. However, no commercial high-speed router can guarantee today that it will achieve its full capacity for all arrival traffic patterns. This is due to the difficulty of scheduling its switch fabric, and it will become even more difficult in the future as the number of interfaces and the interface speeds increase.

In this thesis, we advocate the use of a load-balanced router, a router architecture that is scalable and can guarantee a full capacity. A load-balanced router consists of two stages. First, a load-balancing stage spreads arriving packets equally among linecards. Then, a forwarding stage transfers packets from the linecards to their final destination. A load-balanced router does not use any centralized scheduler. Therefore, it can scale while providing the throughput guarantees needed by network operators.

In this thesis, we first explain how to simplify the load-balanced router architecture. While current routers commonly need switch fabrics with fast reconfiguration times, we show how to implement the load-balancing and forwarding stages of a load-balanced router using a single passive optical switch fabric with no reconfigurations. We also prove that among all possible switch fabrics with no reconfigurations, a specific load-balanced switch fabric uniquely achieves the maximum possible guaranteed capacity.

A problem with the load-balanced router is that different packets of the same flow can take different paths, possibly leading to packet reordering. In this thesis, we introduce a simple distributed algorithm that can avoid packet reordering while providing delay and capacity guarantees.

Finally, we present a practical switch fabric architecture that would enable load-balanced routers to scale to higher numbers of interfaces, and we prove that this architecture can adapt to arbitrary removals and additions of interfaces. We conclude by showing that the load-balanced router can help provide the scalability and capacity guarantees needed in the Internet.

For More Info

You might want to check my Ph.D. Oral Examination and my publications.