Comparison of congestion avoidance behaviour with original vegas code and with patched code.

When operating correctly (and without baseRTT errors, which are something of a "feature" of vegas) vegas only ensures that flow cwnds are within a factor of 3 of each other. The precise allocation of cwnds between flows in from run to run is pretty much random (associated with fine-grained timing details). When comparing runs it is worth bearing this in mind. The RTT behaviour is more consistent across runs since it captures aggregate behaviour, although again a factor of 3 difference in queueing delay is within spec.

Patched Code

Original Code

Patch