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


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.


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}

SIMUTOOLS’17 Paper: Improving Real-Time SDN Simulation

On Improving Parallel Real-Time Network Simulation for Hybrid Experimentation of Software Defined Networks, Mohammad Abu Obaida and Jason Liu. In Proceedings of the 10th EAI International Conference on Simulation Tools and Techniques (SIMUTOOLS 2017), September 2017. [paper]


Real-time network simulation enables simulation to operate in real time, and in doing so allows experiments with simulated, emulated, and real network components acting in concert to test novel network applications or protocols. Real-time simulation can also run in parallel for large-scale network scenarios, in which case network traffic is represented as simulation events passed as messages to remote simulation instances running on different machines. We note that substantial overhead exists in parallel real-time simulation to support synchronization and communication among distributed instances, which can significantly limit the performance and scalability of the hybrid approach. To overcome these challenges, we propose several techniques for improving the performance of parallel real-time simulation, by eliminating parallel synchronization and reducing communication overhead. Our experiments show that the proposed techniques can indeed improve the overall performance. In a use case, we demonstrate that our hybrid technique can be readily integrated for studies of software-defined networks.


title = {On Improving Parallel Real-Time Network Simulation for Hybrid Experimentation of Software Defined Networks},
author = {Mohammad Abu Obaida and Jason Liu},
booktitle = {Proceedings of the 10th EAI International Conference on Simulation Tools and Techniques (SIMUTOOLS 2017)},
month = {September},
year = {2017}

Invited Talk: High-Performance Modeling and Simulation of Computer Networks

High-Performance Modeling and Simulation of Computer Networks

April 26, 2017

Laboratory of Information, Networking and Communication Sciences (LINCS), Paris, France
Host: Professor Dario Rossi

Abstract: Modeling and simulation (M&S) plays an important role in the design analysis and performance evaluation of complex systems. Many of these systems, such as computer networks, involve a large number of interrelated components and processes. Complex behaviors emerge as these components and processes inter-operate across multiple scales at various granularities. M&S must be able to provide sufficiently accurate results while coping with the scale and complexity.
My talk will focus on two novel techniques in high-performance network modeling and simulation. The first is a GPU-assisted hybrid network traffic modeling method. The hybrid approach offloads the computationally intensive bulk traffic calculations to the background onto GPU, while leaving detailed simulation of network transactions in the foreground on CPU. Our experiments show that the CPU-GPU hybrid approach can achieve significant performance improvement over the CPU-only approach.
The second technique is a distributed network emulation method based on simulation symbiosis. Mininet is a container-based emulation environment that can study networks consisted of virtual hosts and OpenFlow-enabled virtual switches on Linux. It is well-known, however, that experiments using Mininet may lose fidelity for large-scale networks and heavy traffic load. The proposed symbiotic approach uses an abstract network model to coordinate distributed Mininet instances with superimposed traffic to represent large-scale network scenarios.

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]

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