A Fast and High Quality Multilevel Scheme for Partitioning Irregular Graphs

Recently, a number of researchers have investigated a class of graph partitioning algorithms that reduce the size of the graph by collapsing vertices and edges, partition the smaller graph, and then uncoarsen it to construct a partition for the original graph [Bui and Jones, Proc. of the 6th SIAM Conference on Parallel Processing for Scientific Computing, 1993, 445--452; Hendrickson and Leland, A Multilevel Algorithm for Partitioning Graphs, Tech. report SAND 93-1301, Sandia National Laboratories, Albuquerque, NM, 1993]. From the early work it was clear that multilevel techniques held great promise; however, it was not known if they can be made to consistently produce high quality partitions for graphs arising in a wide range of application domains. We investigate the effectiveness of many different choices for all three phases: coarsening, partition of the coarsest graph, and refinement. In particular, we present a new coarsening heuristic (called heavy-edge heuristic) for which the size of the partition of the coarse graph is within a small factor of the size of the final partition obtained after multilevel refinement. We also present a much faster variation of the Kernighan--Lin (KL) algorithm for refining during uncoarsening. We test our scheme on a large number of graphs arising in various domains including finite element methods, linear programming, VLSI, and transportation. Our experiments show that our scheme produces partitions that are consistently better than those produced by spectral partitioning schemes in substantially smaller time. Also, when our scheme is used to compute fill-reducing orderings for sparse matrices, it produces orderings that have substantially smaller fill than the widely used multiple minimum degree algorithm.

[1]  A. George Nested Dissection of a Regular Finite Element Mesh , 1973 .

[2]  Alex Pothen,et al.  PARTITIONING SPARSE MATRICES WITH EIGENVECTORS OF GRAPHS* , 1990 .

[3]  M. Saunders,et al.  Solution of Sparse Indefinite Systems of Linear Equations , 1975 .

[4]  R. Tarjan,et al.  A Separator Theorem for Planar Graphs , 1977 .

[5]  B. Parlett The Symmetric Eigenvalue Problem , 1981 .

[6]  Kenneth Steiglitz,et al.  Combinatorial Optimization: Algorithms and Complexity , 1981 .

[7]  E. Barnes An algorithm for partitioning the nodes of a graph , 1981, 1981 20th IEEE Conference on Decision and Control including the Symposium on Adaptive Processes.

[8]  Charles M. Fiduccia,et al.  A linear-time heuristic for improving network partitions , 1988, 25 years of DAC.

[9]  J. Pasciak,et al.  Computer solution of large sparse positive definite systems , 1982 .

[10]  Joseph W. H. Liu,et al.  Modification of the minimum-degree algorithm by multiple elimination , 1985, TOMS.

[11]  John R. Gilbert,et al.  A parallel graph partitioning algorithm for a message-passing multiprocessor , 1987, International journal of parallel programming.

[12]  Frank Thomson Leighton,et al.  Graph bisection algorithms with good average case behavior , 1984, Comb..

[13]  B. Nour-Omid,et al.  Solving finite element equations on concurrent computers , 1987 .

[14]  Frank Thomson Leighton,et al.  An approximate max-flow min-cut theorem for uniform multicommodity flow problems with applications to approximation algorithms , 1988, [Proceedings 1988] 29th Annual Symposium on Foundations of Computer Science.

[15]  Alan George,et al.  The Evolution of the Minimum Degree Ordering Algorithm , 1989, SIAM Rev..

[16]  Alex Pothen,et al.  Computing the block triangular form of a sparse matrix , 1990, TOMS.

[17]  Hans Jürgen Prömel,et al.  Finding clusters in VLSI circuits , 1990, 1990 IEEE International Conference on Computer-Aided Design. Digest of Technical Papers.

[18]  Andrew B. Kahng,et al.  Fast spectral methods for ratio cut partitioning and clustering , 1991, 1991 IEEE International Conference on Computer-Aided Design Digest of Technical Papers.

[19]  Chung-Kuan Cheng,et al.  An improved two-way partitioning algorithm with stable performance [VLSI] , 1991, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[20]  Michael T. Heath,et al.  Parallel Algorithms for Sparse Linear Systems , 1991, SIAM Rev..

[21]  Gary L. Miller,et al.  A unified geometric approach to graph separators , 1991, [1991] Proceedings 32nd Annual Symposium of Foundations of Computer Science.

[22]  H. Simon,et al.  Towards a fast implementation of spectral nested dissection , 1992 .

[23]  Lie Wang,et al.  Towards a fast implementation of spectral nested dissection , 1992, Proceedings Supercomputing '92.

[24]  Andrew B. Kahng,et al.  A new approach to effective circuit clustering , 1992, ICCAD.

[25]  Alex POTHENy,et al.  SPECTRAL NESTED DISSECTION , 1992 .

[26]  Steven Warren Hammond,et al.  Mapping unstructured grid computations to massively parallel computers , 1992 .

[27]  Gary L. Miller,et al.  Automatic Mesh Partitioning , 1992 .

[28]  Bruce Hendrickson,et al.  The Chaco user`s guide. Version 1.0 , 1993 .

[29]  Curt Jones,et al.  A Heuristic for Reducing Fill-In in Sparse Matrix Factorization , 1993, PPSC.

[30]  P. Raghavan Line and plane separators , 1993 .

[31]  Horst D. Simon,et al.  Fast multilevel implementation of recursive spectral bisection for partitioning unstructured problems , 1994, Concurr. Pract. Exp..

[32]  George Karypis,et al.  Introduction to Parallel Computing , 1994 .

[33]  Alok N. Choudhary,et al.  Graph Contraction for Mapping Data on Parallel Computers: A Quality-Cost Tradeoff , 1994, Sci. Program..

[34]  Horst D. Simon,et al.  A Parallel Implementation of Multilevel Recursive Spectral Bisection for Application to Adaptive Unstructured Meshes. Chapter 1 , 1994 .

[35]  T. Chan,et al.  Geometric Spectral Partitioning , 1994 .

[36]  Vipin Kumar,et al.  A parallel formulation of interior point algorithms , 1994, Proceedings of Supercomputing '94.

[37]  Steven J. Plimpton,et al.  Parallel Algorithms for Dynamically Partitioning Unstructured Grids , 1995, PPSC.

[38]  Bruce Hendrickson,et al.  An Improved Spectral Graph Partitioning Algorithm for Mapping Parallel Computations , 1995, SIAM J. Sci. Comput..

[39]  Yousef Saad,et al.  Heuristic Algorithms for Automatic Graph Partitioning , 1995 .

[40]  Bruce Hendrickson,et al.  A Multi-Level Algorithm For Partitioning Graphs , 1995, Proceedings of the IEEE/ACM SC95 Conference.

[41]  Michael T. Heath,et al.  A Cartesian Parallel Nested Dissection Algorithm , 1992, SIAM J. Matrix Anal. Appl..

[42]  Vipin Kumar,et al.  Analysis of Multilevel Graph Partitioning , 1995, Proceedings of the IEEE/ACM SC95 Conference.

[43]  Vipin Kumar,et al.  Highly Scalable Parallel Algorithms for Sparse Matrix Factorization , 1997, IEEE Trans. Parallel Distributed Syst..

[44]  William J. Cook,et al.  Combinatorial optimization , 1997 .

[45]  Vipin Kumar,et al.  A Parallel Algorithm for Multilevel Graph Partitioning and Sparse Matrix Ordering , 1998, J. Parallel Distributed Comput..

[46]  Gary L. Miller,et al.  Geometric Mesh Partitioning: Implementation and Experiments , 1998, SIAM J. Sci. Comput..

[47]  S.,et al.  An Efficient Heuristic Procedure for Partitioning Graphs , 2022 .