diff options
author | Mike Perry <mikeperry-git@torproject.org> | 2020-07-21 12:59:52 -0500 |
---|---|---|
committer | Mike Perry <mikeperry-git@torproject.org> | 2020-07-21 12:59:52 -0500 |
commit | a24d66be15b61e61b01fda535eac6c072bf29977 (patch) | |
tree | caf2172f3601ea6b1164ffc67ac3b07693eb5784 /proposals/324-rtt-congestion-control.txt | |
parent | 52eebf04ce6bd828e9535e1759a18bd3c3caa3e6 (diff) | |
download | torspec-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.txt | 15 |
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 |