On Determining How Many Computers to Use in Parallel VLSI Simulation

Parallel discrete event simulation has been established as a technique which has great potential to speed up the execution of gate level circuit simulation. A fundamental problem posed by a parallel environment is the decision of whether it is best to simulate a particular circuit sequentially or on a parallel platform. Furthermore, in the event that a circuit should be simulated on a parallel platform, it is necessary to decide how many computing nodes should be used on the given platform. In this paper we propose a machine learning algorithm as an aid in making these decisions. The algorithm is based on the well-known K-Nearest Neighbor algorithm. After an extensive training regime, it was shown to make a correct prediction 99% of the time on whether to use a parallel or sequential simulator. The predicted number of nodes to use on a parallel platform was shown to produce an average execution time which was not more than 12% of the smallest execution time. The configuration which resulted in the minimal execution time was picked 61% of the time.

[1]  Jack S. N. Jean,et al.  Parallel optimistic logic simulation with event lookahead , 1998, Proceedings. 1998 International Conference on Parallel Processing (Cat. No.98EX205).

[2]  Chau-Shen Chen,et al.  Architecture driven circuit partitioning , 1998, ICCAD.

[3]  Carl Tropper,et al.  Towards large scale optimistic VLSI simulation , 2006, Simul. Model. Pract. Theory.

[4]  Roger D. Chamberlain,et al.  Parallel logic simulation of VLSI systems , 1994, CSUR.

[5]  Yang Guo,et al.  Design and implementation of a parallel Verilog simulator: PVSim , 2004, 17th International Conference on VLSI Design. Proceedings..

[6]  Friedemann Mattern,et al.  Efficient Algorithms for Distributed Snapshots and Global Virtual Time Approximation , 1993, J. Parallel Distributed Comput..

[7]  Carl Tropper,et al.  Scalable Clustered Time Warp and Logic Simulation , 1999, VLSI Design.

[8]  Jan-Ming Ho,et al.  An efficient two-level partitioning algorithm for VLSI circuits , 1999, Proceedings of the ASP-DAC '99 Asia and South Pacific Design Automation Conference 1999 (Cat. No.99EX198).

[9]  Avinash C. Palaniswamy,et al.  Rollback Relaxation: A Technique for Reducing Rollback Costs in Optimistically Synchronized Parallel Simulators , 1994 .

[10]  Carl Tropper,et al.  A Design-Driven Partitioning Algorithm for Distributed Verilog Simulation , 2007, 21st International Workshop on Principles of Advanced and Distributed Simulation (PADS'07).

[11]  David Jefferson,et al.  Fast Concurrent Simulation Using the Time Warp Mechanism. Part I. Local Control. , 1982 .

[12]  Carl Tropper,et al.  XTW, a parallel and distributed logic simulator , 2005, Workshop on Principles of Advanced and Distributed Simulation (PADS'05).

[13]  Jeffrey Scott Vitter,et al.  Bkd-Tree: A Dznamic Scalable kd-Tree , 2003, SSTD.

[14]  Krishnan Subramani,et al.  Analysis and Simulation of Mixed-Technology VLSI Systems , 2002, J. Parallel Distributed Comput..

[15]  Roger D. Chamberlain,et al.  Parallel Logic Simulation of VLSI Systems , 1995, 32nd Design Automation Conference.

[16]  Jonathan Rose,et al.  Automatic generation of synthetic sequential benchmark circuits , 2002, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[17]  Piotr Indyk,et al.  Approximate nearest neighbors: towards removing the curse of dimensionality , 1998, STOC '98.

[18]  Carl Tropper,et al.  XTW, a parallel and distributed logic simulator , 2005, ASP-DAC '05.