Combining HTM and RCU to Implement Highly Efficient Balanced Binary Search Trees
نویسندگان
چکیده
In this paper we combine Hardware Transactional Memory (HTM) with Read-Copy-Update (RCU) to implement highly scalable concurrent balanced Binary Search Trees (BSTs). The two key features of our approach are: a) read-only operations require no synchronization or restarts and b) tree modifications are first performed in private copies of subtrees, then HTM is used to validate their consistency, and upon successful validation, the copy is installed back in the shared tree by modifying only a single pointer. Our approach can be applied to any type of balanced BSTs (e.g., Red-Black, AVL, B-trees) and for the purpose of this paper we test it in an AVL tree. As our experimental evaluation reveals, the proposed AVL tree implementation achieves higher throughput and scalability compared to previous approaches for parallelizing balanced BSTs with HTM. More specifically on a machine comprising 22 physical cores (44 hardware threads) our tree outperforms other alternatives by 70% and 220%. As shown, this gain is attributed both to the much faster read-only operations and to the reduction in abort ratios thanks to the reduction of transactions’ write-sets.
منابع مشابه
P´olya Urn Models and Connections to Random Trees: A Review
This paper reviews P´olya urn models and their connection to random trees. Basic results are presented, together with proofs that underly the historical evolution of the accompanying thought process. Extensions and generalizations are given according to chronology: • P´olya-Eggenberger’s urn • Bernard Friedman’s urn • Generalized P´olya urns • Extended urn schemes • Invertible urn schemes ...
متن کاملScalable Address Spaces Using Rcu Balanced Trees Citation
Software developers commonly exploit multicore processors by building multithreaded software in which all threads of an application share a single address space. This shared address space has a cost: kernel virtual memory operations such as handling soft page faults, growing the address space, mapping files, etc. can limit the scalability of these applications. In widely-used operating systems,...
متن کاملOn Digital Search Trees - A Simple Method for Constructing Balanced Binary Trees
This paper presents digital search trees, a binary tree data structure that can produce well-balanced trees in the majority of cases. Digital search tree algorithms are reviewed, and a novel algorithm for building sorted trees is introduced. It was found that digital search trees are simple to implement because their code is similar to the code for ordinary binary search trees. Experimental eva...
متن کاملConcurrent Updates with RCU: Search Tree as an Example (Version with Additional Proofs)
Read copy update (RCU) is a novel synchronization mechanism, in which the burden of synchronization falls completely on the updaters, by having them wait for all preexisting readers to finish their read-side critical section. This paper presents Citrus, a concurrent binary search tree (BST) with a wait-free contains operation, using RCU synchronization and fine-grained locking for synchronizati...
متن کاملNew Combinatorial Properties and Algorithms for AVL Trees
In this thesis, new properties of AVL trees and a new partitioning of binary search trees named core partitioning scheme are discussed, this scheme is applied to three binary search trees namely AVL trees, weight-balanced trees, and plain binary search trees. We introduce the core partitioning scheme, which maintains a balanced search tree as a dynamic collection of complete balanced binary tre...
متن کامل