pith. sign in

arxiv: 1809.03685 · v2 · pith:R6Z3FVS5new · submitted 2018-09-11 · 💻 cs.DS

Massively Parallel Dynamic Programming on Trees

classification 💻 cs.DS
keywords dynamicprogramminggraphproblemstreesclassesframeworkintroduce
0
0 comments X p. Extension
pith:R6Z3FVS5 Add to your LaTeX paper What is a Pith Number?
\usepackage{pith}
\pithnumber{R6Z3FVS5}

Prints a linked pith:R6Z3FVS5 badge after your title and writes the identifier into PDF metadata. Compiles on arXiv with no extra files. Learn more

read the original abstract

Dynamic programming is a powerful technique that is, unfortunately, often inherently sequential. That is, there exists no unified method to parallelize algorithms that use dynamic programming. In this paper, we attempt to address this issue in the Massively Parallel Computations (MPC) model which is a popular abstraction of MapReduce-like paradigms. Our main result is an algorithmic framework to adapt a large family of dynamic programs defined over trees. We introduce two classes of graph problems that admit dynamic programming solutions on trees. We refer to them as "(polylog)-expressible" and "linear-expressible" problems. We show that both classes can be parallelized in $O(\log n)$ rounds using a sublinear number of machines and a sublinear memory per machine. To achieve this result, we introduce a series of techniques that can be plugged together. To illustrate the generality of our framework, we implement in $O(\log n)$ rounds of MPC, the dynamic programming solution of graph problems such as minimum bisection, $k$-spanning tree, maximum independent set, longest path, etc., when the input graph is a tree.

This paper has not been read by Pith yet.

discussion (0)

Sign in with ORCID, Apple, or X to comment. Anyone can read and Pith papers without signing in.