design automation conference (dac), june 6 th, 20131 taming the complexity of coordinated place and...

33
Design Automation Conference (DAC), June 6 th , 2013 1 Taming the Complexity of Coordinated Place and Route Jin Hu , Myung-Chul Kim †† and Igor L. Markov ††† Systems and Technology Group (STG), IBM, Fishkill, NY †† Systems and Technology Group (STG), IBM, Austin, TX ††† Dept. of Computer Science and Engineering (CSE), University of Michigan [speaker]

Upload: wesley-shaw

Post on 18-Jan-2018

217 views

Category:

Documents


0 download

DESCRIPTION

Back to the Future ? Things have changed:  Much larger, more challenging P&R instances  Stronger, faster baseline placers & routers  Very precise evaluation of results through contests  Recent trend: simultaneous P&R Our contributions to P&R: 1. Speed 2. Speed 3. Speed Design Automation Conference (DAC), June 6 th, st place at ICCAD`12

TRANSCRIPT

Page 1: Design Automation Conference (DAC), June 6 th, 20131 Taming the Complexity of Coordinated Place and Route Jin Hu , Myung-Chul Kim  and Igor L. Markov

Design Automation Conference (DAC), June 6th, 2013 1

Taming the Complexity of Coordinated Place and Route

Jin Hu†, Myung-Chul Kim†† and Igor L. Markov†††

†Systems and Technology Group (STG), IBM, Fishkill, NY ††Systems and Technology Group (STG), IBM, Austin, TX

†††Dept. of Computer Science and Engineering (CSE), University of Michigan

[speaker]

Page 2: Design Automation Conference (DAC), June 6 th, 20131 Taming the Complexity of Coordinated Place and Route Jin Hu , Myung-Chul Kim  and Igor L. Markov

Design Automation Conference (DAC), June 6th, 2013 2

Placement Solutions Must Be Routable

DAC 1998

DAC 2000 (Capo)

Page 3: Design Automation Conference (DAC), June 6 th, 20131 Taming the Complexity of Coordinated Place and Route Jin Hu , Myung-Chul Kim  and Igor L. Markov

Back to the Future ? Things have changed:

Much larger, more challenging P&R instancesStronger, faster baseline placers & routersVery precise evaluation of results through contestsRecent trend: simultaneous P&R

Our contributions to P&R:1. Speed2. Speed3. Speed

Design Automation Conference (DAC), June 6th, 2013 3

1st place at ICCAD`12

Page 4: Design Automation Conference (DAC), June 6 th, 20131 Taming the Complexity of Coordinated Place and Route Jin Hu , Myung-Chul Kim  and Igor L. Markov

What DAC`13 Reviewers Thought of Our Contributions

Design Automation Conference (DAC), June 6th, 2013 4

Page 5: Design Automation Conference (DAC), June 6 th, 20131 Taming the Complexity of Coordinated Place and Route Jin Hu , Myung-Chul Kim  and Igor L. Markov

The Need for Speed Congestion estimation during global

placement requires fast routingWe can do 75K nets/sec (1 thread)Our competition – 6K nets/sec (1 thread)Our router is called 20 times during GP

and still takes <15% of total runtime The secret – simplify the router’s task Additional secrets

Scrap Dijkstra and A*-searchUse array-based, cache-friendly algorithms

Design Automation Conference (DAC), June 6th, 2013 5

Page 6: Design Automation Conference (DAC), June 6 th, 20131 Taming the Complexity of Coordinated Place and Route Jin Hu , Myung-Chul Kim  and Igor L. Markov

How to Avoid Extra Work The placer invokes a router The router works hard to reduce violations The placer changes locations The placer invokes a router The router works hard to reduce violations The placer changes locations The placer invokes a router The router works hard to reduce violations

Design Automation Conference (DAC), June 6th, 2013 6

Page 7: Design Automation Conference (DAC), June 6 th, 20131 Taming the Complexity of Coordinated Place and Route Jin Hu , Myung-Chul Kim  and Igor L. Markov

How to Avoid Extra Work

Spread the router’s work across global-placement iterationsDo not solve routing every time – no need to! Reuse work

Design Automation Conference (DAC), June 6th, 2013 7

Page 8: Design Automation Conference (DAC), June 6 th, 20131 Taming the Complexity of Coordinated Place and Route Jin Hu , Myung-Chul Kim  and Igor L. Markov

Incremental Global Routing When movable objects stay in same GCells,

reuse routes When objects move a little, reuse routes When relative positions do not change,

reuse routes

When everything changes, try to reuse routes

Design Automation Conference (DAC), June 6th, 2013 8

Page 9: Design Automation Conference (DAC), June 6 th, 20131 Taming the Complexity of Coordinated Place and Route Jin Hu , Myung-Chul Kim  and Igor L. Markov

Incremental Maze Routing ? Dijkstra and A*-search don’t do incremental ! They are also slow – pointer-chasing

in binary heaps is no good for cache

Need something else !

Design Automation Conference (DAC), June 6th, 2013 9

Page 10: Design Automation Conference (DAC), June 6 th, 20131 Taming the Complexity of Coordinated Place and Route Jin Hu , Myung-Chul Kim  and Igor L. Markov

The Answer – Bellman-Ford (BF) Bellman-Ford can be incremental Bellman-Ford uses no pointers Bellman-Ford is cache-friendly Worst-case complexity is O(V 2)

versus O(V log V) for Dijkstra and A*-search So, many skeptics:

The trick: run 1 pass of BF at a time, incrementally

Design Automation Conference (DAC), June 6th, 2013 10

Page 11: Design Automation Conference (DAC), June 6 th, 20131 Taming the Complexity of Coordinated Place and Route Jin Hu , Myung-Chul Kim  and Igor L. Markov

More on Bellman-Ford in Our Paper Finishes sooner with alternating passes (known) Generalizes monotonic routing (obvious) Finds some non-monotonic routes in one pass

(with our improvements) Theorem 1: optimal routes with k monotonic

segments are found in k passesFor most nets, k is very small

Design Automation Conference (DAC), June 6th, 2013 11

Page 12: Design Automation Conference (DAC), June 6 th, 20131 Taming the Complexity of Coordinated Place and Route Jin Hu , Myung-Chul Kim  and Igor L. Markov

What About Scenic Routes?

Router invocations mark routing congestion The placer spreads cells to eliminate congestion Do not waste time on scenic routes

(but incremental Bellman-Ford can find them anyway)

Design Automation Conference (DAC), June 6th, 2013 12

Page 13: Design Automation Conference (DAC), June 6 th, 20131 Taming the Complexity of Coordinated Place and Route Jin Hu , Myung-Chul Kim  and Igor L. Markov

Design Automation Conference (DAC), June 6th, 2013 13

Congestion map vs. Estimate (Early GP)

LIRE1 Iteration of BFG-R

Page 14: Design Automation Conference (DAC), June 6 th, 20131 Taming the Complexity of Coordinated Place and Route Jin Hu , Myung-Chul Kim  and Igor L. Markov

Design Automation Conference (DAC), June 6th, 2013 14

Congestion map vs. Estimate (Early GP)

LZ Routing1 Iteration of BFG-R

Page 15: Design Automation Conference (DAC), June 6 th, 20131 Taming the Complexity of Coordinated Place and Route Jin Hu , Myung-Chul Kim  and Igor L. Markov

Design Automation Conference (DAC), June 6th, 2013 15

Congestion map vs. Estimate (Early GP)

L Routing1 Iteration of BFG-R

Page 16: Design Automation Conference (DAC), June 6 th, 20131 Taming the Complexity of Coordinated Place and Route Jin Hu , Myung-Chul Kim  and Igor L. Markov

Design Automation Conference (DAC), June 6th, 2013 16

Congestion map vs. Estimate (Mid GP)

1 Iteration of BFG-R LIRE

Page 17: Design Automation Conference (DAC), June 6 th, 20131 Taming the Complexity of Coordinated Place and Route Jin Hu , Myung-Chul Kim  and Igor L. Markov

Design Automation Conference (DAC), June 6th, 2013 17

Congestion map vs. Estimate (Mid GP)

1 Iteration of BFG-R LZ Routing

Page 18: Design Automation Conference (DAC), June 6 th, 20131 Taming the Complexity of Coordinated Place and Route Jin Hu , Myung-Chul Kim  and Igor L. Markov

Design Automation Conference (DAC), June 6th, 2013 18

Congestion map vs. Estimate (Mid GP)

L Routing1 Iteration of BFG-R

Page 19: Design Automation Conference (DAC), June 6 th, 20131 Taming the Complexity of Coordinated Place and Route Jin Hu , Myung-Chul Kim  and Igor L. Markov

Design Automation Conference (DAC), June 6th, 2013 19

Congestion map vs. Estimate (Late GP)

1 Iteration of BFG-R LIRE

Page 20: Design Automation Conference (DAC), June 6 th, 20131 Taming the Complexity of Coordinated Place and Route Jin Hu , Myung-Chul Kim  and Igor L. Markov

Design Automation Conference (DAC), June 6th, 2013 20

Congestion map vs. Estimate (Late GP)

1 Iteration of BFG-R LZ Routing

Page 21: Design Automation Conference (DAC), June 6 th, 20131 Taming the Complexity of Coordinated Place and Route Jin Hu , Myung-Chul Kim  and Igor L. Markov

Design Automation Conference (DAC), June 6th, 2013 21

Congestion map vs. Estimate (Late GP)

L Routing1 Iteration of BFG-R

Page 22: Design Automation Conference (DAC), June 6 th, 20131 Taming the Complexity of Coordinated Place and Route Jin Hu , Myung-Chul Kim  and Igor L. Markov

Congestion Classification: Cell-based congestion: cell-to-cell proximity

Solution: cell bloating (known)

Layout-based congestion: due to static design properties (blockages, routing obstacles)Solution: static whitespace injection

Remotely-induced layout-based congestion: caused by non-local factors, e.g., long netsSolution: tricky

Design Automation Conference (DAC), June 6th, 2013 22

Page 23: Design Automation Conference (DAC), June 6 th, 20131 Taming the Complexity of Coordinated Place and Route Jin Hu , Myung-Chul Kim  and Igor L. Markov

Design Automation Conference (DAC), June 6th, 2013 23

Packing Peanut vs. Macro Expansion

After 4 invocations of placement

Initial Macro

After 2 invocations of placement

Packing peanut

Facilitates full use of available resources --- does not overconstrain placement

Page 24: Design Automation Conference (DAC), June 6 th, 20131 Taming the Complexity of Coordinated Place and Route Jin Hu , Myung-Chul Kim  and Igor L. Markov

Design Automation Conference (DAC), June 6th, 2013 24

Example During Global Placement

Congestion Map Placement

Page 25: Design Automation Conference (DAC), June 6 th, 20131 Taming the Complexity of Coordinated Place and Route Jin Hu , Myung-Chul Kim  and Igor L. Markov

Design Automation Conference (DAC), June 6th, 2013 25

Example During Global Placement

Congestion Map Placement

Page 26: Design Automation Conference (DAC), June 6 th, 20131 Taming the Complexity of Coordinated Place and Route Jin Hu , Myung-Chul Kim  and Igor L. Markov

Design Automation Conference (DAC), June 6th, 2013 26

Example During Global Placement

Congestion Map Placement

Page 27: Design Automation Conference (DAC), June 6 th, 20131 Taming the Complexity of Coordinated Place and Route Jin Hu , Myung-Chul Kim  and Igor L. Markov

Design Automation Conference (DAC), June 6th, 2013 27

Example During Global Placement

Congestion Map Placement

Page 28: Design Automation Conference (DAC), June 6 th, 20131 Taming the Complexity of Coordinated Place and Route Jin Hu , Myung-Chul Kim  and Igor L. Markov

Design Automation Conference (DAC), June 6th, 2013 28

Example During Global Placement

Congestion Map Placement

Page 29: Design Automation Conference (DAC), June 6 th, 20131 Taming the Complexity of Coordinated Place and Route Jin Hu , Myung-Chul Kim  and Igor L. Markov

Design Automation Conference (DAC), June 6th, 2013 29

Example During Global Placement

Congestion Map Placement

Page 30: Design Automation Conference (DAC), June 6 th, 20131 Taming the Complexity of Coordinated Place and Route Jin Hu , Myung-Chul Kim  and Igor L. Markov

Design Automation Conference (DAC), June 6th, 2013 30

Empirical ValidationCompares against official results from ICCAD 2012 Contest[Viswanathan et al. – ICCAD 2012]

CoPR implemented using C++ (g++ 4.7.0) using OpenMP

CoPR is 1% slower than SimPLR, which was 5.7x faster than RippleCoPR has 2% and 7% better quality than SimPLR and NTUplace [no runtime factor]

CoPR invokes LIRE once every 3 placement iterations, contributing 14.3% of total runtime

Page 31: Design Automation Conference (DAC), June 6 th, 20131 Taming the Complexity of Coordinated Place and Route Jin Hu , Myung-Chul Kim  and Igor L. Markov

Conclusions Crazy fast coordinated place-and-route

Through incremental routing and better algorithms Three congestion types

+ ways to relieve them in global placement

Design Automation Conference (DAC), June 6th, 2013 31

Placement Routing

1st place at ICCAD`12

Page 32: Design Automation Conference (DAC), June 6 th, 20131 Taming the Complexity of Coordinated Place and Route Jin Hu , Myung-Chul Kim  and Igor L. Markov

Design Automation Conference (DAC), June 6th, 2013 32

Backup: Placements Visualized

Page 33: Design Automation Conference (DAC), June 6 th, 20131 Taming the Complexity of Coordinated Place and Route Jin Hu , Myung-Chul Kim  and Igor L. Markov

Design Automation Conference (DAC), June 6th, 2013 33

Backup: Detailed Placement

Congestion Aware DPAfter Global Placement Congestion UNaware DP