SPaDES/Java: Object-Oriented Parallel Discrete-Event Simulation

  • Authors:
  • Yong Meng Teo;Yew Kwong Ng

  • Affiliations:
  • -;-

  • Venue:
  • SS '02 Proceedings of the 35th Annual Simulation Symposium
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper describes the design, implementation and performance optimizations of SPaDES/Java, a process-oriented discrete-event simulation library in Java that supports sequential and parallel simulation. Parallel event synchronization is facilitated through a hybrid carrier-null, demand-driven flushing conservative null message mechanism. Inter-processor message communication is coordinated by a shared persistent memory implemented using Java Jini/JavaSpaces. We present the stepwise performance optimizations we have carried out, focusing mainly on reducing the cost of multithreading, null message synchronization overhead, and the cost of inter-processor communication. Two benchmark programs consisting of an open linear pipeline system and PHOLD representing a closed system are used. For PHOLD(16x16,16), our optimization reduces the null message ratio from 0.94 to 0.29 on eight processors. Based on our time and space instrumentation, we observed that the memory cost of null message synchronization accounts for less than 10% of the total memory required by the PHOLD simulation.