Parallel Working-Set Search Structures

05/15/2018
by   Kunal Agrawal, et al.
0

In this paper we present two versions of a parallel working-set map on p processors that supports searches, insertions and deletions. In both versions, the total work of all operations when the map has size at least p is bounded by the working-set bound, i.e., the cost of an item depends on how recently it was accessed (for some linearization): accessing an item in the map with recency r takes O(1+log r) work. In the simpler version each map operation has O((log p)^2+log n) span (where n is the maximum size of the map). In the pipelined version each map operation on an item with recency r has O((log p)^2+log r) span. (Operations in parallel may have overlapping span; span is additive only for operations in sequence.) Both data structures are designed to be used by a dynamic multithreading parallel program that at each step executes a unit-time instruction or makes a data structure call. To achieve the stated bounds, the pipelined data structure requires a weak-priority scheduler, which supports a limited form of 2-level prioritization. At the end we explain how the results translate to practical implementations using work-stealing schedulers. To the best of our knowledge, this is the first parallel implementation of a self-adjusting search structure where the cost of an operation adapts to the access sequence. A corollary of the working-set bound is that it achieves work static optimality: the total work is bounded by the access costs in an optimal static search tree.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
08/07/2019

Parallel Finger Search Structures

In this paper we present two versions of a parallel finger structure FS ...
research
05/13/2019

Optimal Multithreaded Batch-Parallel 2-3 Trees

This paper presents a batch-parallel 2-3 tree T in the asynchronous PPM ...
research
10/11/2021

Parallel Batched Interpolation Search Tree

Ordered set (and map) is one of the most used data type. In addition to ...
research
11/16/2022

On the Power of Learning-Augmented BSTs

We present the first Learning-Augmented Binary Search Tree(BST) that att...
research
08/24/2022

A Simpler Proof that Pairing Heaps Take O(1) Amortized Time per Insertion

The pairing heap is a simple "self-adjusting" implementation of a heap (...
research
08/10/2021

A Tight Analysis of Slim Heaps and Smooth Heaps

The smooth heap and the closely related slim heap are recently invented ...
research
02/15/2018

Smooth heaps and a dual view of self-adjusting data structures

We present a new connection between self-adjusting binary search trees (...

Please sign up or login with your details

Forgot password? Click here to reset