Class-Based Buffer Management using Early Fair Drop
01 January 1999
Previously, we introduced a new buffer management policy called Early Fair Drop (EFD) to be used in conjunction with per-flow queuing and link scheduling, and experimentally showed that EFD outperforms other known drop policies. The superior performance of EFD is due to its "early signaling" mechanism calculating when to drop and its "fair dropping" mechanism determining what to drop. In this paper, we introduce enhancements to EFD, which are aimed at improving the protection of TCP flows when competing with bursty non rate-adaptive flows. A unique aspect of EFD, which we exploit in this paper, is its hierarchical structure. We propose structuring TCP connections into "TCP classes" to protect their performance from other types of traffic. Furthermore, such a structure enables us to devise "TCP-aware" scheduling and dropping policies within the TCP class. We introduce two such mechanisms, one to reduce the occurrences of multiple drops from a TCP connection within a congestion window, and the other to enable the TCP connections to claim the link buffers and bandwidth not utilized by TCP connections in the same class that are stalled due to packet drops. We experimentally show that class-based early fair drop leads to close-to-optimal performance for a number of difficult workloads.