Parallel Discrete Event Simulation

This tutorial introduces the fundamental principles and algorithms underlying parallel/distributed discrete event simulation (PDES), with a special focus on synchronization methods and their scalable implementation. The tutorial is designed to help the audience gain a detailed understanding of the core concepts and terminology in PDES. Further, classical conservative and optimistic algorithms such as null messages and Time Warp will be described. An overview of approaches customized for different computing platforms will be provided, including supercomputers, cloud computing, and GPUs. Implementations customized for different communication types will be described, including 1-sided and 2-sided messaging using Portals and Message Passing Interface (MPI) respectively. The critical influence of event granularity, timestamp distributions, and inter-logical process event exchange behaviors on runtime dynamics will be described. Important systems issues such as computation and communication overheads will be highlighted, along with illustrative performance results on benchmarks from multiple domains including transportation, epidemiology, and supercomputer simulation.

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

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

[3]  Vinod Tipparaju,et al.  Discrete Event Execution with One-Sided and Two-Sided GVT Algorithms on 216,000 Processor Cores , 2014, TOMC.

[4]  Christopher D. Carothers,et al.  Scalable Time Warp on Blue Gene Supercomputers , 2009, 2009 ACM/IEEE/SCS 23rd Workshop on Principles of Advanced and Distributed Simulation.

[5]  Kalyan S. Perumalla,et al.  µsik -- A Micro Kernel for Parallel/Distributed Simulation , 2004 .

[6]  Judith S. Dahmann,et al.  Creating Computer Simulation Systems: An Introduction to the High Level Architecture , 1999 .

[7]  Richard M. Fujimoto,et al.  Virtual time synchronization over unreliable network transport , 2001, Proceedings 15th Workshop on Parallel and Distributed Simulation.

[8]  R. M. Fujimoto,et al.  Parallel discrete event simulation , 1989, WSC '89.

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

[10]  Wenjie Tang,et al.  A GPU-based discrete event simulation kernel , 2013, Simul..

[11]  Kalyan S. Perumalla Discrete-event Execution Alternatives on General Purpose Graphical Processing Units (GPGPUs) , 2006, 20th Workshop on Principles of Advanced and Distributed Simulation (PADS'06).

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

[13]  Christopher D. Carothers,et al.  On deciding between conservative and optimistic approaches on massively parallel platforms , 2010, Proceedings of the 2010 Winter Simulation Conference.

[14]  Christopher D. Carothers,et al.  Analysis of time warp on a 32,768 processor ibm blue Gene/L supercomputer , 2008 .

[15]  Kalyan S. Perumalla,et al.  /spl mu/sik - a micro-kernel for parallel/distributed simulation systems , 2005, Workshop on Principles of Advanced and Distributed Simulation (PADS'05).

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