Home Research Home

False Sharing and Shared Congestion Management
Aditya Akella, Hari Balakrishnan, and Srini Seshan

Several recent proposals have been made for sharing congestion information across concurrent flows between end-systems. In these proposals, the granularity for sharing has ranged from all flows to a common host, to all hosts on a shared LAN.

However, all these proposals have been plagued by deployment concerns despite their many demonstrated benefits, primarily due to one reason: false sharing. False sharing of congestion management systems arises because such systems might unknowingly force flows to share congestion information, where they should not. Two or more flows sharing congestion state may in fact not share the same bottleneck.

This work presents a detailed study of this problem, investigating various sources of false sharing and analyzing its negative impact. We categorize the origins of this false sharing into two distinct cases: (i) networks with QoS enhancements such as differentiated services, where a flow classifier segregates flows into different queues, and (ii) networks with path diversity where different flows to the same destination address are routed differently.

We study the problems along three axes:

We have show that for shared congestion control using TCP-style window-based algorithms, the correctness of congestion control is not compromised even when two or more flows of very different available bandwidths end up sharing information. In particular, we have find that the slower sender does not overload its bottleneck link. However, faster senders are heavily penalized as a result of false sharing. We also derive an analytical expression that explains our findings.

We present tests based on packet loss patterns, packet delay, and packet reordering statistics that can be used effectively to detect false sharing. We find that reordering statistics are the most robust detectors of false sharing while packet loss patterns are the least reliable. In addition, packet reordering statistics take the least amount of time to detect false sharing (5-10 secs).

Finally, we exhibit how these tests could be incorporated into congestion management systems at end-points to detect and respond to false sharing. Our simulation results imply that it is easier to start with the default set to share congestion information than with the default set to ``don't share''. Our simulation results confirm the effectiveness of this approach.

Related Publications, Talks and Posters