A LinearTime Heuristic for Improving Network Partitions C
- Slides: 8
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 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| = |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 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; 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. 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 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 Number of Iterations Average Overall Gain