[tor-bugs] #29298 [Core Tor/Tor]: Explicitly specify histogram bin endpoints/widths

Tor Bug Tracker & Wiki blackhole at torproject.org
Fri Feb 15 12:58:00 UTC 2019


#29298: Explicitly specify histogram bin endpoints/widths
-------------------------------------------------+-------------------------
 Reporter:  mikeperry                            |          Owner:  (none)
     Type:  defect                               |         Status:  new
 Priority:  Medium                               |      Milestone:
Component:  Core Tor/Tor                         |        Version:
 Severity:  Normal                               |     Resolution:
 Keywords:  wtf-pad 041-proposed network-team-   |  Actual Points:
  roadmap-2019-Q1Q2                              |
Parent ID:  #28631                               |         Points:  5
 Reviewer:                                       |        Sponsor:
                                                 |  Sponsor2
-------------------------------------------------+-------------------------

Comment (by asn):

 Replying to [comment:5 mikeperry]:
 > Replying to [comment:4 asn]:
 > > Spec branch pushed in https://github.com/asn-d6/torspec/tree/bug29298
 .
 > >
 > > Mike do you like it?
 >
 > We should provide arrays with the example: https://github.com/mikeperry-
 tor/torspec/tree/bug29298
 >

 Nice! That looks real good!

 > There's also the question as to if the infinity bin should be forced to
 have Infinity-1 as its left endpoint, or if we should allow this
 discontinuity as we have there..

 Yep, that would be an **alternative**. Let's consider it:

 {{{
 Alternative #1:

   Tokens    +
          10 |    +----+
           9 |    |    |           +---------+
           8 |    |    |           |         |
           7 |    |    |     +-----+         |
           6 +----+ Bin+-----+     |         +----+---------------+
           5 |    | #1 |     |     |         |    |               |
             | Bin|    | Bin | Bin |  Bin #4 |Bin |    Bin #6     |
             | #0 |    | #2  | #3  |         |#5  | (infinity bin)|
             |    |    |     |     |         |    |               |
             |    |    |     |     |         |    |               |
           0 +----+----+-----+-----+---------+----+---------------+
             0   100  200   350   500      1000   ∞               ∞
 microseconds

 }}}

 Positives:
 - The final bin is now well defined since it makes sense to always return
 infinite delay.
 Negatives:
 - There will need to be special rules for the next-to-last bin which is
 now from 1000 -> ∞, so we still don't get a proper object.
 - We are now adding another bin to the histogram that was not explicitly
 added by the histogram designer, which might be confusing.

 Personally, I prefered the approach that is in the spec above because it's
 kinda easier to grasp and explain.

 **Another alternative**, would be to leave all the edges of the histogram
 to be specified by the histogram designer, including the rightmost one. If
 the designer wanted an infinity bin they could add an infinity value to
 that edge to make one. I think that would also be a clean solution, but it
 would be a bit of a hassle to apply the special rules (e.g. token removal,
 etc.) of the infinity bin in this solution since the designer would
 basically have to decide whether they want the rules or not, and that
 might complicate the "API".

 **For now**, I'd go with the one we specified in the spec above, see how
 that works out, and potentially iterate on the future as researchers use
 it.

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


More information about the tor-bugs mailing list