{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,11,19]],"date-time":"2025-11-19T17:15:37Z","timestamp":1763572537590,"version":"3.41.0"},"reference-count":42,"publisher":"Association for Computing Machinery (ACM)","issue":"2","license":[{"start":{"date-parts":[[2020,3,20]],"date-time":"2020-03-20T00:00:00Z","timestamp":1584662400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Model. Comput. Simul."],"published-print":{"date-parts":[[2020,4,30]]},"abstract":"<jats:p>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\u2014and the possibility to group together many (low-cost) virtual machines to form a distributed memory cluster capable of hosting simulation applications\u2014has 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.<\/jats:p>","DOI":"10.1145\/3373335","type":"journal-article","created":{"date-parts":[[2020,3,21]],"date-time":"2020-03-21T04:18:28Z","timestamp":1584764308000},"page":"1-26","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":6,"title":["A Distributed Shared Memory Middleware for Speculative Parallel Discrete Event Simulation"],"prefix":"10.1145","volume":"30","author":[{"given":"Matteo","family":"Principe","sequence":"first","affiliation":[{"name":"University of Rome Tor Vergata, Rome, Italy"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Tommaso","family":"Tocci","sequence":"additional","affiliation":[{"name":"Barcelona Supercomputing Center, Barcelona, Spain"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Pierangelo Di","family":"Sanzo","sequence":"additional","affiliation":[{"name":"Sapienza University of Rome, Rome, Italy"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Francesco","family":"Quaglia","sequence":"additional","affiliation":[{"name":"University of Rome Tor Vergata, Rome, Italy"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Alessandro","family":"Pellegrini","sequence":"additional","affiliation":[{"name":"Sapienza University of Rome, Rome, Italy"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2020,3,20]]},"reference":[{"volume-title":"Proceedings of the 2013 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation (PADS\u201913)","author":"Barnes Peter D.","key":"e_1_2_2_1_1","unstructured":"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\u201913) . ACM, New York, NY, 327--336. DOI:https:\/\/doi.org\/10.1145\/2486092.2486134 10.1145\/2486092.2486134 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\u201913). ACM, New York, NY, 327--336. DOI:https:\/\/doi.org\/10.1145\/2486092.2486134"},{"key":"e_1_2_2_2_1","doi-asserted-by":"publisher","DOI":"10.1088\/1742-6596\/608\/1\/012039"},{"volume-title":"Proceedings of the 11th Workshop on Parallel and Distributed Simulation (PADS\u201997)","author":"Boukerche Azzedine","key":"e_1_2_2_3_1","unstructured":"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\u201997) . IEEE, Los Alamitos, CA, 20--28. DOI:https:\/\/doi.org\/10.1145\/268823.268897 10.1145\/268823.268897 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\u201997). IEEE, Los Alamitos, CA, 20--28. DOI:https:\/\/doi.org\/10.1145\/268823.268897"},{"key":"e_1_2_2_4_1","doi-asserted-by":"publisher","DOI":"10.1109\/PADS.1995.404318"},{"key":"e_1_2_2_5_1","doi-asserted-by":"publisher","DOI":"10.1109\/71.841745"},{"key":"e_1_2_2_6_1","volume-title":"Proceedings of the Winter Simulation Conference (WSC\u201910)","author":"Christopher","year":"2010","unstructured":"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\u201910) . IEEE, Los Alamitos, CA, 678--687. DOI:https:\/\/doi.org\/10.1109\/WSC. 2010 .5679119 10.1109\/WSC.2010.5679119 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\u201910). IEEE, Los Alamitos, CA, 678--687. DOI:https:\/\/doi.org\/10.1109\/WSC.2010.5679119"},{"key":"e_1_2_2_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/347823.347828"},{"volume-title":"Proceedings of the SCS Multiconference on Distributed Simulation. 53--57","author":"Chandy K. M.","key":"e_1_2_2_8_1","unstructured":"K. M. Chandy and R. Sherman . 1989. Space-time and simulation . In Proceedings of the SCS Multiconference on Distributed Simulation. 53--57 . K. M. Chandy and R. Sherman. 1989. Space-time and simulation. In Proceedings of the SCS Multiconference on Distributed Simulation. 53--57."},{"key":"e_1_2_2_9_1","doi-asserted-by":"publisher","DOI":"10.1109\/PADS.2011.5936752"},{"key":"e_1_2_2_10_1","doi-asserted-by":"publisher","DOI":"10.1109\/SIMSYM.2000.844919"},{"key":"e_1_2_2_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/3077583"},{"key":"e_1_2_2_12_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.simpat.2014.06.007"},{"key":"e_1_2_2_13_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.simpat.2015.05.011"},{"key":"e_1_2_2_14_1","doi-asserted-by":"publisher","DOI":"10.1109\/TPDS.2011.308"},{"key":"e_1_2_2_15_1","doi-asserted-by":"publisher","DOI":"10.1109\/PADS.1997.594590"},{"key":"e_1_2_2_16_1","doi-asserted-by":"publisher","DOI":"10.1109\/JPROC.2006.876927"},{"key":"e_1_2_2_17_1","volume-title":"Proceedings of the Multiconference on Distributed Simulation. 23--28","author":"Fujimoto Richard M.","year":"1990","unstructured":"Richard M. Fujimoto . 1990 . Performance of Time Warp under synthetic workloads . In Proceedings of the Multiconference on Distributed Simulation. 23--28 . Richard M. Fujimoto. 1990. Performance of Time Warp under synthetic workloads. In Proceedings of the Multiconference on Distributed Simulation. 23--28."},{"volume-title":"Proceedings of the International Conference on Parallel Processing. 201--208","author":"Ghosh Kaushik","key":"e_1_2_2_18_1","unstructured":"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 . 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."},{"key":"e_1_2_2_19_1","doi-asserted-by":"publisher","DOI":"10.1109\/71.210814"},{"key":"e_1_2_2_20_1","doi-asserted-by":"publisher","DOI":"10.22360\/SpringSim.2016.HPC.046"},{"key":"e_1_2_2_21_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-41527-2_9"},{"volume-title":"Proceedings of the 2017 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation (SIGSIM-PADS\u201917)","author":"Higiro Julius","key":"e_1_2_2_22_1","unstructured":"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\u201917) . 3--14. 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\u201917). 3--14."},{"key":"e_1_2_2_23_1","volume-title":"Proceedings of the 12th Symposium on Reliable Distributed Systems (SRDS\u201993)","author":"Golden","year":"1993","unstructured":"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\u201993) . 58--67. DOI:https:\/\/doi.org\/10.1109\/RELDIS. 1993 .393473 10.1109\/RELDIS.1993.393473 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\u201993). 58--67. DOI:https:\/\/doi.org\/10.1109\/RELDIS.1993.393473"},{"key":"e_1_2_2_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/3916.3988"},{"key":"e_1_2_2_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/3916.3988"},{"key":"e_1_2_2_26_1","doi-asserted-by":"publisher","DOI":"10.1177\/0037549708096691"},{"key":"e_1_2_2_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/2901378.2901390"},{"key":"e_1_2_2_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/233498.233499"},{"key":"e_1_2_2_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/1272366.1272399"},{"key":"e_1_2_2_30_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10766-016-0429-2"},{"key":"e_1_2_2_31_1","volume-title":"Proceedings of the 26th International Conference on Computer Architecture and High Performance Computing (SBAC-PAD\u201914)","author":"Pellegrini Alessandro","year":"2014","unstructured":"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\u201914) . IEEE, Los Alamitos, CA, 9--16. DOI:https:\/\/doi.org\/10.1109\/SBAC-PAD. 2014.38 10.1109\/SBAC-PAD.2014.38 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\u201914). IEEE, Los Alamitos, CA, 9--16. DOI:https:\/\/doi.org\/10.1109\/SBAC-PAD.2014.38"},{"key":"e_1_2_2_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/3013528"},{"key":"e_1_2_2_33_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.jpdc.2019.05.003"},{"key":"e_1_2_2_34_1","doi-asserted-by":"publisher","DOI":"10.4108\/icst.simutools.2011.245551"},{"key":"e_1_2_2_35_1","doi-asserted-by":"publisher","DOI":"10.1109\/TPDS.2014.2323967"},{"key":"e_1_2_2_36_1","doi-asserted-by":"publisher","DOI":"10.1109\/PADS.2011.5936755"},{"key":"e_1_2_2_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/1773912.1773914"},{"key":"e_1_2_2_38_1","volume-title":"Retrieved","author":"Stitt Tim","year":"2010","unstructured":"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\/. 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\/."},{"key":"e_1_2_2_39_1","doi-asserted-by":"publisher","DOI":"10.1145\/2517449"},{"key":"e_1_2_2_40_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.procs.2013.05.231"},{"volume-title":"Proceedings of the 6th International ICST Conference on Simulation Tools and Techniques (SimuTools\u201913)","author":"Srikanth","key":"e_1_2_2_41_1","unstructured":"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\u201913) . 1--9. 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\u201913). 1--9."},{"key":"e_1_2_2_42_1","doi-asserted-by":"publisher","DOI":"10.1145\/2746232"}],"container-title":["ACM Transactions on Modeling and Computer Simulation"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3373335","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3373335","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T22:32:58Z","timestamp":1750199578000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3373335"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2020,3,20]]},"references-count":42,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2020,4,30]]}},"alternative-id":["10.1145\/3373335"],"URL":"https:\/\/doi.org\/10.1145\/3373335","relation":{},"ISSN":["1049-3301","1558-1195"],"issn-type":[{"type":"print","value":"1049-3301"},{"type":"electronic","value":"1558-1195"}],"subject":[],"published":{"date-parts":[[2020,3,20]]},"assertion":[{"value":"2018-12-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2019-11-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2020-03-20","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}