loading...
 This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
User-Level Implementations of Read-Copy Update
February 2012 (vol. 23 no. 2)
pp. 375-382
Mathieu Desnoyers, EfficiOS Inc., Montréal
Paul E. McKenney, IBM Linux Technology Center, Beaverton
Alan S. Stern, Rowland Institute at Harvard, Cambridge
Michel R. Dagenais, Ecole Polytechnique de Montréal, Montréal
Jonathan Walpole, Portland State University, Portland
Read-copy update (RCU) is a synchronization technique that often replaces reader-writer locking because RCU's read-side primitives are both wait-free and an order of magnitude faster than uncontended locking. Although RCU updates are relatively heavy weight, the importance of read-side performance is increasing as computing systems become more responsive to changes in their environments. RCU is heavily used in several kernel-level environments. Unfortunately, kernel-level implementations use facilities that are often unavailable to user applications. The few prior user-level RCU implementations either provided inefficient read-side primitives or restricted the application architecture. This paper fills this gap by describing efficient and flexible RCU implementations based on primitives commonly available to user-level applications. Finally, this paper compares these RCU implementations with each other and with standard locking, which enables choosing the best mechanism for a given workload. This work opens the door to widespread user-application use of RCU.
Index Terms:
Synchronization, process management, operating systems, software/software engineering, threads, concurrency.
Citation:
Mathieu Desnoyers, Paul E. McKenney, Alan S. Stern, Michel R. Dagenais, Jonathan Walpole, "User-Level Implementations of Read-Copy Update," IEEE Transactions on Parallel and Distributed Systems, vol. 23, no. 2, pp. 375-382, Feb. 2012, doi:10.1109/TPDS.2011.159
Usage of this product signifies your acceptance of the Terms of Use.