Lifting sequential graph algorithms for distributed-memory parallel computation

被引:27
|
作者
Gregor, D [1 ]
Lumsdaine, A [1 ]
机构
[1] Indiana Univ, Open Syst Lab, Bloomington, IN 47405 USA
关键词
algorithms; design; generic programming; parallel graph algorithms; distributed computing;
D O I
10.1145/1103845.1094844
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
This paper describes the process used to extend the Boost Graph Library (BGL) for parallel operation with distributed memory. The BGL consists of a rich set of generic graph algorithms and supporting data structures, but it was not originally designed with parallelism in mind. In this paper, we revisit the abstractions comprising the BGL in the context of distributed-memory parallelism, lifting away the implicit requirements of sequential execution and a single shared address space. We illustrate our approach by describing the process as applied to one of the core algorithms in the BGL, breadth-first search. The result is a generic algorithm that is unchanged from the sequential algorithm, requiring only the introduction of external (distributed) data structures for parallel execution. More importantly, the generic implementation retains its interface and semantics, such that other distributed algorithms can be built upon it, just as algorithms are layered in the sequential case. By characterizing these extensions as well as the extension process, we develop general principles and patterns for using (and reusing) generic, object-oriented parallel software libraries. We demonstrate that the resulting algorithm implementations are both efficient and scalable with performance results for several algorithms.
引用
收藏
页码:423 / 437
页数:15
相关论文
共 50 条
  • [1] PARALLEL COMPUTATION OF GROBNER BASES ON DISTRIBUTED-MEMORY MACHINES
    SAWADA, H
    TERASAKI, S
    AIBA, A
    [J]. JOURNAL OF SYMBOLIC COMPUTATION, 1994, 18 (03) : 207 - 222
  • [2] A paradigm of Alternating Sequential/Parallel computation in a distributed-memory system over a shared transmission media
    Kostin, AE
    Aybay, I
    Öz, G
    [J]. ADVANCES IN COMPUTER AND INFORMATION SCIENCES '98, 1998, 53 : 342 - 351
  • [3] DISTRIBUTED-MEMORY PARALLEL ALGORITHMS FOR DISTANCE-2 COLORING AND RELATED PROBLEMS IN DERIVATIVE COMPUTATION
    Bozdag, Doruk
    Catalyurek, Uemit V.
    Gebremedhin, Assefaw H.
    Manne, Fredrik
    Boman, Erik G.
    Ozguner, Fuesun
    [J]. SIAM JOURNAL ON SCIENTIFIC COMPUTING, 2010, 32 (04): : 2418 - 2446
  • [4] COMPUTATION MIGRATION - ENHANCING LOCALITY FOR DISTRIBUTED-MEMORY PARALLEL SYSTEMS
    HSIEH, WC
    WANG, P
    WEIHL, WE
    [J]. SIGPLAN NOTICES, 1993, 28 (07): : 239 - 248
  • [5] ASYNCHRONOUS PARALLEL ARC CONSISTENCY ALGORITHMS ON A DISTRIBUTED-MEMORY MACHINE
    CONRAD, JM
    AGRAWAL, DP
    [J]. JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING, 1995, 24 (01) : 27 - 40
  • [6] PARALLEL MATRIX TRANSPOSE ALGORITHMS ON DISTRIBUTED-MEMORY CONCURRENT COMPUTERS
    CHOI, JY
    DONGARRA, JJ
    WALKER, DW
    [J]. PARALLEL COMPUTING, 1995, 21 (09) : 1387 - 1405
  • [7] Distributed-Memory Parallel JointNMF
    Eswar, Srinivas
    Cobb, Benjamin
    Hayashi, Koby
    Kannan, Ramakrishnan
    Ballard, Grey
    Vuduc, Richard
    Park, Haesun
    [J]. PROCEEDINGS OF THE 37TH INTERNATIONAL CONFERENCE ON SUPERCOMPUTING, ACM ICS 2023, 2023, : 301 - 312
  • [8] PARALLEL COMPUTATION OF THE MP2 ENERGY ON DISTRIBUTED-MEMORY COMPUTERS
    MARQUEZ, AM
    DUPUIS, M
    [J]. JOURNAL OF COMPUTATIONAL CHEMISTRY, 1995, 16 (04) : 395 - 404
  • [9] A framework for generating distributed-memory parallel programs for block recursive algorithms
    Gupta, SKS
    Huang, CH
    Sadayappan, P
    Johnson, RW
    [J]. JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING, 1996, 34 (02) : 137 - 153
  • [10] Comparison of backfilling algorithms for job scheduling in distributed-memory parallel systems
    Department of Computer Science, Bowling Green State University, Bowling Green, OH 43403
    [J]. Comput. Educ. J., 2007, 4 (22-31):