150 likes | 341 Views
Parallel and Distributed Simulation. Introduction and Motivation By Syed S. Rizvi. Modeling & Simulation. Model: is a representation Entity Process System Simulation: The process of exercising a model Characterize the behavior of the modeled entity process, or system over time
E N D
Parallel and Distributed Simulation Introduction and Motivation By Syed S. Rizvi
Modeling & Simulation • Model: is a representation • Entity • Process • System • Simulation: The process of exercising a model • Characterize the behavior of the modeled entity process, or system over time • Computer simulation: is a computer program • Simulate an abstract model of a particular system
Why & Where Use Simulations Why do we need Simulations • Observe a Real Operational System • Difficult • Hazardous • expensive • Parts of the system may not be observable/viewable • e.g., internals of a silicon chip or biological system Where we can use Simulations • Analyze system before it is built • Reduce number of design mistakes • Optimize design • Analyze operational systems • Optimize the performance • Operational mistakes • Create virtual environments for training, entertainment
Applications: System Analysis Classical Application of Simulation • Telecommunication networks • Example Sim-Link tool • Battlefield simulations • Example JOFT & JFAST for JFCOM • Transportation systems • Electronic systems (e.g., computer systems, microelectronics) • Manufacturing systems • Ecological systems • Etc..
Applications: On-Line Decision Aids interactive simulation environment analysts and decision makers live data feeds forecasting tool (fast simulation) situation database Simulation tool is used for fast analysis of alternate courses of action in time critical situations • Initialize simulation from situation database • Faster-than-real-time execution to evaluate effect of decisions Applications: air traffic control, battle management Simulation results may be needed in only seconds
Applications: Virtual Environments • Uses: VE uses for training • Education • Haptar (http://vmasce.vmasc.odu.edu/fig_06/exercise.html) • Military • Example is America’s Army (http://www.americasarmy.com/) • Medicine • Emergency planning • Entertainment, • Etc.. Simulations are often used in virtual environments to create dynamic computer generated entities • Defense: Computer generated forces (CGF) • Automated forces • Semi-automated forces
Simulation Fundamentals • A computer simulation is a: • computer program that models the behavior of a physical system over time. • Computer Simulation has: • Program variables (state variables) • Represents the current state of the physical system • State Variables can be modified: • Model the development of the physical system over time.
Computer Simulation Discrete Models Continuous Models Event driven Time- stepped Simulation Taxonomy • Continuous time simulation • State changes occur continuously across time • Typically, behavior of CM described by differential equations • Discrete time simulation • State changes only occur at discrete time instants • Simulation Time: • Time stepped: time advances by fixed time increments • Event stepped: time advances occur with irregular increments
state variables state variables simulation time simulation time time stepped execution time advances by fixed time increments event driven execution time advances occur with irregular increments Time Stepped vs. Event Stepped Goal: compute state of system over simulation time
Parallel / Distributed Simulation • Parallel Simulation: • Tightly coupled architecture shared memory multiprocessor systems • Goal: reduce execution time • Distributed Simulation: • Loosely coupled architecture set of computers • Goal: linking distributed resources, reusability, interoperability • Parallel (Distributed) Simulation • Refers to the technology concerned with executing computer simulations over computing systems containing multiple processors
Simulation Divide a single-large-simulation in a series of discrete events Sequential Execution Parallel Execution Discrete events can then be distributed on geographically distributed computers Time Management Algorithm is running there that ensures that the execution of the parallel distributed simulation is properly synchronized. Parallel/Distributed Simulation Distributed Simulation
Why Execute Over Multiple CPUs? • Reduced model execution time • Up to N-fold reduction using N CPUs • May not have enough memory on a single machine • Large physical system large model large simulation enough memory & processors are required • Scalable performance • Maintaining the same execution speed for bigger models/virtual environments by using more CPUs • Geographically distributed users and/or resources • (e.g., simultaneous update of databases) • Is there any Disadvantage ??
Conservative synchronization Chandy/Misra/Bryant algorithm Optimistic synchronization Time Warp algorithm 1975 1980 1985 1990 1995 2000 Historical Perspective High Performance Computing Community SIMulator NETworking (SIMNET) (1983-1990) High Level Architecture (1996 - today) Distributed Interactive Simulation (DIS) Aggregate Level Simulation Protocol (ALSP) (1990 - 1997ish) Defense Community Dungeons and Dragons Board Games Multi-User Dungeon (MUD) Games Multi-User Video Games Adventure (Xerox PARC) Internet & Gaming Community
Summary • Simulation is seeing widespread use in: • system design and management, as decision aids, and in creating virtual worlds for training or entertainment • Fundamental concepts: State, changing state across simulation time • Continuous vs. discrete time simulations • Here, focus on discrete event simulation • Reasons for distributing the execution of simulations over multiple computers include • Performance • Geographical distribution • Easier integration of systems (interoperability), reuse • Parallel/Distributed simulation technologies developed largely independently in different R&D communities • High performance computing • Defense • Internet and gaming