Christof.Meerwald@ dipl.university.edu

> study
>> dipl

translate to German (by SYSTRAN)

Master's Thesis: CORBA-based Conservative Distributed Discrete Event Simulation


  • Extend a Java-based sequential simulation package: JavaSim
  • Implement the PCS (Personal Communication System) described by Fishwick as an example simulation model
  • Implement traffic simulation in a city as another simulation example
  • Distribute the sequential simulation
    • Use CORBA for communication between simulation submodels
    • Conservative, distributed simulation
    • Implement different synchronisation protocols: windows, appointments
  • Window-based synchronisation protocol
    • global simulation controller drives the simulation
    • implemented a simple two-step protocol (determine safe-time, simulate until global safe-time)
    • optimised windowing protocol (but still use synchronous communication)
    • use asynchronous communication (and implemented a credit-based distributed termination algorithm)
  • Appointment-based synchronisation protocol
    • no global simulation controller needed
    • similar results (with respect to synchronisation) as window-based synchronisation when using 2 sub-models
  • Concurrent programming in Java
  • simulation framework is feature-complete as of Mar 25, 2001 and as of May 20, 2001 it is also free of deadlocks and bugs (as far as I can tell)
  • distributed simulation (including CORBA) can be compiled to native code using a recent gcj snapshot---see my Experiences with gcj page. The 20010521 snapshot of gcc 3.0 is used for performance comparisons.
  • Performance comparison of synchronisation protocols:
    • performance results of both examples (and both synchronisation protocols) have been taken on Sun Ultra-60's
    • performance comparison of JVMs done
  • use RMI instead of CORBA?
  • final document finished: Aug 29, 2001
  • handed in: Sep 3, 2001


This work introduces the general concepts of distributed discrete event simulation and the problems inherent with it. Two conservative synchronisation protocols for efficient synchronisation of distributed simulation sub-models are developed: a window-based and an appointment-based algorithm. Both algorithms are implemented in Java on top of a sequential process-oriented simulation package. Communication between distributed workstations is realised with using a CORBA compliant ORB. The consequences of using CORBA for high-performance asynchronous communication are discussed by taking a look at the IIOP protocol level.

The presented synchronisation algorithms are evaluated with two simulation examples: a personal communication system and a city traffic simulation which basically represents a queueing network. The performance results of the algorithms are compared to each other and to an equivalent sequential simulation implementation.

Finally, some issues with using Java for high-performance computing are discussed. The performance of Sun's Hotspot just-in-time compiler is compared to the GNU project's native Java compiler and Java's threading model is being looked at.

BibTeX Entry

  author = {Christof Meerwald},
  title = {CORBA-based Conservative Distributed Discrete Event Simulation},
  month = {August},
  year = {2001},
  keywords = {CORBA, conservative, distributed, discret, event, simulation},
  school = {Department of Computer Science, University of Salzburg, Austria},
  email = {cmeerw@web.de},
  url = {http://cmeerw.cjb.net/study/dipl/}



This Web page is licensed under the Creative Commons Attribution - NonCommercial - Share Alike License. Any use is subject to the Privacy Policy.

Revision: 1.35, cmeerw.org/study/dipl/
Last modified: Mon Sep 03 18:20:50 2018
Christof Meerwald <cmeerw@cmeerw.org>
XMPP: cmeerw@cmeerw.org