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...
Saved in:
Published in | Distributed Computing pp. 421 - 422 |
---|---|
Main Authors | , , |
Format | Book Chapter |
Language | English |
Published |
Berlin, Heidelberg
Springer Berlin Heidelberg
2012
|
Series | Lecture Notes in Computer Science |
Online Access | Get full text |
ISBN | 9783642336508 3642336507 |
ISSN | 0302-9743 1611-3349 |
DOI | 10.1007/978-3-642-33651-5_38 |
Cover
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 |