|Authors||K. De Schepper, O. Bondarenko, I. Tsang and B. Briscoe|
|Title||PI2 : A Linearized AQM for both Classic and Scalable TCP|
|Publication Type||Proceedings, refereed|
|Year of Publication||2016|
|Conference Name||Proc. ACM CoNEXT 2016|
|Place Published||New York, NY, USA|
|Keywords||Algorithms, Analysis, AQM, Congestion Avoidance, congestion control, Data Communication, Design, Evaluation, Internet, latency, networks, Performance, QoS, Scaling, tcp|
This paper concerns the use of Active Queue Management (AQM) to reduce queuing delay. It offers insight into why it has proved hard for a Proportional Integral (PI) controller to remain both responsive and stable while controlling `Classic' TCP flows, such as TCP Reno and Cubic. Due to their non-linearity, the controller's adjustments have to be smaller when the target drop probability is lower. The PI Enhanced (PIE) algorithm attempts to solve this problem by scaling down the adjustments of the controller using a look-up table. Instead, we control an internal variable that is by definition linearly proportional to the load, then post-process it into the required Classic drop probability---in fact we show that the output simply needs to be squared. This allows tighter control, giving responsiveness and stability better or no worse than PIE achieves, but without all its corrective heuristics.
With suitable packet classification, it becomes simple to extend this PI2 AQM to support coexistence between Classic and Scalable congestion controls in the public Internet. A Scalable congestion control ensures sufficient feedback at any flow rate, an example being Data Centre TCP (DCTCP). A Scalable control is linear, so we can use the internal variable directly without any squaring, by omitting the post-processing stage.
We implemented PI2 as a Linux qdisc to extensively test our claims using Classic and Scalable TCPs.