aboutsummaryrefslogtreecommitdiff
path: root/proposals/324-rtt-congestion-control.txt
diff options
context:
space:
mode:
authorMike Perry <mikeperry-git@torproject.org>2020-07-21 12:59:52 -0500
committerMike Perry <mikeperry-git@torproject.org>2020-07-21 12:59:52 -0500
commita24d66be15b61e61b01fda535eac6c072bf29977 (patch)
treecaf2172f3601ea6b1164ffc67ac3b07693eb5784 /proposals/324-rtt-congestion-control.txt
parent52eebf04ce6bd828e9535e1759a18bd3c3caa3e6 (diff)
downloadtorspec-a24d66be15b61e61b01fda535eac6c072bf29977.tar.gz
torspec-a24d66be15b61e61b01fda535eac6c072bf29977.zip
Resolve a question in a TODO about Vegas, and add refs to other TODO.
Thanks goes to Toke Høiland-Jørgensen.
Diffstat (limited to 'proposals/324-rtt-congestion-control.txt')
-rw-r--r--proposals/324-rtt-congestion-control.txt15
1 files changed, 11 insertions, 4 deletions
diff --git a/proposals/324-rtt-congestion-control.txt b/proposals/324-rtt-congestion-control.txt
index eede20b..be81d0e 100644
--- a/proposals/324-rtt-congestion-control.txt
+++ b/proposals/324-rtt-congestion-control.txt
@@ -409,6 +409,7 @@ This will run each time we get a SENDME (aka sendme_process_circuit_level()):
3.2. Tor Vegas: TCP Vegas with Aggressive Slow Start [TOR_VEGAS]
http://intronetworks.cs.luc.edu/1/html/newtcps.html#tcp-vegas
http://pages.cs.wisc.edu/~akella/CS740/F08/740-Papers/BOP94.pdf
+ http://www.mathcs.richmond.edu/~lbarnett/cs332/assignments/brakmo_peterson_vegas.pdf
ftp://ftp.cs.princeton.edu/techreports/2000/628.pdf
TCP Vegas control algorithm makes use of two RTT measurements:
@@ -437,7 +438,11 @@ queue_use estimate.
TODO: This simplification might not hold for some versions of BWE
and BDP estimation. See also the [TOR_WESTWOOD] section's TODO
- and paper citations for both TCP Westwood and TCP Vegas.
+ and paper citations for both TCP Westwood and TCP Vegas. In
+ particular, see Section 3.5.2 of:
+ http://pages.cs.wisc.edu/~akella/CS740/F08/740-Papers/BOP94.pdf
+ or Section 3.2 of:
+ http://www.mathcs.richmond.edu/~lbarnett/cs332/assignments/brakmo_peterson_vegas.pdf
3.2.1. Tor Vegas Slow Start
@@ -480,9 +485,11 @@ double or triple this), then the congestion window is decreased.
elif queue_use > vegas_beta:
cwnd = cwnd - circwindow_inc/cwnd # linear backoff
- TODO: Why not reduce the window by the number of packets that
- queue_use is over or under the target value by, rather than
- just 1 cell per cwnd? Need to ask some TCP folks, or experiment.
+Notice that we only decrease the window size by a single packet per
+congestion window, rather than by the full delta between current
+queue_use and the target value. This is done because if more than one
+connection jumps to use the available bandwidth at once, excess
+congestion will result.
3.2.3. Tor Vegas: Complete SENDME Update Algorithm