Abstract
Modern science and engineering is driven by massively large data sets and its advance heavily relies on massively parallel computing platforms such as Spark, MapReduce, and Hadoop. Theoretical models have been proposed to understand the power and limitations of such platforms. Recent study of developed theoretical models has led to the discovery of new algorithms that are fast and efficient in both theory and practice, thereby beginning to unlock their underlying power. Given recent promising results, the area has turned its focus on discovering widely applicable algorithmic techniques for solving problems efficiently. In this paper we make progress towards this goal by giving principles for simulating a large class of sequential dynamic programs in the distributed setting. In particular, we identify two key properties, monotonicity and decomposibility, which allow us to derive efficient distributed algorithms for problems possessing the properties. We showcase our framework by considering several core dynamic programming applications, Longest Increasing Subsequence, Optimal Binary Search Tree, and Weighted Interval Selection. For these problems, we derive algorithms yielding solutions that are arbitrarily close to the optimum, using O(1) rounds and Õ(n/m) memory on each machine where n is the input size and m is the number of machines available.
Author supplied keywords
Cite
CITATION STYLE
Im, S., Moseley, B., & Sun, X. (2017). Efficient massively parallel methods for dynamic programming. In Proceedings of the Annual ACM Symposium on Theory of Computing (Vol. Part F128415, pp. 798–811). Association for Computing Machinery. https://doi.org/10.1145/3055399.3055460
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.