Title
The tao of parallelism in algorithms
Abstract
For more than thirty years, the parallel programming community has used the dependence graph as the main abstraction for reasoning about and exploiting parallelism in "regular" algorithms that use dense arrays, such as finite-differences and FFTs. In this paper, we argue that the dependence graph is not a suitable abstraction for algorithms in new application areas like machine learning and network analysis in which the key data structures are "irregular" data structures like graphs, trees, and sets. To address the need for better abstractions, we introduce a data-centric formulation of algorithms called the operator formulation in which an algorithm is expressed in terms of its action on data structures. This formulation is the basis for a structural analysis of algorithms that we call tao-analysis. Tao-analysis can be viewed as an abstraction of algorithms that distills out algorithmic properties important for parallelization. It reveals that a generalized form of data-parallelism called amorphous data-parallelism is ubiquitous in algorithms, and that, depending on the tao-structure of the algorithm, this parallelism may be exploited by compile-time, inspector-executor or optimistic parallelization, thereby unifying these seemingly unrelated parallelization techniques. Regular algorithms emerge as a special case of irregular algorithms, and many application-specific optimization techniques can be generalized to a broader context. These results suggest that the operator formulation and tao-analysis of algorithms can be the foundation of a systematic approach to parallel programming.
Year
DOI
Venue
2011
10.1145/1993498.1993501
PLDI
Keywords
Field
DocType
optimistic parallelization,dependence graph,unrelated parallelization technique,data-centric formulation,suitable abstraction,operator formulation,better abstraction,key data structure,main abstraction,data structure,machine learning,network analysis,algorithms,languages,finite difference,structure analysis
Analysis of parallel algorithms,Programming language,Computer science,Analysis of algorithms,Theoretical computer science,Operator (computer programming),Network analysis,Special case,Data structure,Task parallelism,Parallel computing,Algorithm,Data parallelism
Conference
Volume
Issue
ISSN
46
6
0362-1340
Citations 
PageRank 
References 
158
5.09
40
Authors
12
Search Limit
100158
Name
Order
Citations
PageRank
Keshav Pingali13056256.64
Donald Nguyen241917.94
Milind Kulkarni374445.29
Martin Burtscher4144486.02
M. Amber Hassaan51906.75
Rashid Kaleem62147.07
Tsung-Hsien Lee72459.93
Andrew Lenharth845619.94
Roman Manevich935316.16
Mario Méndez-Lojo1027210.20
Dimitrios Prountzos112469.42
Xin Sui1234031.49