LMgr: A Low-Memory Global Router with Dynamic Topology - - PowerPoint PPT Presentation

lmgr a low memory global router with dynamic topology
SMART_READER_LITE
LIVE PREVIEW

LMgr: A Low-Memory Global Router with Dynamic Topology - - PowerPoint PPT Presentation

LMgr: A Low-Memory Global Router with Dynamic Topology Update and Bending- Aware Op@mum Path Search Jingwei Lu 1 and Chiu-Wing Sham 2 1 Dept.


slide-1
SLIDE 1

LMgr: ¡A ¡Low-­‑Memory ¡Global ¡Router ¡with ¡ Dynamic ¡Topology ¡Update ¡and ¡Bending-­‑ Aware ¡Op@mum ¡Path ¡Search ¡ ¡

Jingwei ¡Lu1 ¡and ¡Chiu-­‑Wing ¡Sham2 ¡ ¡

1 ¡Dept. ¡CSE, ¡UC ¡San ¡Diego ¡ 2 ¡Dept. ¡EIE, ¡The ¡Hong ¡Kong ¡Polytechnic ¡Univ. ¡

ISQED - 2013

1

03/05/2013

slide-2
SLIDE 2

Outline ¡

l Introduc@on ¡ l Problem ¡formula@on ¡ l Exis@ng ¡problems ¡and ¡our ¡solu@ons ¡ l A ¡new ¡global ¡router ¡à

à ¡LMgr ¡

l Experimental ¡Results ¡ l Conclusion ¡

03/05/2013 ISQED - 2013

2

slide-3
SLIDE 3

Introduc@on ¡

l Fundamental ¡research ¡problem ¡

l Performance ¡dominance ¡ l Impacts ¡on ¡@ming ¡and ¡power ¡closure ¡ l BoSleneck ¡on ¡design ¡efficiency ¡ ¡

l ISPD ¡2007-­‑2008 ¡global ¡rou@ng ¡contest ¡[ISPD08] ¡

l Bookshelf-­‑format ¡benchmark ¡suite ¡from ¡real ¡VLSI ¡design ¡ l Lots ¡of ¡related ¡research ¡works ¡have ¡been ¡proposed ¡

l State-­‑of-­‑the-­‑art ¡approaches ¡

l Integer ¡linear ¡programming ¡[Cho07, ¡Shojaei11] ¡ l Itera@ve ¡rip-­‑up ¡and ¡rerou@ng ¡[Chang08, ¡chen09] ¡

03/05/2013 ISQED - 2013

3

slide-4
SLIDE 4

Problem ¡Formula@on ¡

l Huge ¡complexity ¡of ¡rou@ng ¡problem ¡ ¡

l Global ¡rou@ng ¡+ ¡detail ¡rou@ng ¡ l Decomposi@on ¡& ¡inter-­‑gcell ¡rou@ng ¡

03/05/2013 ISQED - 2013

4

Cells Global Cells (gcells) Global Edges (gedges) Gcells Gedges

Obj à à min. congestion and wirelength

slide-5
SLIDE 5

Exis@ng ¡Problems ¡

l Memory ¡overhead ¡ ¡

l Cause ¡à

à ¡avoiding ¡ ¡of ¡overlap ¡

l Our ¡solu(on ¡à

à ¡low-­‑memory ¡rou(ng ¡by ¡graph ¡coloring ¡

l Topology ¡corrup@on ¡

l Cause ¡à

à ¡subnet ¡rip-­‑up ¡and ¡rerou@ng ¡

l Our ¡solu(on ¡à

à ¡dynamic ¡topology ¡update ¡

l Subop@mality ¡of ¡Lee’s ¡Maze ¡rou@ng ¡method ¡

l Cause ¡à

à ¡vertex ¡expansion ¡based ¡method ¡

l Our ¡solu(on ¡à

à ¡bending-­‑aware ¡op(mum ¡maze ¡rou(ng ¡

03/05/2013 ISQED - 2013

5

slide-6
SLIDE 6

Memory ¡Overhead ¡

l Observa@on ¡from ¡experiment ¡

l Routers ¡are ¡consuming ¡huge ¡memory ¡

l Why ¡low ¡memory? ¡

l Cache ¡miss, ¡page ¡fault ¡and ¡thrashing ¡à

à ¡efficiency ¡

l Easier ¡for ¡mul@-­‑threading ¡ l Negligible ¡penalty ¡on ¡quality ¡and ¡efficiency ¡

l Cause ¡of ¡memory ¡demand ¡

l Avoid ¡rou@ng ¡overlap ¡ l Recording ¡list ¡of ¡nets ¡using ¡each ¡edge ¡ ¡

03/05/2013 ISQED - 2013

6

slide-7
SLIDE 7

Improvement ¡on ¡Memory ¡

03/05/2013 ISQED - 2013

7

v2 v1 v0 v7 v3 v5 v4 v6

n2 ni1 ni2

...

nik=n1 ei nj1 nj2 ej

...

njk=n1

memory demand

v2 v1 v0 v7 v3 v5 v4 v6

Zero Memory O(N) Memory N = size of net Our method Previous method

slide-8
SLIDE 8

Improvement ¡on ¡Efficiency ¡

l Pre-­‑rou@ng ¡@me ¡cost ¡

l Previous ¡methods ¡à

à ¡0 ¡

l Our ¡method ¡à

à ¡O(N), ¡due ¡to ¡net ¡traversal ¡

l Negligible ¡due ¡to ¡O(N2) ¡rou@ng ¡@me ¡cost ¡

l Rou@ng ¡@me ¡cost ¡à

à ¡O(N2) ¡

l Need ¡to ¡search ¡over ¡all ¡grids ¡around ¡the ¡net ¡ l Other ¡methods ¡à

à ¡k×N2 ¡(k ¡>> ¡1) ¡

l Hash ¡table ¡opera@on ¡cost ¡ l Other ¡data ¡structure ¡will ¡induce ¡higher ¡complexity ¡

l Our ¡method ¡à

à ¡exactly ¡N2 ¡

l One ¡opera@on ¡à

à ¡color ¡checking ¡

03/05/2013 ISQED - 2013

8

slide-9
SLIDE 9

Topology ¡Corrup@on ¡

l Steiner ¡tree ¡topology ¡

l Widely ¡used ¡in ¡modern ¡routers ¡

l Topology ¡corrup@on ¡

l Due ¡to ¡rerou@ng ¡of ¡congested ¡subnets ¡

l Previous ¡solu@ons

¡ ¡

l BFS ¡to ¡rebuild ¡the ¡topology ¡ l Usually ¡at ¡the ¡end ¡of ¡itera@on ¡ l Impede ¡conges@on ¡reduc@on ¡

03/05/2013 ISQED - 2013

9

slide-10
SLIDE 10

Topology ¡Corrup@on ¡– ¡Previous ¡Methods ¡

03/05/2013 ISQED - 2013

10

v2 v1 v0 v7 v3 v5 v4 v6 v2 v7 v3 v5 v4 v6 v1 v0 v2 v1 v0 v7 v3 v5 v4 v6 v2 v1 v0 v7 v3 v5 v4 v6

Congestion Problem

slide-11
SLIDE 11

Our ¡Solu@on ¡– ¡Dynamic ¡Topology ¡Update ¡

03/05/2013 ISQED - 2013

11

v1 v0 v7 v3 v5 v4 v6 v2 v1 v0 v7 v3 v5 v4 v6 v'6 v2 v1 v0 v7 v3 v5 v4 v'6 v2 v7 v3 v5 v4 v'6 v1 v0

slide-12
SLIDE 12

Comparison ¡

03/05/2013 ISQED - 2013

12

v2 v1 v0 v7 v3 v5 v4 v6 v2 v7 v3 v5 v4 v'6 v1 v0

Previous Methods Our Method

Improved routing congestion O(N) overhead on runtime (negligible)

slide-13
SLIDE 13

Bending-­‑Aware ¡Cost ¡Func@on ¡

03/05/2013 ISQED - 2013

13

len j i cong j i j i

c c c

, , ,

+ =

( )⎟

⎟ ⎠ ⎞ ⎜ ⎜ ⎝ ⎛ ʹ″ ʹ″ ʹ″ + =

∑ ∑

∈ ʹ″ ʹ″ ʹ″ ∈

i i v u

r e e bnd r e v u i

e e IsBend c c C

, ,

,

,

total cost of solution ri routing cost on ei,j

( ) 1

, = ʹ″ ʹ″ ʹ″ e e IsBend

( )

, = ʹ″ ʹ″ ʹ″ e e IsBend

e' e'' e' e'' e' e''

slide-14
SLIDE 14

Sub-­‑Op@malitay ¡of ¡Lee’s ¡Algorithm ¡[Lee61] ¡

03/05/2013 ISQED - 2013

14

C3=C1+cbnd+c1,2+c2,3 e1,2 e2,3 g0 g1 g3 e0,2 g2

( )

( )

( )

( )

2 , 2 , 1 1

e c g c c e c g c

bnd

+ > + +

C3’=C0+c0,2+c2,3 e1,2 e2,3 g0 g1 g3 e0,2 g2

Actual solution for g3

[Lee61]

Another solution for g3

e1,2 e2,3 g0 g1 e0,2 g2 g3

( )

( )

( )

( )

2 , 2 , 1 1

e c g c e c g c + < +

Sub-optimum Optimum

slide-15
SLIDE 15

Our ¡Op@mum ¡Solu@on ¡

l Edge ¡expansion ¡based ¡maze ¡search ¡

l Instead ¡of ¡tradi@onal ¡grid ¡expansion ¡ l All ¡gedges ¡are ¡directed ¡

l Edges ¡classified ¡into ¡three ¡sets ¡

l opt ¡à

à ¡Op@mum ¡solu@on ¡obtained ¡

l sopt ¡à

à ¡SubOp@mum ¡solu@on ¡obtained ¡

l nopt ¡à

à ¡No ¡solu@on ¡obtained ¡

l Priority ¡queue ¡storing ¡op@mized ¡edges ¡

l Pop ¡out ¡min-­‑cost ¡edge ¡for ¡expansion ¡

03/05/2013 ISQED - 2013

15

slide-16
SLIDE 16

Our ¡Op@mum ¡Solu@on ¡ ¡

03/05/2013 ISQED - 2013

16

g0 g4 g2 g1 g3

  • pt gedge (queued)
  • pt gedge (current)
  • pt gedge (new)

sopt gedge (new)

slide-17
SLIDE 17

Overview ¡of ¡LMgr ¡

l 2D ¡global ¡rou@ng ¡(LMgr) ¡+ ¡3D ¡layer ¡assign ¡[Dai09] ¡ l RSMT ¡topology ¡genera@on ¡by ¡FLUTE ¡[Chu08] ¡ l PaSern-­‑based ¡ini@al ¡rou@ng ¡

l L-­‑shape ¡[Kastner02] ¡& ¡monotonic ¡[Zhang08] ¡ ¡

l Maze-­‑based ¡itera@ve ¡rip-­‑up ¡& ¡rerou@ng ¡ ¡

l (1) ¡Conges@on-­‑ ¡and ¡wirelength-­‑driven ¡ l (2) ¡Conges@on-­‑driven ¡(most ¡aggressive) ¡ l (3) ¡Wirelength-­‑driven ¡(zero ¡conges@on ¡penalty) ¡

03/05/2013 ISQED - 2013

17

slide-18
SLIDE 18

Experiments ¡

l ISPD08 ¡GR ¡benchmark ¡suite ¡[ISPD08] ¡

l Official ¡evalua@on ¡script ¡

l Four ¡sensi@vity-­‑driven ¡routers ¡

l NTHU2.0 ¡[Chang08] ¡NTUgr ¡[Chen09] ¡FastRoute3.0 ¡[Zhang08] ¡and ¡ ¡

FGR1.1 ¡[Roy07] ¡

l Winners ¡of ¡ISPD ¡07-­‑08 ¡contests ¡[ISPD08] ¡

l Same ¡IRR ¡structure ¡as ¡LMgr ¡ l Other ¡routers ¡[Xu11, ¡Hu10] ¡are ¡not ¡included ¡due ¡to ¡their ¡

incompa@bility ¡to ¡our ¡techniques ¡

03/05/2013 ISQED - 2013

18

slide-19
SLIDE 19

Rou@ng ¡Solu@on ¡Quality ¡

03/05/2013 ISQED - 2013

19 1.00E+00 ¡ 1.00E+01 ¡ 1.00E+02 ¡ 1.00E+03 ¡ 1.00E+04 ¡ 1.00E+05 ¡

Capacity ¡Overflow ¡

NTHU2.0 ¡ NTUgr ¡ FastRoute3.0 ¡ FGR1.1 ¡ LMgr ¡ 0.00E+00 ¡ 1.00E+02 ¡ 2.00E+02 ¡ 3.00E+02 ¡ 4.00E+02 ¡

Wirelength ¡(106) ¡

NTHU2.0 ¡ NTUgr ¡ FastRoute3.0 ¡ FGR1.1 ¡ LMgr ¡ 1.00E+00 ¡ 1.00E+01 ¡ 1.00E+02 ¡ 1.00E+03 ¡ 1.00E+04 ¡

Run@me ¡(mins) ¡

NTHU2.0 ¡ NTUgr ¡ FastRoute3.0 ¡ FGR1.1 ¡ LMgr ¡

slide-20
SLIDE 20

Peak ¡Memory ¡Cost ¡

03/05/2013 ISQED - 2013

20

1.00E+00 2.00E+00 4.00E+00 8.00E+00 1.60E+01

Peak ¡Memory ¡Cost ¡ ¡

(normalized ¡to ¡LMgr)

NTHU2.0 NTUgr FastRoute3.0 FGR1.1 LMgr

slide-21
SLIDE 21

Conclusion ¡

l Three ¡new ¡techniques ¡

l Low-­‑memory ¡global ¡rou@ng ¡ l Dynamic ¡RSMT ¡update ¡ l Bending-­‑aware ¡op@mum ¡rou@ng ¡

l Integra@on ¡in ¡LMgr ¡

l Performance ¡valida@on ¡through ¡experiments ¡

l Future ¡work ¡

l Parallel ¡rou@ng ¡[Liu10] ¡ l Three-­‑dimensional ¡rou@ng ¡[Chen09] ¡

03/05/2013 ISQED - 2013

21

slide-22
SLIDE 22

References ¡

l

[ISPD08] ¡ISPD08 ¡contest ¡hSp://www.ispd.cc/contests/ispd08rc.html ¡

l

[Cho07] ¡M. ¡Cho, ¡K. ¡Lu, ¡K. ¡Yuan, ¡and ¡D. ¡Z. ¡Pan, ¡“Conges@on ¡Analysis ¡for ¡Global ¡Rou@ng ¡Via ¡Integer ¡ Programming”, ¡In ¡ICCAD, ¡pp. ¡503–508, ¡2007. ¡

l

[Shojaei11] ¡H. ¡Shojaei, ¡A. ¡Davoodi, ¡and ¡J. ¡Linderoth, ¡“Conges@on ¡Analysis ¡for ¡Global ¡Rou@ng ¡Via ¡Integer ¡ Programming”, ¡In ¡ICCAD, ¡pp. ¡256–262, ¡2011. ¡

l

[Chang08] ¡Y.-­‑J. ¡Chang, ¡Y.-­‑T. ¡Lee, ¡and ¡T.-­‑C. ¡Wang, ¡“NTHU-­‑Route ¡2.0: ¡A ¡Fast ¡and ¡Stable ¡Global ¡Router ¡“, ¡In ¡ ICCAD, ¡pages ¡338–343, ¡2008. ¡

l

[Chen09] ¡H.-­‑Y. ¡Chen, ¡C.-­‑H. ¡Hsu ¡and ¡Y.-­‑W. ¡Chang, ¡High-­‑Performance ¡Global ¡Rou@ng ¡with ¡Fast ¡Overflow ¡ Reduc@on ¡. ¡In ¡ASPDAC, ¡pages ¡582–587, ¡2009. ¡

l

[Zhang08] ¡Y. ¡Zhang, ¡Y. ¡Xu, ¡and ¡C. ¡Chu. ¡FastRoute ¡3.0: ¡A ¡Fast ¡and ¡High ¡Quality ¡Global ¡Router ¡Based ¡on ¡Virtual ¡ Capacity ¡. ¡In ¡ICCAD, ¡pages ¡344–349, ¡2008. ¡

l

[Roy07] ¡J. ¡A. ¡Roy ¡and ¡I. ¡I. ¡Markov. ¡High-­‑Performance ¡Rou@ng ¡at ¡the ¡Nanometer ¡Scale ¡. ¡In ¡ICCAD, ¡pages ¡496– 502, ¡2007. ¡

l

[Xu11] ¡Y. ¡Xu ¡and ¡C. ¡Chu. ¡MGR: ¡Mul@-­‑Level ¡Global ¡Router. ¡In ¡ICCAD, ¡pages ¡250–255, ¡2011. ¡

l

[Hu11] ¡J. ¡Hu, ¡J. ¡A. ¡Roy, ¡and ¡I. ¡L. ¡Markov. ¡Comple@ng ¡High-­‑Quality ¡Global ¡Routes. ¡In ¡ISPD, ¡pages ¡35–41, ¡2010. ¡

l

[Dai09] ¡K.-­‑R. ¡Dai, ¡W.-­‑H. ¡Liu, ¡and ¡Y.-­‑L. ¡Li. ¡Efficient ¡Simulated ¡Evolu@on ¡Based ¡Rerou@ng ¡and ¡Conges@on-­‑Relaxed ¡ Layer ¡Assignment ¡on ¡3-­‑D ¡Global ¡Rou@ng. ¡In ¡ASPDAC, ¡pages ¡570–575, ¡2009. ¡

l

[Chu08] ¡C. ¡Chu ¡and ¡Y.-­‑C. ¡Wong. ¡FLUTE: ¡Fast ¡Lookup ¡Table ¡Based ¡Rec@linear ¡Steiner ¡Minimal ¡Tree ¡Algorithm ¡for ¡ VLSI ¡Design. ¡IEEE ¡TCAD, ¡27(1):257–268, ¡2008. ¡

l

[Kastner02] ¡R. ¡Kastner, ¡E. ¡Bozorgzadeh, ¡and ¡M. ¡Sarrafzadeh. ¡PaSern ¡Rou@ng: ¡Use ¡and ¡Theory ¡for ¡Increasing ¡ Predictability ¡and ¡Avoiding ¡Coupling ¡. ¡IEEE ¡TCAD, ¡21(7):777–790, ¡2002. ¡

l

[Nam05] ¡G.-­‑J. ¡Nam ¡et ¡al. ¡The ¡ISPD2005 ¡Placement ¡Contest ¡and ¡Benchmark ¡Suite. ¡In ¡ISPD, ¡pages ¡216–220, ¡

  • 2005. ¡

l

[Liu10] ¡W.-­‑H. ¡Liu, ¡W.-­‑C. ¡Kao, ¡Y.-­‑L. ¡Li, ¡and ¡K.-­‑Y. ¡Chao, ¡“Mul@-­‑Threaded ¡Collision-­‑Aware ¡Global ¡Rou@ng ¡with ¡ Bounded-­‑Length ¡Maze ¡Rou@ng”, ¡in ¡DAC, ¡2010. ¡

l

[Lee61] ¡C. ¡Y. ¡Lee. ¡An ¡Algorithm ¡for ¡Path ¡Connec@ons ¡and ¡Its ¡Applica@ons. ¡IRE-­‑EC, ¡10(2):346–358, ¡1961. ¡

03/05/2013 ISQED - 2013

22

slide-23
SLIDE 23

Ques@ons? ¡

03/05/2013 ISQED - 2013

23