Optimal Multithreaded Batch-Parallel 2-3 Trees

05/13/2019
by   Wei Quan Lim, et al.
0

This paper presents a batch-parallel 2-3 tree T in the asynchronous PPM (parallel pointer machine) model that supports searches, insertions and deletions in sorted batches and has essentially optimal parallelism, even under the QRMW (queued read-modify-write) memory model where concurrent memory accesses to the same location are queued and serviced one by one. Specifically, if T has n items, then performing an item-sorted batch of b operations on T takes only O( b * log(n/b+1) + b ) work and O( log b + log n ) span (in the worst case as b,n -> inf). This is information-theoretically work-optimal for b <= n, and also span-optimal in the PPM model. The input batch can be any balanced binary tree, and hence T can also be used to implement sorted sets supporting optimal intersection, union and difference of sets with sizes m <= n in O( m * log(n/m+1) ) work and O( log m + log n ) span. To the author's knowledge, T is the first parallel sorted-set data structure with these performance bounds that can be used in an asynchronous multi-processor machine under a memory model with queued contention. This is unlike PRAM data structures such as the PVW 2-3 tree (by Paul, Vishkin and Wagener), which rely on lock-step synchronicity of the processors. In fact, T is designed to have bounded contention and satisfy the claimed work and span bounds regardless of the execution schedule. All data structures and algorithms in this paper fit into the dynamic multithreading paradigm. Also, as a consequence of working in the asynchronous PPM model, all their performance bounds are directly composable with those of other data structures and algorithms in the same model.

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
10/11/2021

Parallel Batched Interpolation Search Tree

Ordered set (and map) is one of the most used data type. In addition to ...
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
06/14/2023

Deterministic and Work-Efficient Parallel Batch-Dynamic Trees in Low Span

Dynamic trees are a well-studied and fundamental building block of dynam...
research
03/11/2019

Optimal Parallel Algorithms in the Binary-Forking Model

In this paper we develop optimal algorithms in the binary-forking model ...
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...
research
09/07/2021

Simple Worst-Case Optimal Adaptive Prefix-Free Coding

Gagie and Nekrich (2009) gave an algorithm for adaptive prefix-free codi...

Please sign up or login with your details

Forgot password? Click here to reset