skip to main content
poster

POSTER: Poor Man's URCU

Published:26 January 2017Publication History
Skip Abstract Section

Abstract

RCU is, among other things, a well known mechanism for memory reclamation that is meant to be used in languages without an automatic Garbage Collector, unfortunately, it requires operating system support, which is currently provided only in Linux. An alternative is to use Userspace RCU (URCU) which has two variants that can be deployed on other operating systems, named \emph{Memory Barrier} and \emph{Bullet Proof}.

We present a novel algorithm that implements the three core APIs of RCU: \texttt{rcu\_read\_lock()}, \texttt{rcu\_read\_unlock()}, and \texttt{synchronize\_rcu()}. Our algorithm uses one mutual exclusion lock and two reader-writer locks with \texttt{trylock()} capabilities, which means it does not need a language with a memory model or atomics API, and as such, it can be easily implemented in almost any language, regardless of the underlying CPU architecture, or operating system.

References

  1. I. Calciu, D. Dice, Y. Lev, V. Luchangco, V. J. Marathe, and N. Shavit. NUMA-aware reader-writer locks. PPoPP 2013, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. M. Desnoyers, P. E. McKenney, A. S. Stern, M. R. Dagenais, and J. Walpole. User-level implementations of read-copy update. Parallel and Distributed Systems, IEEE Transactions on, 23 (2): 375--382, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. P. E. McKenney, J. Appavoo, A. Kleen, O. Krieger, R. Russell, D. Sarma, and M. Soni. Read-copy update. In AUUG Conference Proceedings, page 175. AUUG, Inc., 2001.Google ScholarGoogle Scholar

Index Terms

  1. POSTER: Poor Man's URCU

Recommendations

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in

Full Access

  • Published in

    cover image ACM SIGPLAN Notices
    ACM SIGPLAN Notices  Volume 52, Issue 8
    PPoPP '17
    August 2017
    442 pages
    ISSN:0362-1340
    EISSN:1558-1160
    DOI:10.1145/3155284
    Issue’s Table of Contents
    • cover image ACM Conferences
      PPoPP '17: Proceedings of the 22nd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming
      January 2017
      476 pages
      ISBN:9781450344937
      DOI:10.1145/3018743

    Copyright © 2017 Owner/Author

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 26 January 2017

    Check for updates

    Author Tags

    Qualifiers

    • poster
  • Article Metrics

    • Downloads (Last 12 months)4
    • Downloads (Last 6 weeks)1

    Other Metrics

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader
About Cookies On This Site

We use cookies to ensure that we give you the best experience on our website.

Learn more

Got it!