A Parallel Genetic Algorithm For Performance-Driven VLSI Routing By Jens Lienig

Preview:

DESCRIPTION

A Parallel Genetic Algorithm For Performance-Driven VLSI Routing By Jens Lienig Tanner Research, Inc. Ashutosh Nagle. Why this paper?. Paper on parallel GA – The Requirement Lets understand GA part without knowing too much of domain specifics - PowerPoint PPT Presentation

Citation preview

A Parallel Genetic Algorithm For Performance-Driven VLSI Routing

By

Jens Lienig

Tanner Research, Inc.

Ashutosh Nagle

Why this paper?

• Paper on parallel GA – The Requirement • Lets understand GA part without knowing too

much of domain specifics• Claims to be the first paper that considered

crosstalk – a performance parameter in VLSI

• Still a negative point – Gauges performance more by VLSI parameters than parallelism – true with most papers

Problem Description

• Groups of pins – called nets.

• Pins of a net to be connected together.

• No two of different nets connected together.

Sample Solution[1]

A good solution

Is the one that minimizes

– Crosstalk

– Network delays

Issues and Influencing Factors

• Issues in generating a routing solution– Pins very closely located Crosstalk– Electrical delays smaller the better

• Factors– Crosstalk – depends on the total length of

parallel segments of different nets– Network delays

• Number of joints – vias• Total length of connection – netlength

– Number of vias

– Netlength – square for “increased pressure” on longer nets

– Total length of parallel net segments

Problem Formulation

• A “good solution” minimizes –

– Crosstalk

– Network delays

• Use user defined weights for the three

Fitness Function

ω1 * lp + ω2 * vp + ω3 * pp

1F =

Lp= Netlength as sum of quadratic function of the length of each net

vp = Number of vias

Pp = Sum of lengths of parallel net segments

ω 1, ω 2, ω3 = User defined weights

[1]

Algorithm – Characteristics

• Population is comprised of possible routing solutions

• Topology – torus with 8 SPARC workstations• Uses stepping stone model – Migration only with

neighbors• Selection – Roulette-wheel• 1 bit crossover• Uses mutation• Migration after configurable number of

generations

Algorithm Details – Encoding

G (x, y, z) = j

j = 0 Point is unoccupied

j positive Point occupied by net j

j negative point is a pin of net j and so can not be moved

[2]

Selection

• Roulette-wheel – Stochastic sampling with replacement– Probability of an individual x getting selected

from population P is –

Prob{x gets selected} =F(x)

∑yЄP F(y)

[3]

Crossover

• Uses single point crossover

[1]

Mutation

•Random Mutation

-A rectangle of random size width × height around a random center (x, y, z) is selected and all connections in it are erased.

- The connections are reestablished randomly

Reduction

• Subpopulation size = 50

• Number of offspring = 20

• Fittest 50 go to the next generation

• Advantages:– Size of subpopulation maintained – “Good” individuals of previous generations

survive in subsequent ones

Results

Time Taken

0

500

1000

1500

2000

2500

YKBDC

J6_1

2

J6_1

3

J6_1

6

J6_1

7PS

BDS DSADS

Benchmark Problems

Tim

e in

sec

on

ds

Sequential

GAP

Outperformed

Results – With No Migration

VLSI Score

0

2

4

6

8

10

BDC J6_13 J6_16 J6_17 PS

Benchmark Problems

Sco

re Sequential

Parallel

Results – With Epoch 25Gen.VLSI Score

0

1

2

3

45

6

7

8

9

BDC J6_13 J6_16 J6_17 PS

Benchmark Problems

Sc

ore

Sequential

2 Migrants

4 Migrants

6 Migrants

Results – With Epoch 50Gen.

VLSI Score

0123456789

BDC J6_13 J6_16 J6_17 PS

Benchmark Problems

Sco

re

Sequential

2 Migrants

4 Migrants

6 Migrants

Results – With Epoch 75Gen.VLSI Score

0123456789

J6_13 J6_16 J6_17 PS

Benchmark Problems

Sco

re

Sequential

2 Migrants

4 Migrants

6 Migrants

Conclusion

The paper proposes an effective way of applying parallel genetic algorithm to VLSI routing problem, but does not give detailed comparison of parallel and sequential algorithms as far as time is concerned.

References

• [1] J. Lienig, “A Parallel Genetic Algorithm for Performance-Driven VLSI Routing”, IEEE Transactions on Evolutionary Computation, 1997.

• [2] J . Lienig and Thulasiraman, “A Genetic Algorithm for Channel Routing in VLSI Circuits”, Evolutionary Computation, vol. 1, no. 4, 1994.

• [3] D. E. Goldberg, Genetic Algorithms in Search, Optimization, and Machine Learning, Reading, MA: Addison-Wesley, 1989.

• Questions?

Random solution generation[2]

Abbreviations:

• GAP = Genetic Algorithm – Parallel;• YK =Yoshimura-Kuh Channel; • BDC = Burstein’s Difficult Channel; • J6_12 = Joo6_12;• J6_13 = Joo6_13; • J6_16 = Joo6_16; • J6_17 = Joo6_17; • PS = Pedagogical Switchbox;• BDS = Burstein’s Difficult Switchbox; • DS = Dense Switchbox; • ADS = Augmented Dense Switchbox.

Sequential Algorithms

• WEAVER

• Yosh.-Kuh

• PACKER

• SAR

• Monreale

• Silk

• BEAVER

Notes

• Best results with

• W1 = 1.0

• W2 = 2.0

• W3 = 1.0– Other w3 values – 0.01 and 4.0

Recommended