Abstract
A non-blocking chromatic tree is a type of balanced binary search tree where multiple processes can concurrently perform search and update operations. We prove that a certain implementation has amortized cost O(c˙+logn) for each operation, where c˙ is the maximum number of concurrent operations during the execution and n is the maximum number of keys in the tree during the operation. This amortized analysis presents new challenges compared to existing analyses of other non-blocking data structures.
Highlights
A concurrent data structure is one that can be concurrently updated by multiple processes
We present an amortized analysis of a non-blocking chromatic tree
We have shown that the amortized step complexity of an implementation of a non-blocking chromatic tree is O(c(α) + log n(op))
Summary
A concurrent data structure is one that can be concurrently updated by multiple processes. Since a particular operation may not complete in a finite number of steps, it not possible to perform a worst-case analysis for non-blocking data structures. Amortized analysis gives an upper bound on the worst-case number of steps performed during a sequence of operations in an execution, rather than on the worst-case step complexity of a single operation This type of analysis is useful for expressing the efficiency of non-blocking data structures. The amortized analysis of the chromatic tree is complicated by the fact that the constant upper bound on the number of rebalancing transformations per operation is amortized, even when each update and rebalancing transformation is performed atomically. Since the number of rebalancing transformations performed by each operation may differ, a bad configuration in which many rebalancing transformations can occur may have high contention Executions including such configurations must be accounted for in the amortized analysis. For an execution α, we define its point contention c(α) to be the maximum number of active operations in a single configuration during α
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have