[tor-bugs] #25687 [Core Tor/Tor]: over-report of observed / self-measure bandwidth on fast hardware -- important to torflow / peerflow

Tor Bug Tracker & Wiki blackhole at torproject.org
Wed Sep 19 23:28:31 UTC 2018


#25687: over-report of observed / self-measure bandwidth  on fast hardware --
important to torflow / peerflow
-------------------------------------------------+-------------------------
 Reporter:  starlight                            |          Owner:  (none)
     Type:  defect                               |         Status:  new
 Priority:  Medium                               |      Milestone:  Tor:
                                                 |  unspecified
Component:  Core Tor/Tor                         |        Version:  Tor:
                                                 |  0.2.6.10
 Severity:  Normal                               |     Resolution:
 Keywords:  tor-bwauth, needs-research, needs-   |  Actual Points:
  proposal?                                      |
Parent ID:                                       |         Points:
 Reviewer:                                       |        Sponsor:
-------------------------------------------------+-------------------------

Comment (by teor):

 Replying to [comment:13 starlight]:
 > The essence of Torflow's active approach is that observed bandwidth
 capacity at each relay is the key measurement and that it can only be
 reliably determined locally but that it requires adjustment, principally
 to account for used vs unused capacity and secondly the relative
 performance of each node in the asymmetric domain of internet traffic
 routing.  IMO indisputably correct.  The Peerflow paper tacitly recognizes
 this.

 Our parent ticket for these kinds of adjustments is #27346.

 > However the simple linear adjustment algorithm cannot be fine-tuned for
 better results across the vast range of relay performance.  IIRC
 polynomial equations of sufficient order can describe curves of near
 arbitrary complexity and therefore parameterized polynomials can be used
 interactively, in a gradual empirical search, to describe an improving set
 of adjustment biases for applying scanner measurements to advertised
 bandwidths.  This link illustrates the general principal, though the idea
 is to design and construct bias curves with polynomials rather then to fit
 them somehow.
 >
 > https://en.wikipedia.org/wiki/Polynomial_regression

 I have opened #27790 for this idea.

 > Averaging all relay measurements to a single value appears too simple in
 the face of reality.  My suggestion was and is to apply some variation of
 a moving average in such a way that relay biases are determined relative
 to relays of similar capacity rather than to all relays.  Note this is not
 at all the same as the "slice" scheme used by Torflow to group relays for
 measurement and I agree eliminating it was a good idea.
 >
 > https://en.wikipedia.org/wiki/Moving_average

 The ticket for implementing moving averages is #27789.

 > Evaluating relays against others of the same class seems a good idea.
 (I.e. process guards, exits and unflagged middle relays as isolated
 collections.)  Torflow implemented it when PID logic was active, but
 presently it is disabled.

 I opened #27791for this idea.

 > I believe the "filtered" and "stream" logic in Torflow increases noise
 in the system rather than reducing it, and functions in opposition to the
 intent of the design.  The "filtered" treatment option should be
 eliminated.

 We have no plans to implement this feature in sbws. We have no plans to
 modify torflow.

 > Central to all the above is iterative empirical adjustment possibly
 assisted by automated collection and analysis, with control knobs exposed
 as consensus parameters.  The above can easily be implemented in a manner
 that allows the new system to start exactly where Torflow is and to
 cautiously refine, with the option to reverse course at any point.

 There are quite a few tickets open with metrics, torflow, and sbws for
 this kind of analysis. For example, see #7177, #24045, #24834, #25459,
 #21994.

 The existing performance and bandwidth distribution metrics are quite
 good, too:
 https://metrics.torproject.org/torperf.html
 https://metrics.torproject.org/rs.html#map

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/25687#comment:14>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list