[tor-dev] Proposal 276: Report bandwidth with lower granularity in consensus documents

Nick Mathewson nickm at alum.mit.edu
Mon Feb 27 00:35:19 UTC 2017


On Sun, Feb 26, 2017 at 7:15 AM, teor <teor2345 at gmail.com> wrote:
>
>> On 25 Feb 2017, at 03:25, Nick Mathewson <nickm at torproject.org> wrote:
>>
>> Filename: 276-lower-bw-granularity.txt
>> Title: Report bandwidth with lower granularity in consensus documents
>> Author: Nick Mathewson
>> Created: 20-Feb-2017
>> Status: Open
>> Target: 0.3.1.x-alpha
>>
>> 1. Overview
>>
>>   This document proposes that, in order to limit the bandwidth needed for
>>   networkstatus diffs, we lower the granularity with which bandwidth is
>>   reported in consensus documents.
>> ...
>> 3. Proposal
>>
>>   I propose that we round the bandwidth values as they are placed in
>>   the votes to two no more than significant digits.
>
> Misordered sentence this is

Fixed; thanks! ;)

>>  In addition, for
>>   values beginning with decimal "2" through "4", we should round the
>>   first two digits the nearest multiple of 2.  For values beginning
>>   with decimal "5" though "9", we should round to the nearest multiple
>>   of 5.
>
> Value  Rounding       Percentage Distinct Values
> 0-9    0              0%         10
> 10-20  0.5/10-0.5/20  5%-2.5%    10
> 20-50  1/20-1/50      5%-2%      15
> 50-100 2.5/50-2.5/100 5%-2.5%    10
> (repeat the pattern for 100-200 etc.)
> (lower bounds are inclusive, upper bounds are exclusive)
>
> This reduces each set of 1000 3 significant figure bandwidths to
> 35 distinct values.
>
> It's worth noting that the existing bandwidth authority scripts round to
> 3 significant figures, so the overall rounding is up to 5.5%.
>
>>   This change does not require a consensus method; it will take effect
>>   once enough authorities have upgraded.
>
> The change will take effect progressively as authorities upgrade: since
> the median value is used, when one authority upgrades, 1/5 of the
> bandwidths will be rounded (on average).
>
> Once all authorities upgrade, all bandwidths will be rounded like this.

I've used your wording here.

>>   Is there a greedier smoothing algorithm that would produce better
>>   results?
>
> Rounding to one significant digit changes 10 by up to 50%, so that's
> clearly unacceptable.
>
> If we wanted 12.5% to be the maximum change, we could round
> approximately double (with some adjustments for scale).
>
> For values beginning with decimal "1", we should round the first two
> digits the nearest multiple of 2. For values beginning with decimal "2"
> through "4", we should round the first two digits the nearest multiple
> of 5.  For values beginning with decimal "5" though "9", we should
> round to one significant digit.
>
> Value  Rounding       Percentage Distinct Values
> 0-9    0              0%         10
> 10-20  1/10-1/20      10%-5%     5
> 20-50  2.5/20-2.5/50  12.5%-4%   6
> 50-100 5/50-5/100     10%-5%     5
> (repeat the pattern for 100-200 etc.)
> (lower bounds are inclusive, upper bounds are exclusive)
>
> This reduces each set of 1000 3 significant figure bandwidths to
> 16 distinct values.
>
> Would a scheme like this reduce the diffs by enough to make it
> worthwhile?

I simulated this scheme, and it didn't pan out: the average reduction
was less than 2% over the scheme currently in 276.  (That is, if we
were already doing the 276 scheme, this change would save no more than
2%.)

>>   Is there any reason to think this amount of smoothing would not
>>   be save?
>
> s/save/safe/
>
> Given the existing variance is around 2%, and the existing rounding of
> 0.5%, rounding by 5% seems quite sensible.
>
> (Typical variance *between* bandwidth authorities is much more than
> this anyway.)
>
> It seems hard to game this scheme, and it would only result in a 5%
> boost anyway.
>
> The same arguments apply to rounding by up to 12.5%. Anything more
> seems risky.
>
>>   Would a time-aware smoothing mechanism work better?
>
> Perhaps, but the complexity might outweigh the benefits.
>
> T
>
> --
> Tim Wilson-Brown (teor)
>
> teor2345 at gmail dot com
> PGP C855 6CED 5D90 A0C5 29F6 4D43 450C BA7F 968F 094B
> ricochet:ekmygaiu4rzgsk6n
> xmpp: teor at torproject dot org
> ------------------------------------------------------------------------
>
>
>
>
> _______________________________________________
> tor-dev mailing list
> tor-dev at lists.torproject.org
> https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev
>


More information about the tor-dev mailing list