Deletion without Rebalancing in Non-Blocking Binary Search Trees

Authors Meng He, Mengdu Li



PDF
Thumbnail PDF

File

LIPIcs.OPODIS.2016.34.pdf
  • Filesize: 0.66 MB
  • 17 pages

Document Identifiers

Author Details

Meng He
Mengdu Li

Cite AsGet BibTex

Meng He and Mengdu Li. Deletion without Rebalancing in Non-Blocking Binary Search Trees. In 20th International Conference on Principles of Distributed Systems (OPODIS 2016). Leibniz International Proceedings in Informatics (LIPIcs), Volume 70, pp. 34:1-34:17, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2017)
https://doi.org/10.4230/LIPIcs.OPODIS.2016.34

Abstract

We present a provably linearizable and lock-free relaxed AVL tree called the non-blocking ravl tree. At any time, the height of a non-blocking ravl tree is upper bounded by log_d (2m) + c, where d is the golden ratio, m is the total number of successful INSERT operations performed so far and c is the number of active concurrent processes that have inserted new keys and are still rebalancing the tree at this time. The most significant feature of the non-blocking ravl tree is that it does not rebalance itself after DELETE operations. Instead, it performs rebalancing only after INSERT operations. Thus, the non-blocking ravl tree is much simpler to implement than other self-balancing concurrent binary search trees (BSTs) which typically introduce a large number of rebalancing cases after DELETE operations, while still providing a provable non-trivial bound on its height. We further conduct experimental studies to compare our solution with other state-of-the-art concurrent BSTs using randomly generated data sequences under uniform distributions, and find that our solution achieves the best performance among concurrent self-balancing BSTs. As the keys in access sequences are likely to be partially sorted in system software, we also conduct experiments using data sequences with various degrees of presortedness to better simulate applications in practice. Our experimental results show that, when there are enough degrees of presortedness, our solution achieves the best performance among all the concurrent BSTs used in our studies, including those that perform self-balancing operations and those that do not, and thus is potentially the best candidate for many real-world applications.
Keywords
  • concurrent data structures
  • non-blocking data structures
  • lock-free data structures
  • self-balancing binary search trees
  • relaxed AVL trees

Metrics

  • Access Statistics
  • Total Accesses (updated on a weekly basis)
    0
    PDF Downloads

References

  1. Maya Arbel and Hagit Attiya. Concurrent updates with RCU: Search tree as an example. In Proc. PODC, pages 196-205, New York, NY, USA, 2014. ACM. URL: http://dx.doi.org/10.1145/2611462.2611471.
  2. Hans Boehm. The atomic_ops library (libatomic_ops). URL: https://github.com/ivmai/libatomic_ops.
  3. Nathan G. Bronson, Jared Casper, Hassan Chafi, and Kunle Olukotun. A practical concurrent binary search tree. SIGPLAN Not., 45(5):257-268, January 2010. URL: http://dx.doi.org/10.1145/1837853.1693488.
  4. Trevor Brown, Faith Ellen, and Eric Ruppert. Pragmatic primitives for non-blocking data structures. In Proc. PODC, pages 13-22, New York, NY, USA, 2013. ACM. URL: http://dx.doi.org/10.1145/2484239.2484273.
  5. Trevor Brown, Faith Ellen, and Eric Ruppert. A general technique for non-blocking trees. SIGPLAN Not., 49(8):329-342, February 2014. Source code available at http://www.cs.toronto.edu/~tabrown/chromatic/. URL: http://dx.doi.org/10.1145/2692916.2555267.
  6. Bapi Chatterjee, Nhan Nguyen, and Philippas Tsigas. Efficient lock-free binary search trees. In Proc. PODC, pages 322-331, New York, NY, USA, 2014. ACM. URL: http://dx.doi.org/10.1145/2611462.2611500.
  7. Tyler Crain, Vincent Gramoli, and Michel Raynal. A speculation-friendly binary search tree. In Proc. PPOPP, pages 161-170, 2012. Google Scholar
  8. Tyler Crain, Vincent Gramoli, and Michel Raynal. A contention-friendly binary search tree. In Proc. Euro-Par, pages 229-240, Berlin, Heidelberg, 2013. Springer-Verlag. URL: http://dx.doi.org/10.1007/978-3-642-40047-6_25.
  9. Dana Drachsler, Martin Vechev, and Eran Yahav. Practical concurrent binary search trees via logical ordering. SIGPLAN Not., 49(8):343-356, February 2014. Source code available at https://github.com/logicalordering/trees. URL: http://dx.doi.org/10.1145/2692916.2555269.
  10. Faith Ellen, Panagiota Fatourou, Joanna Helga, and Eric Ruppert. The amortized complexity of non-blocking binary search trees. In Proc. PODC, pages 332-340, New York, NY, USA, 2014. ACM. URL: http://dx.doi.org/10.1145/2611462.2611486.
  11. Faith Ellen, Panagiota Fatourou, Eric Ruppert, and Franck van Breugel. Non-blocking binary search trees. In Proc. PODC, pages 131-140, New York, NY, USA, 2010. ACM. Source code available at http://www.cs.toronto.edu/~tabrown/ksts/StaticDictionary5.java. URL: http://dx.doi.org/10.1145/1835698.1835736.
  12. Amr Elmasry. Exploring New Frontiers of Theoretical Informatics: IFIP 18th World Computer Congress TC1 3rd International Conference on Theoretical Computer Science (TCS2004) 22-27 August 2004 Toulouse, France, chapter Adaptive Sorting with AVL Trees, pages 307-316. Springer US, Boston, MA, 2004. URL: http://dx.doi.org/10.1007/1-4020-8141-3_25.
  13. Amr Elmasry and Abdelrahman Hammad. An empirical study for inversions-sensitive sorting algorithms. In Proc. WEA, pages 597-601, 2005. URL: http://dx.doi.org/10.1007/11427186_52.
  14. Jason Evans. A scalable concurrent malloc (3) implementation for FreeBSD. In Proc. BSDCan, 2006. URL: http://www.canonware.com/jemalloc/.
  15. Michael T. Goodrich and Roberto Tamassia. Algorithm Design and Applications. Wiley Publishing, 1st edition, 2014. Google Scholar
  16. Vincent Gramoli. More than you ever wanted to know about synchronization: Synchrobench, measuring the impact of the synchronization on concurrent algorithms. In Proc. PPoPP, pages 1-10, New York, NY, USA, 2015. ACM. URL: http://dx.doi.org/10.1145/2688500.2688501.
  17. Bernhard Haeupler, Siddhartha Sen, and Robert Endre Tarjan. Rank-balanced trees. ACM Trans. Algorithms, 11(4):30, 2015. URL: http://dx.doi.org/10.1145/2689412.
  18. Philip W. Howard and Jonathan Walpole. Relativistic red-black trees. Concurrency and Computation: Practice and Experience, 2013. Google Scholar
  19. Shane V. Howley and Jeremy Jones. A non-blocking internal binary search tree. In Proc. SPAA, pages 161-171, New York, NY, USA, 2012. ACM. URL: http://dx.doi.org/10.1145/2312005.2312036.
  20. Mengdu Li. Deletion without rebalancing in non-blocking self-balancing binary search trees. Master’s thesis, Dalhousie University, 2016. Google Scholar
  21. Aravind Natarajan and Neeraj Mittal. Fast concurrent lock-free binary search trees. In Proc. PPoPP, pages 317-328, New York, NY, USA, 2014. ACM. Source code available at https://github.com/anataraja/lfbst. URL: http://dx.doi.org/10.1145/2555243.2555256.
  22. Ben Pfaff. Performance analysis of BSTs in system software. In Proc. SIGMETRICS, pages 410-411, New York, NY, USA, 2004. ACM. URL: http://dx.doi.org/10.1145/1005686.1005742.
  23. Arunmoezhi Ramachandran and Neeraj Mittal. CASTLE: Fast concurrent internal binary search tree using edge-based locking. In Proc. PPoPP, pages 281-282, New York, NY, USA, 2015. ACM. Source code available at https://github.com/arunmoezhi/castle. URL: http://dx.doi.org/10.1145/2688500.2688551.
  24. Arunmoezhi Ramachandran and Neeraj Mittal. A fast lock-free internal binary search tree. In Proc. ICDCN, pages 37:1-37:10, New York, NY, USA, 2015. ACM. Source code available at https://github.com/arunmoezhi/lockFreeIBST. URL: http://dx.doi.org/10.1145/2684464.2684472.
  25. Riku Saikkonen and Eljas Soisalon-Soininen. Bulk-insertion sort: Towards composite measures of presortedness. In Proc. SEA, pages 269-280, 2009. URL: http://dx.doi.org/10.1007/978-3-642-02011-7_25.
  26. Siddhartha Sen and Robert E. Tarjan. Deletion without rebalancing in balanced binary trees. In Proc. SODA, pages 1490-1499, Philadelphia, PA, USA, 2010. Society for Industrial and Applied Mathematics. Google Scholar
Questions / Remarks / Feedback
X

Feedback for Dagstuhl Publishing


Thanks for your feedback!

Feedback submitted

Could not send message

Please try again later or send an E-mail