Exploring Congestion Control
CARNEGIE-MELLON UNIV PITTSBURGH PA SCHOOL OF COMPUTER SCIENCE
Pagination or Media Count:
From the early days of modern congestion control, ushered in by the development of TCPs and DECbits congestion control algorithm and by the pioneering theoretical analysis of Chiu and Jain, there has been widespread agreement that linear additive-increase-multiplicative-decrease AIMD control algorithms should be used. However, the early congestion control design decisions were made in a context where loss recovery was fairly primitive e.g. TCP Reno and often timed-out when more than a few losses occurred and routers were FIFO drop-tail. In subsequent years, there has been significant improvement in TCPs loss recovery algorithms. For instance, TCP SACK can recover from many losses without timing out. In addition, there have been many proposals for improved router queueing behavior. For example, RED active queue management and Explicit Congestion Notification ECN can tolerate bursty flow behavior. Per-flow packet scheduling DRR and Fair Queueing can provide explicit fairness. In view of these developments, we seek to answer the following fundamental question in this paper Does AIMD remain the sole choice for congestion avoidance and control even in these modern settings If not, can other mechanisms provide better performance We evaluate the four linear congestion control styles - AIMD, AIAD, MIMD, MIAD - in the context of these various loss recovery and router algorithms. We show that while AIMD is an unambiguous choice for the traditional setting of Reno-style loss recovery and FIFO drop-tail routers, it fails to provide the best goodput performance in the more modern settings. Where AIMD fails, AIAD proves to be a reasonable alternative.
- Computer Programming and Software
- Computer Systems