Hierarchical Floorplanning of Chip Multiprocessors using Subgraph Discovery Javier de San Pedro Jordi Cortadella Antoni Roca Universitat Politècnica de Catalunya (Barcelona) Graph-TA 20141
Outline Introduction – Chip multiprocessors and floorplanning Hierarchical floorplanning methodology Results and conclusions Graph-TA 20142
What is a Chip Multiprocessor? Graph-TA Off-Chip Memory CoreCore L3 Cache CoreCoreCoreCoreCoreCore Interconnect L2 Cache L1 Cache L2 Cache L1 Cache L2 Cache L1 Cache L2 Cache RouterRouter RouterRouterRouterRouterRouterRouter RouterRouter RouterRouter
What is floorplanning? Graph-TA MC CC L2L2 CC L2L2 L3L3 RingRing CC L2L2 CC L2L2 RR
Minimizing wire length Graph-TA CC L2L2 CC L2L2 CC L2L2 CC L2L2 rrrr rrrr rr rr RR L3L3
Maximizing regularity Graph-TA Reusability Design closure Reduce floorplanning cost
Finding repeating subgraphs Frequent subgraph discovery: Graph-TA Subdue: D. J. Cook and L. B. Holder, Graph-Based Data Mining, IEEE Intelligent Systems, 15(2), pages 32-41, 2000.
Example Graph-TA CC L2L2 CC L2L2 CC L2L2 CC L2L2 rrrr rrrr rr rr RR L3L3 1.Find candidate pattern The most repeated subgraph
Floorplanning a pattern Graph-TA CC L2L2 rr 1.Find repeated pattern 2.Floorplan pattern CC L2L2rr L2L2 CC L2L2 rr CC L2L2L2L2 L2L2L2L2rr Multiple floorplans are generated for a single pattern CCL2L2rr L2L2 CC L2L2rr L2L2 CC L2L2 rr CC L2L2L2L2 L2L2L2L2rr CCL2L2rr L2L2 All pareto-optimal floorplans efficiently stored as a bounding curve:
Creating hierarchy Graph-TA CC L2L2 CC L2L2 CC L2L2 CC L2L2 rrrr rrrr rr rr RR L3L3 1.Find candidate pattern 2.Floorplan pattern 3.Treat instances of pattern as black-boxes P1P1 P1P1 P1P1 P1P1 P1P1 CC L2L2 rr P1 is a new component type Has multiple shapes (defined by its bounding curve)
Hierarchical floorplanning Graph-TA rr rr RR L3L3 1.Find candidate pattern 2.Floorplan pattern 3.Treat instances of pattern as black-boxes 4.Repeat until no more patterns can be found P1P1 P1P1 P1P1 P1P1 P2P2 P2P2 P1P1 CC L2L2 rr P2P2 P1P1P1P1
Final floorplan Floorplanning the last pattern obtains the bounding curve for the entire chip Graph-TA RR L3L3 rrrr P2P2 P2P2 RR L3L3 rrrr P2P2 P2P2P2P2 RR L3L3 rr rr P2P2 P2P2
Generating multiple results Graph-TA RR L3L3 rrrr P2P2 P2P2 RR L3L3 rrrr P1P1P1P1 P1P1 P1P1 CC L2L2rr L2L2 CC L2L2rr L2L2 CC rr L2L2 L2L2 CC rr L2L2 L2L2 RR L3L3 rrrr CC L2L2rr L2L2 CC L2L2rr L2L2 CC rr L2L2 L2L2 CC rr L2L2 L2L2 RR L3L3 rrrr CC L2L2rr L2L2 CC L2L2rr L2L2 CC rr L2L2 L2L2 CC rr L2L2 L2L2 RR L3L3 rrrr
Example: ring of rings Graph-TA
Example: ring of rings Graph-TA
Graph-TA Estimated wirelength (meters)
Conclusions We can extract regularity from a netlist and build regular floorplans – Competitive area, wire length results – Reduce design time Future: application to other domains – High-level synthesis, logic synthesis, … Graph-TA