2012
DOI: 10.1145/2345156.1993501
|View full text |Cite
|
Sign up to set email alerts
|

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… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
10
0

Year Published

2016
2016
2021
2021

Publication Types

Select...
5
1

Relationship

1
5

Authors

Journals

citations
Cited by 7 publications
(10 citation statements)
references
References 5 publications
0
10
0
Order By: Relevance
“…Many parallel programming languages based on procedural, object-oriented, and functional programming languages have been developed. Systems extending C/C++ include Cilk/Cilk++ [Blumofe et al 1995;Frigo et al 2009;Intel Corporation 2009a], Intel TBB [Intel Corporation 2009b], and Galois [Kulkarni et al 2007;Pingali et al 2011]. The Rust language offers a type-safe option for systems-level programming [Rust Team 2019]; the type system of Rust is powerful enough to outlaw races statically [Jung et al 2018a], though it is difficult (if not impossible) to implement efficient parallel algorithms, such as the algorithms that we consider in our evaluation, by using safe primitives only.…”
Section: Related Workmentioning
confidence: 99%
“…Many parallel programming languages based on procedural, object-oriented, and functional programming languages have been developed. Systems extending C/C++ include Cilk/Cilk++ [Blumofe et al 1995;Frigo et al 2009;Intel Corporation 2009a], Intel TBB [Intel Corporation 2009b], and Galois [Kulkarni et al 2007;Pingali et al 2011]. The Rust language offers a type-safe option for systems-level programming [Rust Team 2019]; the type system of Rust is powerful enough to outlaw races statically [Jung et al 2018a], though it is difficult (if not impossible) to implement efficient parallel algorithms, such as the algorithms that we consider in our evaluation, by using safe primitives only.…”
Section: Related Workmentioning
confidence: 99%
“…We have implemented our graph-grammar-based system in GALOIS [8,30] framework, allowing for concurrent graph processing. The code is compiled on node13 on the Atari Linux cluster from the Adaptive Algorithms and Systems (a2s.agh.edu.pl) research group from the Department of Computer Science, AGH University.…”
Section: Computations Of the Pollution Propagationmentioning
confidence: 99%
“…This paper utilizes the hypergraphs for modeling mesh refinement algorithm and interfacing with the GMRES iterative solver. We have implemented our graph-grammar-based system in GALOIS [2,8,14,24,30] framework, allowing for concurrent graph processing.…”
Section: Introductionmentioning
confidence: 99%
See 1 more Smart Citation
“…The benchmark inputs for DMR are used from the Galois project by Pingali et al 24 Each experiment is repeated 5 times, and a graph is plotted with the arithmetic mean of the observed execution times. The execution times are in logarithmic scale to address skewness in values of observed data.…”
Section: Comparative Evaluation Of Par-deadlockfree With Existing Workmentioning
confidence: 99%