This is an automated email from the git hooks/post-receive script.
dgoulet pushed a commit to branch main in repository torspec.
commit aab9efe13b3162db29e72d9364e30bc2955614ab Author: eta tor@eta.st AuthorDate: Mon Aug 8 13:14:45 2022 +0100
prop#324: mention rearranged form for N_EWMA smoothing
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_280724...) --- proposals/324-rtt-congestion-control.txt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/proposals/324-rtt-congestion-control.txt b/proposals/324-rtt-congestion-control.txt index 78b6789..c617983 100644 --- a/proposals/324-rtt-congestion-control.txt +++ b/proposals/324-rtt-congestion-control.txt @@ -167,7 +167,11 @@ reduce the effects of packet jitter. This smoothing is performed using N_EWMA[27], which is an Exponential Moving Average with alpha = 2/(N+1):
- N_EWMA = BDP*2/(N+1) + N_EWMA_prev*(N-1)/(N+1). + N_EWMA = BDP*2/(N+1) + N_EWMA_prev*(N-1)/(N+1) + = (BDP*2 + N_EWMA_prev*(N-1))/(N+1). + +Note that the second rearranged form MUST be used in order to ensure that +rounding errors are handled in the same manner as other implementations.
Flow control rate limiting uses this function