A LinearTime Heuristic for Improving Network Partitions C

  • Slides: 8
Download presentation
A Linear-Time Heuristic for Improving Network Partitions C. M Fiduccia R. M. Mattheyses

A Linear-Time Heuristic for Improving Network Partitions C. M Fiduccia R. M. Mattheyses

Overview Linear in computation time with respect to the number of terminals. n Attempts

Overview Linear in computation time with respect to the number of terminals. n Attempts to reduce overall net cut-cost. n Accommodates multi-terminal nets and weighted vertices. n Handles unbalanced partitions via a balance factor. n

Balance Criteria Assume we have 2 partitions, A and B n Let |V| =

Balance Criteria Assume we have 2 partitions, A and B n Let |V| = |A| + |B| = total weight of all cells n Let Smax = Weight of largest cell n Let r = Balance Factor n Then. . n r|V| - Smax <= |A| <= r|V| + Smax

F-M Definitions n Cell Gain ¨ Number of nets removed from the cut-set after

F-M Definitions n Cell Gain ¨ Number of nets removed from the cut-set after the cell is moved. n Base Cell ¨ The n cell to be moved. Critical Net ¨ Any net which has a cell that if moved, will change its cut state

F-M Algorithm n Compute all gains g(i) 0; F “from blocks” of cell i;

F-M Algorithm n Compute all gains g(i) 0; F “from blocks” of cell i; T “To blocks” of cell i For each net n on cell i IF F(n) = 1 THEN g(i) = g(i) +1; IF T(n) = 0 THEN g(i) = g(i) 1; n Select cell ci with max gain that does not violate the balance constraint.

F-M Algorithm (cont’d) n Lock ci, update gains of cells on affected critical nets.

F-M Algorithm (cont’d) n Lock ci, update gains of cells on affected critical nets. For each net n on base cell If T(n) = 0 Then increment gains of all free cells on n Elseif T(n)=1 Then decrement the gain of the T cell on n, if its free //Update the From and To blocks to represent the move F(n) = F(n) – 1 T(n) = T(n) + 1 If F(n) = 0 Then decrement gains of all free cells on n Elseif F(n)=1 Then increment the gain of the F cell on n, if it is free

F-M Algorithm (cont’d) If the set of free cells is not empty, i++, select

F-M Algorithm (cont’d) If the set of free cells is not empty, i++, select next base cell, go to previous step n Select the sequence of moves that provides the max gain. If G<0 Then Exit n Make all i moves permanent, free every cell and repeat the algorithm n

Results Pending… Number of Nodes 50 500 1000 2000 Number of Nets Running Time

Results Pending… Number of Nodes 50 500 1000 2000 Number of Nets Running Time Number of Iterations Average Overall Gain