The Community for Technology Leaders
2012 ACM/IEEE/SCS 26th Workshop on Principles of Advanced and Distributed Simulation (2012)
Zhangjiajie China
July 15, 2012 to July 19, 2012
ISSN: 1087-4097
ISBN: 978-1-4673-1797-9
pp: 211-220
In this article we address the reshuffle of the design of optimistic simulation kernels in order to fit multi-core/multi-processor machines. This is done by providing a reference optimistic simulation architecture based on the symmetric multi-threaded paradigm, where each simulation kernel instance is allowed to run a dynamically changing set of worker threads that share the whole load of LPs hosted by that kernel, and that can run both application-level event handlers and kernel-level housekeeping tasks. With this organization, CPU-cores can be dynamically reassigned to the different kernels depending on fluctuations of the workload, so to maximize productivity in an orthogonal manner with respect to traditional load balancing schemes, typically employed in the context of single-threaded simulation kernels. In order to optimize efficiency and reduce wait-for-lock-release phases while synchronizing worker threads running in kernel mode, we borrow from Operating Systems' theory by readapting the top/bottom-halves paradigm to the design of optimistic simulation systems. We also present a real implementation of our multi-threaded architecture within the ROme OpTimistic Simulator (ROOT-Sim), namely an open-source C-based simulation platform implemented according to the PDES paradigm and the optimistic synchronization approach. Experimental results for an assessment of the validity of our proposal are presented as well.
Kernel, Computational modeling, Instruction sets, Message systems, Load modeling, Synchronization, Data structures
Roberto Vitali, Alessandro Pellegrini, Francesco Quaglia, "Towards Symmetric Multi-threaded Optimistic Simulation Kernels", 2012 ACM/IEEE/SCS 26th Workshop on Principles of Advanced and Distributed Simulation, vol. 00, no. , pp. 211-220, 2012, doi:10.1109/PADS.2012.46
187 ms
(Ver 3.3 (11022016))