Tor's Been KIST: A Case Study of Transitioning Tor Research to Practice
This work addresses the challenge of implementing research in real-world systems for the Tor network community, though it is incremental as it builds on prior research.
The study examined the transition of Tor research to practice by deploying the KIST socket scheduling policy, finding that it reduces kernel queuing times for relays and improves download times for low-volume or bursty clients, with performance gains increasing under higher network loads and packet loss.
Most computer science research is aimed at solving difficult problems with a goal of sharing the developed solutions with the greater research community. For many researchers, a project ends when the paper is published even though a much broader impact could be achieved by spending additional effort to transition that research to real world usage. In this paper, we examine the opportunities and challenges in transitioning Tor research through a case study of deploying a previously proposed application layer socket scheduling policy called KIST into the Tor network. We implement KIST, simulate it in a 2,000-relay private Tor network using Shadow, deploy it on a Tor relay running in the public Tor network, and measure its performance impact. Confirming the results reported in prior research, we find that KIST reduces kernel outbound queuing times for relays and download times for low-volume or bursty clients. We also find that client and relay performance with KIST increases as network load and packet loss rates increase, although the effects of packet loss on KIST were overlooked in past work. Our implementation will be released as open-source software for inclusion in a future Tor release.