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˙+log⁡n) 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))

Read more

Summary

Introduction

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 α

Related Amortized Analyses of Non-blocking Data Structures
The Non-blocking Implementation of the Chromatic Tree
An Implementation of a Chromatic Tree using LLX and SCX
Chromatic Tree Amortized Analysis
Bounding the Number of Failed Cleanup Attempts
Conclusion
Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call