ABSTRACT
We present a new lock-free algorithm for concurrent manipulation of a binary search tree in an asynchronous shared memory system that supports search, insert and delete operations. It combines ideas from two recently proposed lock-free algorithms: one of them provides good performance for a read-dominated workload and the other one for a write-dominated workload. Specifically, it uses internal representation of a search tree (as in the first one) and is based on marking edges instead of nodes (as in the second one). Our experiments indicate that our new lock-free algorithm outperforms other lock-free algorithms in most cases providing up to 35% improvement in some cases over the next best algorithm.
- M. Arbel and H. Attiya. Concurrent Updates with RCU: Search Tree as an Example. In Proceedings of the 33rd ACM Symposium on Principles of Distributed Computing (PODC), pages 196--205, July 2014. Google ScholarDigital Library
- M. A. Bender, J. T. Fineman, S. Gilbert, and B. C. Kuszmaul. Concurrent Cache-Oblivious B-Trees. In Proceedings of the 17th ACM Symposium on Parallelism in Algorithms and Architectures (SPAA), pages 228--237, July 2005. Google ScholarDigital Library
- A. Braginsky and E. Petrank. A Lock-Free B+tree. In Proceedings of the 24th ACM Symposium on Parallelism in Algorithms and Architectures (SPAA), pages 58--67, 2012. Google ScholarDigital Library
- D. Drachsler, M. Vechev, and E. Yahav. Practical Concurrent Binary Search Trees via Logical Ordering. In Proceedings of the 19th ACM Symposium on Principles and Practice of Parallel Programming (PPoPP), pages 343--356, Feb. 2014. Google ScholarDigital Library
- F. Ellen, P. Fataourou, E. Ruppert, and F. van Breugel. Non-Blocking Binary Search Trees. In Proceedings of the 29th ACM Symposium on Principles of Distributed Computing (PODC), pages 131--140, July 2010. Google ScholarDigital Library
- F. Ellen, P. Fatourou, J. Helga, and E. Ruppert. The Amortized Complexity of Non-Blocking Binary Search Trees. In Proceedings of the 33rd ACM Symposium on Principles of Distributed Computing (PODC), pages 332--340, 2014. Google ScholarDigital Library
- M. Fomitchev and E. Ruppert. Lock-Free Linked Lists and Skiplists. In Proceedings of the 23rd ACM Symposium on Principles of Distributed Computing (PODC), pages 50--59, July 2004. Google ScholarDigital Library
- M. Herlihy and N. Shavit. The Art of Multiprocessor Programming, Revised Reprint. Morgan Kaufmann, 2012. Google ScholarDigital Library
- S. V. Howley and J. Jones. A Non-Blocking Internal Binary Search Tree. In Proceedings of the 24th ACM Symposium on Parallelism in Algorithms and Architectures (SPAA), pages 161--171, June 2012. Google ScholarDigital Library
- M. M. Michael. High Performance Dynamic Lock-Free Hash Tables and List-based Sets. In Proceedings of the 14th ACM Symposium on Parallelism in Algorithms and Architectures (SPAA), pages 73--82, 2002. Google ScholarDigital Library
- A. Natarajan and N. Mittal. Brief Announcement: A Concurrent Lock-Free Red-Black Tree. In Proceedings of the 27th Symposium on Distributed Computing (DISC), Jerusalem, Israel, Oct. 2013. Google ScholarDigital Library
- A. Natarajan and N. Mittal. Fast Concurrent Lock-Free Binary Search Trees. In Proceedings of the 19th ACM Symposium on Principles and Practice of Parallel Programming (PPoPP), pages 317--328, Feb. 2014. Google ScholarDigital Library
- A. Natarajan, L. H. Savoie, and N. Mittal. Concurrent Wait-Free Red-Black Trees. In Proceedings of the 15th International Symposium on Stabilization, Safety, and Security of Distributed Systems (SSS), pages 45--60, Osaka, Japan, Nov. 2013. Google ScholarDigital Library
- A. Ramachandran and N. Mittal. A Fast Lock-Free Internal Binary Search Tree. Technical Report UTDCS-11-14, Department of Computer Science, The University of Texas at Dallas, Aug. 2014.Google Scholar
- J. Reindeers. Intel Threading Building Blocks: Outfitting C++ for Multi-Core Processor Parallelism. O'Reilly Media, Inc., 2007. Google ScholarDigital Library
Index Terms
- A Fast Lock-Free Internal Binary Search Tree
Recommendations
Fast concurrent lock-free binary search trees
PPoPP '14We present a new lock-free algorithm for concurrent manipulation of a binary search tree in an asynchronous shared memory system that supports search, insert and delete operations. In addition to read and write instructions, our algorithm uses (single-...
Fast concurrent lock-free binary search trees
PPoPP '14: Proceedings of the 19th ACM SIGPLAN symposium on Principles and practice of parallel programmingWe present a new lock-free algorithm for concurrent manipulation of a binary search tree in an asynchronous shared memory system that supports search, insert and delete operations. In addition to read and write instructions, our algorithm uses (single-...
FEAST: A Lightweight Lock-free Concurrent Binary Search Tree
We present a lock-free algorithm for concurrent manipulation of a binary search tree (BST) in an asynchronous shared memory system that supports search, insert, and delete operations. In addition to read and write instructions, our algorithm uses (...
Comments