aboutsummaryrefslogtreecommitdiff
path: root/proposals/151-path-selection-improvements.txt
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2008-07-06 17:37:04 +0000
committerNick Mathewson <nickm@torproject.org>2008-07-06 17:37:04 +0000
commit191db0df9b6738e46fe4bdcb770e3fe5dbdf3049 (patch)
tree0c17c8b00f39453e657f0943bac10fc54c22e2ea /proposals/151-path-selection-improvements.txt
parent95264f85dab4baa8792de79ee3144d0604178dd2 (diff)
downloadtorspec-191db0df9b6738e46fe4bdcb770e3fe5dbdf3049.tar.gz
torspec-191db0df9b6738e46fe4bdcb770e3fe5dbdf3049.zip
Add proposal 150 and proposal 151
svn:r15695
Diffstat (limited to 'proposals/151-path-selection-improvements.txt')
-rw-r--r--proposals/151-path-selection-improvements.txt59
1 files changed, 59 insertions, 0 deletions
diff --git a/proposals/151-path-selection-improvements.txt b/proposals/151-path-selection-improvements.txt
new file mode 100644
index 0000000..4d58396
--- /dev/null
+++ b/proposals/151-path-selection-improvements.txt
@@ -0,0 +1,59 @@
+Filename: 151-path-selection-improvements.txt
+Title: Improving Tor Path Selection
+Version:
+Last-Modified:
+Author: Fallon Chen, Mike Perry
+Created: 5-Jul-2008
+Status: Draft
+
+Overview
+
+ The performance of paths selected can be improved by adjusting the
+ CircuitBuildTimeout and the number of guards. This proposal describes
+ a method of tracking buildtime statistics, and using those statistics
+ to adjust the CircuitBuildTimeout and the number of guards.
+
+Motivation
+
+ Tor's performance can be improved by excluding those circuits that
+ have long buildtimes (and by extension, high latency). For those Tor
+ users who require better performance and have lower requirements for
+ anonymity, this would be a very useful option to have.
+
+Implementation
+
+ Learning the CircuitBuildTimeout
+
+ Based on studies of build times, we found that the distribution of
+ circuit buildtimes appears to be a Pareto distribution. The number
+ of circuits to observe (ncircuits_to_observe) before changing the
+ CircuitBuildTimeout will be tunable. From our preliminary
+ measurements, it is likely that ncircuits_to_observe will be
+ somewhere on the order of 1000. The values can be represented
+ compactly in Tor in milliseconds as a circular array of 16 bit
+ integers. More compact long-term storage representations can be
+ implemented by simply storing a histogram with 50 millisecond
+ buckets when writing out the statistics to disk.
+
+ Calculating the preferred CircuitBuildTimeout
+
+ Circuits that have longer buildtimes than some x% of the estimated
+ CDF of the Pareto distribution will be excluded. x will be tunable
+ as well.
+
+ Circuit timeouts
+
+ In the event of a timeout, backoff values should include the 100-x%
+ of expected CDF of timeouts. Also, in the event of network failure,
+ the observation mechanism should stop collecting timeout data.
+
+ Other notes
+
+ Since this follows a Pareto distribution, large reductions on the
+ timeout can be achieved without cutting off a great number of the
+ total paths. However, hard statistics on which cutoff percentage
+ gives optimal performance have not yet been gathered.
+
+Issues
+
+ Impact on anonymity