Parallel In-Place Algorithms: Theory and Practice

03/01/2021
by   Yan Gu, et al.
0

Many parallel algorithms use at least linear auxiliary space in the size of the input to enable computations to be done independently without conflicts. Unfortunately, this extra space can be prohibitive for memory-limited machines, preventing large inputs from being processed. Therefore, it is desirable to design parallel in-place algorithms that use sublinear (or even polylogarithmic) auxiliary space. In this paper, we bridge the gap between theory and practice for parallel in-place (PIP) algorithms. We first define two computational models based on fork-join parallelism, which reflect modern parallel programming environments. We then introduce a variety of new parallel in-place algorithms that are simple and efficient, both in theory and in practice. Our algorithmic highlight is the Decomposable Property introduced in this paper, which enables existing non-in-place but highly-optimized parallel algorithms to be converted into parallel in-place algorithms. Using this property, we obtain algorithms for random permutation, list contraction, tree contraction, and merging that take linear work, O(n^1-ϵ) auxiliary space, and O(n^ϵ·polylog(n)) span for 0<ϵ<1. We also present new parallel in-place algorithms for scan, filter, merge, connectivity, biconnectivity, and minimum spanning forest using other techniques. In addition to theoretical results, we present experimental results for implementations of many of our parallel in-place algorithms. We show that on a 72-core machine with two-way hyper-threading, the parallel in-place algorithms usually outperform existing parallel algorithms for the same problems that use linear auxiliary space, indicating that the theory developed in this paper indeed leads to practical benefits in terms of both space usage and running time.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
12/12/2019

Theoretically-Efficient and Practical Parallel DBSCAN

The DBSCAN method for spatial clustering has received significant attent...
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
08/01/2020

Data Oblivious Algorithms for Multicores

As secure processors such as Intel SGX (with hyperthreading) become wide...
research
02/07/2023

Engineering Shared-Memory Parallel Shuffling to Generate Random Permutations In-Place

Shuffling is the process of rearranging a sequence of elements into a ra...
research
01/03/2023

Provably Fast and Space-Efficient Parallel Biconnectivity

Biconnectivity is one of the most fundamental graph problems. The canoni...
research
08/21/2022

A Work-Efficient Parallel Algorithm for Longest Increasing Subsequence

This paper studies parallel algorithms for the longest increasing subseq...
research
08/21/2019

There is no Reliable Way to Detect Hacked Ballot-Marking Devices

Election system vendors are marketing ballot-marking devices (BMDs) as a...

Please sign up or login with your details

Forgot password? Click here to reset