A practical concurrent binary search tree
Author(s) -
Nathan Bronson,
Jared Casper,
Hassan Chafi,
Kunle Olukotun
Publication year - 2010
Publication title -
citeseer x (the pennsylvania state university)
Language(s) - English
Resource type - Conference proceedings
DOI - 10.1145/1693453.1693488
Subject(s) - computer science , software transactional memory , throughput , tree (set theory) , parallel computing , binary tree , binary search tree , concurrency , software , distributed computing , algorithm , theoretical computer science , transactional memory , operating system , programming language , mathematics , database transaction , mathematical analysis , wireless
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.
Accelerating Research
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom
Address
John Eccles HouseRobert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom