User-Level Implementations of Read-Copy Update. Desnoyers, M., McKenney, P. E., Stern, A. S., Dagenais, M. R., & Walpole, J. IEEE Trans. Parallel Distrib. Syst., 23(2):375--382, February, 2012. Paper abstract bibtex 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.
@article{desnoyers_user-level_2012,
title = {User-{Level} {Implementations} of {Read}-{Copy} {Update}},
volume = {23},
url = {http://dx.doi.org/10.1109/TPDS.2011.159},
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.},
number = {2},
urldate = {2013-07-11TZ},
journal = {IEEE Trans. Parallel Distrib. Syst.},
author = {Desnoyers, Mathieu and McKenney, Paul E. and Stern, Alan S. and Dagenais, Michel R. and Walpole, Jonathan},
month = feb,
year = {2012},
keywords = {Operating systems, Synchronization, concurrency., process management, software/software engineering, threads},
pages = {375--382}
}
Downloads: 0
{"_id":"WN772EYoFLDEDLf2d","bibbaseid":"desnoyers-mckenney-stern-dagenais-walpole-userlevelimplementationsofreadcopyupdate-2012","downloads":0,"creationDate":"2016-10-15T13:23:23.555Z","title":"User-Level Implementations of Read-Copy Update","author_short":["Desnoyers, M.","McKenney, P. E.","Stern, A. S.","Dagenais, M. R.","Walpole, J."],"year":2012,"bibtype":"article","biburl":"http://bibbase.org/zotero/pentarious","bibdata":{"bibtype":"article","type":"article","title":"User-Level Implementations of Read-Copy Update","volume":"23","url":"http://dx.doi.org/10.1109/TPDS.2011.159","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.","number":"2","urldate":"2013-07-11TZ","journal":"IEEE Trans. Parallel Distrib. Syst.","author":[{"propositions":[],"lastnames":["Desnoyers"],"firstnames":["Mathieu"],"suffixes":[]},{"propositions":[],"lastnames":["McKenney"],"firstnames":["Paul","E."],"suffixes":[]},{"propositions":[],"lastnames":["Stern"],"firstnames":["Alan","S."],"suffixes":[]},{"propositions":[],"lastnames":["Dagenais"],"firstnames":["Michel","R."],"suffixes":[]},{"propositions":[],"lastnames":["Walpole"],"firstnames":["Jonathan"],"suffixes":[]}],"month":"February","year":"2012","keywords":"Operating systems, Synchronization, concurrency., process management, software/software engineering, threads","pages":"375--382","bibtex":"@article{desnoyers_user-level_2012,\n\ttitle = {User-{Level} {Implementations} of {Read}-{Copy} {Update}},\n\tvolume = {23},\n\turl = {http://dx.doi.org/10.1109/TPDS.2011.159},\n\tabstract = {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.},\n\tnumber = {2},\n\turldate = {2013-07-11TZ},\n\tjournal = {IEEE Trans. Parallel Distrib. Syst.},\n\tauthor = {Desnoyers, Mathieu and McKenney, Paul E. and Stern, Alan S. and Dagenais, Michel R. and Walpole, Jonathan},\n\tmonth = feb,\n\tyear = {2012},\n\tkeywords = {Operating systems, Synchronization, concurrency., process management, software/software engineering, threads},\n\tpages = {375--382}\n}\n\n","author_short":["Desnoyers, M.","McKenney, P. E.","Stern, A. S.","Dagenais, M. R.","Walpole, J."],"key":"desnoyers_user-level_2012","id":"desnoyers_user-level_2012","bibbaseid":"desnoyers-mckenney-stern-dagenais-walpole-userlevelimplementationsofreadcopyupdate-2012","role":"author","urls":{"Paper":"http://dx.doi.org/10.1109/TPDS.2011.159"},"keyword":["Operating systems","Synchronization","concurrency.","process management","software/software engineering","threads"],"downloads":0},"search_terms":["user","level","implementations","read","copy","update","desnoyers","mckenney","stern","dagenais","walpole"],"keywords":["operating systems","synchronization","concurrency.","process management","software/software engineering","threads"],"authorIDs":[],"dataSources":["QiRZ7m7shEMvADZkd"]}