The Tao of Parallelism in Algorithms

被引:97
|
作者
Pingali, Keshav [1 ,2 ]
Donald Nguyen [1 ]
Kulkarni, Milind [4 ]
Burtscher, Martin [3 ]
Hassaan, M. Amber
Kaleem, Rashid [1 ]
Lee, Tsung-Hsien
Lenharth, Andrew [2 ]
Manevich, Roman [2 ]
Mendez-Lojo, Mario [2 ]
Prountzos, Dimitrios [1 ]
Sui, Xin [1 ]
机构
[1] Univ Texas Austin, Dept Comp Sci, Austin, TX 78712 USA
[2] Univ Texas Austin, Inst Computat Engn & Sci, Austin, TX 78712 USA
[3] Texas State Univ San Marcos, Dept Comp Sci, San Marcos, TX USA
[4] Purdue Univ, Sch Elect & Comp Engn, W Lafayette, IN 47907 USA
基金
美国国家科学基金会;
关键词
Algorithms; Languages; Performance; amorphous data-parallelism; Galois system; irregular programs; operator formulation; tao-analysis;
D O I
10.1145/1993316.1993501
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页码:12 / 25
页数:14
相关论文
共 50 条
  • [1] The Tao of Parallelism in Algorithms
    Pingali, Keshav
    Donald Nguyen
    Kulkarni, Milind
    Burtscher, Martin
    Hassaan, M. Amber
    Kaleem, Rashid
    Lee, Tsung-Hsien
    Lenharth, Andrew
    Manevich, Roman
    Mendez-Lojo, Mario
    Prountzos, Dimitrios
    Sui, Xin
    [J]. PLDI 11: PROCEEDINGS OF THE 2011 ACM CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION, 2011, : 12 - 25
  • [2] MEASURING PARALLELISM IN ALGORITHMS
    JEREB, B
    PIPAN, L
    [J]. MICROPROCESSING AND MICROPROGRAMMING, 1992, 34 (1-5): : 49 - 52
  • [3] Parallelism and evolutionary algorithms
    Alba, E
    Tomassini, M
    [J]. IEEE TRANSACTIONS ON EVOLUTIONARY COMPUTATION, 2002, 6 (05) : 443 - 462
  • [4] SCALABLE PARALLELISM BY EVOLUTIONARY ALGORITHMS
    HOFFMEISTER, F
    [J]. LECTURE NOTES IN ECONOMICS AND MATHEMATICAL SYSTEMS, 1991, 367 : 177 - 198
  • [5] Foreword: Parallelism in Algorithms and Architectures
    Geppino Pucci
    Victor Luchangco
    Rajmohan Rajaraman
    [J]. Theory of Computing Systems, 2014, 55 : 449 - 450
  • [6] ON INCREASING THE PARALLELISM IN NUMERICAL ALGORITHMS
    D.J. Evans(Parallel Algorithms and Architectures Research Centre department of Computer Studies University of Technology Loughborough
    [J]. Wuhan University Journal of Natural Sciences, 1996, (Z1) : 292 - 308
  • [7] IMPLICIT PARALLELISM IN GENETIC ALGORITHMS
    BERTONI, A
    DORIGO, M
    [J]. ARTIFICIAL INTELLIGENCE, 1993, 61 (02) : 307 - 314
  • [8] Foreword: Parallelism in Algorithms and Architectures
    Pucci, Geppino
    Luchangco, Victor
    Rajaraman, Rajmohan
    [J]. THEORY OF COMPUTING SYSTEMS, 2014, 55 (03) : 449 - 450
  • [9] Parallelism in Randomized Incremental Algorithms
    Blelloch, Guy E.
    Gu, Yan
    Shun, Julian
    Sun, Yihan
    [J]. JOURNAL OF THE ACM, 2020, 67 (05)
  • [10] Guest Editorial: Parallelism in Algorithms and Architectures
    Bender, Michael A.
    Gilbert, Seth
    [J]. THEORY OF COMPUTING SYSTEMS, 2011, 49 (04) : 671 - 671