[tor-bugs] #27338 [Core Tor/sbws]: How long should sbws keep measured and observed bandwidths?
Tor Bug Tracker & Wiki
blackhole at torproject.org
Tue Aug 28 18:33:16 UTC 2018
#27338: How long should sbws keep measured and observed bandwidths?
---------------------------+-------------------------------------
Reporter: teor | Owner: (none)
Type: task | Status: new
Priority: Medium | Milestone: sbws 1.0 (MVP must)
Component: Core Tor/sbws | Version:
Severity: Normal | Resolution:
Keywords: | Actual Points:
Parent ID: #27108 | Points:
Reviewer: | Sponsor:
---------------------------+-------------------------------------
Comment (by juga):
Replying to [comment:4 teor]:
> The minimum viable product must:
> * Use the latest descriptor bandwidth limit, because:
> - the latest descriptor contains the limit that the operator has asked
for
> * Use at least 2 sbws measured bandwidths over at least 2 days, because:
> - tor relay usage varies on a daily cycle
> - each sbws measurement depends on the time of day
> * Use at least 2 descriptor observed bandwidths over at least 2 days,
because:
> - a single download by a single client can increase the observed
bandwidth
> - for security, we want results that don't depend on a single client's
behaviour
Currently, it's possible that after 2 (or more) days we didn't collected
less than 2 measurements and descriptor observed bandwidths for some
relays.
It's possible that prioritization might need some changes, which i think
might be related to https://github.com/pastly/simple-bw-
scanner/issues/136.
If prioritization can't change that, it might be the case that is not
possible to obtain 2 measurements in the last 2 days.
> * Don't keep bandwidths for more than 1 week
> - old bandwidths do not help us work out current relay capacity
For bandwidth files, that's the default. Raw measurements are keep 90 days
by default
>
> What do you think?
> Can you implement something based on these suggestions?
Yes, except for the comments above
>
> If you want, I can write or review patches, or write a detailed spec.
I've already the code except for the comments above (need to clean a bit
commits). Reviews and spec would help.
> Do you mean 1, 2, 3 on the last 3 lines?
Yes, sorry, distracted copy & paste...
>
> The descriptor has:
> {{{
> "bandwidth" bandwidth-avg bandwidth-burst bandwidth-observed NL
> }}}
>
> Torflow does:
> {{{
> bw_observed = min(bandwidth-avg, bandwidth-burst, bandwidth-observed)
> }}}
> https://gitweb.torproject.org/pytorctl.git/tree/TorCtl.py#n459
>
> But that's redundant, because tor relays do:
> {{{
> "bandwidth" min(RelayBandwidthRate, RelayBandwidthBust, BandwidthRate,
BandwidthBurst, MaxAdvertisedBandwidth) min(RelayBandwidthBust,
BandwidthBurst) bandwidth-observed NL
> }}}
> See get_effective_bwrate() and get_effective_bwburst().
i've been collecting and documenting all these possible values and the
different names they could have so i don't get confused.
I've just not put that notes online somewhere yet but intend to do so.
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/27338#comment:5>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the tor-bugs
mailing list