aboutsummaryrefslogtreecommitdiff
path: root/proposals/324-rtt-congestion-control.txt
diff options
context:
space:
mode:
authorMike Perry <mikeperry-git@torproject.org>2020-07-21 12:22:17 -0500
committerMike Perry <mikeperry-git@torproject.org>2020-07-21 12:22:17 -0500
commit52eebf04ce6bd828e9535e1759a18bd3c3caa3e6 (patch)
treef1ab4bee2805c496cb9ee9ca0e5e5b74f6f46025 /proposals/324-rtt-congestion-control.txt
parent4b7d9b1b442c0f46b4ac430f0e79b499f5923ff0 (diff)
downloadtorspec-52eebf04ce6bd828e9535e1759a18bd3c3caa3e6.tar.gz
torspec-52eebf04ce6bd828e9535e1759a18bd3c3caa3e6.zip
Toke Høiland-Jørgensen recommends using INTERVAL for ECN.
Otherwise he suspsects that circuits will exit slow start too early.
Diffstat (limited to 'proposals/324-rtt-congestion-control.txt')
-rw-r--r--proposals/324-rtt-congestion-control.txt26
1 files changed, 19 insertions, 7 deletions
diff --git a/proposals/324-rtt-congestion-control.txt b/proposals/324-rtt-congestion-control.txt
index b96c2f7..eede20b 100644
--- a/proposals/324-rtt-congestion-control.txt
+++ b/proposals/324-rtt-congestion-control.txt
@@ -192,12 +192,18 @@ outbuf.
The duration of total circuitmux queue time for each cell will be
compared a consensus parameter 'min_queue_target', which is set to 5% of
-min network RTT. (This mirrors the CoDel parameter of the same name).
-
-As soon as a cell of a circuit spends more than this time in queues, a
-per-circuit flag 'ecn_exit_slow_start' will be set to 1. As soon as a
-cell is available in the opposite direction on that circuit, the relay
-will flip the cell_t.command of from CELL_COMMAND_RELAY to
+min network RTT. (This mirrors the CoDel TARGET parameter).
+
+Additionally, an inspection INTERVAL parameter 'queue_interval' governs
+how long queue lengths must exceed 'min_queue_target' before a circuit
+is declared congested. This mirrors the CoDel INTERVAL parameter, and it
+should default to approximately 50-100% of average network RTT.
+
+As soon as the cells of a circuit spend more than 'min_queue_target'
+time in queues for at least 'queue_interval' amount of time, per-circuit
+flag 'ecn_exit_slow_start' will be set to 1. As soon as a cell is
+available in the opposite direction on that circuit, the relay will flip
+the cell_t.command of from CELL_COMMAND_RELAY to
CELL_COMMAND_RELAY_CONGESTION. (We must wait for a cell in the opposite
direction because that is the sender that caused the congestion).
@@ -849,6 +855,13 @@ important to tune first):
- Range: [1, 10000]
- Default: 10
+ queue_interval:
+ - Description: How long in milliseconds must cells exceed
+ 'min_queue_target' queue delay before we actually send a
+ congestion signal?
+ - Range: [1, 10000]
+ - Default: 200
+
xoff_client
xoff_mobile
xoff_exit
@@ -1122,4 +1135,3 @@ per circuit, at most.
25. Tor Performance Metrics for Live Network Tuning
https://trac.torproject.org/projects/tor/wiki/org/roadmaps/CoreTor/PerformanceMetrics
-