Elasticity Detection: A Building Block for Internet Congestion Control
- Prateesh Goyal ,
- Akshay Narayan ,
- Frank Cangialosi ,
- Srinivas Narayana ,
- Mohammad Alizadeh ,
- Hari Balakrishnan
This paper introduces Nimbus, a robust technique to detect whether the cross traffic competing with a flow is “elastic”, and shows that this elasticity detector improves congestion control. If cross traffic is inelastic, then a sender can control queueing delays while achieving high throughput, but in the presence of elastic traffic, it may lose throughput if it attempts to control packet delay. To estimate elasticity, Nimbus modulates the flow’s sending rate with sinusoidal pulses that create small traffic fluctuations at the bottleneck link, and measures the frequency response of the rate of the cross traffic. Our results on emulated and real-world paths show that congestion control using elasticity detection achieves throughput comparable to Cubic, but with delays that are 50-70 ms lower when cross traffic is inelastic. Nimbus detects the nature of the cross traffic more accurately than Copa, and is usable as a building block by other end-to-end algorithms.