regularity constrained floorplanning regularity
play

Regularity-Constrained Floorplanning Regularity Constrained - PowerPoint PPT Presentation

Regularity-Constrained Floorplanning Regularity Constrained Floorplanning for Multi-Core Processors Ning Xu Xi Chen Jiang Hu Department of ECE College of CST T exas A&M University Wuhan University of T echnology 1 Outline Outline


  1. Regularity-Constrained Floorplanning Regularity Constrained Floorplanning for Multi-Core Processors Ning Xu Xi Chen Jiang Hu Department of ECE College of CST T exas A&M University Wuhan University of T echnology 1

  2. Outline Outline  Introduction  Floorplanning with Regularity Constraint Fl l i i h R l i C i  Experimental Results  C ncl si ns and F t re Research  Conclusions and Future Research 2

  3. Floorplanning for Multi-core Processors Floorplanning for Multi core Processors SUN Niagara-3 processor  Identical modules are placed in arrays  One array can be embedded in another array  R  Random blocks can be placed within an array d bl k b l d ithi 3

  4. Symmetry Constraint in Analog Circuit Layout Symmetry Constraint in Analog Circuit Layout  Similar to symmetry constraint in analog design  Similar to symmetry constraint in analog design  For sequence-pair ( α , β ), block A and B is symmetry- feasible if for any block A and B -1 ↔ β δ (B) -1 < α B -1 < β δ (A) -1 α A -1 denotes the position of block A in sequence α 1. α A 2. δ (A) is block symmetric to A 1 4 2 3 (1234,1234) (1234,1234) 4

  5. Regularity Constraint vs Symmetry Constraint Regularity Constraint vs. Symmetry Constraint  Regularity constraint can be treated as an extension to symmetry constraint symmetry constraint  However, the number of implicit symmetry constraints can be quite large symmetry regularity 5

  6. Regularity Constraint Factorization Regularity Constraint Factorization  A chip with m cores can be placed in a p×q array: e.g. m=24=3×8=4×6=6×4=8×3  For specific factorization, symmetries for different axes need to be maintained d b i i d 6

  7. Outline Outline  Introduction  Floorplanning with Regularity Constraint Fl l i i h R l i C i  Experimental Results  C ncl si ns and F t re Research  Conclusions and Future Research 7

  8. Array and Non-array Blocks Array and Non array Blocks  A  Array group is a subset of blocks that must be placed p i b t f bl k th t t b l d in a regular array  If a block is in an array group it is an array block  If a block is in an array group, it is an array block  Otherwise called non-array block 1 4 Array block: 1,2,3,4,5,6 Non-array block: 7 Non array block: 7 2 2 7 7 5 5 3 6 8

  9. Problem Formulation Problem Formulation  Objective: Minimize cost=(1- λ )×area + λ ×wirelength Constraints: (1) Regularity Constraint (1) Regularity Constraint (2) Allow non-array block in the array group λ is a weighting factor 9

  10. Algorithm Overview Algorithm Overview  Using simulated annealing algorithm with sequence-pair representation representation  Key contribution: 1. How to encode the regularity constraint in g y sequence-pair 2. How to achieve the regularity in packing procedure 10

  11. Sequence Pair Sequence Pair  A sequence-pair like (<… i … j …>,<… i … j …>)  A sequence pair like ( … i … j … , … i … j … ) implies that block i is to the left of block j  A sequence-pair like (<… i … j …>,<… j … i …>) implies that block i is above block j 1 4 5 2 3 6 (<124536>,<362145>) ( 124536 , 362145 ) 11

  12. Common Subsequence Common Subsequence  Definition 1: Common Subsequence A set of q blocks b 1 , b 2 A set of q blocks b 1 , b 2… b q form a common subsequence [Tang, Tian b form a common subsequence [Tang, Tian and Wong, DATE 2000] in a sequence-pair ( α , β ) if α 1 -1 < α 2 -1 < …< α q -1 and β 1 -1 < β 2 -1 < … < β q -1 where α -1 ( β -1 ) indicates the position of block b in sequence α ( β ) where α i ( β i ) indicates the position of block b i in sequence α ( β ) 0 3 sequence pair (<0 3 1 4 2 5>,<2 5 1 4 0 3>) 1 1 4 4 2 5 12

  13. Reversely Common Subsequence Reversely Common Subsequence  Definition 2: Reversely Common Subsequence  Definition 2: Reversely Common Subsequence A set of q blocks b 1 , b 2… b q form a reversely common subsequence in a -1 and β 1 sequence-pair ( α , β ) if α 1 -1 < α 2 -1 < …< α q -1 > β 2 -1 > … > β q -1 where α i -1 ( β i -1 ) indicates the position of block b i in sequence α ( β ) 0 3 sequence pair (<0 1 2 3 4 5>,<2 1 0 5 4 3>) 1 4 2 5 13

  14. Necessary Condition Necessary Condition  Lemma 1 The necessary condition that m blocks lead to a p×q array floorplan: the m blocks constitute p common fl l h bl k subsequences of length q or vise versa 0 3 0 3 1 1 4 4 1 1 4 4 2 5 2 5 (<0 3 1 4 2 5>,<2 5 1 4 0 3>) (<0 1 2 3 4 5>,<2 1 0 5 4 3>) 14

  15. Regularity Subsequence-pair Regularity Subsequence pair  Definition 3: Regularity subsequence-pair(RSP) A contiguous subsequence of length m that satisfies Lemma 1 in a A contiguous subsequence of length m that satisfies Lemma 1 in a sequence-pair is called regularity subsequence-pair The right figure can be represented as either 0 3 (<0 3 1 4 2 5>, <2 5 1 4 0 3>) or (<0 3 1 4 2 5> <2 5 1 4 0 3>) (<0 1 2 3 4 5>, <2 1 0 5 4 3>) 1 4 2 5 15

  16. Row (Column)-based Regularity Subsequence-pair Row (Column) based Regularity Subsequence pair  Definition 4: Row (column) based regularity subsequence-pair is a regularity subsequence-pair where each (inversely) g y q p ( y) common subsequence corresponding a row (column) is contiguous 0 3 column based regularity subsequence-pair g y q p 1 4 (<0 1 2 3 4 5>,<2 1 0 5 4 3>) 2 5 row based regularity subsequence-pair (<0 3 1 4 2 5>,<2 5 1 4 0 3>) 16

  17. Non-array Block in Regularity Subsequence-pair Non array Block in Regularity Subsequence pair  Rule 1: A non-array block • Allowed: between both or neither of sequences of a regularity • Allowed: between both or neither of sequences of a regularity subsequence pair • Disallowed: between any one sequence but outside of the other 0 For example: in the right figure, we do not allow (<0 1 2 8 3 4 5>,< 8 2 1 0 5 4 3>) (<0 1 2 8 3 4 5> < 8 2 1 0 5 4 3>) 1 2 3 4 8 5 17

  18. Non-array Block in Common Subsequence Non array Block in Common Subsequence  Rule 2: A non-array block • Allowed: inside both or neither of a contiguous (reversely) common • Allowed: inside both or neither of a contiguous (reversely) common subsequence in a row (column) base regularity subsequence-pair • Disallowed: within one common subsequence, but outside that one in another sequence. 0 3 8 block 8 inside common subsequence q (<0 8 1 2 3 4 5>,<2 1 8 0 5 4 3>) 1 4 2 5 18

  19. Packing Methods Packing Methods  Longest Path Algorithm [Murata Fujiyoshi Nakatake  Longest Path Algorithm, [Murata, Fujiyoshi, Nakatake and Kajitani, TCAD 1996 ]  Longest Common Sequence (LCS) [Tang Tian and  Longest Common Sequence (LCS), [Tang, Tian and Wong, DATE 2000 ]  In this work, we adopt the LCS approach  In this work, we adopt the LCS approach 19

  20. Packing with Regularity Packing with Regularity  Regularity implies the alignment and spacing constraints: Array blocks must be horizontally (vertically) aligned  Math expression:  Math expression: X i,j - X i,j-1 = X i,j+1 - X i,j Y i j -Y i 1 j = Y i,j Y i-1,j Y i+1 j -Y i j Y i+1,j Y i,j 1. where X, Y are x and y coordinates of the lower-left corner of an array block 2. i(j) represents row (column) index 20

  21. Regularity Illustration Regularity Illustration a b X i j - X i j-1 = X i j+1 - X i j i,j i,j-1 i,j+1 i,j Y i,j -Y i-1,j = Y i+1,j -Y i,j 21

  22. Column-based and Row-based Encoding Column based and Row based Encoding  Column-based and Row-based encoding are both needed. needed. Column based Row based 22

  23. Packing Process Packing Process  If there is no non-array block inside an array, the array can be packed with longest common sequence directly  If there is any non-array block inside an array, decided the minimum uniform spacing, then call longest common sequence and restore to original dimensions common sequence and restore to original dimensions 23

  24. Packing Example Packing Example  Example: Virtual Width 0 3 8 6 10 1 4 7 9 Virtual Height 2 2 5 5 24

  25. Swapping Array Blocks Swapping Array Blocks  Array blocks have same dimensions  Swapping array blocks:  Swapping array blocks: No effect on area • Reduce wirelength • 0 3 3 0 1 4 1 5 2 5 2 4 25

  26. The Floorplanning Algorithm The Floorplanning Algorithm Random factorization for all array groups Generate sequence pairs satisfying Lemma 1 Simulated annealing moves Packing and evaluating cost Yes Yes Swap Swapping blocks blocks No No No Min T emp Yes Finish Finish 26

  27. Simulated Annealing Moves Simulated Annealing Moves  Changing the factorization of an array group  Changing the factorization of an array group  Changing the regularity sequence-pair for an array group between row-based and column-based g p  Moving a non-array block into (or outside) a regularity subsequence-pair  Swapping two non-array blocks 27

  28. Outline Outline  Introduction  Floorplanning with Regularity Constraint Fl l i i h R l i C i  Experimental Results  C ncl si ns and F t re Research  Conclusions and Future Research 28

Recommend


More recommend