Browse Source

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.
Mike Perry 16 years ago
parent
commit
3a1b9526f8
1 changed files with 12 additions and 16 deletions
  1. 12 16
      doc/spec/proposals/161-computing-bandwidth-adjustments.txt

+ 12 - 16
doc/spec/proposals/161-computing-bandwidth-adjustments.txt

@@ -45,12 +45,11 @@ Status: Open
   file is downloaded via these circuits. The file sizes are set based
   file is downloaded via these circuits. The file sizes are set based
   on node percentile rank as follows:
   on node percentile rank as follows:
     
     
-     0-10: 4M
+     0-10: 2M
-     10-20: 2M
+     10-20: 1M
-     20-30: 1M
+     20-30: 512k
-     30-50: 512k
+     30-50: 256k
-     50-75: 256k
+     50-100: 128k
-     75-100: 128k
 
 
   These sizes are based on measurements performed during test scans.
   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
   with capacity of one standard deviation below a node's average
   are also removed.
   are also removed.
 
 
-  The final ratio result will be the unfiltered ratio if it is 
+  The final ratio result will be greater of the unfiltered ratio
-  close to 1.0, otherwise it will be the filtered ratio.
+  and the filtered ratio.
 
 
 
 
 6. Pseudocode for Ratio Calculation Algorithm
 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_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_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)  
       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:
       for N in S:
-        Normal_Streams(N) =
+        Normal_Streams(N) = {stream via N | bandwidth >= BW_measured(N)} 
-          {stream via N | all nodes in stream not in {Normal_Routers(S)-N}
-                          and bandwidth > BW_measured(N)-Bw_stddev(N)} 
         BW_Norm_measured(N) =  MEAN(b | b is a bandwidth of Normal_Streams(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)
     Bw_net_avg(Slices) = MEAN(BW_measured(N) for all N in Slices)
@@ -100,9 +96,9 @@ Status: Open
 
 
     for N in all Slices:
     for N in all Slices:
       Bw_net_ratio(N) = Bw_measured(N)/Bw_net_avg(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
 7. Security implications
@@ -142,8 +138,8 @@ Status: Open
   by another script that uses them to produce network-wide averages 
   by another script that uses them to produce network-wide averages 
   and calculate ratios as per the algorithm in section 6. Because nodes 
   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 
   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 
+  appear more than once in the file set. The most recently measured
-  closest to 1.0 will be chosen in this case.
+  line will be chosen in this case.
 
 
 
 
 9. Integration with Proposal 160
 9. Integration with Proposal 160