Renato Hentschke Jaganathan Narasimham Marcelo Johann Ricardo Reis Renato Hentschke Jaganathan...

Preview:

Citation preview

Renato HentschkeRenato HentschkeJaganathan NarasimhamJaganathan NarasimhamMarcelo JohannMarcelo JohannRicardo ReisRicardo Reis

Renato HentschkeRenato HentschkeJaganathan NarasimhamJaganathan NarasimhamMarcelo JohannMarcelo JohannRicardo ReisRicardo Reis

IBM - Thomas Watson RC jagan@us.ibm.com

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 jagan@us.ibm.com

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

Recommended