Title
Optimal Parallel Algorithms in the Binary-Forking Model.
Abstract
In this paper we develop optimal algorithms in the binary-forking model for a variety of fundamental problems, including sorting, semisorting, list ranking, tree contraction, range minima, and ordered set union, intersection and difference. In the binary-forking model, tasks can only fork into two child tasks, but can do so recursively and asynchronously. The tasks share memory, supporting reads, writes and test-and-sets. Costs are measured in terms of work (total number of instructions), and span (longest dependence chain). The binary-forking model is meant to capture both algorithm performance and algorithm-design considerations on many existing multithreaded languages, which are also asynchronous and rely on binary forks either explicitly or under the covers. In contrast to the widely studied PRAM model, it does not assume arbitrary-way forks nor synchronous operations, both of which are hard to implement in modern hardware. While optimal PRAM algorithms are known for the problems studied herein, it turns out that arbitrary-way forking and strict synchronization are powerful, if unrealistic, capabilities. Natural simulations of these PRAM algorithms in the binary-forking model (i.e., implementations in existing parallel languages) incur an Ω(log n) overhead in span. This paper explores techniques for designing optimal algorithms when limited to binary forking and assuming asynchrony. All algorithms described in this paper are the first algorithms with optimal work and span in the binary-forking model. Most of the algorithms are simple. Many are randomized.
Year
DOI
Venue
2019
10.1145/3350755.3400227
SPAA '20: 32nd ACM Symposium on Parallelism in Algorithms and Architectures Virtual Event USA July, 2020
DocType
Volume
ISBN
Journal
abs/1903.04650
978-1-4503-6935-0
Citations 
PageRank 
References 
0
0.34
48
Authors
4
Name
Order
Citations
PageRank
Guy E. Blelloch12927207.30
Jeremy T. Fineman258736.10
Yan Gu3435.10
Yan Gu45710.46