Escolar Documentos
Profissional Documentos
Cultura Documentos
SS 2015
Adelinde Uhrmacher
Modeling and Simulation Research Group
University of Rostock
Richard Fujimoto:
Parallel and distributed Simulation Systems,
John Wiley, New York, 2000.
Transparencies are partly taken from a lecture given by Richard
Fujimoto at the Georgia Institute of Technology and a tutorial at
the Parallel, distributed Simulation Conference, Bologna, Italy,
June 2000.
Adelinde M. Uhrmacher
University of Rostock
Adelinde M. Uhrmacher
University of Rostock
Scalable performance
Fault tolerance
Adelinde M. Uhrmacher
University of Rostock
Adelinde M. Uhrmacher
University of Rostock
analysts and
decision
makers
situation
database
forecasting tool
(fast simulation)
Adelinde M. Uhrmacher
University of Rostock
Virtual Environments
Uses: training (e.g., military, medicine, emergency
planning), entertainment, social interaction?
Simulations are often used in virtual environments to
create dynamic computer generated entities
Adversaries and helpers in video games
Defense: Computer generated forces (CGF)
Automated forces
Semi-automated forces
Physical phenomena
Trajectory of projectiles
Buildings "blowing up"
Environmental effects
(e.g., rain washing out terrain)
Adelinde M. Uhrmacher
University of Rostock
System Analysis
"Classical" application of simulation; here, focus on
"discrete event" simulation
Telecommunication networks
Transportation systems
Electronic systems
(e.g., microelectronics, computer systems)
Battlefield simulations (blue army vs. red army)
Ecological systems
Manufacturing systems
Logistics
Cell biological systems
Focus typically on planning, system design, and
understanding
Adelinde M. Uhrmacher
University of Rostock
Virtual environment
typical
objective
execution
pacing
as-fast-aspossible
human
interaction
if included, often
external observer
integral to controlling
entities
accuracy
statistically correct
results
human perception
often plays a large role
A major
issue
Validity, reproducibility
plausibility, natural
touch and feel
Adelinde M. Uhrmacher
University of Rostock
10
Distributed Virtual
Environments (DVEs)
Networked interactive,
immersive environments
Scalable, real-time
performance
Create virtual worlds that
appear realistic
Typical applications
Training
Entertainment
Social interaction
11
Historical Perspective
High Performance Computing Community
Chandy/Misra/Bryant
second generation algorithms
algorithm
Time Warp algorithm
making it fast and
early experimental
easy to use
data
1975
1980
1985
Cloud computing
Grid-Based approaches
1990
2000
2005
1995
SIMulator NETworking (SIMNET) High Level Architecture
(1996 - today)
(1983-1990)
Defense Community
Dungeons and Dragons
Board Games
Adventure
(Xerox PARC)
Approximative
Multi-resolution approaches
Service-oriented
approaches
2010
Adelinde M. Uhrmacher
University of Rostock
Gaming Community
Technology becoming heavily used
Server-based systems
Internet gaming
Adelinde M. Uhrmacher
University of Rostock
13
Summary
Several reasons to execute simulations over multiple
computers
Performance
Geographical distribution
Easier integration of systems (interoperability), reuse
Virtual environment vs. system analysis
Have different requirements, sometimes resulting in
use of different approaches and techniques
Developed from largely disjoint communities
Research and development communities
High performance computing
Defense
Internet and gaming
Adelinde M. Uhrmacher
University of Rostock
14
Outline
Hardware platforms
Parallel computers
Multi-Core machines
Distributed computers
Simulation fundamentals
State
Time
Time flow mechanisms
Adelinde M. Uhrmacher
University of Rostock
15
Distributed Computers
Processors
Machine room/office
Physical extent
Homogeneous
Often heterogeneous
Comm.Network
Custom switch
A few to tens of
Comm. Latency
(small messages) microseconds
Adelinde M. Uhrmacher
University of Rostock
16
CPU
cache
cache
CPU
. . .
cache
Interconnection network
memory
. . .
memory
I/O
devices
Processor 1
Lock(L)
i = i +1;
Unlock(L)
Adelinde M. Uhrmacher
University of Rostock
Processor 2
Lock(L)
i = i +1;
Unlock(L)
}
17
18
CPU
memory
communications
controller
cache
. . .
memory
communications
controller
Interconnection network
{int i;
Adelinde M. Uhrmacher
University of Rostock
Processor 2
{int j;
}
19
P
M
P
M
P
M
parallel
processor
Outline
Hardware platforms
Parallel computers
Distributed computers
Simulation fundamentals
State
Time
Time flow mechanisms
Adelinde M. Uhrmacher
University of Rostock
21
Parallel jobs
Feedback (jobs )
Parallel analysis
Replication 1
(Job 1)
Analysis (Rep 1
, Job 1)
Cancellation
(rep 1, job 1)
.
Replication m
(Job 1)
Analysis (Rep
m, Job 1)
Replication 1
(Job n)
Analysis (Rep 1
, Job n)
Replication m
(Job n)
Analysis (Rep
m, Job n)
Distributed
model
Distributed /
sequential
simulation
algorithm
Iterative / Upon
completion of
replication
Job distribution
Partitioning / Load
balancing
Job 1
.
Experiment
Parallel
replications
.
.
Job n
Parallel job
analysis
Analysis Job
1
.
.
.
Analysis
Experiment
Analysis Job
n
Iterative / Upon
completion of all
replications
Iterative / Upon
completion of all
jobs
(Remote / Distrib.)
data sink w.
seq./par. access
22
Simulation Fundamentals
A simulation is an experiment with a model in this case
performed on a computer. Please note that in the parallel
distributed community often no clear separation between
formally described model and algorithm that executes this
model does exist.
Adelinde M. Uhrmacher
University of Rostock
23
Time
physical system: the actual or imagined system being modeled
simulation: a system that emulates the behavior of a physical
system
main()
{ ...
double clock;
...
}
physical system
physical time:
11
12
1
2
10
9
4
7
simulation
Adelinde M. Uhrmacher
University of Rostock
24
Simulation Time
Simulation time is defined as a totally ordered set of values
where each value represents an instant of time in the
physical system being modeled.
For any two values of simulation time T1 representing
instant P1, and T2 representing P2:
Correct ordering of time instants
Adelinde M. Uhrmacher
University of Rostock
25
Adelinde M. Uhrmacher
University of Rostock
26
Adelinde M. Uhrmacher
University of Rostock
27
Simulation Taxonomy
computer simulation
discrete models
event driven
continuous models
time-stepped
Continuous simulation
State changes occur continuously across time
Typically, behavior described by differential equations
Discrete simulation
State changes only occur at discrete time instants
Times stepped: time advances by fixed time increments
Event driven: time advances occur with irregular increments
Adelinde M. Uhrmacher
University of Rostock
28
state variables
state variables
simulation time
simulation time
30
Summary
Hardware Platforms
Tightly coupled multiprocessors: fast communication
Networked workstations: larger message latencies
Important to distinguish among simulation time, wallclock
time, and time in the physical system
Paced execution (e.g., immersive virtual environments)
vs. unpaced execution (e.g., simulations to analyze
systems)
Continuous and discrete simulation use different execution
paradigms, time advance mechanisms
Time stepped vs. event stepped
Here, focus on discrete event simulations
Adelinde M. Uhrmacher
University of Rostock
31
Adelinde M. Uhrmacher
University of Rostock
32