Two-way TCP connections: old problem, new insight

Martin Heusse, Sears A. Merritt, Timothy X. Brown, and Andrzej Duda
Appears in: 
CCR April 2011

Many papers explain the drop of download performance when two TCP connections in opposite directions share a common bottleneck link by ACK compression, the phenomenon in which download ACKs arrive in bursts so that TCP self clocking breaks. Efficient mechanisms to cope with the performance problem exist and we do not consider proposing yet another solution. We rather thoroughly analyze the interactions between connections and show that actually ACK compression only arises in a perfectly symmetrical setup and it has little impact on performance. We provide a different explanation of the interactions—data pendulum, a core phenomenon that we analyze in this paper. In the data pendulum effect, data and ACK segments alternately fill only one of the link buffers (on the upload or download side) at a time, but almost never both of them. We analyze the effect in the case in which buffers are structured as arrays of bytes and derive an expression for the ratio between the download and upload throughput. Simulation results and measurements confirm our analysis and show how appropriate buffer sizing alleviates performance degradation. We also consider the case of buffers structured as arrays of packets and show that it amplifies the effects of data pendulum.

Public Review By: 
D. Papagiannaki

This paper looks at the problem that arises when two TCP connections in opposite directions share a common bottleneck link. Common wisdom has suggested that under such circumstances, ACK compression may occur that will break TCP’s self clocking mechanism. Solutions have been further proposed in the literature that are effective in rectifying performance.
This paper contradicts that prior common wisdom of ACK compression being the fundamental reason behind the observed performance degradation. The authors, interestingly, show that ACK compression is the culprit only under a perfectly symmetrical setup, that rarely occurs in reality. They then define “the data pendulum” effect that is the true cause, and that reflects data and ACK segments alternately filling only one of the link buffers (on the upload or the download side) at a time. Using simulations and actual measurements, the authors establish the validity of their observation.
All in all, this is a nice paper searching for an answer of what was thought to be a well understood problem.