Check out the new USENIX Web site. next up previous
Next: History Information Up: PCP Design Previous: Rate compensation

Probe control

Because probes carry limited payload and rate compensation corrects for any mistakes that occur, an end host can be aggressive in selecting its probe rates. For example, it can pick the probe rate that maximizes its expected yield - the likelihood of the probe's success times the requested rate. Unless there are long periods of full utilization of the network, it is better for all concerned for an arriving flow to quickly grab all available bandwidth, complete the transfer, and exit the system, leaving future resources for future arrivals. Of course, we do want the system to be work-conserving, stable and fair under persistent congestion, and thus we need to introduce additional mechanism in PCP to accomplish those goals. That is the topic of this sub-section. Note however that if high load behavior is your only concern (e.g., response time and loss rate are unimportant), TCP's current behavior is adequate, and our design would offer few benefits.

In the absence of any other information, we set the initial target probe rate to be one maximum sized packet in half of the round trip time, as measured by the initial connection establishment (TCP SYN) packet exchange. If successful, during the next round trip the end host can send its base rate packets at that probe rate - two maximum sized packets per round trip time. It may also continue probing.

In our initial prototype, we use exponential increase and decrease to guide the search process, doubling the attempted rate increase after each successful probe, and halving the rate increase after each unsuccessful one. This guarantees that, regardless of the starting point or the capacity of the link, an end host fully allocates the available bandwidth in $O(\log n)$ steps. (A further optimization, which we have not yet implemented, is to use the slope of the response times from a failed probe to guess the next probe rate - in essence, the slope tells us by how much we have overestimated the available bandwidth. This will be particularly important for capacity-constrained paths, as the initial round trip time as measured by the small connection establishment packet, may vastly underestimate the round trip time for a maximally sized packet.) Note that while we never conduct more than one probe per measured round trip time, if the available bandwidth is small enough, we may stretch a single sequence of probe packets across multiple round trips. Thus, PCP gracefully scales down to very low bandwidth and/or oversubscribed paths. By contrast, TCP has a minimum window size of one packet; this can result in very high packet loss rates for paths where each flow's share is less than a single packet per round trip [39,37].

Since we do not want nodes to continuously probe unsuccessfully for bandwidth, we place a lower bound on the rate that a flow can request from the network, at 1% of its current base rate. Once an existing sender has failed to acquire its minimum rate, it exponentially reduces its frequency of probing, up to a limit of 100 round trips. Within this interval, the probe is placed randomly. This is analogous to Ethernet, for a similar purpose. Removing the limit would improve theoretical scalability, but at a cost of reduced efficiency in acquiring recently released bandwidth.

We further note that our probabilistic accept rule for probes allows a probe to succeed even if it causes a small amount of queueing, thereby allowing new connections to succeed at receiving small amounts of bandwidth and triggering incumbent flows to release their bandwidth due to rate compensation. As a side effect, the rule also improves efficiency under heavy load by keeping the queue non-empty [10]. This behaves much like router-based active queue management (AQM), but controlled from the endpoint. A side effect, discussed below, is that the rule also makes PCP more robust when competing with legacy TCP flows.


next up previous
Next: History Information Up: PCP Design Previous: Rate compensation
Arvind Krishnamurthy 2006-04-06