1 / 29

Conservative Simulation using Distributed-Shared Memory

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

binta
Download Presentation

Conservative Simulation using Distributed-Shared Memory

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. Objectives • Improve performance of SPaDES/Java by reducing overhead: • Synchronization of events • Distributed communications • Study the memory requirements in parallel simulations. PADS 2002

  3. Presentation Outline • Parallel Simulation • Null Message Protocol • Performance Improvement • Memory Requirement • Conclusion PADS 2002

  4. 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

  5. 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

  6. Null Message Protocol Clock = 4 LP FEL LP 4 4 4 7 LP 4 LP 4 PADS 2002

  7. 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

  8. 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

  9. 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

  10. 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

  11. Node Node Node Node Node Node Node Node Node PHOLD (3x3, m) • Closed system PADS 2002

  12. Linear Pipeline (4, ) Customer population • Open system Service Center Service Center Service Center Service Center Depart PADS 2002

  13. CMB + Carrier-Null + Flushing + Demand-driven null msging PHOLD (n x n, m) PADS 2002

  14. CMB + Carrier-Null + Flushing + Demand-driven null msging Linear Pipeline (n,) PADS 2002

  15. 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

  16. 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

  17. 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

  18. read take write Notifier Client Client notify JavaSpaces • 4 generic operations: write, read, take and notify. PADS 2002

  19. 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

  20. Space Communications : Processes Time = t > 0 Time = 0 SProcess sender = 2 receiver = 1 …….. SProcess receiver = 2 SProcess receiver = 1 LP1 LP2 PADS 2002

  21. Space Communications :Null Messages LP4 NullMsg sender = 2 …….. Req sender = 2 Req sender = 2 LP1 LP2 LP3 PADS 2002

  22. RMI JavaSpace (4 procs) JavaSpace (8 procs) Performance Evaluation – PHOLD(n x n, m) PADS 2002

  23. CMB + Carrier-Null + Flushing + Demand-driven null msging JavaSpace (4 procs) JavaSpace (8 procs) Overall Performance Evaluation – PHOLD(n x n, m) PADS 2002

  24. 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

  25. Memory Requirement • Mprob ni=1 MaxQueueSize(LPi) • Mord ni=1 MaxFELSize(LPi) • Msync ni=1 MaxNullMsgBufferSize(LPi) PADS 2002

  26. Memory Requirement PADS 2002

  27. 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

  28. Acknowledgments • Port of Singapore Authority (PSA) • Ministry of Education, Singapore • Constructive feed-back from referees PADS 2002

  29. 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

More Related