Fifth International Conference on Simulation Tools and Techniques

Research Article

Cache-Aware Memory Manager for Optimistic Simulations

Download155 downloads
  • @INPROCEEDINGS{10.4108/icst.simutools.2012.247766,
        author={Roberto Vitali and Alessandro Pellegrini and Giornata Cerasuolo},
        title={Cache-Aware Memory Manager for Optimistic Simulations},
        proceedings={Fifth International Conference on Simulation Tools and Techniques},
        publisher={ICST},
        proceedings_a={SIMUTOOLS},
        year={2012},
        month={6},
        keywords={pdes memory allocation cache locality root-sim},
        doi={10.4108/icst.simutools.2012.247766}
    }
    
  • Roberto Vitali
    Alessandro Pellegrini
    Giornata Cerasuolo
    Year: 2012
    Cache-Aware Memory Manager for Optimistic Simulations
    SIMUTOOLS
    ICST
    DOI: 10.4108/icst.simutools.2012.247766
Roberto Vitali1, Alessandro Pellegrini1,*, Giornata Cerasuolo1
  • 1: Sapienza, University of Rome
*Contact email: pellegrini@dis.uniroma1.it

Abstract

Parallel Discrete Event Simulation is a well known technique for executing complex general-purpose simulations where models are described as objects the interaction of which is expressed through the generation of impulsive events. In particular, Optimistic Simulation allows full exploitation of the available computational power, avoiding the need to compute safety properties for the events to be executed. Optimistic Simulation platforms internally rely on several data structures, which are meant to support operations aimed at ensuring correctness, inter-kernel communication and/or event scheduling. These housekeeping and management operations access them according to complex patterns, commonly suffering from misuse of memory caching architectures. In particular, operations like log/restore access data structures on a periodic basis, producing the replacement of in-cache buffers related to the actual working set of the application logic, producing a non-negligible performance drop.

In this work we propose generally-applicable design principles for a new memory management subsystem targeted at Optimistic Simulation platforms which can face this issue by wisely allocating memory buffers depending on their actual future access patterns, in order to enhance event-execution memory locality. Additionally, an application-transparent implementation within ROOT-Sim, an open-source general-purpose simulation platform, is presented along with experimental results testing our proposal.