aboutsummaryrefslogtreecommitdiff
path: root/proposals/324-rtt-congestion-control.txt
AgeCommit message (Collapse)Author
2023-10-12Wrap text proposals in backticks.Nick Mathewson
2023-09-26Prop324: Mark Finished and update sendme_inc proseMike Perry
2023-06-27Prop#324: Clarify that we use TOR_VEGAS and cwnd-RTT BDP estimationMike Perry
Also remove the deprecated cc_bdp_alg param, and update the cc_alg param description.
2023-06-27Prop#324: Update congestion control paramsMike Perry
2023-06-23Bug 40569: Document cc_sendme_inc changesMike Perry
2023-01-11Merge branch 'tor-gitlab/mr/103'David Goulet
2023-01-11Prop324: Lower consensus param max for integer issueMike Perry
2023-01-10Merge branch 'tor-gitlab/mr/83'David Goulet
2023-01-10Merge branch 'tor-gitlab/mr/75'David Goulet
2023-01-10Prop 324: RTT should only be reset after slow start.Mike Perry
2022-12-21Prop#324: Do not increase cwnd if the window is not full.Mike Perry
- Allow a gap between inflight and cwnd before declaring the cwnd not full. - Parameterize how often a cwnd must be full - Clean up vegas algorithm for variable scoping and clarity
2022-08-15xon/xoff: specify behavior on weird values.Nick Mathewson
2022-08-11Prop 324: Reduce the number of vegas parametersMike Perry
Also update their defaults.
2022-08-11Prop 324: Describe how to reset RTT if cc_cwnd_min is hit.Mike Perry
2022-08-11Prop 324: Document new `cc_ewma_ss` consensus parameter.Mike Perry
2022-08-11Prop 324: Describe RFC3742 Limited Slow StartMike Perry
2022-08-08prop#324: mention rearranged form for N_EWMA smoothingeta
The formula used for N_EWMA is actually rearranged in the C tor implementation, in a way that caused the arti reimplementation to be off by a small rounding error until it was corrected. In order to ensure other implementations don't have this issue, mention the rearranged form and add a requirement that it be used. (background: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/525#note_2807244)
2022-06-21Update Prop#324 clock heuristic spec for bug 40626.Mike Perry
2022-02-22Prop 324: Updates for Negotiation and Simulation TestingMike Perry
Changes: - Rework exit negotiation logic a bit - Specify using ntorv3 with extension fields for negotiation - Clients only request congestion control; exits and services control sendme_inc - Rework onion service negotiation for descriptor-controlled FlowCtrl protover and sendme_inc value - Add bounds checks on sendme_inc for clients - Update parameter values based on Shadow results - Improvements to TOR_VEGAS algorithm based on simulation testing - Additional consensus parameters for RTT N-EWMA smoothing and TOR_VEGAS queue use caps - Clarify N_EWMA smoothing, and relocate it to its own sub-section. - TOR_VEGAS now defaults to CWND/RTT BDP estimator - Minor TOR_VEGAS alg bugfixes - Add a 'delta' parameter to TOR_VEGAS for steady-state backoff - Consensus param update notes and param range fixes. - Add glossary of common congestion control acronyms - Misc clarifications
2021-10-04Update Prop#324 for Flow Control improvementsMike Perry
- Specify rate advertisement of edge drain rate in XON, to minimize chatter - Limit the frequency of XON/XOFF with consensus parsams - Describe dropmark defenses using XON/XOFF limits - Describe how half-closed edge connections are handled with flow control - Describe flow control consensus parameters - Describe flow control shadow experiments and live comparison - Create and describe additional consensus parameters that will influence congestion control performance and memory usage - Clarify performance metrics involved in experiments - Remove some stale XXXs and TODOs
2021-09-08fixup! prop324: Add section for onion service handlingDavid Goulet
2021-09-08prop324: Add section for onion service handlingDavid Goulet
Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-07-30Prop 324: Fix fencepost error in SENDME BDP calculationMike Perry
2021-07-29Prop 324: Rename cc_icw to cc_cwnd_initMike Perry
2021-07-28Prop 324: Describe clock jump and stall heuristics.Mike Perry
2021-07-27Further Prop 324 Updates:Mike Perry
- Clarify what we learned in experimentation - Clarify N-EWMA and next_cc_event behavior - Clarify order of operations in BDP estimator - Clarify and expand on parameter tuning - Clarify Vegas and Nola descriptions - Mention that we need to test intermittent clients - Update old trac URLs
2021-07-09Update Prop 324 since prototype.Mike Perry
- Correct algorithms to update once per cwnd - Clarify orconn blocking and edge connection checks - Mention Westwood RTT backoff, and a couple other fixes - Specify BDP estimators based on testing and bugfixing. - Specify BDP-based congestion algorithm (TOR_NOLA) - Update consensus parameters with tuning notes.
2021-03-26Add Acknowledgements to Proposal 324.Mike Perry
2020-12-01Prop 324: Clarifications and improvementsMike Perry
- Clarify that complete algorithms are canonical - Break off backwards ecn idea into ideas directory. - Define RTT_min - cite prop 325 - Count INTRODUCE1 towards SENDME, don't count SENDME. - note optimization for circwindow_inc variability - consider limiting the rate of change of circwindow_inc - Mention hs-ntor allows extra data fields - Mention if we calculate recieve window, it can become negative. - Track outstanding sent cells for better BDP estimates. - Use min of backoff multiplier vs BDP, not max. - We can safely set our initial congestion window much higher than TCP.
2020-07-21Fix wording in a clarification.Mike Perry
2020-07-21Resolve a question in a TODO about Vegas, and add refs to other TODO.Mike Perry
Thanks goes to Toke Høiland-Jørgensen.
2020-07-21Toke Høiland-Jørgensen recommends using INTERVAL for ECN.Mike Perry
Otherwise he suspsects that circuits will exit slow start too early.
2020-07-02Add RTT Congestion Control Tor proposal as #324.Mike Perry