260 likes | 389 Views
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
E N D
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
Problem Formulation • A “good solution” minimizes – • – Crosstalk • – Total length of parallel net segments • – Number of vias • – Netlength – • square for “increased pressure” on • longer nets • – Network delays • Use user defined weights for the three
1 F = ω1 * lp + ω2 * vp + ω3 * pp Fitness Function [1] 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
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 [2] 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
F(x) ∑yЄP F(y) Selection • Roulette-wheel – Stochastic sampling with replacement • Probability of an individual x getting selected from population P is – Prob{x gets selected} = [3]
Crossover [1] • Uses single point crossover
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
Outperformed Results
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.
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