2012 · 15 citations · 9 references
ComputingComputer ScienceComputer SystemsDistributed SystemsProgramming LanguagesSystems ProgrammingConcurrent ProgrammingDiscrete-event SimulationProcess SimulationSimulation ModelingSystem SimulationComputer Simulation FrameworksCoroutine SupportDiscrete Event Simulation ModelsDiscrete-event System SimulationProcess InteractionSimulation Semantics
In discrete-event simulation the process interaction view is appreciated in many different contexts, as it often provides the cleanest and simplest way to express models. However, this view is harder to implement than the more common event-oriented view. This is mostly due to the need for the simulation engine to support in a efficient way the coroutine-like semantics needed to implement the simulation processes. A common solution adopted in many Java-based simulators is the use of system threads to provide coroutines. This paper shows that this choice leads to unnecessary overheads and limitations, and presents an alternative implementation based on continuations. For many common models the continuation-based simulator shows significant performance gains compared to the most popular open source Java engines.
9
The discoveries of continuations
John Reynolds · LISP and Symbolic Computation · 1993 · 294 citations
JSIM: A Java-based simulation and animation environment
John A. Miller, Ravi Shankar Narayanan Nair, Zheyu Zhang et al. · 2002 · 83 citations
Pierre L’Ecuyer, Éric Buist · Winter Simulation Conference · 2005 · 65 citations