Renato Hentschke Jaganathan Narasimham Marcelo Johann Ricardo Reis Renato Hentschke Jaganathan...
-
Upload
george-simmons -
Category
Documents
-
view
216 -
download
0
Transcript of Renato Hentschke Jaganathan Narasimham Marcelo Johann Ricardo Reis Renato Hentschke Jaganathan...
Renato HentschkeRenato HentschkeJaganathan NarasimhamJaganathan NarasimhamMarcelo JohannMarcelo JohannRicardo ReisRicardo Reis
Renato HentschkeRenato HentschkeJaganathan NarasimhamJaganathan NarasimhamMarcelo JohannMarcelo JohannRicardo ReisRicardo Reis
IBM - Thomas Watson RC [email protected]
Universidade Federal do Rio Grande do Sul{renato,johann,reis}@inf.ufrgs.br
ISPD 2007ISPD 2007ISPD 2007ISPD 2007
Maze Routing Steiner Trees Maze Routing Steiner Trees With Delay vs. Wire Length With Delay vs. Wire Length
Trade-offTrade-off
Maze Routing Steiner Trees Maze Routing Steiner Trees With Delay vs. Wire Length With Delay vs. Wire Length
Trade-offTrade-off
Where are the rest of us from?
Porto Alegre RS - Brasil
Hentschke, Narasimhan, Johann, Reis - ISPD 2007 - Austin, TX - US
This work presents…This work presents… AMAZE AMAZE
Let us start with a little…
FAQ
Hentschke, Narasimhan, Johann, Reis - ISPD 2007 - Austin, TX - US
What isWhat is AMAZE AMAZE??
An algorithm for
• single net Steiner Tree construction
• that uses A* searches
• and trades-off WL for delay
Can do bothCan do both
Actual RoutingActual Routing
Tree TopologiesTree Topologies
Hentschke, Narasimhan, Johann, Reis - ISPD 2007 - Austin, TX - US
In which context In which context AMAZEAMAZE fits in? 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 2007 - 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 2007 - Austin, TX - US
How good can How good can AMAZEAMAZE be? 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 2007 - Austin, TX - US
Is Is AMAZEAMAZE a new algorithm at all? a new algorithm at all?
Hannan GridHannan Grid
Multiple src tgtsMultiple src tgts
Our BiasingOur Biasing
Path Length factorPath Length factor
Sharing factorSharing factor
Standard techniques:Standard techniques: New ContributionsNew Contributions
Data StructuresData Structures
AM
AZ
EA
MA
ZEA* searchA* search
Hentschke, Narasimhan, Johann, Reis - ISPD 2007 - Austin, TX - US
What not to expect from What not to expect from AMAZEAMAZE??
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 2007 - Austin, TX - US
OutlineOutline
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 2007 - Austin, TX - US
1. Delay and WL trade-offMRST MRSA
BRST Star CSA
Hentschke, Narasimhan, Johann, Reis - ISPD 2007 - Austin, TX - US
2. Basics of A*
Expand more promising nodes
first, acording to:
f(n) = g(n) + h(n)
origin goal
Intermediate searched space
Complete Search
g(n) h(n)
Effect of better Effect of better estimation estimation (higher h)(higher h)
Hentschke, Narasimhan, Johann, Reis - ISPD 2007 - Austin, TX - US
g=h=f =
1
g=0h=3f =3
7
g=h=f =
13
g=h=f =
2
g=h=f =
8
g=h=f =
14
g=h=f =
9g=h=f =
6
Open List:7
c=1 c=2 c=2
c=1
c=1
c=1
c=1
c=1
c=1
g=h=f =
3
c=1
c=2
g=h=f =
15
c=1
c=2
g=h=f =
10
c=2
g=h=f =
4
c=1
c=2
g=h=f =
11
c=1
c=2
Non uniform costs
Hentschke, Narasimhan, Johann, Reis - ISPD 2007 - Austin, TX - US
g=h=f =
9
Open List:8, 1, 13, 6
c=2
g=h=f =
3
c=1
c=2
g=h=f =
15
c=1
c=2
g=h=f =
10
c=2
g=h=f =
4
c=1
c=2
g=h=f =
11
c=1
c=2
g=1h=4f =5
1
g=0h=3f =3
7
g=1h=4f =5
13
g=h=f =
2
g=2h=2f =4
8
g=h=f =
14
g=1h=5f =5
6
c=1 c=2
c=1
c=1
c=1
c=1
c=1
c=1
Non uniform costs
Hentschke, Narasimhan, Johann, Reis - ISPD 2007 - Austin, TX - US
Open List:1, 13, 6, 9, 2, 14
g=h=f =
10
c=2
g=h=f =
4
c=1
c=2
g=h=f =
11
c=1
c=2
g=1h=4f =5
1
g=0h=3f =3
7
g=1h=4f =5
13
g=3h=3f =6
2
g=2h=2f =4
8
g=3h=3f =6
14
g=4h=1f =5
9g=1h=4f =5
6
c=1 c=2 c=2
c=1
c=1
c=1
c=1
c=1
c=1
g=h=f =
3
c=1
c=2
g=h=f =
15
c=1
c=2
Non uniform costs
Hentschke, Narasimhan, Johann, Reis - ISPD 2007 - Austin, TX - US
g=h=f =
10
c=2
g=h=f =
4
c=1
c=2
g=h=f =
11
c=1
c=2
g=4h=1f =5
9
c=2
g=h=f =
3
c=1
c=2
g=h=f =
15
c=1
c=2
g=1h=4f =5
1
7
g=1h=4f =5
13
g=3h=3f =6
2
g=2h=2f =4
8
g=3h=3f =6
14
g=1h=4f =5
6
c=1 c=2
c=1
c=1
c=1
c=1
c=1
c=1
g=0h=3f =3
Open List:1, 13, 6, 9, 2, 14
TiesTies
Non uniform costs
Hentschke, Narasimhan, Johann, Reis - ISPD 2007 - Austin, TX - US
g=h=f =
10
c=2
g=h=f =
4
c=1
c=2
g=h=f =
11
c=1
c=2
g=4h=1f =5
9
c=2
g=h=f =
3
c=1
c=2
g=h=f =
15
c=1
c=2
g=1h=4f =5
1
7
g=1h=4f =5
13
g=3h=3f =6
2
g=2h=2f =4
8
g=3h=3f =6
14
g=1h=4f =5
6
c=1 c=2
c=1
c=1
c=1
c=1
c=1
c=1
g=0h=3f =3
Open List:1, 13, 6, 9, 2, 14 But not critical as f * = 6But not critical as f * = 6But not critical as f * = 6But not critical as f * = 6
Non uniform costs
Hentschke, Narasimhan, Johann, Reis - ISPD 2007 - Austin, TX - US
Open List:13
g=h=f =
10
c=1
g=h=f =
4
c=1
c=1
g=h=f =
11
c=1
c=1
g=h=f =
1
g=h=f =
7
g=0h=4f =4
13
g=h=f =
2
g=h=f =
8
g=h=f =
14
g=h=f =
9g=h=f =
6
c=1 c=1 c=1
c=1
c=1
c=1
c=1
c=1
c=1
g=h=f =
3
c=1
c=1
g=h=f =
15
c=1
c=1
Uniform costs
Hentschke, Narasimhan, Johann, Reis - ISPD 2007 - Austin, TX - US
Open List:14,7
g=h=f =
10
c=1
g=h=f =
4
c=1
c=1
g=h=f =
11
c=1
c=1
g=h=f =
1
g=1h=3f =4
7
g=0h=4f =4
13
g=h=f =
2
g=h=f =
8
g=1h=3f =4
14
g=h=f =
9g=h=f =
6
c=1 c=1 c=1
c=1
c=1
c=1
c=1
c=1
c=1
g=h=f =
3
c=1
c=1
g=h=f =
15
c=1
c=1
Critical Ties
f(14) = f(7) = f * f(14) = f(7) = f * f(14) = f(7) = f * f(14) = f(7) = f *
Hentschke, Narasimhan, Johann, Reis - ISPD 2007 - Austin, TX - US
Open List:15,8,7
g=h=f =
10
c=1
g=h=f =
4
c=1
c=1
g=h=f =
11
c=1
c=1
g=h=f =
1
g=1h=3f =4
7
g=0h=4f =4
13
g=h=f =
2
g=2h=2f =4
8
g=1h=3f =4
14
g=h=f =
9g=h=f =
6
c=1 c=1 c=1
c=1
c=1
c=1
c=1
c=1
c=1
g=h=f =
3
c=1
c=1
g=2h=2f =4
15
c=1
c=1
Can choose what you want
Hentschke, Narasimhan, Johann, Reis - ISPD 2007 - Austin, TX - US
Open List:11,9,8,7
g=h=f =
10
c=1
g=h=f =
4
c=1
c=1
g=3h=1f =4
11
c=1
c=1
g=h=f =
1
g=1h=3f =4
7
g=0h=4f =4
13
g=3h=3f =6
2
g=2h=2f =4
8
g=1h=3f =4
14
g=3h=1f =4
9g=h=f =
6
c=1 c=1 c=1
c=1
c=1
c=1
c=1
c=1
c=1
g=h=f =
3
c=1
c=1
g=2h=2f =4
15
c=1
c=1
Nodes close to the target first
worst
best
Hentschke, Narasimhan, Johann, Reis - ISPD 2007 - Austin, TX - US
Open List:15,7,2,3
Nodes close to the target first
Only four nodes expanded Only four nodes expanded
g=4h=0f =4
10
c=1
g=h=f =
4
c=1
c=1
g=3h=1f =4
11
c=1
c=1
g=h=f =
1
g=1h=3f =4
7
g=0h=4f =4
13
g=3h=3f =6
2
g=2h=2f =4
8
g=1h=3f =4
14
g=3h=1f =4
9g=h=f =
6
c=1 c=1 c=1
c=1
c=1
c=1
c=1
c=1
c=1
g=h=f =
3
c=1
c=1
g=2h=2f =4
15
c=1
c=1
Hentschke, Narasimhan, Johann, Reis - ISPD 2007 - Austin, TX - US
g=4h=0f =4
10
c=1
g=h=f =
4
c=1
c=1
g=3h=1f =4
11
c=1
c=1
g=h=f =
1
g=1h=3f =4
7
g=0h=4f =4
13
g=3h=3f =6
2
g=2h=2f =4
8
g=1h=3f =4
14
g=3h=1f =4
9g=h=f =
6
c=1 c=1 c=1
c=1
c=1
c=1
c=1
c=1
c=1
g=h=f =
3
c=1
c=1
g=2h=2f =4
15
c=1
c=1
Open List:15,7,2,3
But pay attention to:
Degree of freedomDegree of freedom
Hentschke, Narasimhan, Johann, Reis - ISPD 2007 - Austin, TX - US
g=4h=0f =4
10
c=1
g=h=f =
4
c=1
c=1
g=3h=1f =4
11
c=1
c=1
g=h=f =
1
g=1h=3f =4
7
g=0h=4f =4
13
g=3h=3f =6
2
g=2h=2f =4
8
g=1h=3f =4
14
g=3h=1f =4
9g=h=f =
6
c=1 c=1 c=1
c=1
c=1
c=1
c=1
c=1
c=1
g=h=f =
3
c=1
c=1
g=2h=2f =4
15
c=1
c=1
Open List:15,7,2,3
But pay attention to:
Degree of freedomDegree of freedom
Hentschke, Narasimhan, Johann, Reis - ISPD 2007 - Austin, TX - US
g=4h=0f =4
10
c=1
g=h=f =
4
c=1
c=1
g=3h=1f =4
11
c=1
c=1
g=h=f =
1
g=1h=3f =4
7
g=0h=4f =4
13
g=3h=3f =6
2
g=2h=2f =4
8
g=1h=3f =4
14
g=3h=1f =4
9g=h=f =
6
c=1 c=1 c=1
c=1
c=1
c=1
c=1
c=1
c=1
g=h=f =
3
c=1
c=1
g=2h=2f =4
15
c=1
c=1
Open List:15,7,2,3
But pay attention to:
Degree of freedomDegree of freedom
Hentschke, Narasimhan, Johann, Reis - ISPD 2007 - Austin, TX - US
Open List:15,7
g=h=f =
10
c=1
g=h=f =
4
c=1
c=1
g=h=f =
11
c=1
c=1
g=h=f =
1
g=1h=3f =4
7
g=0h=4f =4
13
g=h=f =
9g=h=f =
6
c=1 c=2
c=1
c=1
c=2
c=2
g=h=f =
3
c=1
g=2h=2f =4
15
c=1
With Hannan Grid
Freedom was lost… unless Freedom was lost… unless
Hentschke, Narasimhan, Johann, Reis - ISPD 2007 - Austin, TX - US
Open List:15,7
g=h=f =
10
c=1
g=h=f =
4
c=1
c=1
g=h=f =
11
c=1
c=1
g=h=f =
1
g=1h=3f =4
7
g=0h=4f =4
13
g=h=f =
9g=h=f =
6
c=1 c=2
c=1
c=1
c=2
c=2
g=h=f =
3
c=1
g=2h=2f =4
15
c=1
With Hannan Grid
We check number of stepsWe check number of steps
Hentschke, Narasimhan, Johann, Reis - ISPD 2007 - Austin, TX - US
Summary
Simple ties f = f all expanded
Critical ties f=f=f* break for efficiency
Depth ties f=f=f* and g=g true 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 2007 - Austin, TX - US
3. Creating Steiner Trees with A*
Sinks are added one by one
Multiple Sources connected tree
Which target to connect next?
Multiple Targets select the best
accounts for blockages
h function sees all sinks
chosen target ct(n) used for speed
First route all critical sinks (later on)First route all critical sinks (later on)
Hentschke, Narasimhan, Johann, Reis - ISPD 2007 - Austin, TX - US
Multi-pin nets
Multiple sourcesand targets
Sources:
Targets:
h
Heuristic attracts search to closest
node
Formation of Trees
Hentschke, Narasimhan, Johann, Reis - ISPD 2007 - Austin, TX - US
Multi-pin nets
Multiple sourcesand targets
Sources:
Targets:
Formation of Trees
Hentschke, Narasimhan, Johann, Reis - ISPD 2007 - Austin, TX - US
Multi-pin nets
Multiple sourcesand targets
Sources:
Targets:
Formation of Trees
Hentschke, Narasimhan, Johann, Reis - ISPD 2007 - Austin, TX - US
Multi-pin nets
Multiple sourcesand targets
Sources:
Targets:
Formation of Trees
Hentschke, Narasimhan, Johann, Reis - ISPD 2007 - Austin, TX - US
Multi-pin nets
Multiple sourcesand targets
Sources:
Targets:
Formation of Trees
Hentschke, Narasimhan, Johann, Reis - ISPD 2007 - Austin, TX - US
Multi-pin nets
Multiple sourcesand targets
Sources:
Targets:
Formation of Trees
Hentschke, Narasimhan, Johann, Reis - ISPD 2007 - Austin, TX - US
Multi-pin nets
Multiple sourcesand targets
Sources:
Targets:
Formation of Trees
Hentschke, Narasimhan, Johann, Reis - ISPD 2007 - Austin, TX - US
Multi-pin nets
Multiple sourcesand targets
Routing is complete for this simple case…
But other pin dispositions
require expertise
But other pin dispositions
require expertise
Formation of Trees
Hentschke, Narasimhan, Johann, Reis - ISPD 2007 - Austin, TX - US
Select targets with A*
Sinks are added one by one
Multiple Sources connected tree
Which target to connect next?
Multiple Targets select the best
accounts for blockages
h function sees all sinks
chosen target ct(n) used for speed
First route all critical sinks (later on)First route all critical sinks (later on)
Hentschke, Narasimhan, Johann, Reis - ISPD 2007 - Austin, TX - US
Naturally handle blockages
Hentschke, Narasimhan, Johann, Reis - ISPD 2007 - 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 2007 - 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 2007 - Austin, TX - US
Effect of biasing
AMAZE with biasing off
AMAZE with biasing ON
Hentschke, Narasimhan, Johann, Reis - ISPD 2007 - 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 2007 - Austin, TX - US
Sharing factor Only for critical
Hentschke, Narasimhan, Johann, Reis - ISPD 2007 - Austin, TX - US
Path lenght factor
Makes shortest paths from the source to the sinks
Only for critical
Hentschke, Narasimhan, Johann, Reis - ISPD 2007 - Austin, TX - US
6. Experimental results
Average of 100 randomly generated nets
Hentschke, Narasimhan, Johann, Reis - ISPD 2007 - Austin, TX - US
Experimental results
Average of 100 randomly generated nets
Hentschke, Narasimhan, Johann, Reis - ISPD 2007 - Austin, TX - US
Sample Trees
Hentschke, Narasimhan, Johann, Reis - ISPD 2007 - Austin, TX - US
Blockage Analysis
Hentschke, Narasimhan, Johann, Reis - ISPD 2007 - Austin, TX - US
Sample Trees
P-Trees AMAZE
Hentschke, Narasimhan, Johann, Reis - ISPD 2007 - Austin, TX - US
Trade-off ranges
Hentschke, Narasimhan, Johann, Reis - ISPD 2007 - 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 2007 - Austin, TX - US
QuickTime™ and aTIFF (LZW) decompressor
are needed to see this picture.
Questions? downtown Porto Alegre Questions? downtown Porto Alegre
Maze Routing Steiner Trees Maze Routing Steiner Trees With Delay vs. Wire Length With Delay vs. Wire Length
Trade-offTrade-off
Maze Routing Steiner Trees Maze Routing Steiner Trees With Delay vs. Wire Length With Delay vs. Wire Length
Trade-offTrade-off
Renato HentschkeRenato HentschkeJaganathan NarasimhamJaganathan NarasimhamMarcelo JohannMarcelo JohannRicardo ReisRicardo Reis
Renato HentschkeRenato HentschkeJaganathan NarasimhamJaganathan NarasimhamMarcelo JohannMarcelo JohannRicardo ReisRicardo Reis
IBM - Thomas Watson RC [email protected]
Universidade Federal do Rio Grande do Sul{renato,johann,reis}@inf.ufrgs.br
ISPD 2007ISPD 2007ISPD 2007ISPD 2007
Thank you!Thank you!Thank you!Thank you!
Hentschke, Narasimhan, Johann, Reis - ISPD 2007 - Austin, TX - US
3.23.2 Princípios da Pesquisa 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
v2v3
v4
v5
v6
v7
v8
v9s t
v0
v5
v1 v6
v3v8
v7v9v2
v4admissibility
Hentschke, Narasimhan, Johann, Reis - ISPD 2007 - Austin, TX - US
NotaçãoNotaçã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)
Pa-b = caminho de a até b
Pa-b* = caminho ótimo de a até b
f*(n) = custo de Ps-n* Pn-t* (passando por n)
Hentschke, Narasimhan, Johann, Reis - ISPD 2007 - Austin, TX - US
Propriedades em pesquisa heurísticaPropriedades 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:
n1
n2
n3k(n1,n2)
k(n2,n3)
k(n1,n3)
tn
h(n)
Menor caminho de n a t
g(n) = g*(n)
Hentschke, Narasimhan, Johann, Reis - ISPD 2007 - Austin, TX - US
Propriedades do Algoritmo A*Propriedades do Algoritmo A*
• Continuidade - sempre existe nodo Ps-t* .• Perfeição - A* não entra em loop.• Admissibilidade - A* encontra caminho ótimo.
• Condição suficiente para expansão - f(n) < Ps-t* .• Condição necessária para expansão - f(n) Ps-t* .• Indeterminismo em empates críticos - biasing.
• Monotonia - se n2 é expandido depois de n1 então f(n2) f(n1 ).
• 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 2007 - Austin, TX - US
Open List:13
g=h=f =
10
c=1
g=h=f =
4
c=1
c=1
g=h=f =
11
c=1
c=1
g=1h=4f =5
1
g=0h=3f =3
7
g=0h=4f =4
13
g=2h=3f =5
2
g=1h=2f =3
8
g=3h=3f =6
14
g=2h=1f =3
9g=1h=4f =5
6
c=1 c=1 c=1
c=1
c=1
c=1
c=1
c=1
c=1
g=h=f =
3
c=1
c=1
g=h=f =
15
c=1
c=1