Skip to Main Content
We present a new Zero-Copy approach for message passing in a tightly coupled, multi - process parallel discrete event simulation. Our approach is highly scalable and is suited for large scale distributed simulations. A Zero-Copy approach never copies message content. Rather, messages are created initially in a shared - memory region, and only a smart pointer referring to the shared memory object is passed to a message recipient. The smart pointer can be dereferenced normally, and has reference count semantics allowing memory reuse when no references remain. This approach significantly reduces the amount of data copied between processes and results in considerable improvement in overall application performance as compared to more traditional shared - memory based message passing. We demonstrate the efficiency of our approach using two distributed discrete event simulators using conservative synchronization. However, we also included knowledge of the Global Virtual Time and the Current Simulation Time in our memory management algorithms, allowing rollbacks and reclaiming of memory that was freed prematurely.