[or-cvs] r15935: A bunch of smaller improvements. (projects/hidserv/trunk/doc)

kloesing at seul.org kloesing at seul.org
Tue Jul 15 10:43:42 UTC 2008


Author: kloesing
Date: 2008-07-15 06:43:41 -0400 (Tue, 15 Jul 2008)
New Revision: 15935

Modified:
   projects/hidserv/trunk/doc/descup.png
   projects/hidserv/trunk/doc/discussion.tex
   projects/hidserv/trunk/doc/firstpub.png
Log:
A bunch of smaller improvements.

Modified: projects/hidserv/trunk/doc/descup.png
===================================================================
(Binary files differ)

Modified: projects/hidserv/trunk/doc/discussion.tex
===================================================================
--- projects/hidserv/trunk/doc/discussion.tex	2008-07-15 09:25:27 UTC (rev 15934)
+++ projects/hidserv/trunk/doc/discussion.tex	2008-07-15 10:43:41 UTC (rev 15935)
@@ -17,7 +17,9 @@
 performance of Tor Hidden Services. The ideas for these improvements come
 from an earlier analysis of possible performance
 bottlenecks\footnote{\url{http://freehaven.net/~karsten/hidserv/perfanalysis-2008-06-15.pdf}}.
-Optimally, the results of the discussion of these ideas will be included in
+All sections start with the design idea
+as stated in the previous analysis and evaluate the possible performance
+gain and possibly unwanted side-effects. Optimally, the results of the discussion of these ideas will be included in
 a Tor proposal by August 15, 2008.
 \end{abstract}
 
@@ -43,7 +45,7 @@
 Applying the new design would have the following effects:
 
 \begin{description}
-\item[Performance Improvement of 8 Seconds (30\%)] A
+\item[Performance Improvement of 8.2 Seconds] A
 pre-evaluation\footnote{Christian Wilms, Improving the Tor Hidden Service
 Protocol Aiming at Better Performance, diploma thesis, June 2008} of this
 design change has shown that mean connection establishment times can be
@@ -53,7 +55,7 @@
 %
 \begin{figure}[tb]
 \centering
-\includegraphics[width=\textwidth]{boxoverlier.pdf}
+\includegraphics[width=0.8\textwidth]{boxoverlier.pdf}
 \begin{tabular}{lrrrrrr}
 Protocol & Min. & 1st Qu. & Median & Mean & 3rd Qu. & Max.\\\hline
 Regular & 2.479 & 11.450 & 18.210 & 27.370 & 33.220 & 181.800\\
@@ -93,7 +95,7 @@
 effect on clients with low bandwidth.}
 
 \begin{description}
-\item[Performance Improvement of 5 Seconds (18\%)] Another pre-evaluation
+\item[Performance Improvement of 4.9 Seconds] A pre-evaluation
 resulted in a possible reduction of connection establishment times from
 27.4 seconds in the original protocol to 22.5 seconds in the changed
 design. Figure~\ref{fig:parintro} shows the possible improvement of
@@ -101,7 +103,7 @@
 %
 \begin{figure}[tb]
 \centering
-\includegraphics[width=\textwidth]{boxparconn.pdf}
+\includegraphics[width=0.8\textwidth]{boxparconn.pdf}
 \begin{tabular}{lrrrrrr}
 Protocol & Min. & 1st Qu. & Median & Mean & 3rd Qu. & Max.\\\hline
 Regular & 2.479 & 11.450 & 18.210 & 27.370 & 33.220 & 181.800\\
@@ -129,41 +131,43 @@
 another usage which will make them even slower. Therefore, they should be
 discarded after they reach a certain length, e.g.\ 6 hops.
 %
-\item[Anonymity Issues with Loser Circuits] There should not be any
-anonymity issues with slower circuits, because they were never told that
-they were intended to be used as introduction circuits.
+\item[Anonymity Issues with Loser Circuits] Other than stated in the analysis, there should not be any
+anonymity issues with slower circuits, because they were never told to be used as introduction circuits.
 \end{description}
 
 \section{Individual Cannibalization Timeouts}
 An idea that was not described in the last report is to introduce
 individual timeouts for cannibalizing a circuit and extending it to an
-introduction point afterwards. The current timeout for this task is 60
-seconds. Figure~\ref{fig:introest} contains a histogram of times that are
-required for this task. 
-
-Assuming that the timeout would be reduced to a lower value, a second
+introduction point afterwards on client side.
+The current timeout for this task is 60
+seconds. Assuming that the timeout would be reduced to a lower value, a second
 (or third) attempt to cannibalize and extend a circuit would be started
-earlier. Figure~\ref{fig:X} shows the overall introduction circuit
-cannibalization and extension times for timeouts between 10 and 60 seconds.
-%As a simplification, the assumption is made that circuit estalishments can
-%be accomplished within at most three timeouts. % TODO Christian: Can we
-%drop this assumption?
+earlier. Figure~\ref{fig:introest} contains a histogram of times that are
+required for this task.
+%
+\begin{figure}[tb]
+\centering
+%\includegraphics[width=0.8\textwidth]{histogram.pdf}
+\emph{TODO Christian: Insert histogram.}
+\caption{Client-side introduction circuit establishment times}
+\label{fig:introest}
+\end{figure}
 
 \begin{description}
-\item[Performance Improvement of X Seconds (X\%)]
+\item[Performance Improvement of 2 Seconds]
+Figure~\ref{fig:introestmean} shows the simulated mean introduction circuit
+cannibalization and extension times for timeouts between 10 and 60 seconds.
+For a timeout of 30 seconds the performance gain would be approximately 2
+seconds.
 %
 \begin{figure}[tb]
 \centering
-%\includegraphics[width=0.8\textwidth]{introest.png}
-\emph{TODO Christian: Insert histogram of introduction circuit establishment times here, together with summary of values. Also insert the average
-number of requests as a function of timeout.}
-\caption{Introduction circuit establishment times}
-\label{fig:introest}
+\includegraphics[width=0.8\textwidth]{extensionmeans.pdf}
+\caption{Mean client-side introduction circuit establishment times as a
+function of timeout}
+\label{fig:introestmean}
 \end{figure}
 %
-\emph{TODO Christian: Insert diagram with average introduction circuit
-establishment times as a function of timeouts.}
-%
 \item[Effect on Low-Bandwidth Clients] All measurements so far have been
 performed on high-bandwidth clients. If there is a significant influence of
 bandwidth on cannibalization time, relays should keep a history of past
@@ -172,7 +176,16 @@
 %
 \item[Increased Network Load] There will be an increased share of circuits
 that are discarded after the new timeout expires, but would have been
-completed within the existing timeout of 60 seconds.
+completed within the existing timeout of 60 seconds. Figure~\ref{fig:introestattempts} visualizes the increased number of circuit cannibalization and extension attempts for lower timeouts.
+%
+\begin{figure}[tb]
+\centering
+\includegraphics[width=0.8\textwidth]{extensionretries.pdf}
+\caption{Number of client-side introduction circuit establishment attempts
+as a function of timeout}
+\label{fig:introestattempts}
+\end{figure}
+%
 \end{description}
 
 \section{Increase Count of Internal Circuits}
@@ -187,13 +200,13 @@
 connections to more than one hidden service at a time.}
 
 \begin{description}
-\item[Performance Improvement of ?? Seconds (??\%)] It is assumed that a
+\item[Performance Improvement of 4.5 Seconds] It is assumed that a
 popular hidden service cannot make use of cannibalization for
 connecting to rendezvous points, but needs to create new circuits.
 Therefore, the circuit creation time needs to be added to the current
 results. An evaluation of internal circuit creating times is shown in
-Figure~\ref{fig:Y}. In the mean the connection establishment time to a
-popular hidden service would increase by Z seconds.
+the table below. In the mean the connection establishment time to a
+popular hidden service would increase by 4.7 seconds.
 
 % R: rendest <- read.csv("rendest.csv",sep = ",",header=FALSE, row.names=NULL); summary(rendest)
 \begin{tabular}{rrrrrr}
@@ -218,41 +231,27 @@
 
 \begin{description}
 \item[Performance Improvement of 3.5 Seconds] The effect of choosing
-the fastest 3 out of 5 circuit creations as introduction points has been
+the fastest 3 out of 5 (4, 6) circuit creations as introduction points has been
 evaluated using previously measured data, too. Therefore, circuit
 establishment times were derived from log files and written to an array.
-Afterwards, a simulation with 10,000 runs was performed picking 5 random values
+Afterwards, a simulation with 10,000 runs was performed picking 5 (4, 6) random values
 and using
 the 3 lowest values in contrast to picking only 3 values at random. The
 result is that the mean time of the 3-out-of-3 approach is 8 seconds, while the
-mean time of the 3-out-of-5 approach is 4.5 seconds.
+mean time of the 3-out-of-5 approach is 4.5 seconds. The results are given in the table below.
 
-intro circ establishment\\
-% R: introest <- read.csv("introest.csv",sep = ",",header=FALSE, row.names=NULL); summary(introest)
-\begin{tabular}{rrrrrr}
-Min. & 1st Qu. & Median & Mean & 3rd Qu. & Max.\\\hline
-0.233 & 3.456 & 5.976 & 8.059 & 9.266 & 59.912
+% R: three <- read.csv("3outof3.csv",sep = ",",header=FALSE, row.names=NULL); four <- read.csv("3outof4.csv",sep = ",",header=FALSE, row.names=NULL); five <- read.csv("3outof5.csv",sep = ",",header=FALSE, row.names=NULL); six <- read.csv("3outof6.csv",sep = ",",header=FALSE, row.names=NULL); summary(three); summary(four); summary(five); summary(six)
+\begin{tabular}{crrrrrr}
+Intro. Pnts. & Min. & 1st Qu. & Median & Mean & 3rd Qu. & Max.\\\hline
+3 & 1.023 & 5.020 & 6.820 & 8.060 & 9.720 & 40.500\\
+4 & 0.882 & 3.810 & 5.000 & 5.420 & 6.470 & 30.900\\
+5 & 0.786 & 3.210 & 4.190 & 4.430 & 5.370 & 19.200\\
+6 & 0.578 & 2.830 & 3.700 & 3.870 & 4.710 & 12.100\\
 \end{tabular}
 %
-
-% R: three <- read.csv("3outof3.csv",sep = ",",header=FALSE, row.names=NULL); summary(three)
-3-out-of-3\\
-\begin{tabular}{rrrrrr}
-Min. & 1st Qu. & Median & Mean & 3rd Qu. & Max.\\\hline
-1.103 & 5.041 & 6.800 & 8.091 & 9.758 & 36.779
-\end{tabular}
-%
-
-% R: five <- read.csv("3outof5.csv",sep = ",",header=FALSE, row.names=NULL); summary(five)
-3-out-of-5\\
-\begin{tabular}{rrrrrr}
-Min. & 1st Qu. & Median & Mean & 3rd Qu. & Max.\\\hline
-0.863 & 3.220 & 4.187 & 4.422 & 5.367 & 18.448
-\end{tabular}
-%
 \item[Network Load] The effect on network load is minimal, because the hidden service can reuse the slower internal circuits for other purposes.
 The only change is that a hidden service starts establishing more circuits
-at once.
+at once instead of subsequently doing so.
 \end{description}
 
 \section{Descriptor Upload Timing}
@@ -282,7 +281,7 @@
 seconds.
 \end{description}
 
-% first <- read.csv("firstdesc.csv",sep = ",",header=TRUE, row.names=NULL); png(paste("firstpub", "png", sep="."), width=800, height=600); plot(mean(first/1000),type="o",ylim=c(0,mean(first$firstdesc90)/1000),xlab="Stabilization time before descriptor upload (s)",ylab="Mean time until first descriptor publication (s)"); abline(a=0, b=1, lty=2); dev.off()
+% first <- read.csv("firstdesc.csv",sep = ",",header=TRUE, row.names=NULL); png(paste("firstpub", "png", sep="."), width=800, height=600); plot(mean(first/1000),type="o",ylim=c(0,mean(first$firstdesc90)/1000),xlab="Stabilization time before descriptor upload (s)",ylab="Mean time until first descriptor publication (s)"); abline(a=0, b=1, lty=2); arrows(30,90,30,75); dev.off()
 \begin{figure}[tb]
 \centering
 \includegraphics[width=0.8\textwidth]{firstpub.png}
@@ -290,7 +289,7 @@
 \label{fig:firstpub}
 \end{figure}
 
-% stable <- read.csv("theorupl.csv",sep = ",",header=TRUE, row.names=NULL); png(paste("descup", "png", sep="."), width=800, height=600); plot(mean(stable),type="o",xlab="Stabilization time before descriptor upload (s)",ylim=c(0,mean(stable$stable1)),ylab="Mean number of uploaded descriptors"); abline(a=1, b=0, lty=2); dev.off()
+% stable <- read.csv("theorupl.csv",sep = ",",header=TRUE, row.names=NULL); png(paste("descup", "png", sep="."), width=800, height=600); plot(mean(stable),type="o",xlab="Stabilization time before descriptor upload (s)",ylim=c(0,mean(stable$stable1)),ylab="Mean number of uploaded descriptors"); abline(a=1, b=0, lty=2); arrows(30,1.68,30,1.43); dev.off()
 \begin{figure}[tb]
 \centering
 \includegraphics[width=0.8\textwidth]{descup.png}

Modified: projects/hidserv/trunk/doc/firstpub.png
===================================================================
(Binary files differ)



More information about the tor-commits mailing list