WSC’18 Paper: Just-In-Time Parallel Simulation

Just-In-Time Parallel Simulation, Christopher Hannon, Nandakishore Santhi, Stephan Eidenbenz, Jason Liu, and Dong Jin. In Proceedings of the 2018 Winter Simulation Conference (WSC 2018), December 2018. (To appear).

Abstract

Due to the evolution of programming languages, interpreted languages have gained widespread use in scientific and research computing. Interpreted languages excel at being portable, easy to use, and fast in prototyping than their ahead-of-time (AOT) counterparts, including C, C++, and Fortran. While traditionally considered as slow to execute, advancements in Just-in-Time (JIT) compilation techniques have significantly improved the execution speed of interpreted languages and in some cases outperformed AOT languages. In this paper, we explore some challenges and design strategies in developing a high performance parallel discrete event simulation engine, called Simian, written with interpreted languages with JIT capabilities, including Python, Lua, and Javascript. Our results show that Simian with JIT performs similarly to AOT simulators, such as MiniSSF and ROSS. We expect that with features like good performance, user-friendliness, and portability, the just-in-time parallel simulation will become a common choice for modeling and simulation in the near future.

Bibtex

@inproceedings{jit-parallel,
title = {Just-In-Time Parallel Simulation},
author = {Hannon, Christopher and Santhi, Nandakishore and Eidenbenz, Stephan and Liu, Jason and Jin, Dong},
booktitle = {Proceedings of the 2018 Winter Simulation Conference (WSC 2018)},
month = {December},
year = {2018}
}

WSC’15 Paper: Simian Concept

The Simian Concept: Parallel Discrete Event Simulation with Interpreted Languages and Just-in-Time Compilation, Nandakishore Santhi, Stephan Eidenbenz, and Jason Liu. In Proceedings of the 2015 Winter Simulation Conference (WSC 2015), L. Yilmaz, W. K V. Chan, I. Moon, T. M. K. Roeder, C. Macal, and M. D. Rossetti, eds., December 2015. [paper]

abstractbibtex
We introduce Simian, a family of open-source Parallel Discrete Event Simulation (PDES) engines written using Lua and Python. Simian reaps the benefits of interpreted languages—ease of use, fast development time, enhanced readability and a high degree of portability on different platforms—and, through the optional use of Just-In-Time (JIT) compilation, achieves high performance comparable with the state-of-the-art PDES engines implemented using compiled languages such as C or C++. This paper describes the main design concepts of Simian, and presents a benchmark performance study, comparing four Simian implementations (written in Python and Lua, with and without using JIT) against a traditionally compiled simulator, MiniSSF, written in C++. Our experiments show that Simian in Lua with JIT outperforms MiniSSF, sometimes by a factor of three under high computational workloads.
@INPROCEEDINGS{Santhi2015:simuan,
author={N. Santhi and S. Eidenbenz and J. Liu},
booktitle={Proceedings of the 2015 Winter Simulation Conference (WSC)},
title={The Simian Concept: Parallel Discrete Event Simulation with Interpreted Languages and Just-in-Time Compilation},
year={2015},
pages={3013-3024},
doi={10.1109/WSC.2015.7408405},
month={Dec},
}