aboutsummaryrefslogtreecommitdiff
path: root/proposals/161-computing-bandwidth-adjustments.txt
diff options
context:
space:
mode:
authorMike Perry <mikeperry-git@fscked.org>2009-07-14 20:47:51 -0700
committerMike Perry <mikeperry-git@fscked.org>2009-08-06 14:38:54 -0700
commit8c5004da72bfeeb83c633c1bb31fb91e548005ff (patch)
treee230f9f8a47ddad5421c5c8e8042568c5f3bd65a /proposals/161-computing-bandwidth-adjustments.txt
parentb012e567a75967e6fd4aefef214919ee9af3d4fe (diff)
downloadtorspec-8c5004da72bfeeb83c633c1bb31fb91e548005ff.tar.gz
torspec-8c5004da72bfeeb83c633c1bb31fb91e548005ff.zip
Update the ratio calculation to prefer faster measurements.
Also: simplify complicated filtering steps, always take the most recent measurement, and use slightly smaller file sizes based on measurements.
Diffstat (limited to 'proposals/161-computing-bandwidth-adjustments.txt')
-rw-r--r--proposals/161-computing-bandwidth-adjustments.txt28
1 files changed, 12 insertions, 16 deletions
diff --git a/proposals/161-computing-bandwidth-adjustments.txt b/proposals/161-computing-bandwidth-adjustments.txt
index a50dba6..786e1af 100644
--- a/proposals/161-computing-bandwidth-adjustments.txt
+++ b/proposals/161-computing-bandwidth-adjustments.txt
@@ -45,12 +45,11 @@ Status: Open
file is downloaded via these circuits. The file sizes are set based
on node percentile rank as follows:
- 0-10: 4M
- 10-20: 2M
- 20-30: 1M
- 30-50: 512k
- 50-75: 256k
- 75-100: 128k
+ 0-10: 2M
+ 10-20: 1M
+ 20-30: 512k
+ 30-50: 256k
+ 50-100: 128k
These sizes are based on measurements performed during test scans.
@@ -72,8 +71,8 @@ Status: Open
with capacity of one standard deviation below a node's average
are also removed.
- The final ratio result will be the unfiltered ratio if it is
- close to 1.0, otherwise it will be the filtered ratio.
+ The final ratio result will be greater of the unfiltered ratio
+ and the filtered ratio.
6. Pseudocode for Ratio Calculation Algorithm
@@ -88,11 +87,8 @@ Status: Open
BW_measured(N) = MEAN(b | b is bandwidth of a stream through N)
Bw_stddev(N) = STDDEV(b | b is bandwidth of a stream through N)
Bw_avg(S) = MEAN(b | b = BW_measured(N) for all N in S)
- Normal_Routers(S) = {N | Bw_measured(N)/Bw_avg(S) > 0.5 }
for N in S:
- Normal_Streams(N) =
- {stream via N | all nodes in stream not in {Normal_Routers(S)-N}
- and bandwidth > BW_measured(N)-Bw_stddev(N)}
+ Normal_Streams(N) = {stream via N | bandwidth >= BW_measured(N)}
BW_Norm_measured(N) = MEAN(b | b is a bandwidth of Normal_Streams(N))
Bw_net_avg(Slices) = MEAN(BW_measured(N) for all N in Slices)
@@ -100,9 +96,9 @@ Status: Open
for N in all Slices:
Bw_net_ratio(N) = Bw_measured(N)/Bw_net_avg(Slices)
- Bw_Norm_net_ratio(N) = Bw_measured2(N)/Bw_Norm_net_avg(Slices)
+ Bw_Norm_net_ratio(N) = BW_Norm_measured(N)/Bw_Norm_net_avg(Slices)
- ResultRatio(N) = ClosestToOne(Bw_net_ratio(N), Bw_Norm_net_ratio(N))
+ ResultRatio(N) = MAX(Bw_net_ratio(N), Bw_Norm_net_ratio(N))
7. Security implications
@@ -142,8 +138,8 @@ Status: Open
by another script that uses them to produce network-wide averages
and calculate ratios as per the algorithm in section 6. Because nodes
may shift in capacity, they may appear in more than one slice and/or
- appear more than once in the file set. The line that yields a ratio
- closest to 1.0 will be chosen in this case.
+ appear more than once in the file set. The most recently measured
+ line will be chosen in this case.
9. Integration with Proposal 160