A Speculation-Friendly Binary Search Tree

We introduce the first binary search tree algorithm designed for speculative executions. Prior to this work, tree structures were mainly designed for their pessimistic (non-speculative) accesses to have a bounded complexity. Researchers tried to evaluate transactional memory using such tree structures whose prominent example is the red-black tree library developed by Oracle Labs that is part of multiple benchmark distributions. Although well-engineered, such structures remain badly suited for speculative accesses, whose step complexity might raise dramatically with contention. We show that our speculation-friendly tree outperforms the existing transaction-based version of the AVL and the red-black trees. Its key novelty stems from the decoupling of update operations: they are split into one transaction that modifies the abstraction state and multiple ones that restructure its tree implementation in the background. In particular, the speculation-friendly tree is shown correct, reusable and it speeds up a transaction-based travel reservation application by up to 3.5x.


Published in:
Acm Sigplan Notices, 47, 8, 161-170
Year:
2012
Publisher:
New York, Assoc Computing Machinery
ISSN:
0362-1340
Keywords:
Laboratories:




 Record created 2013-02-27, last modified 2018-03-17


Rate this document:

Rate this document:
1
2
3
 
(Not yet reviewed)