Parallel graph algorithms

Algorithms and data structures developed to solve graph problems on parallel computers are surveyed. The problems discussed relate to searching graphs and finding connected components, maximal chques, maximum cardinahty matchings, mimmum spanning trees, shortest paths, and travehng salesman tours. The algorithms are based on a number of models of parallel computation, including systohc arrays, assoclatwe processors, array processors, and mulhple CPU computers. The most popular model is a direct extension of the standard RAM model of sequential computation. It may not, however, be the best basis for the study of parallel algorithms. More emphasis has been focused recently on communications issues in the analysis of the complexity of parallel algorithms; thus parallel models are coming to be more complementary to implementable architectures. Most algorithms use relatwely simple data structures, such as the adjacency matrix and adjacency hsts, although a few algorithms using linked hsts, heaps, and trees are also discussed.

[1]  F. Leighton New lower bound techniques for VLSI , 1981, 22nd Annual Symposium on Foundations of Computer Science (sfcs 1981).

[2]  Sartaj Sahni,et al.  Parallel Matrix and Graph Algorithms , 1981, SIAM J. Comput..

[3]  Samuel P. Harbison,et al.  Reflections in a pool of processors - An experience report on C.mmp/Hydra , 1978, AFIPS National Computer Conference.

[4]  Frank Harary,et al.  Graph Theory , 2016 .

[5]  H. Falk What went wrong V: Reaching for a gigaflop: The fate of the famed Illiac IV was shaped by both research brilliance and real-world disasters , 1976, IEEE Spectrum.

[6]  Edsger W. Dijkstra,et al.  A note on two problems in connexion with graphs , 1959, Numerische Mathematik.

[7]  Susanne E. Hambrusch VLSI Algorithms for the Connected Component Problem , 1983, SIAM J. Comput..

[8]  Harold S. Stone,et al.  Parallel Processing with the Perfect Shuffle , 1971, IEEE Transactions on Computers.

[9]  K. Mani Chandy,et al.  A Distributed Graph Algorithm: Knot Detection , 1982, TOPL.

[10]  John H. Reif,et al.  Symmetric Complementation , 1984, JACM.

[11]  Irene Greif,et al.  A language for formal problem specification , 1977, CACM.

[12]  H. K. Berg Formal methods of program verification and specification , 1982 .

[13]  Alfred V. Aho,et al.  The Design and Analysis of Computer Algorithms , 1974 .

[14]  K. Mani Chandy,et al.  Distributed computation on graphs: shortest path algorithms , 1982, CACM.

[15]  Stefano Levialdi,et al.  On shrinking binary picture patterns , 1972, CACM.

[16]  Year Back Yoo Parallel processing for some network optimization problems , 1983 .

[17]  Daniel P. Siewiorek,et al.  A survey of highly parallel computing , 1982, Computer.

[18]  Kenneth E. Batcher,et al.  Design of a Massively Parallel Processor , 1980, IEEE Transactions on Computers.

[19]  Sartaj Sahni,et al.  Bitonic Sort on a Mesh-Connected Parallel Computer , 1979, IEEE Transactions on Computers.

[20]  J. Savage Planar Circuit Complexity and The Performance of VLSI Algorithms , 1981 .

[21]  Franco P. Preparata,et al.  The cube-connected-cycles: A versatile network for parallel computation , 1979, 20th Annual Symposium on Foundations of Computer Science (sfcs 1979).

[22]  Howard Jay Siegel,et al.  A Model of SIMD Machines and a Comparison of Various Interconnection Networks , 1979, IEEE Transactions on Computers.

[23]  Uzi Vishkin,et al.  An O(log n) Parallel Connectivity Algorithm , 1982, J. Algorithms.

[24]  Robert E. Tarjan,et al.  Finding Minimum Spanning Trees , 1976, SIAM J. Comput..

[25]  Bernard Chazelle,et al.  Census functions: An approach to VLSI upper bounds , 1981, 22nd Annual Symposium on Foundations of Computer Science (sfcs 1981).

[26]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[27]  Sartaj Sahni,et al.  Binary Trees and Parallel Scheduling Algorithms , 1983, IEEE Trans. Computers.

[28]  I-Ngo Chen,et al.  A New Parallel Algorithm for Network Flow Problems , 1974, Sagamore Computer Conference.

[29]  Narsingh Deo,et al.  Graph Theory with Applications to Engineering and Computer Science , 1975, Networks.

[30]  Dexter Kozen,et al.  Complexity of finitely presented algebras , 1977, STOC '77.

[31]  Jean Vuillemin,et al.  A Combinatorial Limit to the Computing Power of VLSI Circuits , 1983, IEEE Transactions on Computers.

[32]  H. T. Kung The Structure of Parallel Algorithms , 1980, Adv. Comput..

[33]  Joseph Mohan,et al.  Experience with Two Parallel Programs Solving the Traveling Salesman Problem , 1983, ICPP.

[34]  Robert M. Keller,et al.  Formal verification of parallel programs , 1976, CACM.

[35]  Uzi Vishkin,et al.  Implementation of Simultaneous Memory Address Access in Models That Forbid It , 1983, J. Algorithms.

[36]  Mikhail J. Atallah,et al.  Graph problems on a mesh-connected processor array (Preliminary Version) , 1982, STOC '82.

[37]  Leslie Michael Goldschlager,et al.  Synchronous parallel computation. , 1978 .

[38]  F. Glover Maximum matching in a convex bipartite graph , 1967 .

[39]  Lawrence Bodin,et al.  Approximate Traveling Salesman Algorithms , 1980, Oper. Res..

[40]  Stephen Warshall,et al.  A Theorem on Boolean Matrices , 1962, JACM.

[41]  W. Morven Gentleman,et al.  Some Complexity Results for Matrix Computations on Parallel Processors , 1978, JACM.

[42]  Franco P. Preparata,et al.  A Critique and an Appraisal of VLSI Models of Computation. , 1981 .

[43]  Richard J. Lipton,et al.  Linear Programming is Log-Space Hard for P , 1979, Inf. Process. Lett..

[44]  Yung H. Tsin,et al.  Efficient Parallel Algorithms for a Class of Graph Theoretic Problems , 1984, SIAM J. Comput..

[45]  R. Prim Shortest connection networks and some generalizations , 1957 .

[46]  S. Rao Kosaraju,et al.  Fast parallel processing array algorithms for some graph problems(Preliminary Version) , 1979, STOC.

[47]  H. T. Kung,et al.  A tree machine for searching problems , 1979 .

[48]  B J Smith,et al.  A pipelined, shared resource MIMD computer , 1986 .

[49]  Stephen A. Cook,et al.  Hardware Complexity and Parallel Computation (Preliminary Version) , 1980, FOCS 1980.

[50]  U. Pape,et al.  Implementation and efficiency of Moore-algorithms for the shortest route problem , 1974, Math. Program..

[51]  Joseph JáJá,et al.  Parallel Algorithms in Graph Theory: Planarity Testing , 1982, SIAM J. Comput..

[52]  Jon Louis Bentley,et al.  A Parallel Algorithm for Constructing Minimum Spanning Trees , 1980, J. Algorithms.

[53]  Frances Lucretia Van Scoy Parallel algorithms in cellular spaces. , 1976 .

[54]  Andrea Maggiolo-Schettini,et al.  Sequence-to-Sequence Recursiveness , 1975, Inf. Process. Lett..

[55]  J. Reif,et al.  The Expected Time Complexity of Parallel Graph and Digraph Algorithms. , 1982 .

[56]  Sartaj Sahni,et al.  Parallel Scheduling Algorithms , 1983, Oper. Res..

[57]  Michael J. Flynn,et al.  Very high-speed computing systems , 1966 .

[58]  Duncan H. Lawrie,et al.  Access and Alignment of Data in an Array Processor , 1975, IEEE Transactions on Computers.

[59]  Alessandro Zorat,et al.  On relations between input and communication/computation in VLSI , 1981, 22nd Annual Symposium on Foundations of Computer Science (sfcs 1981).

[60]  Denise Marie Eckstein Parallel graph processing using depth-first search and breadth-first search. , 1977 .

[61]  Michael Jay Quinn,et al.  The design and analysis of algorithms and data structures for the efficient solution of graph theoretic problems on mimd computers , 1983 .

[62]  C. Thomborson,et al.  A Complexity Theory for VLSI , 1980 .

[63]  Peter M. Schwarz,et al.  Experience Using Multiprocessor Systems—A Status Report , 1980, CSUR.

[64]  John Staples,et al.  The Maximum Flow Problem is Log Space Complete for P , 1982, Theor. Comput. Sci..

[65]  Tilak Agerwala,et al.  Communication Issues in the Design and Analysis of Parallel Algorithms , 1981, IEEE Transactions on Software Engineering.

[66]  Charles E. Leiserson,et al.  Optimizing synchronous systems , 1981, 22nd Annual Symposium on Foundations of Computer Science (sfcs 1981).

[67]  H. T. Kung Why systolic architectures? , 1982, Computer.

[68]  Francis Y. L. Chin,et al.  OPTIMAL PARALLEL ALGORITHMS FOR THE CONNECTED COMPONENT PROBLEM. , 1981 .

[69]  Richard J. Swan,et al.  The implementation of the Cm* multi-microprocessor , 1899, AFIPS '77.

[70]  S. N. Maheshwari,et al.  Parallel Algorithms for the Connected Components and Minimal Spanning Tree Problems , 1982, Inf. Process. Lett..

[71]  Sartaj Sahni,et al.  Finding Connected Components and Connected Ones on a Mesh-Connected Parallel Computer , 1980, SIAM J. Comput..

[72]  Leslie M. Goldschlager,et al.  A universal interconnection pattern for parallel computers , 1982, JACM.

[73]  Stephen S. Yau,et al.  Associative Processor Architecture—a Survey , 1977, CSUR.

[74]  Sally Anne Browning,et al.  The tree machine: a highly concurrent computing environment , 1980 .

[75]  Kenneth E. Batcher,et al.  Sorting networks and their applications , 1968, AFIPS Spring Joint Computing Conference.

[76]  Uzi Vishkin,et al.  An O(n² log n) Parallel MAX-FLOW Algorithm , 1982, J. Algorithms.

[77]  R. Ladner The circuit value problem is log space complete for P , 1975, SIGA.

[78]  L. Goldschlager The monotone and planar circuit value problems are log space complete for P , 1977, SIGA.

[79]  Charles E. Leiserson,et al.  Area-efficient graph layouts , 1980, 21st Annual Symposium on Foundations of Computer Science (sfcs 1980).

[80]  Andrew Chi-Chih Yao,et al.  An O(|E| log log |V|) Algorithm for Finding Minimum Spanning Trees , 1975, Inf. Process. Lett..

[81]  Bently A. Crane Path Finding with Associative Memory , 1968, IEEE Transactions on Computers.

[82]  Stephen A. Cook,et al.  An observation on time-storage trade off , 1973, J. Comput. Syst. Sci..

[83]  Sartaj Sahni,et al.  A parallel matching algorithm for convex bipartite graphs and applications to scheduling , 1984, J. Parallel Distributed Comput..

[84]  Ludek Kucera,et al.  Parallel Computation and Conflicts in Memory Access , 1982, Information Processing Letters.

[85]  H. T. Kung,et al.  Systolic Arrays for (VLSI). , 1978 .

[86]  Joseph JáJá,et al.  Fast, Efficient Parallel Algorithms for Some Graph Problems , 1981, SIAM J. Comput..

[87]  Dilip V. Sarwate,et al.  Computing connected components on parallel computers , 1979, CACM.

[88]  Leslie M. Goldschlager,et al.  A unified approach to models of synchronous parallel machines , 1978, STOC.

[89]  Derek G. Corneil,et al.  Parallel computations in graph theory , 1975, 16th Annual Symposium on Foundations of Computer Science (sfcs 1975).

[90]  Karl N. Levitt,et al.  Cellular arrays for the solution of graph problems , 1972, Commun. ACM.

[91]  Bruce W. Weide,et al.  A Survey of Analysis Techniques for Discrete Algorithms , 1977, CSUR.

[92]  Chris R. Jesshope,et al.  Parallel Computers 2: Architecture, Programming and Algorithms , 1981 .

[93]  Neil D. Jones,et al.  Complete problems for deterministic polynomial time , 1974, STOC '74.

[94]  Leslie Lamport,et al.  Proving Liveness Properties of Concurrent Programs , 1982, TOPL.

[95]  H. T. Kung,et al.  Direct VLSI Implementation of Combinatorial Algorithms , 1979 .

[96]  Sartaj Sahni,et al.  Binary Trees and Parallel Scheduling Algorithms , 1981, IEEE Transactions on Computers.

[97]  Daniel S. Hirschberg,et al.  Parallel algorithms for the transitive closure and the connected component problems , 1976, STOC '76.

[98]  David S. Johnson The NP-Completeness Column: An Ongoing Guide , 1986, J. Algorithms.

[99]  Eshrat Arjomandi A study of parallelism in graph theory. , 1976 .

[100]  James Christopher Wyllie,et al.  The Complexity of Parallel Computations , 1979 .

[101]  Zvi Galil,et al.  Hierarchies of complete problems , 1976, Acta Informatica.

[102]  Francis Y. L. Chin,et al.  Efficient parallel algorithms for some graph problems , 1982, CACM.

[103]  Leslie Lamport A New Approach to Proving the Correctness of Multiprocess Programs , 1979, TOPL.

[104]  R. Michael Hord,et al.  The Illiac IV , 1982, Springer Berlin Heidelberg.

[105]  Franco P. Preparata,et al.  The cube-connected-cycles: A versatile network for parallel computation , 1979, 20th Annual Symposium on Foundations of Computer Science (sfcs 1979).

[106]  H. T. Kung,et al.  Design of special-purpose VLSI chips: Example and opinions , 1980, ISCA '80.

[107]  Richard J. Lipton,et al.  Census Functions: an Approach to VLSI Upper Bounds (Preliminary Version) , 1981, FOCS.

[108]  Sartaj Sahni,et al.  An optimal routing algorithm for mesh-connected Parallel computers , 1980, JACM.

[109]  H. T. Kung,et al.  Sorting on a mesh-connected parallel computer , 1976, STOC '76.

[110]  Lynn Conway,et al.  Introduction to VLSI systems , 1978 .

[111]  Mikhail Jibrayil Atallah Algorithms for vlsi networks of processors , 1983 .

[112]  C. Savage Parallel Algorithms for Graph Theoretic Problems , 1977 .

[113]  Pierre A. Humblet,et al.  A Distributed Algorithm for Minimum-Weight Spanning Trees , 1983, TOPL.

[114]  D. J. Rosenkrantz,et al.  Approximate Algorithms for the Traveling Salesperson Problem , 1974, SWAT.

[115]  Susanne E. Hambrusch The complexity of graph problems on vlsi , 1982 .

[116]  David S. Johnson,et al.  The NP-Completeness Column: An Ongoing Guide , 1982, J. Algorithms.

[117]  Carla D. Savage A Systolic Data Structure Chip for Connectivity Problems , 1981 .

[118]  Clyde P. Kruskal,et al.  Parallel Algorithms for Shortest Path Problems , 1985, ICPP.