Department of Computer Science 


CS 5413: High Performance Systems and Networking (Fall 2014)

Mon/Wed/Fri 1:25-2:15; 205 Thurston Hall

   
    
* Home
* Schedule
* Labs
* Project
 
  TincVPN Optimization
Derek Chiang, Jasdeep Hundal, Jisun Jung
 

Abstract
We explored ways to improve the performance for tincVPN, a virtual private network (VPN) implementation. VPN's are typically used for creating a (usually private) network between computers connected by the public Internet. TincVPN is noted for being easy to configure, but is about 5 - 15 times slower at sending data between two machines that are otherwise linked together by a sufficiently a fast connection, including virtual servers running on the same physical host.

In this paper we first detail the design and architecture of tincVPN and how it relates to the observed performance issues. Then we propose two key optimizations, buffering the data packets that tincVPN sends and switching the mechanism by which tincVPN decides whether there is incoming data available to be read from the Linux system call select to the the system call epoll. Finally, we compare the performance profiles of the unoptimized and optimized versions of tincVPN and discuss areas for further improvement. Unfortunately, we have not seen the gains expected from our implemented optimizations.

 
    Paper [ PDF ]
Presentation [ PDF ]
Source Code [ TGZ ]