M&S Knowledge Repository

Serving M&S Community

Header Content Region

Insert text, image or banner ads here, or just delete this text and leave this area blank!

portfolio1 portfolio2 portfolio3 portfolio4 portfolio5 portfolio6 portfolio7 portfolio8 portfolio9 portfolio10

Gas Cloud Simulation

A simulation of how a gas cloud that has been observed approaching the supermassive black hole at the centre of the galaxy.

Advanced Test Reactor Simulation

Advanced simulation capabilities can model reactors, such as INL's Advanced Test Reactor shown here, from atomic scales to full-sized reactor assemblies.

Underwater EVA Simulation

Underwater simulation of extravehicular activity (EVA).

Combat Simulation

A screen capture depicts a combat situation in a digital world during a command post exercise inside the Joint Multinational Simulations Center.

Motorcycle Simulator

Testing motorcycle simulator at the Pentagon to get a feel for how the bike would handle some situations.

Wake Turbulence Simulation

Wake turbulence simulation for an Airbus A340 on final approach, just before touchdown.

Driving Conditions Simulator

View from the cockpit of the simulator. Multiple screens provide a view similar to what one would see in a snowplow on the road.

Molecules Simulation

Dynamic computer simulations of molecular systems.

Global Aerosols Simulation

This portrait of global aerosols was produced by a Goddard Earth Observing System Model, Version 5 (GEOS-5) simulation at a 10-kilometer resolution.

Driving Simulation

Simulation for driving training.

themed object
Special Interest Group (SIG) on SImulation and Modeling (SIM)
get in touch

Parallel and Distributed Simulation


Richard M. Fujimoto

Computational Science and Engineering Division
College of Computing
Georgia Institute of Technology
Atlanta, GA 30332-0765, USA


Learning Objectives



This course is concerned with the realization of simulations on parallel or distributed computing platforms for analytic (e.g., systems analysis) and virtual environment applications. The emphasis is on discrete event simulations. I have offered these materials in advanced undergraduate and introductory graduate level courses to computer science (CS) students as well as classes composed of both CS and engineering/math/science students. Students should have had one or two introductory computer science classes, e.g., courses in programming and data structures.

The lecture notes are broken into three main parts:

        • Part I (Modules 1-4) includes an introduction and motivation, and provides a foundation by covering topics in sequential discrete event simulation. The emphasis is on model execution issues. The material on event-oriented simulation is essential to understand the material on parallel discrete event simulation that follows.
        • Part II (Modules 5-17) covers parallel discrete event simulation (PDES) that is used for analytic simulations. Much of this material is concerned with solving the synchronization problem (module 5). The first part (modules 6-10) covers conservative approaches to PDES. The next section (modules 11-15) covers optimistic approaches to PDES, focusing on the Time Warp algorithm. The final part (modules 16-17) covers an entirely different approach called time-parallel simulation that is applicable to certain specific simulation problems.
        • Part III (Modules 18-25) focus on distributed simulations for interactive virtual environments that are commonly used for training and gaming. Much of this material focuses on approaches such as Distributed Interactive Simulation that was standardized by IEEE, and associated technologies. This section also covers the High Level Architecture for simulation that encompasses simulations used for both training and analysis.

Most of the lecture materials closely follow the textbook, described below. Some notes correspond to technical papers, cited below. Most modules contain from 10 to 20 slides, so one could cover two to three modules in a 50 minute lecture. I have found student comprehension is better, however, moving at a slower pace, and in many cases cover only one or two modules in a single lecture, punctuated with questions to the students to encourage thought and probe for deeper understanding.


Students should have taken a minimum of two programming courses before taking this course. An undergraduate course in operating systems (processes, concurrency issues, semaphores, etc.) would also be useful, but not essential. No prior knowledge of simulation or parallel or distributed computing is assumed. I have successfully taught this material in courses that include computer science, mathematics, engineering, and science students, though computer science students typically find the material easier to digest.


R. M. Fujimoto (2000), Parallel and Distributed Simulation Systems, John Wiley & Sons, New York, NY.

Additional Readings

  1. R. Brown (1988), “Calendar Queues: A Fast O(1) Priority Queue Implementation for the Simulation Event Set Problem,” Communications of the ACM 31, 10 (Oct.), 1220-1227.
  2. R. M. Fujimoto (1998), “Time Management in the High Level Architecture,” Simulation 71, 6 (Dec.), 88-400.
  3. D. Jones (1986), “An Empirical Comparison of Priority-Queue and Event-Set Implementations,” Communications of the ACM 29, 4 (Apr.), 300-311.
  4. D. Sleator and R. Tarjan (1985), “Self-Adjusting Binary Search Trees,” Journal of the ACM 32, 3 (July), 652-686.
  5. W.-T. Tang, R. Goh, I. Thng (2005), “Ladder Queue: An O(1) Priority Queue Structure for Large-Scale Discrete Event Simulation,” ACM Transactions on Modeling and Computer Simulation 15, 3 (July), 175-204.


slide up button