Re: circuit construction timeout values

2010-05-03 Thread Mike Perry
Thus spake Scott Bennett (benn...@cs.niu.edu):

  I've noticed something odd in info-level log messages that show circuit
 build timeout values being set.  Given that the maximum length of circuit
 construction time history of 5000 construction times has already been reached,
 it seems weird to see huge jumps in the timeout values from one such message
 to the next.  Here are two examples.
 
  So I'm wondering what is going on here.  If the timeout being set is
 supposed to reflect some sort of smoothed values of a time series of circuit
 construction time, where the smoother is 5000 values wide, how can such jumps
 occur?  I guess I don't understand what algorithm is being used here.  Any
 clarification would be appreciated.  Thanks in advance!

Hi Scott. There are a couple bugs in the algorithm used. One of the
problems is that the Xm pareto value needs to be chosen a bit more
intelligently to deal with samples coming from multiple guards. The
other problem is that synthetic timeouts need to be clipped to a
lower value.

The algorithm is defined at
https://gitweb.torproject.org//tor.git?a=blob;f=doc/spec/proposals/151-path-selection-improvements.txt;h=363eebae8423e4c25310dc28b6f2c232cf20e533;hb=HEAD
(don't you love our nice, short, easy-to-understand-and-predict gitweb urls? ;)

The bug to track this is at:
https://trac.torproject.org/projects/tor/ticket/1335

If you could upload the state file from that Tor to that ticket (after
stripping out the EntryGuard info), that would give me another
datapoint to test against, and to ensure that these are in fact the
problems you are seeing. Even 65 is a bit high for a circuit timeout,
so I suspect you are actually seeing both issues here.

-- 
Mike Perry
Mad Computer Scientist
fscked.org evil labs


pgp4b3bBEHPFH.pgp
Description: PGP signature


circuit construction timeout values

2010-04-29 Thread Scott Bennett
 I've noticed something odd in info-level log messages that show circuit
build timeout values being set.  Given that the maximum length of circuit
construction time history of 5000 construction times has already been reached,
it seems weird to see huge jumps in the timeout values from one such message
to the next.  Here are two examples.

Apr 27 16:16:08.917 [info] circuit_build_times_set_timeout(): Set circuit build 
timeout to 68s (67721.267133ms, Xm: 6025, a: 0.665199) based on 5000 circuit 
times

The next message of this form is

Apr 27 16:16:08.917 [info] circuit_build_times_set_timeout(): Set circuit build 
timeout to 68s (67721.267133ms, Xm: 6025, a: 0.665199) based on 5000 circuit 
times

That one is followed by

Apr 27 16:26:14.040 [info] circuit_build_times_set_timeout(): Set circuit build 
timeout to 93s (93292.661928ms, Xm: 2525, a: 0.445889) based on 5000 circuit 
times

Messages showing similar timeouts (i.e., 93-94 s) continue for quite some time.
Then the following sequence occurs.

Apr 27 18:15:53.967 [info] circuit_build_times_set_timeout(): Set circuit build 
timeout to 94s (93616.547344ms, Xm: 2525, a: 0.445462) based on 5000 circuit 
times
Apr 27 18:15:59.672 [info] circuit_build_times_set_timeout(): Set circuit build 
timeout to 65s (64619.917420ms, Xm: 9075, a: 0.819887) based on 5000 circuit 
times

 So I'm wondering what is going on here.  If the timeout being set is
supposed to reflect some sort of smoothed values of a time series of circuit
construction time, where the smoother is 5000 values wide, how can such jumps
occur?  I guess I don't understand what algorithm is being used here.  Any
clarification would be appreciated.  Thanks in advance!


  Scott Bennett, Comm. ASMELG, CFIAG
**
* Internet:   bennett at cs.niu.edu  *
**
* A well regulated and disciplined militia, is at all times a good  *
* objection to the introduction of that bane of all free governments *
* -- a standing army.   *
*-- Gov. John Hancock, New York Journal, 28 January 1790 *
**
***
To unsubscribe, send an e-mail to majord...@torproject.org with
unsubscribe or-talkin the body. http://archives.seul.org/or/talk/