Brief Announcement: Concurrent Wait-Free Red-Black Trees

Motivation: With the prevalence of multi-core multi-processor systems, concurrent data structures are becoming increasingly important. Concurrency is most often managed through locks. However, lock-based implementations of concurrent data structures are vulnerable to problems such as deadlock, prior...

Full description

Saved in:
Bibliographic Details
Published inDistributed Computing pp. 421 - 422
Main Authors Natarajan, Aravind, Savoie, Lee, Mittal, Neeraj
Format Book Chapter
LanguageEnglish
Published Berlin, Heidelberg Springer Berlin Heidelberg 2012
SeriesLecture Notes in Computer Science
Online AccessGet full text
ISBN9783642336508
3642336507
ISSN0302-9743
1611-3349
DOI10.1007/978-3-642-33651-5_38

Cover

More Information
Summary:Motivation: With the prevalence of multi-core multi-processor systems, concurrent data structures are becoming increasingly important. Concurrency is most often managed through locks. However, lock-based implementations of concurrent data structures are vulnerable to problems such as deadlock, priority inversion and convoying. Non-blocking algorithms avoid the pitfalls of locks by using hardware-supported read-modify-write instructions such as load-linked/storeconditional (LL/SC) and compare-and-swap (CAS). In this announcement, we focus on a non-blocking concurrent red-black tree. Red-black tree is a type of selfbalancing binary search tree that provides good worst-case time complexity for search and modify (insert, update and delete) operations. However, red-black trees have been remarkably resistant to parallelization using both lock-based and lock-free techniques. The tree structure causes the root and high level nodes to become the subject of high contention and thus become a bottleneck. This problem is only exacerbated by the introduction of balancing requirements. We present a suite of wait-free algorithms for concurrently accessing an external red-black tree, obtained through a progressive sequence of modifications to an existing general framework. In all our algorithms, search operations only execute read and write instructions on shared memory.
Bibliography:This work was supported in part by the NSF Grant CNS-1115733.
ISBN:9783642336508
3642336507
ISSN:0302-9743
1611-3349
DOI:10.1007/978-3-642-33651-5_38