Application Transparent Migration of Simulation Objects with Generic Memory Layout

This paper presents the design of a global memory management architecture supporting application transparent migration of simulation objects (or LPs) whose state is scattered across dynamically allocated memory chunks. Our approach is based on a non-intrusive background protocol that provides each instance of the simulation kernel with information on the current mapping of the virtual address space of all the other instances. Dynamic memory requests by the application layer are then locally mapped onto virtual-address ranges that maximize the likelihood of being portable onto the address space of a remote kernel instance. In this way, independently of the load-balancing trigger (or policy), we maximize the likelihood that a desirable migration across a specific couple of kernels can actually take place due to compliance of the corresponding source/destination address spaces. We have integrated the global memory manager within the ROme OpTimistic Simulator (ROOT-Sim), namely a run-time environment based on the optimistic synchronization paradigm which automatically and transparently parallelizes the execution of event-handler based simulation programs conforming to ANSI-C. Further, we provide a contribution in the direction of widening load balancing schemes for optimistic simulation systems by defining migration triggers and selection policies for the objects to be migrated on the basis of memory usage patterns. An experimental assessment of the architecture and of memory oriented load balancing is also provided.

[1]  Carl Tropper,et al.  On Process Migration and Load Balancing in Time Warp , 1993, IEEE Trans. Parallel Distributed Syst..

[2]  Carl Tropper,et al.  Flow control and dynamic load balancing in Time Warp , 2000, Proceedings 33rd Annual Simulation Symposium (SS 2000).

[3]  Sajal K. Das,et al.  Dynamic load balancing strategies for conservative parallel simulations , 1997, Proceedings 11th Workshop on Parallel and Distributed Simulation.

[4]  Doug Lea The GNU C++ library , 1996 .

[5]  Roberto Vitali,et al.  Di-DyMeLoR: Logging only Dirty Chunks for Efficient Management of Dynamic Memory Based Optimistic Simulation Objects , 2009, 2009 ACM/IEEE/SCS 23rd Workshop on Principles of Advanced and Distributed Simulation.

[6]  Stephen P. Boyd,et al.  Optimal power control in interference-limited fading wireless channels with outage-probability specifications , 2002, IEEE Trans. Wirel. Commun..

[7]  Gabriele D'Angelo,et al.  Distributed simulation of large-scale and detailed models , 2009, Int. J. Simul. Process. Model..

[8]  Wei Zhang,et al.  A Multi-State Q-Learning Approach for the Dynamic Load Balancing of Time Warp , 2010, 2010 IEEE Workshop on Principles of Advanced and Distributed Simulation.

[9]  David R. Jefferson,et al.  Virtual time , 1985, ICPP.

[10]  Christopher D. Carothers,et al.  Efficient Execution of Time Warp Programs on Heterogeneous, NOW Platforms , 2000, IEEE Trans. Parallel Distributed Syst..

[11]  David R. Jefferson,et al.  Dynamic load management in the time warp operating system , 1990 .

[12]  Roberto Vitali,et al.  Autonomic Log/Restore for Advanced Optimistic Simulation Systems , 2010, 2010 IEEE International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems.

[13]  Francesco Quaglia,et al.  DyMeLoR: Dynamic Memory Logger and Restorer Library for Optimistic Simulation Objects with Generic Memory Layout , 2008, 2008 22nd Workshop on Principles of Advanced and Distributed Simulation.

[14]  Christopher D. Carothers,et al.  Efficient optimistic parallel simulations using reverse computation , 1999, Proceedings Thirteenth Workshop on Parallel and Distributed Simulation. PADS 99. (Cat. No.PR00155).

[15]  Paul R. Wilson,et al.  Dynamic Storage Allocation: A Survey and Critical Review , 1995, IWMM.