ABSTRACT
We propose a concurrent relaxed balance AVL tree algorithm that is fast, scales well, and tolerates contention. It is based on optimistic techniques adapted from software transactional memory, but takes advantage of specific knowledge of the the algorithm to reduce overheads and avoid unnecessary retries. We extend our algorithm with a fast linearizable clone operation, which can be used for consistent iteration of the tree. Experimental evidence shows that our algorithm outperforms a highly tuned concurrent skip list for many access patterns, with an average of 39% higher single-threaded throughput and 32% higher multi-threaded throughput over a range of contention levels and operation mixes.
- G. Adel'son--Vel'skiǐ and E. M. Landis. An algorithm for the organization of information. In Proceedings of the USSR Academy of Sciences, volume 145, pages 263--266, 1962. In Russian, English translation by Myron J. Ricci in Soviet Doklady, 3:1259--1263, 1962.Google Scholar
- M. Ansari, C. Kotselidis, M. Lujan, C. Kirkham, and I. Watson. On the performance of contention managers for complex transactional memory benchmarks. In ISPDC '09: Proceedings of the 8th International Symposium on Parallel and Distributed Computing, pages 83--90, 2009. Google Scholar
Digital Library
- L. Ballard. Conflict avoidance: Data structures in transactional memory. Brown University Undergraduate Thesis, 2006.Google Scholar
- R. Bayer. Symmetric binary B-Trees: Data structure and maintenance algorithms. Acta Inf., 1:290--306, 1972.Google Scholar
Digital Library
- R. Bayer and M. Schkolnick. Concurrency of operations on B-Trees. In Readings in Database Systems (2nd ed.), pages 216--226, San Francisco, CA, USA, 1994. Morgan Kaufmann Publishers Inc. Google Scholar
Digital Library
- L. Bouge, J. Gabarro, X. Messeguer, and N. Schabanel. Height-relaxed AVL rebalancing: A unified, fine-grained approach to concurrent dictionaries. ResearchReport RR1998-18, LIP, ENS Lyon, March 1998.Google Scholar
- N. Bronson. CCSTM. http://github.com/nbronson/ccstm.Google Scholar
- P. Felber, V. Gramoli, and R. Guerraoui. Elastic transactions. In DISC '09: Proceedings of the 23rd International Symposium on Distributed Computing, pages 93--107, 2009. Google Scholar
Digital Library
- K. Fraser. Practical Lock Freedom. PhD thesis, University of Cambridge, 2003.Google Scholar
- L. J. Guibas and R. Sedgewick. A dichromatic framework for balanced trees. In 19th Annual Symposium on Foundations of Computer Science, pages 8--21, Oct. 1978. Google Scholar
Digital Library
- M. Herlihy, Y. Lev, V. Luchangco, and N. Shavit. A provably correct scalable concurrent skip list. In OPODIS '06: Proceedings of the 10th International Conference On Principles Of Distributed Systems, 2006.Google Scholar
- M. Herlihy, V. Luchangco, M. Moir, and W. N. Scherer, III. Software transactional memory for dynamic-sized data structures. In PODC '03: Proceedings of the twenty-second annual symposium on Principles of distributed computing, pages 92--101, New York, NY, USA, 2003. ACM. Google Scholar
Digital Library
- M. P. Herlihy and J. M. Wing. Linearizability: A correctness condition for concurrent objects. ACM Transactions on Programming Languages and Systems, 12(3):463--492, 1990. Google Scholar
Digital Library
- K. S. Larsen. AVL trees with relaxed balance. In IPPT '94: Proceedings of the 8th International Symposium on Parallel Processing, pages 888--893, Washington, DC, USA, 1994. IEEE Computer Society. Google Scholar
Digital Library
- J. M. Mellor-Crummey and M. L. Scott. Scalable reader-writer synchronization for shared--memory multiprocessors. In PPOPP '91: Proceedings of the Third ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pages 106--113, New York, NY, USA, 1991. ACM. Google Scholar
Digital Library
- O. Nurmi, E. Soisalon-Soininen, and D. Wood. Concurrency control in database structures with relaxed balance. In PODS '87: Proceedings of the Sixth ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems, pages 170--176, New York, NY, USA, 1987. ACM. Google Scholar
Digital Library
- B. Pfaff. Performance analysis of BSTs in system software. SIGMETRICS Performance Evaluation Review, 32(1):410--411, 2004. Google Scholar
Digital Library
- W. Pugh. Concurrent maintenance of skip lists. Technical Report CS-TR-2222.1, 1989.Google Scholar
Digital Library
- W. Pugh. Skip lists: A probabilistic alternative to balanced trees. ACM Transactions on Database Systems, 33(6):668--676, 1990. Google Scholar
Digital Library
- B. Saha, A.-R. Adl-Tabatabai, R. L. Hudson, C. Cao Minh, and B. Hertzberg. McRT--STM: A high performance software trans- actional memory system for a multi-core runtime. In PPoPP '06: Proceedings of the eleventh ACM SIGPLAN symposium on Principles and practice of parallel programming, pages 187--197, New York, NY, USA, March 2006. ACM Press. Google Scholar
Digital Library
- H. Sundell and P. Tsigas. Fast and lock-free concurrent priority queues for multi-thread systems. Journal of Parallel Distributed Computing, 65(5):609--627, 2005. Google Scholar
Digital Library
Index Terms
A practical concurrent binary search tree
Recommendations
A practical concurrent binary search tree
PPoPP '10We propose a concurrent relaxed balance AVL tree algorithm that is fast, scales well, and tolerates contention. It is based on optimistic techniques adapted from software transactional memory, but takes advantage of specific knowledge of the the ...
TxLinux: using and managing hardware transactional memory in an operating system
SOSP '07TxLinux is a variant of Linux that is the first operating system to use hardware transactional memory (HTM) as a synchronization primitive, and the first to manage HTM in the scheduler. This paper describes and measures TxLinux and discusses two ...
TxLinux: using and managing hardware transactional memory in an operating system
SOSP '07: Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principlesTxLinux is a variant of Linux that is the first operating system to use hardware transactional memory (HTM) as a synchronization primitive, and the first to manage HTM in the scheduler. This paper describes and measures TxLinux and discusses two ...







Comments