290 likes | 444 Views
Conservative Simulation using Distributed-Shared Memory. Teo, Y. M., Ng, Y. K. and Onggo, B. S. S. Department of Computer Science National University of Singapore. Objectives. Improve performance of SPaDES/Java by reducing overhead: Synchronization of events Distributed communications
E N D
Conservative Simulation using Distributed-Shared Memory Teo, Y. M., Ng, Y. K. and Onggo, B. S. S. Department of Computer Science National University of Singapore PADS 2002
Objectives • Improve performance of SPaDES/Java by reducing overhead: • Synchronization of events • Distributed communications • Study the memory requirements in parallel simulations. PADS 2002
Presentation Outline • Parallel Simulation • Null Message Protocol • Performance Improvement • Memory Requirement • Conclusion PADS 2002
Parallel 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 => Event synchronization protocols. => Adds to inter-process communications. => New bottleneck! PADS 2002
Null 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. PADS 2002
Null Message Protocol Clock = 4 LP FEL LP 4 4 4 7 LP 4 LP 4 PADS 2002
Performance Improvement • Chandy-Misra-Byrant’s (CMB) protocol performs poorly due to high null message overhead. It transmits null msgs on every simulation pass NMR ~> 1 for nearly all [0, T). • Optimizations incorporated: • Carrier-null message scheme • Flushing mechanism • Demand-driven null message algorithm • Remote communications using JavaSpace PADS 2002
Carrier-Null Message Algorithm • Problem with cyclic topologies • Use carrier-null message algorithm (Wood, Turner, 1996) • Avoids transmissions of redundant null messages in such cycles. PADS 2002
Logical Process (A) Output Channel (A) Logical Process (B) Flusher 20 18 FEL Performance Improvement • Demand driven null messaging + flushing 20 25 30 35 35 REQ Request Channel (B) PADS 2002
Performance 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 PADS 2002
Node Node Node Node Node Node Node Node Node PHOLD (3x3, m) • Closed system PADS 2002
Linear Pipeline (4, ) Customer population • Open system Service Center Service Center Service Center Service Center Depart PADS 2002
CMB + Carrier-Null + Flushing + Demand-driven null msging PHOLD (n x n, m) PADS 2002
CMB + Carrier-Null + Flushing + Demand-driven null msging Linear Pipeline (n,) PADS 2002
Performance 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% PADS 2002
Distributed 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 => send less messages. How? • Target at null messages. PADS 2002
JavaSpaces • A special Java-Jini service developed by Sun Microsystems, Inc., built on top of Java’s 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. PADS 2002
read take write Notifier Client Client notify JavaSpaces • 4 generic operations: write, read, take and notify. PADS 2002
Distributed 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. PADS 2002
Space Communications : Processes Time = t > 0 Time = 0 SProcess sender = 2 receiver = 1 …….. SProcess receiver = 2 SProcess receiver = 1 LP1 LP2 PADS 2002
Space Communications :Null Messages LP4 NullMsg sender = 2 …….. Req sender = 2 Req sender = 2 LP1 LP2 LP3 PADS 2002
RMI JavaSpace (4 procs) JavaSpace (8 procs) Performance Evaluation – PHOLD(n x n, m) PADS 2002
CMB + Carrier-Null + Flushing + Demand-driven null msging JavaSpace (4 procs) JavaSpace (8 procs) Overall Performance Evaluation – PHOLD(n x n, m) PADS 2002
Performance 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% PADS 2002
Memory Requirement • Mprob ni=1 MaxQueueSize(LPi) • Mord ni=1 MaxFELSize(LPi) • Msync ni=1 MaxNullMsgBufferSize(LPi) PADS 2002
Memory Requirement PADS 2002
Achievements & Conclusion • Enhanced the performance of SPaDES/Java through various synchronization protocols, achieving an excellent NMR of < 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. PADS 2002
Acknowledgments • Port of Singapore Authority (PSA) • Ministry of Education, Singapore • Constructive feed-back from referees PADS 2002
References • SPaDES/Java homepage http://www.comp.nus.edu.sg/~pasta/spades-java/spadesJava.html • Current project webpage http://www.comp.nus.edu.sg/~ngyewkwo/HYP.html • MSG homepage http://www.comp.nus.edu.sg/~rpsim/MSG PADS 2002