Two-Stage m-Way Graph Partitioning

Abstract This paper presents a group of multiple-way graph (with weighted nodes and edges) partitioning algorithms based on a 2-stage constructive-and-refinement mechanism. The graph partitions can be used to control allocation of program units to distributed processors in a way that minimizes the completion time and for design automation applications. In the constructive stage, 4 clustering algorithms are used to construct raw partitions, the second refinement step first adjusts the cluster number to the processor number and then iteratively improves the partitioning cost by employing a Kernighan-Lin based heuristic. This approach represents several extensions to the state-of-the-art methods. A performance comparison of the proposed algorithms is given, based on experiment results.

[1]  Balakrishnan Krishnamurthy,et al.  An Improved Min-Cut Algonthm for Partitioning VLSI Networks , 1984, IEEE Transactions on Computers.

[2]  John H. Reif,et al.  Minimum s-t Cut of a Planar Undirected Network in O(n log2(n)) Time , 1983, SIAM J. Comput..

[3]  Masahiro Tsuchiya,et al.  A Task Allocation Model for Distributed Computing Systems , 1982, IEEE Transactions on Computers.

[4]  Shahid H. Bokhari,et al.  Assignment Problems in Parallel and Distributed Computing , 1987 .

[5]  Cecilia R. Aragon,et al.  Optimization by Simulated Annealing: An Experimental Evaluation; Part I, Graph Partitioning , 1989, Oper. Res..

[6]  Yahui Zhu Workload Scheduling: A New Technique for Scheduling Task Graphs with Communication Costs in Parallel Systems , 1991, ICPP.

[7]  Laura A. Sanchis,et al.  Multiple-Way Network Partitioning , 1989, IEEE Trans. Computers.

[8]  Anthony Vannelli,et al.  A New Heuristic for Partitioning the Nodes of a Graph , 1988, SIAM J. Discret. Math..

[9]  Chingwei Yeh,et al.  A general purpose multiple way partitioning algorithm , 1991, DAC '91.

[10]  Frank Thomson Leighton,et al.  Improving the Performance of the Kernighan-Lin and Simulated Annealing Graph Bisection Algorithms , 1989, 26th ACM/IEEE Design Automation Conference.

[11]  Boontee Kruatrachue,et al.  Grain size determination for parallel processing , 1988, IEEE Software.

[12]  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.

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

[14]  Ravi B. Boppana,et al.  Eigenvalues and graph bisection: An average-case analysis , 1987, 28th Annual Symposium on Foundations of Computer Science (sfcs 1987).

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

[16]  Harold S. Stone,et al.  Multiprocessor Scheduling with the Aid of Network Flow Algorithms , 1977, IEEE Transactions on Software Engineering.

[17]  Perng-Yi Richard Ma A Model to Solve Timing-Critical Application Problems in Distributed Computer Systems , 1984, Computer.

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

[19]  Youssef Saab,et al.  An Evolution-Based Approach to Partitioning ASIC Systems , 1989, 26th ACM/IEEE Design Automation Conference.

[20]  Donald F. Towsley,et al.  Allocating programs containing branches and loops within a multiple processor system , 1986, IEEE Transactions on Software Engineering.

[21]  Janak H. Patel,et al.  The LAST Algorithm: A Heuristic-Based Static Task Allocation Algorithm , 1989, International Conference on Parallel Processing.

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

[23]  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.

[24]  J. Sheild,et al.  Partitioning concurrent VLSI simulation programs onto a multiprocessor by simulated annealing , 1987 .

[25]  Kemal Efe,et al.  Heuristic Models of Task Assignment Scheduling in Distributed Systems , 1982, Computer.

[26]  Thomas Lengauer,et al.  Combinatorial algorithms for integrated circuit layout , 1990, Applicable theory in computer science.

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

[28]  Frank Thomson Leighton,et al.  Graph Bisection Algorithms with Good Average Case Behavior , 1984, FOCS.

[29]  John H. Reif,et al.  Minimum S-T Cut of a Planar Undirected Network in O(n log²(n)) Time , 1981, ICALP.

[30]  D J Evans,et al.  Parallel processing , 1986 .

[31]  Carolyn McCreary,et al.  Automatic determination of grain size for efficient parallel processing , 1989 .

[32]  Satish Rao Finding near optimal separators in planar graphs , 1987, 28th Annual Symposium on Foundations of Computer Science (sfcs 1987).

[33]  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.

[34]  D. B. Skillicorn,et al.  Effective algorithms for partitioning distributed programs , 1988, Seventh Annual International Phoenix Conference on Computers an Communications. 1988 Conference Proceedings.

[35]  David A. Plaisted,et al.  A Heuristic Algorithm for Small Separators in Arbitrary Graphs , 1990, SIAM J. Comput..