Parallel and Distributed Simulation Systems
Download
Report
Transcript Parallel and Distributed Simulation Systems
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
situation
database
forecasting tool
(fast simulation)
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.
Simulation Taxonomy
Computer
Simulation
Discrete
Models
Event
driven
Continuous
Models
Timestepped
• 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
Time Stepped vs. Event Stepped
state variables
state variables
Goal: compute state of system over simulation time
simulation time
simulation time
time stepped execution
event driven execution
time advances by fixed time
increments
time advances occur with
irregular increments
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
Distributed Simulation
Simulation
Sequential Execution
Divide a single-large-simulation in
a series of discrete events
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
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 ??
Historical Perspective
High Performance Computing Community
Chandy/Misra/Bryant
algorithm
Conservative synchronization
Time Warp algorithm
1975
1980
1985
Optimistic synchronization
1990
SIMulator NETworking (SIMNET)
(1983-1990)
Defense Community
2000
High Level Architecture
(1996 - today)
Distributed Interactive Simulation (DIS)
Aggregate Level Simulation Protocol (ALSP)
(1990 - 1997ish)
Dungeons and Dragons
Board Games
Multi-User Dungeon (MUD)
Adventure
Games
(Xerox PARC)
Internet & Gaming Community
1995
Multi-User Video Games
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