Documente Academic
Documente Profesional
Documente Cultură
Open discussion
PDMS 2 Hour Tutorial
Future of computing is
MULTICORE
PDMS 2 Hour Tutorial
I skate to where the puck is going to be, not where it has been!
Wayne Gretzky
Performance wall
Clock speed and power consumption
Memory access bottlenecks
Single instruction level parallelism
Computer/Blade/Cluster
Board
Board
Chip
Board Chip
Node
Node
Node
Node
Node
Node
Node
Node
Chip
Node
Node
CloudCompu3ng,
Netcentric,GIG,
SystemsofSystems
Chip
Node
Node
Node
Node
Node
Node
Microsoft
Sponsor of the by-invitation-only 2007 Manycore Computing Workshop
that brought together the whos who of supercomputing together
Unanimous consensus on the need for multicore computing software
tools and frameworks for developers (e.g., OpenUTF)
Apple
Snow Leopard will have no new features (focus on multicore computing)
The next version of Apple's OS X operating system will include
breakthroughs in programming parallel processors, Apple CEO Steve
Jobs told The New York Times in an interview after this week's
Worldwide Developers Conference. "The way the processor industry is
going is to add more and more cores, but nobody knows how to
program those things," Jobs said. "I mean, two, yeah; four, not really;
eight, forget it.
http://bits.blogs.nytimes.com/2008/06/10/apple-in-parallel-turningthe-pc-world-upside-down/
PDMS 2 Hour Tutorial
Service
Components
Model
Components
OpenUTF
Kernel
COMPOSABLE SYSTEMS
PDMS 2 Hour Tutorial
10
11
10 ms
1 ms
100 s
10 s
1 s
100 ns
10 ns
1 ns
12
13
1.
2.
3.
Optimized Communications
Abstract Time
15. Scalability
16. LVC Interoperability Standards
4.
5.
Scheduling Constructs
Time Management
6.
Encapsulated Components
7.
8.
Hierarchical Composition
Distributable Composites
9.
Abstract Interfaces
11. Publish/Subscribe
14
15
OpenUTF
OpenMSA
OSAMS
OpenCAF
Architecture
Standards
Net-centricity
Data Models
Open Source
Technology
HPC/Multicore
Performance
Synchronization
Modularity
Composability
Interoperability
Flexibility
Programming
Constructs
VV&A
Behaviors
Cognitive
Thought
Processes
5D Simulation
Goal-oriented
Optimization
Behavior
Representation
HPC
Network
Services
Cognitive Rule
Triggering
Scheduling
Models
Bayesian
Branching
Modeling
Framework
Composites
Pub/Sub
Services
Decision
Support
LVC
Interoperability
Web-based
SOA
16
Direct
Federate
Abstract
Federate
CASE Tools
HLA
Federate
LVC Federation
& Enterprises
External System
Visualization/Analysis
HPC-RTI
Bridge
Gateway Interfaces
(HLA, DIS,
TENA, Web-based
SOA)
External Modeling
Framework (EMF)
&
Distributed
Blackboard
17
Reasoning
Engine
Prioritized Goals
Thought
1
Thought
2
Tasks
Tasks
Tasks
(5D Branching)
Thought
N
Stimulus - Perception
(Short Term Memory)
Data Processing
Behaviors, Tasks, Notifications, Abstract Methods, Uncertainty
Data Received
Federation Objects and/or Interactions
PDMS 2 Hour Tutorial
18
Outputs
A
Inputs
19
Outputs
A
Learned reasoning
Inputs
20
1 = W + X + Y + Z
A = W W + X X + Y Y + Z Z TW 2T X1TY1T Z 3
Output
W
1
TW1
1
TX1
TW3
TZ2
TY1
TX2
TZ3
0
Output is normalized
TZ1
TZ1
TW2
Inputs
21
22
Monolithic
Applications
Simulations
Service
Components
Model
Components
Abstract
Interfaces
V&V Test
Framework
LVC
Web
GCCS
Data
Visualization
23
24
Composable Systems
LVC (HLA, DIS, TENA)
Web Services (SOA)
Data Model
C4I/GCCS
Visualization and Analysis
25
Net-centric Operation:
- Enterprise Frameworks
- Command and Control
- Standard Data Models
Standalone Operation:
- Laptops, Desktops, Clusters, HPC
- Standalone Operation
Legacy Interoperability:
- Pub/Sub Data Distribution
- Distributed Federation
- Training, Analysis, Test
- FOM/SOM
Composable
System
OpenUTF Kernel
26
Dynamically
configured
structure
LVC
Interface
Composite
Net Centric System on
Multicore Computer
27
General concept
OpenUTF Kernel
320,000 Lines of Code
Component Repository
Installation & Make System
Source
Models
DAS
ETS
T&D
Services
Weather
CCSI
ATP-45
Include
Interfaces
Polymorphic Methods
Interactions
Federation Objects
XML Interfaces
Web Services
Tests
Verification
Validation
Benchmarks
DAS
ETS
T&D
Weather
CCSI
ATP-45
DAS
ETS
T&D
Weather
CCSI
ATP-45
DAS
ETS
T&D
Weather
CCSI
ATP-45
28
Services
V&V Test
Framework
Data &
Interfaces
Development
Tools
Models
Web
Standards
Composability
Tools
LVC
Interoperability
Standards
Visualization
Tools
OpenUTF
Kernel
Analysis Tools
29
2D Mesh Topology
(m+n) worst case hops
16 Node Hypercube Topology
Log2(N) worst case hops
3D Mesh Topology
(l+m+n) worst case hops
Introduction to
PARALLEL COMPUTING
PDMS 2 Hour Tutorial
30
Startup
Node 0
Process
Cycle
Node N-1
Node 1
Initialize
Initialize
Initialize
Compute
Compute
Compute
Communicate
Process
Cycle
Communicate
Process
Cycle
Communicate
Store Results
Store Results
Store Results
File
File
File
31
Speedup(N) = T1 / TN
Efficiency(N) = Speedup / N
RelativeEfficiency(M,N) = (M / N) [Speedup(N) / Speedup(M)]
PDMS 2 Hour Tutorial
32
33
Sequential
Program
Multi
Threaded
Shared
Memory
Message
Passing
34
Shared
Memory
Server
Shared
Memory
Server
Shared
Memory
Server
Parallel
Application
Parallel
Application
Parallel
Application
Cluster
Server
PDMS 2 Hour Tutorial
35
Forks processes
Asynchronous Message
Passing
Unicast, destination-based
multicast, broadcast
Miscellaneous services
Synchronization
Global reductions
Performance Statistics
Synchronized operation
guarantees all messages received
by all nodes
Unicast, destination-based
multicast, broadcast
ORB Services
Stage 0
Stage 1
Stage 2
Stage 3
Node 0
Final
Result
Node 1
Node 2
Node 3
Wait Until
Completed
Node 4
37
38
Node 1
Node 2
Node 3
2.
Tail
Head
1.
2.
3.
Instruction synchronization
39
Tail
Head
Circular
Buffer
Circular
Buffer
Head
Tail
40
Header 1
int NumBytes
Header Format
Message Format
Header 2
Header n
int Index
unsigned short Packet
unsigned short NumPackets
char DummyChar0
char DummyChar1
char DummyChar2
char ReadFlag
41
42
43
SYNCHRONIZATION
PDMS 2 Hour Tutorial
44
45
46
main {
Plug in User SimObjs
Plug in User Components
Plug in User Events
Execute
}
Initialize {
Launch processes
Establish Communications
Construct/Initialize SimObjs
Schedule Initial Events
}
Execute {
Initialize
Process Up To (End Time)
Terminate
}
Process Up To (Time) {
while (GVT < Time) {
Process GVT Cycle
}
}
Terminate {
Terminate All SimObjs
Print Final Statistics
Shut Down Communications
}
47
*
*
48
*
*
49
Processed Events
Doubly Linked List
Simulation
Time
Rollback Queue
Simulation Time
Event Messages
50
51
52
Rollback Manager
Manages list of rollbackable items that were created as rollbackable
operations are performed
Each event provides a rollback manager
Global pointer is set before the event is processed
Rollbacks are performed in reverse order to undo operations
Rollback Items
Each rollbackable operation generates a Rollback Item that is managed
by the Rollback Manager
Rollback utilities include (1) native data types, (2) memory
operations, (3) container classes, (4) strings, and (5) various misc.
operations
Rollback Items inherit from the base class to provide four virtual
functions
Rollback, Rollforward, Commit, Uncommit
53
Distributed Synchronization
Conservative Vs. Optimistic Algorithms
Rollbacks in the Time Warp Algorithm
The Event Horizon
Breathing Time Buckets
Breathing Time Warp
WarpSpeed
Four Flow Control Techniques
54
55
56
F
E
A
G
57
Self-scheduled
events and time
from D
FIFO
Input
Q
FIFO
Scheduled output
events and time to F
FIFO Input Q
Scheduled input
events and time
from E
Scheduled input
events and time
from C
FIFO
Scheduled output
events and time to B
FIFO
Input
Q
58
59
60
61
62
100
Proximity Detection (32 Nodes)
259 Ground Sensors
1099 Aircraft
90
80
70
CPU Time
60
50
40
30
20
Time Warp
Breathing Time Buckets
10
0
0
10,000
20,000
Simulation Time
PDMS 2 Hour Tutorial
63
500,000
Proximity Detection (32 Nodes)
259 Ground Sensors
1099 Aircraft
400,000
300,000
Time Warp
Rollbacks
Processed
Events
200,000
100,000
Breathing Time Buckets
Rollbacks
0
0
10,000
20,000
Simulation Time
64
65
Generated
Messages
Generated
Messages
66
67
Wall Time
68
double Time
int Priority1
int Priority2
int Counter
int UniqueId
69
70
Case 1
Case 2
GVT
Time
Hold Back Messages
GVT
Time
Ok to Send Messages
71
Risk
Lookahead
Send Messages
Time
72
Tcpu6
Tcpu5
Tcpu4
Tcpu2
Tcpu3
Tcpu1
Tcpu0
Time
73
NRollbacks
NAntimessagess
Time
Time
PDMS 2 Hour Tutorial
74
75
76
Final thoughts
OPEN DISCUSSION
PDMS 2 Hour Tutorial
77
Simulation Users
Model Developers
Technologists
Sponsors
Program Managers
Policy Makers
78