NUMA Time Warp

Alessandro Pellegrini and Francesco Quaglia

Published in: Proceedings of the 2015 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation
pdf Download PDF

It is well known that Time Warp may suffer from large usage of memory, which may hamper the efficiency of the memory hierarchy. To cope with this issue, several approaches have been devised, mostly based on the reduction of the amount of used virtual memory, e.g., by the avoidance of checkpointing and the exploitation of reverse computing. In this article we present an orthogonal solution aimed at optimizing the latency for memory access operations when running Time Warp systems on Non-Uniform Memory Access (NUMA) multi-processor/multi-core computing systems. More in detail, we provide an innovative Linux-based architecture allowing per simulation-object management of memory segments made up by disjoint sets of pages, and supporting both static and dynamic binding of the memory pages reserved for an individual object to the different NUMA nodes, depending on what worker thread is in charge of running that simulation object along a given wall-clock-time window. Our proposal not only manages the virtual pages used for the live state image of the simulation object, rather, it also copes with memory pages destined to keep the simulation object’s event buffers and any recoverability data. Further, the architecture allows memory access optimization for data (messages) exchanged across the different simulation objects running on the NUMA machine. Our proposal is fully transparent to the application code, thus operating in a seamless manner. Also, a free software release of our NUMA memory manager for Time Warp has been made available within the open source ROOT-Sim simulation platform. Experimental data for an assessment of our innovative proposal are also provided in this article.

BibTeX Entry:

author = {Pellegrini, Alessandro and Quaglia, Francesco},
booktitle = {Proceedings of the 2015 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation},
title = {NUMA Time Warp},
year = {2015},
month = jun,
pages = {59--70},
publisher = {ACM},
series = {PADS},
doi = {10.1145/2769458.2769479},
isbn = {978-1-4503-3583-6},
location = {London, UK},
name = {pads15n}