Renato Hentschke Jaganathan Narasimham Marcelo Johann Ricardo Reis Renato Hentschke Jaganathan Narasimham Marcelo Johann Ricardo Reis IBM - Thomas Watson RC Universidade Federal do Rio Grande do Sul ISPD 2007 Maze Routing Steiner Trees With Delay vs. Wire Length Trade-off
Where are the rest of us from? Porto Alegre RS - Brasil
Hentschke, Narasimhan, Johann, Reis - ISPD Austin, TX - US This work presents… AMAZE This work presents… AMAZE Let us start with a little… FAQ
Hentschke, Narasimhan, Johann, Reis - ISPD Austin, TX - US What is AMAZE? What is AMAZE? An algorithm for single net Steiner Tree construction that uses A* searches and trades-off WL for delay Can do both Actual Routing Tree Topologies
Hentschke, Narasimhan, Johann, Reis - ISPD Austin, TX - US In which context AMAZE fits in? In which context AMAZE fits in? Steiner Trees are used for estimation and perhaps global routing Maze Router is widely used for actual routing (global or detailed) Somewhere in the flow we decompose the nets by setting Steiner points or just forget our Steiner Trees and let the router run…
Hentschke, Narasimhan, Johann, Reis - ISPD Austin, TX - US What is the motivation? What is the motivation? Maze Router has a lot of potential: Net ordering can be aliviated by negotiation Speed can be improved (a lot) with A* searches and by tuning data structures Memory is not a concern for most applications Degrees of freedom can be exploited to get quality results, e.g., good Trees Keep Maze router’s nice properties
Hentschke, Narasimhan, Johann, Reis - ISPD Austin, TX - US How good can AMAZE be? How good can AMAZE be? What about: Within 2% from optimal Steiner Trees? From 26% to 40% improvement in delay compared to AHHK? From 1% to 30% improvement in delay compared to P-Trees? As fast as any heuristic Steiner Tree algorithm
Hentschke, Narasimhan, Johann, Reis - ISPD Austin, TX - US Is AMAZE a new algorithm at all? Is AMAZE a new algorithm at all? Hannan Grid Multiple src tgts Our Biasing Path Length factor Sharing factor Standard techniques: New Contributions Data Structures AMAZE A* search
Hentschke, Narasimhan, Johann, Reis - ISPD Austin, TX - US What not to expect from AMAZE? What not to expect from AMAZE? The main weaknesses are (currently): Cannot guarantee efficiency (speed) or quality (good trees) with costs that vary too much. Problem for global routing that has to model congestion We have not checked if early estimation matches actual routing if context changes
Hentschke, Narasimhan, Johann, Reis - ISPD Austin, TX - US Outline Outline 1.Delay and WL trade-off 2.Properties of A* 3.Creating Steiner Trees with A* 4.Improving Wirelenght 5.Improving Delay to critical sinks 6.Experimental results 7.Concluding remarks
Hentschke, Narasimhan, Johann, Reis - ISPD Austin, TX - US 1. Delay and WL trade-off MRSTMRSA BRSTStarCSA
Hentschke, Narasimhan, Johann, Reis - ISPD Austin, TX - US 2. Basics of A* Expand more promising nodes first, acording to: f(n) = g(n) + h(n) origingoal Intermediate searched space Complete Search g(n)h(n) Effect of better estimation (higher h)
Hentschke, Narasimhan, Johann, Reis - ISPD Austin, TX - US g= h= f = 1 g=0 h=3 f =3 7 g= h= f = 13 g= h= f = 2 g= h= f = 8 g= h= f = 14 g= h= f = 9 g= h= f = 6 Open List: 7 c=1c=2 c=1 g= h= f = 3 c=1c=2g= h= f = 15 c=1c=2g= h= f = 10 c=2g= h= f = 4 c=1c=2g= h= f = 11 c=1c=2 Non uniform costs
Hentschke, Narasimhan, Johann, Reis - ISPD Austin, TX - US g= h= f = 9 Open List: 8, 1, 13, 6 c=2g= h= f = 3 c=1c=2g= h= f = 15 c=1c=2g= h= f = 10 c=2g= h= f = 4 c=1c=2g= h= f = 11 c=1c=2g=1 h=4 f =5 1 g=0 h=3 f =3 7 g=1 h=4 f =5 13 g= h= f = 2 g=2 h=2 f =4 8 g= h= f = 14 g=1 h=5 f =5 6 c=1c=2c=1 Non uniform costs
Hentschke, Narasimhan, Johann, Reis - ISPD Austin, TX - US Open List: 1, 13, 6, 9, 2, 14 g= h= f = 10 c=2g= h= f = 4 c=1c=2g= h= f = 11 c=1c=2g=1 h=4 f =5 1 g=0 h=3 f =3 7 g=1 h=4 f =5 13 g=3 h=3 f =6 2 g=2 h=2 f =4 8 g=3 h=3 f =6 14 g=4 h=1 f =5 9 g=1 h=4 f =5 6 c=1c=2 c=1 g= h= f = 3 c=1c=2g= h= f = 15 c=1c=2 Non uniform costs
Hentschke, Narasimhan, Johann, Reis - ISPD Austin, TX - US g= h= f = 10 c=2g= h= f = 4 c=1c=2g= h= f = 11 c=1c=2g=4 h=1 f =5 9 c=2g= h= f = 3 c=1c=2g= h= f = 15 c=1c=2g=1 h=4 f =5 1 7 g=1 h=4 f =5 13 g=3 h=3 f =6 2 g=2 h=2 f =4 8 g=3 h=3 f =6 14 g=1 h=4 f =5 6 c=1c=2c=1 g=0 h=3 f =3 Open List: 1, 13, 6, 9, 2, 14Ties Non uniform costs
Hentschke, Narasimhan, Johann, Reis - ISPD Austin, TX - US g= h= f = 10 c=2g= h= f = 4 c=1c=2g= h= f = 11 c=1c=2g=4 h=1 f =5 9 c=2g= h= f = 3 c=1c=2g= h= f = 15 c=1c=2g=1 h=4 f =5 1 7 g=1 h=4 f =5 13 g=3 h=3 f =6 2 g=2 h=2 f =4 8 g=3 h=3 f =6 14 g=1 h=4 f =5 6 c=1c=2c=1 g=0 h=3 f =3 Open List: 1, 13, 6, 9, 2, 14 But not critical as f * = 6 Non uniform costs
Hentschke, Narasimhan, Johann, Reis - ISPD Austin, TX - US Open List: 13 g= h= f = 10 c=1g= h= f = 4 c=1 g= h= f = 11 c=1 g= h= f = 1 g= h= f = 7 g=0 h=4 f =4 13 g= h= f = 2 g= h= f = 8 g= h= f = 14 g= h= f = 9 g= h= f = 6 c=1 g= h= f = 3 c=1 g= h= f = 15 c=1 Uniform costs
Hentschke, Narasimhan, Johann, Reis - ISPD Austin, TX - US Open List: 14,7 g= h= f = 10 c=1g= h= f = 4 c=1 g= h= f = 11 c=1 g= h= f = 1 g=1 h=3 f =4 7 g=0 h=4 f =4 13 g= h= f = 2 g= h= f = 8 g=1 h=3 f =4 14 g= h= f = 9 g= h= f = 6 c=1 g= h= f = 3 c=1 g= h= f = 15 c=1 Critical Ties f(14) = f(7) = f *
Hentschke, Narasimhan, Johann, Reis - ISPD Austin, TX - US Open List: 15,8,7 g= h= f = 10 c=1g= h= f = 4 c=1 g= h= f = 11 c=1 g= h= f = 1 g=1 h=3 f =4 7 g=0 h=4 f =4 13 g= h= f = 2 g=2 h=2 f =4 8 g=1 h=3 f =4 14 g= h= f = 9 g= h= f = 6 c=1 g= h= f = 3 c=1 g=2 h=2 f =4 15 c=1 Can choose what you want
Hentschke, Narasimhan, Johann, Reis - ISPD Austin, TX - US Open List: 11,9,8,7 g= h= f = 10 c=1g= h= f = 4 c=1 g=3 h=1 f =4 11 c=1 g= h= f = 1 g=1 h=3 f =4 7 g=0 h=4 f =4 13 g=3 h=3 f =6 2 g=2 h=2 f =4 8 g=1 h=3 f =4 14 g=3 h=1 f =4 9 g= h= f = 6 c=1 g= h= f = 3 c=1 g=2 h=2 f =4 15 c=1 Nodes close to the target first worst best
Hentschke, Narasimhan, Johann, Reis - ISPD Austin, TX - US Open List: 15,7,2,3 Nodes close to the target first Only four nodes expanded g=4 h=0 f =4 10 c=1g= h= f = 4 c=1 g=3 h=1 f =4 11 c=1 g= h= f = 1 g=1 h=3 f =4 7 g=0 h=4 f =4 13 g=3 h=3 f =6 2 g=2 h=2 f =4 8 g=1 h=3 f =4 14 g=3 h=1 f =4 9 g= h= f = 6 c=1 g= h= f = 3 c=1 g=2 h=2 f =4 15 c=1
Hentschke, Narasimhan, Johann, Reis - ISPD Austin, TX - US g=4 h=0 f =4 10 c=1g= h= f = 4 c=1 g=3 h=1 f =4 11 c=1 g= h= f = 1 g=1 h=3 f =4 7 g=0 h=4 f =4 13 g=3 h=3 f =6 2 g=2 h=2 f =4 8 g=1 h=3 f =4 14 g=3 h=1 f =4 9 g= h= f = 6 c=1 g= h= f = 3 c=1 g=2 h=2 f =4 15 c=1 Open List: 15,7,2,3 But pay attention to: Degree of freedom
Hentschke, Narasimhan, Johann, Reis - ISPD Austin, TX - US g=4 h=0 f =4 10 c=1g= h= f = 4 c=1 g=3 h=1 f =4 11 c=1 g= h= f = 1 g=1 h=3 f =4 7 g=0 h=4 f =4 13 g=3 h=3 f =6 2 g=2 h=2 f =4 8 g=1 h=3 f =4 14 g=3 h=1 f =4 9 g= h= f = 6 c=1 g= h= f = 3 c=1 g=2 h=2 f =4 15 c=1 Open List: 15,7,2,3 But pay attention to: Degree of freedom
Hentschke, Narasimhan, Johann, Reis - ISPD Austin, TX - US g=4 h=0 f =4 10 c=1g= h= f = 4 c=1 g=3 h=1 f =4 11 c=1 g= h= f = 1 g=1 h=3 f =4 7 g=0 h=4 f =4 13 g=3 h=3 f =6 2 g=2 h=2 f =4 8 g=1 h=3 f =4 14 g=3 h=1 f =4 9 g= h= f = 6 c=1 g= h= f = 3 c=1 g=2 h=2 f =4 15 c=1 Open List: 15,7,2,3 But pay attention to: Degree of freedom
Hentschke, Narasimhan, Johann, Reis - ISPD Austin, TX - US Open List: 15,7 g= h= f = 10 c=1g= h= f = 4 c=1 g= h= f = 11 c=1 g= h= f = 1 g=1 h=3 f =4 7 g=0 h=4 f =4 13 g= h= f = 9 g= h= f = 6 c=1c=2c=1 c=2 g= h= f = 3 c=1g=2 h=2 f =4 15 c=1 With Hannan Grid Freedom was lost… unless
Hentschke, Narasimhan, Johann, Reis - ISPD Austin, TX - US Open List: 15,7 g= h= f = 10 c=1g= h= f = 4 c=1 g= h= f = 11 c=1 g= h= f = 1 g=1 h=3 f =4 7 g=0 h=4 f =4 13 g= h= f = 9 g= h= f = 6 c=1c=2c=1 c=2 g= h= f = 3 c=1g=2 h=2 f =4 15 c=1 With Hannan Grid We check number of steps
Hentschke, Narasimhan, Johann, Reis - ISPD Austin, TX - US Summary Simple ties f = fall expanded Critical ties f=f=f*break for efficiency Depth ties f=f=f* and g=gtrue freedom Stepped depth ties f=f=f* and s=s w/Hannan Net result: Best efficiency, freedom to chose the paths
Hentschke, Narasimhan, Johann, Reis - ISPD Austin, TX - US 3. Creating Steiner Trees with A* Sinks are added one by one Multiple Sourcesconnected tree Which target to connect next? Multiple Targetsselect the best accounts for blockages h function sees all sinks chosen target ct(n) used for speed First route all critical sinks (later on)
Hentschke, Narasimhan, Johann, Reis - ISPD Austin, TX - US Multi-pin nets Multiple sources and targets Sources: Targets: h Heuristic attracts search to closest node Formation of Trees
Hentschke, Narasimhan, Johann, Reis - ISPD Austin, TX - US Multi-pin nets Multiple sources and targets Sources: Targets: Formation of Trees
Hentschke, Narasimhan, Johann, Reis - ISPD Austin, TX - US Multi-pin nets Multiple sources and targets Sources: Targets: Formation of Trees
Hentschke, Narasimhan, Johann, Reis - ISPD Austin, TX - US Multi-pin nets Multiple sources and targets Sources: Targets: Formation of Trees
Hentschke, Narasimhan, Johann, Reis - ISPD Austin, TX - US Multi-pin nets Multiple sources and targets Sources: Targets: Formation of Trees
Hentschke, Narasimhan, Johann, Reis - ISPD Austin, TX - US Multi-pin nets Multiple sources and targets Sources: Targets: Formation of Trees
Hentschke, Narasimhan, Johann, Reis - ISPD Austin, TX - US Multi-pin nets Multiple sources and targets Sources: Targets: Formation of Trees
Hentschke, Narasimhan, Johann, Reis - ISPD Austin, TX - US Multi-pin nets Multiple sources and targets Routing is complete for this simple case… But other pin dispositions require expertise Formation of Trees
Hentschke, Narasimhan, Johann, Reis - ISPD Austin, TX - US Select targets with A* Sinks are added one by one Multiple Sourcesconnected tree Which target to connect next? Multiple Targetsselect the best accounts for blockages h function sees all sinks chosen target ct(n) used for speed First route all critical sinks (later on)
Hentschke, Narasimhan, Johann, Reis - ISPD Austin, TX - US Naturally handle blockages
Hentschke, Narasimhan, Johann, Reis - ISPD Austin, TX - US 4. Improving Wirelenght Share as many segments as possible Use decision points (freedom) to chose paths closer to other pins Performed by the biasing funcion called when stepped depth ties happen
Hentschke, Narasimhan, Johann, Reis - ISPD Austin, TX - US Biasing computation Improves WL by sharing as many paths as possible 1. Eliminate nodes behind target and parent node 2. And closer to the tree 3. Compute centroid 4. Take the closest node
Hentschke, Narasimhan, Johann, Reis - ISPD Austin, TX - US Effect of biasing AMAZE with biasing off AMAZE with biasing ON
Hentschke, Narasimhan, Johann, Reis - ISPD Austin, TX - US 5. Improving Delay to critical sinks Route them first Use repulsive biasing Sharing Factor Path Length Factor Use as little sharing as possible
Hentschke, Narasimhan, Johann, Reis - ISPD Austin, TX - US Sharing factor Only for critical
Hentschke, Narasimhan, Johann, Reis - ISPD Austin, TX - US Path lenght factor Makes shortest paths from the source to the sinks Only for critical
Hentschke, Narasimhan, Johann, Reis - ISPD Austin, TX - US 6. Experimental results Average of 100 randomly generated nets
Hentschke, Narasimhan, Johann, Reis - ISPD Austin, TX - US Experimental results Average of 100 randomly generated nets
Hentschke, Narasimhan, Johann, Reis - ISPD Austin, TX - US Sample Trees
Hentschke, Narasimhan, Johann, Reis - ISPD Austin, TX - US Blockage Analysis
Hentschke, Narasimhan, Johann, Reis - ISPD Austin, TX - US Sample Trees P-TreesAMAZE
Hentschke, Narasimhan, Johann, Reis - ISPD Austin, TX - US Trade-off ranges
Hentschke, Narasimhan, Johann, Reis - ISPD Austin, TX - US 7. Concluding remarks Steiner Trees within 2% from optimal Savings of up to 40% in delay / AHHK Savings of up to 30% in delay / P-Trees Wider trade-off ranges for delay and WL Handle blockages better than competitors Flexibility and Speed Application: play with factors and get the best
Hentschke, Narasimhan, Johann, Reis - ISPD Austin, TX - US Questions? downtown Porto Alegre
Maze Routing Steiner Trees With Delay vs. Wire Length Trade-off Renato Hentschke Jaganathan Narasimham Marcelo Johann Ricardo Reis Renato Hentschke Jaganathan Narasimham Marcelo Johann Ricardo Reis IBM - Thomas Watson RC Universidade Federal do Rio Grande do Sul ISPD 2007 Thank you!
Hentschke, Narasimhan, Johann, Reis - ISPD Austin, TX - US 3.2 Princípios da Pesquisa 3.2 Princípios da Pesquisa A partir de s, formar uma árvore de pesquisa pela aplicação repetitiva do operador de sucessão Um nodo é expandido quando se aplica a operação de sucessão sobre ele (o nodo se torna fechado) Um nodo é gerado quando é retornado pela operação de sucessão (o nodo se torna aberto) v1 v2 v3 v4 v5 v6 v7 v8 v9 s t v0 v5 v1 v6 v3 v8 v7 v9 v2 v4 admissibility
Hentschke, Narasimhan, Johann, Reis - ISPD Austin, TX - US Notação Notação s, t - source and target nodes k(n1,n2) - estimativa entre n1 e n2 k*(n1,n2) - custo real entre n1 e n2 h(n) = k(n,t) h*(n) = k*(n,t) g*(n) = k*(s,n) P a-b = caminho de a até b P a-b * = caminho ótimo de a até b f*(n) = custo de P s-n * P n-t * (passando por n)
Hentschke, Narasimhan, Johann, Reis - ISPD Austin, TX - US Propriedades em pesquisa heurística Propriedades em pesquisa heurística *Admissibilidade (*): custo de n a t h(n) garante menor caminho Consistência: k(n1,n2) + k(n2,n3) k(n1,n3) só expande nodos com custo mínimo conhecido: n1n1 n2n2 n3n3 k(n 1,n 2 ) k(n 2,n 3 ) k(n 1,n 3 ) t n h(n) Menor caminho de n a t g(n) = g*(n)
Hentschke, Narasimhan, Johann, Reis - ISPD Austin, TX - US Propriedades do Algoritmo A* Propriedades do Algoritmo A* Continuidade - sempre existe nodo P s-t *. Perfeição - A* não entra em loop. Admissibilidade - A* encontra caminho ótimo. Condição suficiente para expansão - f(n) < P s-t *. Condição necessária para expansão - f(n) P s-t *. Indeterminismo em empates críticos - biasing. Monotonia - se n 2 é expandido depois de n 1 então f(n 2 ) f(n 1 ). Dominância - A* mais informado expande menos. Excelência - A* ótimo entre unidirecionais informados quando heurística é consistente e sem empates críticos.
Hentschke, Narasimhan, Johann, Reis - ISPD Austin, TX - US Open List: 13 g= h= f = 10 c=1g= h= f = 4 c=1 g= h= f = 11 c=1 g=1 h=4 f =5 1 g=0 h=3 f =3 7 g=0 h=4 f =4 13 g=2 h=3 f =5 2 g=1 h=2 f =3 8 g=3 h=3 f =6 14 g=2 h=1 f =3 9 g=1 h=4 f =5 6 c=1 g= h= f = 3 c=1 g= h= f = 15 c=1