• DocumentCode
    1550712
  • Title

    User-Level Implementations of Read-Copy Update

  • Author

    Desnoyers, Mathieu ; McKenney, Paul E. ; Stern, Alan S. ; Dagenais, Michel R. ; Walpole, Jonathan

  • Author_Institution
    EfficiOS, Inc., Montreal, QC, Canada
  • Volume
    23
  • Issue
    2
  • fYear
    2012
  • Firstpage
    375
  • Lastpage
    382
  • Abstract
    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.
  • Keywords
    operating systems (computers); RCU read-side primitives; kernel-level environments; read-copy update; reader-writer locking; synchronization technique; user-level RCU implementations; Data structures; Instruction sets; Kernel; Linux; Materials; Scalability; Synchronization; Synchronization; concurrency.; operating systems; process management; software/software engineering; threads;
  • fLanguage
    English
  • Journal_Title
    Parallel and Distributed Systems, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    1045-9219
  • Type

    jour

  • DOI
    10.1109/TPDS.2011.159
  • Filename
    5871597