Parallel Finger Search Structures

08/07/2019
by   Seth Gilbert, et al.
0

In this paper we present two versions of a parallel finger structure FS on p processors that supports searches, insertions and deletions, and has a fixed number of movable fingers. This is to our knowledge the first implementation of a parallel search structure that is work-optimal with respect to the finger bound and yet has very good parallelism (within a factor of O( (log p)^2 ) of optimal). We utilize an extended implicit batching framework that transparently facilitates the use of FS by any parallel program P that is modelled by a dynamically generated DAG D where each node is either a unit-time instruction or a call to FS. The total work done by either version of FS is bounded by the finger bound F[L] (for some linearization L of D ), i.e. each operation on an item with finger distance r takes O( log r + 1 ) amortized work; it is cheaper for items closer to a finger. Running P using the simpler version takes O( ( T[1] + F[L] ) / p + T[inf] + d * ( (log p)^2 + log n ) ) time on a greedy scheduler, where T[1],T[inf] are the size and span of D respectively, and n is the maximum number of items in FS, and d is the maximum number of calls to FS along any path in D. Using the faster version, this is reduced to O( ( T[1] + F[L] ) / p + T[inf] + d * (log p)^2 + s[L] ) time, where s[L] is the weighted span of D where each call to FS is weighted by its cost according to F[L]. The data structures in our paper fit into the dynamic multithreading paradigm, and their performance bounds are directly composable with other data structures given in the same paradigm. Also, the results can be translated to practical implementations using work-stealing schedulers.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
05/15/2018

Parallel Working-Set Search Structures

In this paper we present two versions of a parallel working-set map on p...
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
08/21/2022

A Work-Efficient Parallel Algorithm for Longest Increasing Subsequence

This paper studies parallel algorithms for the longest increasing subseq...
research
09/07/2021

Simple Worst-Case Optimal Adaptive Prefix-Free Coding

Gagie and Nekrich (2009) gave an algorithm for adaptive prefix-free codi...
research
11/01/2020

A Lower Bound for Dynamic Fractional Cascading

We investigate the limits of one of the fundamental ideas in data struct...
research
03/23/2018

Parallel Range and Segment Queries with Augmented Maps

The range and segment query problems are fundamental problems in computa...
research
07/10/2023

Predicting Memory Demands of BDD Operations using Maximum Graph Cuts (Extended Paper)

The BDD package Adiar manipulates Binary Decision Diagrams (BDDs) in ext...

Please sign up or login with your details

Forgot password? Click here to reset