User-Level Implementations of Read-Copy Update

Autor: Alan S. Stern, Paul E. McKenney, Mathieu Desnoyers, Jonathan Walpole, Michel Dagenais
Rok vydání: 2012
Předmět:
Zdroj: IEEE Transactions on Parallel and Distributed Systems. 23:375-382
ISSN: 1045-9219
DOI: 10.1109/tpds.2011.159
Popis: 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.
Databáze: OpenAIRE