DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/TPDS.2011.159
Web Extra: View Supplemental Material(PDF)
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. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||