skip to main content
10.1145/2611462.2611471acmconferencesArticle/Chapter ViewAbstractPublication PagespodcConference Proceedingsconference-collections
research-article

Concurrent updates with RCU: search tree as an example

Published:15 July 2014Publication History

ABSTRACT

Read copy update (RCU) is a novel synchronization mechanism, in which the burden of synchronization falls completely on the updaters, by having them wait for all pre-existing readers to finish their read-side critical section. This paper presents citrus, a concurrent binary search tree (BST) with a wait-free Contains operation, using RCU synchronization and fine-grained locking for synchronization among updaters. This is the first RCU-based data structure that allows concurrent updaters. While there are methodologies for using RCU to coordinate between readers and updaters, they do not address the issue of coordination among updaters, and indeed, all existing RCU-based data structures rely on coarse-grained synchronization between updaters.

Experimental evaluation shows that \citrus beats previous RCU-based search trees, even under mild update contention, and compares well with the best-known concurrent dictionaries.

References

  1. Y. Afek, H. Kaplan, B. Korenfeld, A. Morrison, and R. E. Tarjan. CBTree: A practical concurrent self-adjusting search tree. DISC 2012, pp. 1--15. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. H. Attiya, R. Guerraoui, and E. Ruppert. Partial snapshot objects. SPAA 2008, pp. 336--343.% Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. %R. Bayer and M. Schkolnick. Concurrency of operations on b-trees. In M. Stonebraker (ed.), Readings in database systems, pages% 129--139. Morgan Kaufmann, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. A. Braginsky and E. Petrank. A lock-free B+ tree. SPAA 2012, pp. 58--67, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. N. G. Bronson, J. Casper, H. Chafi, and K. Olukotun. A practical concurrent binary search tree. PPoPP 2010, pp. 257--268. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. T. Brown, F. Ellen, and E. Ruppert. A general technique for non-blocking trees. PPoPP 2014, pp. 329--342. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. A. T. Clements, M. F. Kaashoek, and N. Zeldovich. Scalable address spaces using RCU balanced trees. ASPLOS 2012, pp. 199--210. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. T. Crain, V. Gramoli, and M. Raynal. A contention-friendly binary search tree. Euro-Par 2010, pp. 229--240. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. M. Desnoyers, P. McKenney, A. Stern, M. Dagenais, and J. Walpole. User-level implementations of Read-Copy Update. IEEE Transactions on Parallel and Distributed Systems, 23(2):375--382, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. D. Drachsler, M. Vechev, and E. Yahav. Practical concurrent binary search trees via logical ordering. PPoPP 2014, pp. 343--356. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. F. Ellen, P. Fatourou, E. Ruppert, and F. van Breugel. Non-blocking binary search trees. PODC 2010, pp. 131--140.% Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. K. P. Eswaran, J. N. Gray, R. A. Lorie, and I. L. Traiger. The notions of consistency and predicate locks in a database system. Commun. ACM, 19(11):624--633, Nov. 1976. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. K. Fraser. Practical lock-freedom. PhD thesis, University of Cambridge, 2003.Google ScholarGoogle Scholar
  14. A. Gotsman, N. Rinetzky, and H. Yang. Verifying concurrent memory reclamation algorithms with grace. ESOP 2013, pp. 249--269. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. D. Guniguntala, P. E. McKenney, J. Triplett, and J. Walpole. The read-copy-update mechanism for supporting real-time applications on shared-memory multiprocessor systems with Linux. IBM Systems Journal, 47(2):221--236, May 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. S. Heller, M. Herlihy, V. Luchangco, M. Moir, W. N. Scherer III, and N. Shavit. A lazy concurrent list-based set algorithm. OPODIS 2006, pp. 3--16. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. M. Herlihy, Y. Lev, V. Luchangco, and N. Shavit. A simple optimistic skiplist algorithm. SIROCCO 2007, pp. 124--138. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. M. Herlihy and J. E. B. Moss. Transactional memory: architectural support for lock-free data structures. SIGARCH Comput. Archit. News, 21(2):289--300, May 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. M. P. Herlihy and J. M. Wing. Linearizability: a correctness condition for concurrent objects. ACM Trans. Program. Lang. Syst., 12(3):463--492, July 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. P. W. Howard, , and J. Walpole. A case for relativistic programming. In ACM workshop on Relaxing Synchronization for Multicore and Manycore Scalability, pp. 33--38, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. P. W. Howard and J. Walpole. Relativistic red-black trees. Concurrency & Computation: Practice & Experience, 2013.Google ScholarGoogle Scholar
  22. S. V. Howley and J. Jones. A non-blocking internal binary search tree. SPAA 2012, pp. 161--171. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. P. E. McKenney. RCU Linux usage. http://www.rdrop.com/users/paulmck/RCU/linuxusage.html.Google ScholarGoogle Scholar
  24. P. E. McKenney. Exploiting Deferred Destruction: An Analysis of Read-Copy-Update Techniques in Operating System kernels. PhD thesis, Oregon State University, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. P. E. McKenney and J. D. Slingwine. Read-copy update: Using execution history to solve concurrency problems. Parallel and Distributed Computing and Systems, pp. 509--518, 1998.Google ScholarGoogle Scholar
  26. A. Natarajan and N. Mittal. Fast concurrent lock-free binary search trees. PPoPP 2014, pp. 317--328. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. E. Petrank and S. Timnat. Lock-free data-structure iterators. DISC 2013, pp. 224--238.Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. A. Silberschatz and Z. Kedem. Consistency in hierarchical database systems. J. ACM, 27(1):72--80, 1980. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. J. Triplett, P. E. McKenney, and J. Walpole. Scalable concurrent hash tables via relativistic programming. SIGOPS Oper. Syst. Rev., 44(3):102--109, Aug. 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. J. Triplett, P. E. McKenney, and J. Walpole. Resizable, scalable, concurrent hash tables. USENIX Annual Technical Conference, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Concurrent updates with RCU: search tree as an example

      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
      • Published in

        cover image ACM Conferences
        PODC '14: Proceedings of the 2014 ACM symposium on Principles of distributed computing
        July 2014
        444 pages
        ISBN:9781450329446
        DOI:10.1145/2611462

        Copyright © 2014 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 15 July 2014

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        PODC '14 Paper Acceptance Rate39of141submissions,28%Overall Acceptance Rate740of2,477submissions,30%

        Upcoming Conference

        PODC '24

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader