Read-Log-Update: A Lightweight Synchronization Mechanism for Concurrent Programming
Pascal Felber (Université de Neuchâtel)
This presentation introduces read-log-update (RLU), a novel extension of the popular read-copy-update (RCU) synchronization mechanism that supports scalability of concurrent code by allowing unsynchronized sequences of reads to execute concurrently with updates. RLU overcomes the major limitations of RCU by allowing, for the first time, concurrency of reads with multiple writers, and providing automation that eliminates most of the programming difficulty associated with RCU programming. At the core of the RLU design is a logging and coordination mechanism inspired by software transactional memory algorithms. In a collection of micro-benchmarks in both the kernel and user space, we show that RLU both simplifies the code and matches or improves on the performance of RCU. As an example of its power, we show how it readily scales the performance of a real-world application, Kyoto Cabinet, a truly difficult concurrent programming feat to attempt in general, and in particular with classic RCU.
Pascal Felber received his M.Sc. and Ph.D. degrees in Computer Science from the Swiss Federal Institute of Technology (EPFL). From 1998 to 2002, he has worked at Oracle Corporation and Bell-Labs (Lucent Technologies) in the USA. From 2002 to 2004, he has been an Assistant Professor at Institut EURECOM in France. Since October 2004, he is a Professor of Computer Science at the University of Neuchatel, Switzerland, working in the field of dependable and distributed systems. He has published over 100 research papers in various journals and conferences.
Back to EBSIS Events section.