[tor-dev] Tech report: Evaluation of a libutp-based Tor Datagram Implementation

Karsten Loesing karsten at torproject.org
Wed Oct 30 13:03:01 UTC 2013

Hi tor devs,

Steven, Rob, and I wrote a tech report on evaluating Steven's libutp Tor
implementation in the public Tor network and using Chutney and Shadow:


>From the introduction:

Datagram designs are a promising approach to overcome Tor's
performance-related problems.  Advantages of datagram designs over
stream designs are that they allow better end-to-end congestion
management, reduce queue lengths on nodes, and prevent cell loss on one
circuit delaying cells on other circuits.  In earlier reports we
compared possible Tor datagram designs and outlined a testing plan.

In this report we evaluate our implementation of a libutp-based Tor
datagram design.  However, this evaluation does not focus on performance
improvements over the current stream-based Tor implementation, because
we found that our datagram-based Tor implementation is not mature enough
for such a comparison.  The focus is rather on our approach to integrate
a datagram design into the Tor source code and on setting up test
environments to evaluate the new design.  We hope that our findings will
be useful when further tweaking our libutp-based design or implementing
other datagram designs.

In the next section we describe our libutp-based Tor implementation in
sufficient detail for others to understand our source code and to act as
blueprint for implementing other datagram designs.  Sections 3 to 5
outline the experimental setup that we used to evaluate our
implementation and point out roadblocks that kept us busy longer than
necessary.  Section 6 concludes the report by sketching out possible
next steps.

As the introduction says, this report doesn't contain shiny performance
comparisons, because we kept hitting bugs and then ran out of time.  But
the report contains detailed instructions for experimenting with libutp
and Tor, and it has plenty of footnotes containing starting points and a
conclusion with suggested next steps.  In short, we had to stop when
things started to be fun.

Unfortunately, neither of us can work on this topic in the next two
months at the very least.  If anybody here wants to pick up this work
and comes up with bug fixes or even a performance comparison to current
Tor, please post your findings here!

All the best,

More information about the tor-dev mailing list