
TL;DR
This paper introduces a formalization and implementation of concurrent trees supporting aggregate queries, providing two algorithms that optimize for update or query efficiency, and analyzing their correctness and complexity.
Contribution
It presents the first formal framework and algorithms for concurrent trees that efficiently support aggregate range queries, filling a notable gap in concurrent data structures.
Findings
Two algorithms with different optimization focuses
Trade-offs between query time and update time analyzed
Algorithms proven correct with complexity analysis
Abstract
Concurrent data structures serve as fundamental building blocks for concurrent computing. Many concurrent counterparts have been designed for basic sequential mechanisms; however, one notable omission is a concurrent tree that supports aggregate queries. Aggregate queries essentially compile succinct information about a range of data items, for example, calculating the average salary of employees in their 30s. Such queries play an essential role in various applications and are commonly taught in undergraduate data structures courses. In this paper, we formalize a type of aggregate queries that can be efficiently supported by concurrent trees and present a design for implementing these queries on concurrent trees. We bring two algorithms implementing this design, where one optimizes for tree update time, while the other optimizes for aggregate query time. We analyze their correctness and…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
