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. ¡CSE, ¡UC ¡San ¡Diego ¡ 2 ¡Dept. ¡EIE, ¡The ¡Hong ¡Kong ¡Polytechnic ¡Univ. ¡ ISQED - 2013 1 03/05/2013
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
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
Problem ¡Formula@on ¡ l Huge ¡complexity ¡of ¡rou@ng ¡problem ¡ ¡ l Global ¡rou@ng ¡+ ¡detail ¡rou@ng ¡ l Decomposi@on ¡& ¡inter-‑gcell ¡rou@ng ¡ Global Cells (gcells) Gcells Cells Gedges Global Edges (gedges) Obj à à min. congestion and wirelength 03/05/2013 ISQED - 2013 4
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
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
Improvement ¡on ¡Memory ¡ n j1 n i1 memory demand n j2 n i2 e j ... ... e i n jk =n 1 n ik =n 1 v 0 v 1 v 0 v 1 n 2 v 2 v 2 v 3 v 3 v 4 v 4 v 6 v 6 v 5 v 5 v 7 v 7 Previous method Our method O(N) Memory N = size of net Zero Memory 03/05/2013 ISQED - 2013 7
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(N 2 ) ¡rou@ng ¡@me ¡cost ¡ l Rou@ng ¡@me ¡cost ¡ à à ¡O(N 2 ) ¡ l Need ¡to ¡search ¡over ¡all ¡grids ¡around ¡the ¡net ¡ l Other ¡methods ¡ à à ¡k×N 2 ¡(k ¡>> ¡1) ¡ l Hash ¡table ¡opera@on ¡cost ¡ l Other ¡data ¡structure ¡will ¡induce ¡higher ¡complexity ¡ l Our ¡method ¡ à à ¡exactly ¡N 2 ¡ l One ¡opera@on ¡ à à ¡color ¡checking ¡ 03/05/2013 ISQED - 2013 8
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
Topology ¡Corrup@on ¡– ¡Previous ¡Methods ¡ v 0 v 1 v 0 v 1 v 2 v 2 v 3 v 3 v 4 v 4 v 6 v 6 v 5 v 5 v 7 v 7 Congestion Problem v 0 v 1 v 0 v 1 v 2 v 2 v 3 v 3 v 4 v 4 v 6 v 6 v 5 v 5 v 7 v 7 03/05/2013 ISQED - 2013 10
Our ¡Solu@on ¡– ¡Dynamic ¡Topology ¡Update ¡ v 0 v 1 v 0 v 1 v' 6 v 2 v 3 v 3 v 4 v 4 v 6 v 6 v 5 v 5 v 7 v 7 v 0 v 1 v 0 v 1 v' 6 v' 6 v 2 v 2 v 3 v 3 v 4 v 4 v 5 v 5 v 7 v 7 03/05/2013 ISQED - 2013 11
Comparison ¡ Previous Methods Our Method v 0 v 1 v 0 v 1 v' 6 v 2 v 2 v 3 v 3 v 4 v 4 v 6 v 5 v 5 v 7 v 7 Improved routing congestion O(N) overhead on runtime (negligible) 03/05/2013 ISQED - 2013 12
Bending-‑Aware ¡Cost ¡Func@on ¡ cong len c c c routing cost on e i,j = + i , j i , j i , j ⎛ ⎞ ( ) ⎟ total cost of solution r i C c c IsBend e , e ∑ ⎜ ∑ ⎟ ʹ″ ʹ″ ʹ″ = + i u , v bnd ⎜ ⎝ ⎠ e r e , e r ʹ″ ʹ″ ʹ″ ∈ ∈ u , v i i ( ʹ″ e ) 1 ( ʹ″ e ) IsBend e , IsBend e , 0 ʹ″ ʹ″ ʹ″ ʹ″ = = e' e' e'' e' e'' e'' 03/05/2013 ISQED - 2013 13
Sub-‑Op@malitay ¡of ¡Lee ’ s ¡Algorithm ¡ [Lee61] ¡ e 2,3 g 0 e 0,2 g 2 g 3 ( ) ( ) ( ) ( ) ( ) ( ) c g c e c g c e ( ) ( ) c g c e c c g c e e 1,2 + < + + + > + 1 1 , 2 0 0 , 2 1 1 , 2 bnd 0 0 , 2 g 1 Actual solution for g 3 [Lee61] Another solution for g 3 C 3 =C 1 +c bnd +c 1,2 +c 2,3 e 2,3 e 2,3 e 0,2 g 0 e 0,2 g 2 g 2 g 3 g 3 g 0 C 3 ’=C 0 +c 0,2 +c 2,3 e 1,2 e 1,2 g 1 g 1 Sub-optimum Optimum 03/05/2013 ISQED - 2013 14
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
Our ¡Op@mum ¡Solu@on ¡ ¡ g 4 opt gedge (current) g 0 g 2 g 3 opt gedge (queued) opt gedge (new) sopt gedge (new) g 1 03/05/2013 ISQED - 2013 16
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
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
Rou@ng ¡Solu@on ¡Quality ¡ Capacity ¡Overflow ¡ 1.00E+05 ¡ NTHU2.0 ¡ 1.00E+04 ¡ NTUgr ¡ 1.00E+03 ¡ FastRoute3.0 ¡ 1.00E+02 ¡ FGR1.1 ¡ 1.00E+01 ¡ LMgr ¡ 1.00E+00 ¡ 4.00E+02 ¡ Wirelength ¡(10 6 ) ¡ NTHU2.0 ¡ 3.00E+02 ¡ NTUgr ¡ 2.00E+02 ¡ FastRoute3.0 ¡ FGR1.1 ¡ 1.00E+02 ¡ LMgr ¡ 0.00E+00 ¡ 1.00E+04 ¡ Run@me ¡(mins) ¡ 1.00E+03 ¡ NTHU2.0 ¡ NTUgr ¡ 1.00E+02 ¡ FastRoute3.0 ¡ 1.00E+01 ¡ FGR1.1 ¡ 1.00E+00 ¡ LMgr ¡ 03/05/2013 ISQED - 2013 19
Peak ¡Memory ¡Cost ¡ Peak ¡Memory ¡Cost ¡ ¡ 1.60E+01 NTHU2.0 (normalized ¡to ¡LMgr) NTUgr 8.00E+00 FastRoute3.0 FGR1.1 4.00E+00 LMgr 2.00E+00 1.00E+00 03/05/2013 ISQED - 2013 20
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
Recommend
More recommend