Exploiting concurrency in the implementation of a discrete event simulator

Abstract Technological improvements in the use of computers through the better management of multithreading, such as with multi-core computers (core duo, core 2 duo, core 2 quad), have resulted in a reassessment of systems for simulating discrete events which can exploit these new capabilities. We consider the design and implementation of a process-oriented discrete event simulation library which makes exhaustive use of concurrence to improve the efficiency with which the simulations are executed.

[1]  Randall P. Sadowski,et al.  Simulation with Arena , 1998 .

[2]  Michael Pidd,et al.  Computer Simulation in Management Science (3rd Edition) , 1998 .

[3]  Philip Heidelberger,et al.  Discrete event simulations and parallel processing: statistical properties , 1988 .

[4]  Alan Burns,et al.  Concurrent programming , 1980, Operating Systems Engineering.

[5]  Per Brinch Hansen,et al.  Operating System Principles , 1973 .

[6]  Alexander Verbraeck,et al.  Single-threaded specification of process-interaction formalism in Java , 2004, Proceedings of the 2004 Winter Simulation Conference, 2004..

[7]  Arnold H. Buss,et al.  Simple movement and detection in discrete event simulation , 2005, Proceedings of the Winter Simulation Conference, 2005..

[8]  John Craig Comfort The simulation of a master-slave event set processor , 1984 .

[9]  Andrew William Roscoe,et al.  The Theory and Practice of Concurrency , 1997 .

[10]  Doug Lea,et al.  Concurrent programming in Java - design principles and patterns , 1996, Java series.

[11]  Richard M. Fujimoto,et al.  Cloning parallel simulations , 2001, TOMC.

[12]  Ivar Jacobson,et al.  Object-oriented software engineering - a use case driven approach , 1993, TOOLS.

[13]  K. Mani Chandy,et al.  Distributed Simulation: A Case Study in Design and Verification of Distributed Programs , 1979, IEEE Transactions on Software Engineering.

[14]  Abhishek Agarwal,et al.  Merging parallel simulation programs , 2005, Workshop on Principles of Advanced and Distributed Simulation (PADS'05).

[15]  David R. Jefferson,et al.  Virtual time , 1985, ICPP.

[16]  R. M. Aguilar,et al.  An application for web-based modeling and simulation , 2008 .

[17]  David Holmes,et al.  Java Concurrency in Practice , 2006 .

[18]  David M. Nicol,et al.  Parallel simulation today , 1994, Ann. Oper. Res..

[19]  C. A. R. Hoare,et al.  Monitors: an operating system structuring concept , 1974, CACM.

[20]  Kalyan S. Perumalla,et al.  Parallel and Distributed Simulation: Traditional Techniques and Recent Advances , 2006, Proceedings of the 2006 Winter Simulation Conference.

[21]  K. Mani Chandy,et al.  Asynchronous distributed simulation via a sequence of parallel computations , 1981, CACM.

[22]  Arturo I. Concepcion,et al.  A Hierarchical Computer Architecture for Distributed Simulation , 1989, IEEE Trans. Computers.

[23]  Ray J. Paul,et al.  On simulation model complexity , 2000, 2000 Winter Simulation Conference Proceedings (Cat. No.00CH37165).

[24]  George S. Fishman,et al.  Discrete-event simulation , 2001 .

[25]  Michael Pidd,et al.  Five simple principle of modelling , 1996, WSC.

[26]  Arnold H. Buss Discrete Event Programming with Simkit , 2001 .

[27]  R.M. Fujimoto,et al.  Parallel and distributed simulation systems , 2001, Proceeding of the 2001 Winter Simulation Conference (Cat. No.01CH37304).

[28]  Osman Balci The implementation of four conceptual frameworks for simulation modeling in high-level languages , 1988, WSC '88.

[29]  Gregory R. Andrews,et al.  Concurrent programming - principles and practice , 1991 .

[30]  Alexander Verbraeck,et al.  D-SOL; a distributed Java based discrete event simulation architecture , 2002, Proceedings of the Winter Simulation Conference.