ebook img

An Investigation of Parallel Methods for VLSI Circuit Partitioning Edward Armstrong PDF

128 Pages·2013·3.38 MB·English
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview An Investigation of Parallel Methods for VLSI Circuit Partitioning Edward Armstrong

An Investigation of Parallel Methods for VLSI Circuit Partitioning by Edward Armstrong A Thesis Presented to The University of Guelph In partial fulfilment of requirements for the degree of Master of Science in Computer Science Guelph, Ontario, Canada (cid:13)c Edward Armstrong, December, 2013 ABSTRACT An Investigation of Parallel Methods for VLSI Circuit Partitioning Edward Armstrong Advisor: University of Guelph, 2013 Professor G. Gr´ewal Today, VLSI design involves millions of components, the performance of which is sensi- tive to design time decisions. CAD software — which must be both computationally fast, and able to produce near optimal solutions — is used to handle the growing complexity of VLSI design. Utilizing modern commodity hardware, this Thesis empirically examines parallel meth- ods for finding solutions to the VLSI Circuit Partitioning problem. We combine parallel methods with the Fidducia-Mattheyses, Memetic Algorithm, and Scatter Search advanced search techniques to find near optimal solutions in a reasonable amount of time. Weexamineatotalninealgorithms,threesequential,andsixparallel,todeterminetheir effect on solution quality, and runtime. We developed both a Memetic Algorithm, and a Scatter Search algorithm for this investigation, and utilized two parallelization techniques, a Master-Slave design and a Multi-Walk design which implements migration. Experimental results indicate that our parallel techniques give competitive results that are suitable for VLSI design. Acknowledgements I would like to thank my advisor, Dr. Gary Grewal, for the countless time he has spent assistingmewiththeprocessofeditingmythesis,andtirelesslyguidingmethroughoutboth my undergraduate and masters degree. I would also like to thank Dr. William Gardner for patiently assisting me as part of my advisory committee. Also, gratitude is extended to the examination committee members, Dr. Deborah Stacey and Dr. Dilip Banerji. IwouldalsoliketothankStacie, forsupportingmethroughtherevisionprocess, andfor pretending to understand me when I would attempt to explain my research to her. Also, to all my peers at the University of Guelph for listening to my ramblings about hypergraphs and the merits of evolutionary algorithms. iii Contents 1 Introduction 1 1.1 Circuit-Partitioning Motivation . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2 The Circuit-Partitioning Problem . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3 Motivation for Parallelism . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.3.1 Research Question . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.4 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.5 Thesis Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2 Background 7 2.1 Exact Search Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.2 Heuristic Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.2.1 Iterative Heuristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.3 Fiduccia-Mattheyses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.3.1 Gain Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.3.2 Lookahead Level Gain . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.3.3 Bucket List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 iv 2.3.4 Updating Gain Values . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.4 Metaheuristic Search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.5 Simulated Annealing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.6 Tabu Search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.7 Genetic Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.7.1 Solution Representation . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.7.2 Genetic Algorithm Overview . . . . . . . . . . . . . . . . . . . . . . 25 2.7.3 Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 2.7.4 Crossover . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 2.7.5 Mutation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 2.7.6 Population Swap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 2.8 Memetic Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 2.9 Scatter Search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.9.1 Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.9.2 Initial Population Generation . . . . . . . . . . . . . . . . . . . . . . 36 2.9.3 Improvement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 2.9.4 Reference Set Update . . . . . . . . . . . . . . . . . . . . . . . . . . 37 2.9.5 Subset Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 2.9.6 Solution Combination . . . . . . . . . . . . . . . . . . . . . . . . . . 39 3 Parallelization 40 3.1 Parallel Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 v 3.1.1 Multi-Core Cache Hierarchies . . . . . . . . . . . . . . . . . . . . . . 42 3.2 POSIX Threads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 3.3 Parallel metaheuristic Strategies . . . . . . . . . . . . . . . . . . . . . . . . 44 3.3.1 Master Slave Parallelization Scheme . . . . . . . . . . . . . . . . . . 45 3.3.2 Multiple Walk Independent Threads . . . . . . . . . . . . . . . . . . 46 3.3.3 Multiple Walk Communicative Threads . . . . . . . . . . . . . . . . 47 3.4 Experimental Methodology . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 3.5 Testing Suite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 4 Memetic Algorithm 53 4.1 Parameter Tuning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 4.2 Monte-Carlo Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 4.3 Sequential MA Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 4.4 Master-Slave Speedup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 4.5 Multi-Walk MA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 4.5.1 MA Multi-Walk Cut-Size Results . . . . . . . . . . . . . . . . . . . . 66 4.5.2 Multi-Walk MA Population Diversity Results . . . . . . . . . . . . 67 4.5.3 MA Multi-Walk Runtime Results . . . . . . . . . . . . . . . . . . . . 70 4.6 Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 5 Scatter Search Algorithm 74 5.1 Sequential SS Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 5.2 Master-Slave Speedup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 vi 5.3 Multi-Walk SS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 5.3.1 SS Multi-Walk Cut-Size Results . . . . . . . . . . . . . . . . . . . . 82 5.3.2 Multi-Walk SS Population Diversity . . . . . . . . . . . . . . . . . . 84 5.3.3 Diversity Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 5.3.4 Multi-Walk Scatter Search Algorithm Runtime Results . . . . . . . . 86 5.4 Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 6 Algorithm Comparison 89 6.1 Comparison of Metaheuristics . . . . . . . . . . . . . . . . . . . . . . . . . . 90 6.2 Comparison with hMetis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 7 Conclusions and Future Work 94 7.1 Summary of Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 7.2 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 Appendices 104 A Glossary of Terms 105 B Compilation of Results 107 vii List of Tables 3.1 Summary of benchmarks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 4.1 Master-Slave MA runtime, speedup and efficiency results. . . . . . . . . . . 62 4.2 Multi-Walk MA cut-size results . . . . . . . . . . . . . . . . . . . . . . . . . 67 4.3 P-Values for Multi-Walk MA cut-size results. . . . . . . . . . . . . . . . . . 67 4.4 Summary of cut-size results for the MC and MA. . . . . . . . . . . . . . . . 72 4.5 Summary of runtime results for the MC and MA (seconds). . . . . . . . . . 73 5.1 P-Values for SS cut-size and runtime results. . . . . . . . . . . . . . . . . . 78 5.2 Master-Slave SS runtime, speedup and efficiency results. . . . . . . . . . . . 79 5.3 Comparison of MA and SS efficiency results.. . . . . . . . . . . . . . . . . . 81 5.4 Multi-Walk Scatter Search cut-size results . . . . . . . . . . . . . . . . . . . 83 5.5 P-Values for Multi-Walk Scatter Search cut-size results. . . . . . . . . . . . 83 5.6 Multi-Walk Scatter Search runtime results. . . . . . . . . . . . . . . . . . . 86 6.1 Summary of benchmarks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 6.2 Cut-size results comparison with other metaheuristics. . . . . . . . . . . . . 91 viii 6.3 Cut-size results comparison with hMetis. . . . . . . . . . . . . . . . . . . . . 92 B.1 Memetic Algorithm sequential cut-size results.. . . . . . . . . . . . . . . . . 107 B.2 Memetic Algorithm sequential runtime results (in seconds). . . . . . . . . . 108 B.3 Scatter Search sequential cut-size results. . . . . . . . . . . . . . . . . . . . 108 B.4 Scatter Search sequential runtime results (in seconds). . . . . . . . . . . . . 109 B.5 Memetic Algorithm master-slave runtime results (in seconds). . . . . . . . . 109 B.6 Scatter Search master-slave runtime results (in seconds). . . . . . . . . . . . 110 B.7 Memetic Algorithm multi-walk cut-size results for 2 cores. . . . . . . . . . . 110 B.8 Memetic Algorithm multi-walk cut-size results for 4 cores. . . . . . . . . . . 111 B.9 Memetic Algorithm multi-walk cut-size results for 8 cores. . . . . . . . . . . 111 B.10 Memetic Algorithm multi-walk runtime results for 2 cores (in seconds).. . . 112 B.11 Memetic Algorithm multi-walk runtime results for 4 cores (in seconds).. . . 112 B.12 Memetic Algorithm multi-walk runtime results for 8 cores (in seconds).. . . 113 B.13 Scatter Search multi-walk cut-size results for 2 cores. . . . . . . . . . . . . . 113 B.14 Scatter Search multi-walk cut-size results for 4 cores. . . . . . . . . . . . . . 114 B.15 Scatter Search multi-walk cut-size results for 8 cores. . . . . . . . . . . . . . 114 B.16 Scatter Search multi-walk runtime results for 2 cores (in seconds). . . . . . 115 B.17 Scatter Search multi-walk runtime results for 4 cores (in seconds). . . . . . 115 B.18 Scatter Search multi-walk runtime results for 8 cores (in seconds). . . . . . 116 ix List of Figures 1.1 Hypergraph representation of a circuit. . . . . . . . . . . . . . . . . . . . . . 4 2.1 Iterative algorithm exploiting a solution. . . . . . . . . . . . . . . . . . . . . 9 2.2 Two critical net conditions for gain calculations. . . . . . . . . . . . . . . . 13 2.3 Two critical net conditions for level 2 gain vector calculations.. . . . . . . . 16 2.4 Bucket list. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.5 Iterative algorithm with hill-climbing exploiting a solution. . . . . . . . . . 20 2.6 Genetic algorithm flow chart. . . . . . . . . . . . . . . . . . . . . . . . . . . 27 2.7 Tournament selection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 2.8 One and two point crossover. . . . . . . . . . . . . . . . . . . . . . . . . . . 29 2.9 Memetic algorithm flow chart. . . . . . . . . . . . . . . . . . . . . . . . . . . 32 2.10 Scatter Search algorithm flow chart. . . . . . . . . . . . . . . . . . . . . . . 35 2.11 Scatter Search Subset Generation. . . . . . . . . . . . . . . . . . . . . . . . 38 3.1 Flynn’s taxonomy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 3.2 Extended Flynn’s taxonomy. . . . . . . . . . . . . . . . . . . . . . . . . . . 42 x

Description:
An Investigation of Parallel Methods for VLSI Circuit Partitioning by. Edward Armstrong. A Thesis. Presented to. The University of Guelph. In partial fulfilment of ods for finding solutions to the VLSI Circuit Partitioning problem. problem. Both approaches require using fine-grained and coarse-gra
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.