A Multi-Level Algorithm For Partitioning Graphs

The graph partitioning problem is that of dividing the vertices of a graph into sets of specified sizes such that few edges cross between sets. This NP-complete problem arises in many important scientific and engineering problems. Prominent examples include the decomposition of data structures for parallel computation, the placement of circuit elements and the ordering of sparse matrix computations. We present a multilevel algorithm for graph partitioning in which the graph is approximated by a sequence of increasingly smaller graphs. The smallest graph is then partitioned using a spectral method, and this partition is propagated back through the hierarchy of graphs. A variant of the Kernighan-Lin algorithm is applied periodically to refine the partition. The entire algorithm can be implemented to execute in time proportional to the size of the original graph. Experiments indicate that, relative to other advanced methods, the multilevel algorithm produces high quality partitions at low cost.

[1]  Brian W. Kernighan,et al.  An efficient heuristic procedure for partitioning graphs , 1970, Bell Syst. Tech. J..

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

[3]  David S. Johnson,et al.  Some Simplified NP-Complete Graph Problems , 1976, Theor. Comput. Sci..

[4]  R. M. Mattheyses,et al.  A Linear-Time Heuristic for Improving Network Partitions , 1982, 19th Design Automation Conference.

[5]  Brian W. Kernighan,et al.  A Procedure for Placement of Standard-Cell VLSI Circuits , 1985, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[6]  G. Kedem,et al.  An algorithm for quadrisection and its application to standard cell placement , 1988 .

[7]  Roy D. Williams,et al.  Performance of dynamic load balancing algorithms for unstructured mesh calculations , 1991, Concurr. Pract. Exp..

[8]  John E. Savage,et al.  Parallelism in Graph-Partitioning , 1991, J. Parallel Distributed Comput..

[9]  Horst D. Simon,et al.  Partitioning of unstructured problems for parallel processing , 1991 .

[10]  Curt Jones Vertex and edge partitions of graphs , 1992 .

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

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

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

[14]  Bruce Hendrickson,et al.  An Improved Spectral Load Balancing Method , 1993, PPSC.

[15]  Geoffrey C. Fox,et al.  Graph contraction for physical optimization methods: a quality-cost tradeoff for mapping data on parallel computers , 1993, ICS '93.

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

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

[18]  Charbel Farhat,et al.  Optimization of mesh partitions and impact on parallel CFD , 1995 .

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

[20]  Bruce Hendrickson,et al.  Enhancing data locality by using terminal propagation , 1996, Proceedings of HICSS-29: 29th Hawaii International Conference on System Sciences.