2016 Poster Sessions : Moving Transaction Processing Lower in the Software Stack

Student Name : Benjamin Braun
Advisor : David Cheriton
Research Areas: Computer Systems
Writing a multithreaded program is a challenge because of data races, non-deterministic failures, and complex performance issues. Transactions help solve all of these issues. When transactions are not implemented inside the application process (as is common) but at a lower level of the software stack, it becomes possible to isolate application threads from each other and to protect application threads from accessing shared state non-transactionally.

Hence, we present Excite-VM, a system which implements snapshot isolation transactions using a light-weight virtualization layer between the OS and the application. Excite-VM manipulates virtual memory mappings to efficiently serve consistent snapshots of shared state to each application thread. It uses a new copy-on-read approach combined with a customized page cache to avoid unnecessary page copying. Excite VM outperforms the transactional memory implementation used by GCC for concurrent programs as represented by the STAMP benchmarks. We also show that it performs superior performance on industry standard database benchmarks (YCSB and Memcached.) Ongoing work includes working the transaction processing techniques of Excite-VM into a Linux filesystem that exposes transactional file operations.

Benjamin Braun is a third year Ph.D. candidate working under David Cheriton. His research focuses on implementations of transaction processing that take advantage of new hardware configurations. He helped develop Excite-VM, an implementation of snapshot isolation transactions that uses the virtual memory layer to isolate the application from the internals of transaction processing. He earned a B.S. from the University of Texas at Austin in 2013.