1 / 37

Regularity-Constrained Floorplanning for Multi-Core Processors

Regularity-Constrained Floorplanning for Multi-Core Processors. Xi Chen and Jiang Hu (Department of ECE Texas A&M University), Ning Xu (College of CST Wuhan University of Technology) ISPD 2011. Outline. Introduction Regularity issue Problem formulation and contributions Preliminaries

arista
Download Presentation

Regularity-Constrained Floorplanning for Multi-Core Processors

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Regularity-Constrained Floorplanningfor Multi-Core Processors Xi Chen and Jiang Hu (Department of ECE Texas A&M University), Ning Xu (College of CST Wuhan University of Technology) ISPD 2011

  2. Outline • Introduction • Regularity issue • Problem formulation and contributions • Preliminaries • Regularity in sequence pair and algorithm • Experimental results and conclusions

  3. Introduction • Multi-core to Many-core era • CPU and GPU • Homogeneous to Heterogeneous era • IBM Cell processor, Intel i5, i7 • Floorplanning of multi-core design in less cores can be handled manually. But, for now, it is more difficult. • Due to # cores, heterogeneous system, etc.

  4. Introduction (cont.) • If multiple identical cores are adopted, they are preferred to be placed in a regular array. • Design simplicity, modularity and easy management of physical resources

  5. Regularity issue • Like symmetrical layout in analog circuit, but still different. • In analog placement, array blocks of the same type of device are compacted together in order to reduce the effect of spatially-dependent variations. • In multi-core processor floorplanning, non-array blocks can be placed between array blocks and one group of array blocks can be placed inside of another group of array blocks.

  6. Problem formulation • Inputs • A set of n blocks, each with area Aiwhere i = 1, 2, …n. • A set of i nets N1, N2,…, Niamong the n blocks. • A set of k array groups G1, G2 ,…,Gk. Each array group is a subset of the blocks that must be placed in a regular array. • An array group is composed by blocks of identical size and shape, which are usually processor cores or memory cores.

  7. Problem formulation (cont.) • Goal and constraints • Construct a floorplan F that satisfies non-overlapping and the regularity constraint, and minimizes the cost. • The cores are required to be placed in an array, the shape of the array, which is decided by the number of rows and columns, is flexible. • The blocks in an array group do not have to be placed next to each other.

  8. Contributions • Algorithm is based on sequence-pair and simulated annealing. • On how to encode the regularity constraint in sequence-pair. • And how to achieve the regularity in packing procedure. • Claims that this is the first work on regularity-constrained floorplanning.

  9. Preliminaries • Floorplan? • Floor + Plan • An example • SUN Niagara-3 processor

  10. Cell Processor↑ i5↓ GTX470↑ i7↓

  11. Preliminaries (cont.) • Floorplan representations • Slicing tree, B*-tree, Sequence pair, etc. • Each of them represents the floorplan in relative order.

  12. Preliminaries (cont.) • Area computation • By the bonding rectangle

  13. Preliminaries (cont.) • Wirelength estimation • Clique model, star model, spanning tree, Steiner tree, half-perimeter (bonding box), etc.

  14. Preliminaries (cont.) • Sequence pair (SP) representation basics • Represent a packing by a pair of module permutations called sequence-pair (e.g., (s1,s2) = (abdecf, cbfade)). • Moves • Swap two modules in the first sequence. • Swap two modules in both sequences. • Rotate a module. • x’ is after (before) x in both sequences ⇒ x’ is right (left) to x. • x’ is after (before) x in s1 and before (after) x in s2 ⇒ x’ is below (above) x.

  15. Preliminaries (cont.) • Packing in SP

  16. Regularity in sequence pair • In relative order • Some terms • Common subsequence (CS) • Reversely CS • Regularity subsequence-pair (RSP) • Row (column) based RSP

  17. Example of CS and reversely CS • A sequence-pair (<0 1 2 3 4 5>, <2 1 0 5 4 3>) • 3 CSs (0, 3), (1, 4) and (2, 5) for the 3 rows • block 0, 1 and 2 form a reversely CS.

  18. Lemma • The necessary condition that m blocks lead to a p×q array floorplan • The m blocks constitute p common subsequences of length q and q reversely common subsequences of length p in the sequence-pair.

  19. RSP and Row (column) based RSP • RSP • A contiguous subsequence of length m that satisfies Lemma in a sequence-pair is called regularity subsequence-pair. • Row (column) based RSP • A RSP where each (inversely) CS corresponding a row (column) is contiguous.

  20. Embed non-array blocks

  21. Rule 1 • A non-array block can be inside both or neither of α and β sequences of a RSP. A non-array block cannot be inside one of α and β sequences but outside of the other for a RSP.

  22. If violated rule 1… • (<0 1 2 8 3 4 5>, <8 2 1 0 5 4 3>) is not allowed.

  23. Rule 2 • A non-array block can be inside both or neither of α and β part of a contiguous (reversely) common subsequence in a row (column) based RSP. A non-array block cannot be inside one of α and β part but outside of the other for a contiguous (reversely) common subsequence in a row (column) based RSP.

  24. If violated rule 2… • (<0 1 2 8 3 4 5>, < 2 8 1 0 5 4 3>) is not allowed.

  25. Regularity in sequence pair (cont.) • In packing • If no non-array block inside an array, i.e., no non-array block is inside a RSP, then the array can be pre-packed into a single object, with or without spacing. • If there is any non-array block inside an array, then the minimum uniform spacing is decided by the largest dimension among the non-array blocks.

  26. Expansion

  27. Algorithm • In fact, typical sequence pair with SA is applied. • Move types and regularity encoding are the differences compared the typical one. • Objective function where λ is a user-specified weight

  28. Move types • Changing the factorization of an array group. • For example, a 2×6 array can be changed to a 3×4 array or other factorizations. • Changing the RSP for an array group between row-based and column-based. • Moving a non-array block into (or outside) a RSP. • Swapping two non-array blocks. • Rotating a non-array block. • Rotating all blocks in an array group. • Swapping two blocks in the same array group. • Only affect wirelength

  29. Flow • Initial SP generation considering regularity. • Apply SA for different results iteratively. • Evaluate the cost after each move. • Stop until the stopping criterions are reached. • Not mentioned in the text.

  30. Experimental results • Environment • C++ on Windows • 2.5GHz Intel Core 2 Duo processor and 2GB memory • Benchmarks • Modified MCNC and GSRC benchmarks • Parameters • λ=0.5 and 0 for two different experiments

  31. Experimental results (cont.) • It is compared with manual prefix method since this is the first work. • Those blocks in the same array group are preplaced in the array manually and form a big block. • Apply conventional floorplanning with the big blocks and other blocks.

  32. Comparison with λ=0.5 • Since array blocks have many factorizations, results of MP are the most smallest from all factorizations.

  33. Plotted results for comparison

  34. Area minimization only (λ=0) • The higher the area usage, the smaller the wasted space.

  35. Visualized result • n100 as an example • By the proposed approach • By the manual prefix

  36. Conclusions • Proposes a floorplan algorithm for regularity-constrained design. • Regularity in SP representation • Obtain better results compared with naïve method.

More Related