5 research outputs found
NUMA Time Warp
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
On improving the performance of optimistic distributed simulations
This report investigates means of improving the performance of optimistic distributed simulations
without affecting the simulation accuracy. We argue that existing clustering algorithms
are not adequate for application in distributed simulations, and outline some characteristics
of an ideal algorithm that could be applied in this field. This report is structured as follows.
We start by introducing the area of distributed simulation. Following a comparison of the
dominant protocols used in distributed simulation, we elaborate on the current approaches
of improving the simulation performance, using computation efficient techniques, exploiting
the hardware configuration of processors, optimizations that can be derived from the
simulation scenario, etc. We introduce the core characteristics of clustering approaches and
argue that these cannot be applied in real-life distributed simulation problems. We present
a typical distributed simulation setting and elaborate on the reasons that existing clustering
approaches are not expected to improve the performance of a distributed simulation. We
introduce a prototype distributed simulation platform that has been developed in the scope
of this research, focusing on the area of emergency response and specifically building evacuation.
We continue by outlining our current work on this issue, and finally, we end this
report by outlining next actions which could be made in this field