Title: Conservative Simulation using
1Conservative Simulation using Distributed-Shared
Memory
Teo, Y. M., Ng, Y. K. and Onggo, B. S.
S. Department of Computer Science National
University of Singapore
2Objectives
- Improve performance of SPaDES/Java by reducing
overhead - Synchronization of events
- Distributed communications
- Study the memory requirements in parallel
simulations.
3Presentation Outline
- Parallel Simulation
- Null Message Protocol
- Performance Improvement
- Memory Requirement
- Conclusion
4Parallel Simulation
- Sequential simulations execute on a single thread
in one processor. - Ideally, parallelizing the simulation should
enhance its real-time performance since the
workload is distributed. - The need to maintain causality throughout a
parallel simulation - gt Event synchronization protocols.
- gt Adds to inter-process communications.
- gt New bottleneck!
5Null Message Protocol
- First designed by Chandy and Misra (1979).
- Prevents deadlock situations between LPs.
- LPi sends null messages to each of its neighbours
at the end of every simulation pass, with
timestamp local virtual time of LPi. - Timestamp on null message, T, indicates that the
source LP will not send any messages to other LPs
before T.
6Null Message Protocol
Clock 4 LP
FEL
LP
4
4
4
7
LP
4
LP
4
7Performance Improvement
- Chandy-Misra-Byrants (CMB) protocol performs
poorly due to high null message overhead. It
transmits null msgs on every simulation pass - NMR gt 1 for nearly all 0, T).
- Optimizations incorporated
- Carrier-null message scheme
- Flushing mechanism
- Demand-driven null message algorithm
- Remote communications using JavaSpace
8Carrier-Null Message Algorithm
- Problem with cyclic topologies
- Use carrier-null message algorithm (Wood, Turner,
1996) - Avoids transmissions of redundant null messages
in such cycles.
9Performance Improvement
- Demand driven null messaging flushing
25
20
35
30
35
REQ
Request Channel (B)
10Performance Evaluation
- Experiments conducted using
- PC cluster of 8 nodes running RedHat Linux
version 7.0. Each node is a Pentium II 400 MHz
processor with 256 MB of memory connected through
100 Mbps switch. - 2 benchmark programs
- PHOLD system
- Linear Pipeline
11PHOLD (3x3, m)
12Linear Pipeline (4, ?)
Customer population
Service Center
Service Center
Service Center
Service Center
Depart
13PHOLD (n x n, m)
14Linear Pipeline (n, ?)
15Performance Summary
- tage Reduction in NMR
- PHOLD system
- CMB ? Carrier-null ? 30
- ? Flushing incorporated ? 42
- ? Demand-driven null msg ? 55
- Linear Pipeline
- CMB ? Carrier-null ? 0
- ? Flushing incorporated ? 23
- ? Demand-driven null msg ? 35
16Distributed Communications
- Originally, SPaDES/Java uses the RMI library to
transmit messages between remote LPs. But the
serialization phase presents a bottleneck. - Previous performance optimization effort message
deflation. - Only solution to overcome remote communications
overhead gt send less messages. How? - Target at null messages.
17JavaSpaces
- A special Java-Jini service developed by Sun
Microsystems, Inc., built on top of Javas RMI,
mimicking a tuple space. - Abstract platform for developing complex
distributed applications. - Distributed data persistence.
- Holds objects, known as entries, with variable
attribute types. - Key concept matching of attribute types/values.
18JavaSpaces
- 4 generic operations write, read, take and
notify.
19Distributed Communications
- Replace the RMI communication module in
SPaDES/Java with one running on a single
JavaSpace. - Use a FrontEndSpace permits crash recovery of
entries in the space. - Transmission of processes and null messages
between remote hosts go through theFrontEndSpace
as space entries.
20Space Communications Processes
Time t gt 0
Time 0
SProcess sender 2 receiver 1 ..
SProcess receiver 2
SProcess receiver 1
LP1
LP2
21Space Communications Null Messages
LP4
NullMsg sender 2 ..
Req sender 2
Req sender 2
LP1
LP2
LP3
22Performance Evaluation PHOLD(n x n, m)
23Overall Performance Evaluation PHOLD(n x n, m)
24Performance Summary
- tage Reduction in NMR
- CMB ? Carrier-null ? 30
- ? Flushing incorporated ? 42
- ? Demand-driven null msg ? 55
- ? JavaSpace (4 processors) ? 63
- ? JavaSpace (8 processors) ? 74
25Memory Requirement
- Mprob ? ?ni1 MaxQueueSize(LPi)
- Mord ? ?ni1 MaxFELSize(LPi)
- Msync ? ?ni1 MaxNullMsgBufferSize(LPi)
26Memory Requirement
27Achievements Conclusion
- Enhanced the performance of SPaDES/Java
through various synchronization protocols,
achieving an excellent NMR of lt 30. - Implemented a brand new discrete-event simulation
library based on the concept of shared memory in
a JavaSpace. - Implemented a TSA into SPaDES/Java that can be
used as a bench for memory usage studies in
parallel simulations.
28Acknowledgments
- Port of Singapore Authority (PSA)
- Ministry of Education, Singapore
- Constructive feed-back from referees
29References
- SPaDES/Java homepage
- http//www.comp.nus.edu.sg/pasta/spades-java/spad
esJava.html - Current project webpage
- http//www.comp.nus.edu.sg/ngyewkwo/HYP.html
- MSG homepage
- http//www.comp.nus.edu.sg/rpsim/MSG