Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

A Distributed Shared Memory Middleware for Speculative Parallel Discrete Event Simulation

Published: 20 March 2020 Publication History
  • Get Citation Alerts
  • Abstract

    The large diffusion of multi-core machines has pushed the research in the field of Parallel Discrete Event Simulation (PDES) toward new programming paradigms, based on the exploitation of shared memory. On the opposite side, the advent of Cloud computing—and the possibility to group together many (low-cost) virtual machines to form a distributed memory cluster capable of hosting simulation applications—has raised the need to bridge shared memory programming and seamless distributed execution. In this article, we present the design of a distributed middleware that transparently allows a PDES application coded for shared memory systems to run on clusters of (Cloud) resources. Our middleware is based on a synchronization protocol called Event and Cross State Synchronization. It allows cross-simulation-object access by event handlers, thus representing a powerful tool for the development of various types of PDES applications. We also provide data for an experimental assessment of our middleware architecture, which has been integrated into the open source ROOT-Sim speculative PDES platform.

    Supplementary Material

    a11-principe-apndx.pdf (principe.zip)
    Supplemental movie, appendix, image and software files for, A Distributed Shared Memory Middleware for Speculative Parallel Discrete Event Simulation

    References

    [1]
    Peter D. Barnes, Christopher D. Carothers, David R. Jefferson, and Justin M. LaPre. 2013. Warp speed: Executing time warp on 1,966,080 cores. In Proceedings of the 2013 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation (PADS’13). ACM, New York, NY, 327--336.
    [2]
    J. Blomer. 2015. A survey on distributed file system technology. Journal of Physics: Conference Series 608 (May 2015), 012039.
    [3]
    Azzedine Boukerche and Sajal K. Das. 1997. Dynamic load balancing strategies for conservative parallel simulations. In Proceedings of the 11th Workshop on Parallel and Distributed Simulation (PADS’97). IEEE, Los Alamitos, CA, 20--28.
    [4]
    David Bruce. 1995. The treatment of state in optimistic systems. In Proceedings of the 9th Workshop on Parallel and Distributed Simulation (PADS’95). ACM, New York, NY, 40--49.
    [5]
    Christopher D. Carothers and Richard M. Fujimoto. 2000. Efficient execution of Time Warp programs on heterogeneous, NOW platforms. IEEE Transactions on Parallel and Distributed Systems 11, 3 (2000), 299--317.
    [6]
    Christopher D. Carothers and Kalyan S. Perumalla. 2010. On deciding between conservative and optimistic approaches on massively parallel platforms. In Proceedings of the Winter Simulation Conference (WSC’10). IEEE, Los Alamitos, CA, 678--687.
    [7]
    Christopher D. Carothers, Kalyan S. Perumalla, and Richard M. Fujimoto. 1999. Efficient optimistic parallel simulations using reverse computation. ACM Transactions on Modeling and Computer Simulation 9, 3 (1999), 224--253.
    [8]
    K. M. Chandy and R. Sherman. 1989. Space-time and simulation. In Proceedings of the SCS Multiconference on Distributed Simulation. 53--57.
    [9]
    Li-Li Chen, Ya-Shuai Lu, Yi-Ping Yao, Shao-Liang Peng, and Ling-Da Wu. 2011. A well-balanced Time Warp system on multi-core environments. In Proceedings of the 2011 IEEE Workshop on Principles of Advanced and Distributed Simulation (PADS’11). IEEE, Los Alamitos, CA, 1--9.
    [10]
    Myongsu Choe and Carl Tropper. 2000. Flow control and dynamic load balancing in Time Warp. In Proceedings of the 33rd Annual Simulation Symposium (SS’00), Vol. 18. IEEE, Los Alamitos, CA, 9--23.
    [11]
    Davide Cingolani, Alessandro Pellegrini, and Francesco Quaglia. 2017. Transparently mixing undo logs and software reversibility for state recovery in optimistic PDES. ACM Transactions on Modeling and Computer Simulation 27, 2 (2017), Article 11, 26 pages.
    [12]
    Gabriele D’Angelo and Moreno Marzolla. 2014. New trends in parallel and distributed simulation: From many-cores to Cloud Computing. Simulation Modelling Practice and Theory 49 (2014), 320--335.
    [13]
    Pierangelo di Sanzo, Francesco Quaglia, Bruno Ciciani, Alessandro Pellegrini, Diego Didona, Paolo Romano, Roberto Palmieri, and Sebastiano Peluso. 2015. A flexible framework for accurate simulation of cloud in-memory data stores. Simulation Modelling Practice and Theory 58 (2015), 219--238.
    [14]
    Javier Díaz, Camelia Muñoz-Caro, and Alfonso Niño. 2012. A survey of parallel programming models and tools in the multi and many-core era. IEEE Transactions on Parallel and Distributed Systems 23, 8 (2012), 1369--1386.
    [15]
    A. Fabbri and L. Donatiello. 1997. SQTW: A mechanism for state-dependent parallel simulation. Description and experimental study. In Proceedings of the Workshop on Parallel and Distributed Simulation. 82--89.
    [16]
    Dieter Fox, Jonathan Ko, Kurt Konolige, Benson Limketkai, Dirk Schulz, and Benjamin Stewart. 2006. Distributed multirobot exploration and mapping. Proceedings of the IEEE 94, 7 (2006), 1325--1339.
    [17]
    Richard M. Fujimoto. 1990. Performance of Time Warp under synthetic workloads. In Proceedings of the Multiconference on Distributed Simulation. 23--28.
    [18]
    Kaushik Ghosh and Richard M. Fujimoto. 1991. Parallel discrete event simulation using space-time memory. In Proceedings of the International Conference on Parallel Processing. 201--208.
    [19]
    D. W. Glazer and Carl Tropper. 1993. On process migration and load balancing in Time Warp. IEEE Transactions on Parallel and Distributed Systems 4, 3 (1993), 318--327.
    [20]
    B. Kaan Gorur, Kayhan Imre, Halit Oguztuzun, and Levent Yilmaz. 2016. Repast HPC with optimistic time management. In Proceedings of the 24th High Performance Computing Symposium (HPC’16). Article 4, 9 pages.
    [21]
    Danny Hendler, Alex Naiman, Sebastiano Peluso, Francesco Quaglia, Paolo Romano, and Adi Suissa. 2013. Exploiting locality in lease-based replicated transactional memory via task migration. In Proceedings of the 27th International Symposium on Distributed Computing (DISC’13). 121--133.
    [22]
    Julius Higiro, Meseret Gebre, and Dhananjai M. Rao. 2017. Multi-tier priority queues and 2-tier ladder queue for managing pending events in sequential and optimistic parallel simulations. In Proceedings of the 2017 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation (SIGSIM-PADS’17). 3--14.
    [23]
    Golden G. Richard III and Mukesh Singhal. 1993. Using logging and asynchronous checkpointing to implement recoverable distributed shared memory. In Proceedings of the 12th Symposium on Reliable Distributed Systems (SRDS’93). 58--67.
    [24]
    David R. Jefferson. 1985. Virtual time. ACM Transactions on Programming Languages and Systems 7, 3 (July 1985), 404--425. http://portal.acm.org/citation.cfm?doid=3916.3988.
    [25]
    David R. Jefferson. 1985. Virtual time. ACM Transactions on Programming Languages and Systems 7, 3 (1985), 404--425.
    [26]
    Michael Lees, Brian S. Logan, and Georgios Theodoropoulos. 2008. Using access patterns to analyze the performance of optimistic synchronization algorithms in simulations of MAS. Simulation 84, 10–11 (2008), 481--492.
    [27]
    Nazzareno Marziale, Francesco Nobilia, Alessandro Pellegrini, and Francesco Quaglia. 2016. Granular Time Warp objects. In Proceedings of the 2016 ACM/SIGSIM Conference on Principles of Advanced Discrete Simulation (PADS’16). ACM, New York, NY, 57--68.
    [28]
    Horst Mehl and Stefan Hammes. 1995. How to integrate shared variables in distributed simulation. SIGSIM Simulation Digest 25, 2 (1995), 14--41.
    [29]
    Jens Müller, Sergei Gorlatch, Tobias Schröter, and Stefan Fischer. 2007. Scaling multiplayer online games using proxy-server replication: A case study of Quake 2. In Proceedings of the 16th International Symposium on High Performance Distributed Computing (HPDC’07). ACM, New York, NY, 219--220.
    [30]
    Alessandro Pellegrini, Sebastiano Peluso, Francesco Quaglia, and Roberto Vitali. 2016. Transparent speculative parallelization of discrete event simulation applications using global variables. International Journal of Parallel Programming 44, 6 (2016), 1200--1247.
    [31]
    Alessandro Pellegrini and Francesco Quaglia. 2014. Wait-free global virtual time computation in shared memory Time-Warp systems. In Proceedings of the 26th International Conference on Computer Architecture and High Performance Computing (SBAC-PAD’14). IEEE, Los Alamitos, CA, 9--16.
    [32]
    Alessandro Pellegrini and Francesco Quaglia. 2017. A fine-grain time-sharing Time Warp system. ACM Transactions on Modeling and Computer Simulation 27, 2 (2017), Article 10, 25 pages.
    [33]
    Alessandro Pellegrini and Francesco Quaglia. 2019. Cross-state events: A new approach to parallel discrete event simulation and its speculative runtime support. Journal of Parallel and Distributed Computing 132 (2019), 48--68.
    [34]
    Alessandro Pellegrini, Roberto Vitali, and Francesco Quaglia. 2011. The ROme OpTimistic simulator: Core internals and programming model. In Proceedings of the 4th ICST Conference of Simulation Tools and Techniques (SIMUTools’11). 96--98.
    [35]
    Alessandro Pellegrini, Roberto Vitali, and Francesco Quaglia. 2015. Autonomic state management for optimistic simulation platforms. IEEE Transactions on Parallel and Distributed Systems 26, 6 (June 2015), 1560--1569.
    [36]
    Sebastiano Peluso, Diego Didona, and Francesco Quaglia. 2011. Application transparent migration of simulation objects with generic memory layout. In Proceedings of the 25th Workshop on Principles of Advanced and Distributed Simulation. IEEE, Los Alamitos, CA, 169--177.
    [37]
    Paolo Romano, Luís E. T. Rodrigues, Nuno Carvalho, and João P. Cachopo. 2010. Cloud-TM: Harnessing the cloud with distributed transactional memories. Operating Systems Review 44, 2 (2010), 1--6.
    [38]
    Tim Stitt. 2010. An Introduction to the Partitioned Global Address Space (PGAS) Programming Model. Retrieved February 17, 2020 from http://cnx.org/content/m20649/1.7/.
    [39]
    Vinoth Suryanarayanan and Georgios Theodoropoulos. 2013. Synchronised range queries in distributed simulations of multiagent systems. ACM Transactions on Modeling and Computer Simulation 23, 4, (Nov. 2013), Article 25, 25 pages.
    [40]
    Vinoth Suryanarayanan, Georgios Theodoropoulos, and Michael Lees. 2013. PDES-MAS: Distributed simulation of multi-agent systems. In Proceedings of the International Conference on Computational Science (ICCS’13). 671--681.
    [41]
    Srikanth B. Yoginath and Kalyan S. Perumalla. 2013. Optimized hypervisor scheduler for parallel discrete event simulations on virtual machine platforms. In Proceedings of the 6th International ICST Conference on Simulation Tools and Techniques (SimuTools’13). 1--9.
    [42]
    Srikanth B. Yoginath and Kalyan S. Perumalla. 2015. Efficient parallel discrete event simulation on cloud/virtual machine platforms. ACM Transactions on Modeling and Computer Simulation 26, 1 (2015), Article 5, 26 pages.

    Cited By

    View all
    • (2024)JITScanner: Just-in-Time Executable Page Check in the Linux Operating SystemApplied Sciences10.3390/app1405191214:5(1912)Online publication date: 26-Feb-2024
    • (2023)JITScanner: Just-in-Time Executable Page Check in the Linux Operating SystemProceedings of the 18th International Conference on Availability, Reliability and Security10.1145/3600160.3605035(1-8)Online publication date: 29-Aug-2023
    • (2020)Editorial to the Special Issue on the Principles of Advanced Discrete Simulation (PADS)ACM Transactions on Modeling and Computer Simulation10.1145/338190330:2(1-2)Online publication date: 20-Mar-2020

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Transactions on Modeling and Computer Simulation
    ACM Transactions on Modeling and Computer Simulation  Volume 30, Issue 2
    Special Issue on PADS 2018 and Regular Papers
    April 2020
    118 pages
    ISSN:1049-3301
    EISSN:1558-1195
    DOI:10.1145/3389544
    Issue’s Table of Contents
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 20 March 2020
    Accepted: 01 November 2019
    Revised: 01 August 2019
    Received: 01 December 2018
    Published in TOMACS Volume 30, Issue 2

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Parallel discrete event simulation
    2. distributed shared memory
    3. memory consistency
    4. simulation state
    5. virtual time

    Qualifiers

    • Research-article
    • Research
    • Refereed

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)31
    • Downloads (Last 6 weeks)1
    Reflects downloads up to 26 Jul 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)JITScanner: Just-in-Time Executable Page Check in the Linux Operating SystemApplied Sciences10.3390/app1405191214:5(1912)Online publication date: 26-Feb-2024
    • (2023)JITScanner: Just-in-Time Executable Page Check in the Linux Operating SystemProceedings of the 18th International Conference on Availability, Reliability and Security10.1145/3600160.3605035(1-8)Online publication date: 29-Aug-2023
    • (2020)Editorial to the Special Issue on the Principles of Advanced Discrete Simulation (PADS)ACM Transactions on Modeling and Computer Simulation10.1145/338190330:2(1-2)Online publication date: 20-Mar-2020

    View Options

    Get Access

    Login options

    Full Access

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    HTML Format

    View this article in HTML Format.

    HTML Format

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media