Micro Congestion Control: Every Flow Deserves a Second Chance
Today, a considerable Internet traffic is sent from the datacenter and headed for users. With continuous upgrades in network infrastructure and user devices, the characteristics of connections served by servers in the datacenter are usually diverse and varied over time. As a result, one particular congestion control algorithm is hard to accommodate the heterogeneity and perform well in all scenarios. In this paper, we present Micro Congestion Control (MCC) --- a novel framework for Internet congestion control. With MCC, diverse algorithms can be assigned to connections in one server to cover the heterogeneity, and multiple algorithms can be applied in each connection's life cycle to keep pace with the dynamic of the Internet. We design and implement MCC in Linux, and experiments show that MCC is capable of smoothly switching among various candidate algorithms on the fly to achieve potential performance gain. Meanwhile, the overheads introduced by MCC are moderate and acceptable.
READ FULL TEXT