A Work-Efficient Parallel Algorithm for Longest Increasing Subsequence

08/21/2022
by   Yan Gu, et al.
0

This paper studies parallel algorithms for the longest increasing subsequence (LIS) problem. Let n be the input size and k be the LIS length of the input. Sequentially, LIS is a simple textbook problem that can be solved using dynamic programming (DP) in O(nlog n) work. However, parallelizing LIS is a long-standing challenge. We are unaware of any parallel LIS algorithm that has optimal O(nlog n) work and non-trivial parallelism (i.e., Õ(k) or o(n) span). Here, the work of a parallel algorithm is the total number of operations, and the span is the longest dependent instructions. This paper proposes a parallel LIS algorithm that costs O(nlog k) work, Õ(k) span, and O(n) space, and is much simpler than the previous parallel LIS algorithms. We also generalize the algorithm to a weighted version of LIS, which maximizes the weighted sum for all objects in an increasing subsequence. Our weighted LIS algorithm has O(nlog^2 n) work and Õ(k) span. We also implemented our parallel LIS algorithms. Due to simplicity, our implementation is light-weighted, efficient, and scalable. On input size 10^9, our LIS algorithm outperforms a highly-optimized sequential algorithm (with O(nlog k) cost) on inputs with k≤ 3× 10^5. Our algorithm is also much faster than the best existing parallel implementation by Shen et al. on all input instances.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
01/03/2023

Provably Fast and Space-Efficient Parallel Biconnectivity

Biconnectivity is one of the most fundamental graph problems. The canoni...
research
06/30/2023

Efficient Parallel Output-Sensitive Edit Distance

Given two strings A[1..n] and B[1..m], and a set of operations allowed t...
research
05/25/2022

Many Sequential Iterative Algorithms Can Be Parallel and (Nearly) Work-efficient

To design efficient parallel algorithms, some recent papers showed that ...
research
08/07/2019

Parallel Finger Search Structures

In this paper we present two versions of a parallel finger structure FS ...
research
11/06/2017

Nearly Work-Efficient Parallel Algorithm for Digraph Reachability

One of the simplest problems on directed graphs is that of identifying t...
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
03/01/2021

Parallel In-Place Algorithms: Theory and Practice

Many parallel algorithms use at least linear auxiliary space in the size...

Please sign up or login with your details

Forgot password? Click here to reset