{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,5,4]],"date-time":"2026-05-04T13:46:23Z","timestamp":1777902383998,"version":"3.51.4"},"reference-count":48,"publisher":"SAGE Publications","issue":"4","license":[{"start":{"date-parts":[[2017,2,1]],"date-time":"2017-02-01T00:00:00Z","timestamp":1485907200000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/journals.sagepub.com\/page\/policies\/text-and-data-mining-license"}],"funder":[{"DOI":"10.13039\/501100003130","name":"Fonds Wetenschappelijk Onderzoek","doi-asserted-by":"publisher","id":[{"id":"10.13039\/501100003130","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["journals.sagepub.com"],"crossmark-restriction":true},"short-container-title":["SIMULATION"],"published-print":{"date-parts":[[2018,4]]},"abstract":"<jats:p>With the ever-increasing complexity of simulation models, parallel simulation becomes necessary to perform simulation within reasonable time bounds. The built-in parallelism of Parallel DEVS is often insufficient to tackle this problem on its own. Several synchronization protocols have been proposed, each with their distinct advantages and disadvantages. Due to the significantly different implementation of these protocols, most Parallel DEVS simulation tools are limited to only one such protocol. In this paper, we present a Parallel DEVS simulator, grafted on C++11 and based on PythonPDEVS, supporting both conservative and optimistic synchronization protocols. The simulator not only supports both protocols but also has the capability to switch between them at runtime. The simulator can combine each synchronization protocols with either a threaded or sequential implementation of the PDEVS protocol. We evaluate the performance gain obtained by choosing the most appropriate synchronization protocol. A comparison is made to adevs in terms of CPU time and memory usage, to show that our modularity does not hinder performance. We compare the speedup obtained by synchronization with that of the inherent parallelism of PDEVS in isolation and combination, and contrast the results with the theoretical limits. We further allow for an external component to gather simulation statistics, on which runtime switching between the different synchronization protocols can be based. The effects of allocation on our synchronization protocols are also studied.<\/jats:p>","DOI":"10.1177\/0037549717690826","type":"journal-article","created":{"date-parts":[[2017,2,20]],"date-time":"2017-02-20T07:06:13Z","timestamp":1487574373000},"page":"281-300","update-policy":"https:\/\/doi.org\/10.1177\/sage-journals-update-policy","source":"Crossref","is-referenced-by-count":11,"title":["A PDEVS simulator supporting multiple synchronization protocols: implementation and performance analysis"],"prefix":"10.1177","volume":"94","author":[{"given":"Ben","family":"Cardoen","sequence":"first","affiliation":[{"name":"University of Antwerp, Belgium"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Stijn","family":"Manhaeve","sequence":"additional","affiliation":[{"name":"University of Antwerp, Belgium"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Yentl","family":"Van Tendeloo","sequence":"additional","affiliation":[{"name":"University of Antwerp, Belgium"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Jan","family":"Broeckhove","sequence":"additional","affiliation":[{"name":"University of Antwerp, Belgium"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"179","published-online":{"date-parts":[[2017,2,1]]},"reference":[{"key":"bibr1-0037549717690826","volume-title":"Theory of Modeling and Simulation","author":"Zeigler B","year":"2000"},{"key":"bibr2-0037549717690826","doi-asserted-by":"publisher","DOI":"10.1109\/CACSD.2000.900199"},{"key":"bibr3-0037549717690826","first-page":"716","volume-title":"Proceedings of the 1994 Winter Simulation Multiconference","author":"Chow ACH"},{"key":"bibr4-0037549717690826","first-page":"239","volume-title":"Proceedings of the 3rd European Modeling & Simulation Symposium","author":"Himmelspach J"},{"key":"bibr5-0037549717690826","volume-title":"Parallel and Distributed Simulation Systems","author":"Fujimoto R","year":"1999","edition":"1"},{"issue":"3","key":"bibr6-0037549717690826","first-page":"135","volume":"13","author":"Kim KH","year":"1996","journal-title":"Trans SCS"},{"key":"bibr7-0037549717690826","first-page":"342","volume-title":"Proceedings of the 2010 Summer Simulation Multiconference","author":"Jafer S"},{"key":"bibr8-0037549717690826","first-page":"614","volume-title":"Proceedings of the 2016 Symposium on Theory of Modeling and Simulation - DEVS","author":"Cardoen B"},{"key":"bibr9-0037549717690826","first-page":"387","volume-title":"Proceedings of the 2014 Symposium on Theory of Modeling and Simulation - DEVS","author":"Van Tendeloo Y"},{"key":"bibr10-0037549717690826","unstructured":"Nutaro J. adevs, 2015. Available at: http:\/\/www.ornl.gov\/~1qn\/adevs\/."},{"key":"bibr11-0037549717690826","doi-asserted-by":"publisher","DOI":"10.1145\/3916.3988"},{"key":"bibr12-0037549717690826","volume-title":"Activity-aware DEVS simulation","author":"Van Tendeloo Y","year":"2014"},{"key":"bibr13-0037549717690826","first-page":"209","volume-title":"Proceedings of the 2010 Summer Simulation Multiconference","author":"Chen B"},{"key":"bibr14-0037549717690826","doi-asserted-by":"publisher","DOI":"10.1145\/268403.268423"},{"key":"bibr15-0037549717690826","first-page":"59","volume-title":"JDF 2016 \u2013 Les Journ\u00e9es DEVS Francophones \u2013 Th\u00e9orie et Applications","author":"Van Tendeloo Y"},{"key":"bibr16-0037549717690826","first-page":"2:1","volume-title":"Proceedings of the workshop on Activity-based Modeling and Simulation","author":"Van Tendeloo Y"},{"key":"bibr17-0037549717690826","unstructured":"OpenMP Architecture Review Board. OpenMP application program interface version 4.5, 2015. Available at: http:\/\/www.openmp.org\/mp-documents\/openmp-4.5.pdf."},{"key":"bibr18-0037549717690826","doi-asserted-by":"publisher","DOI":"10.1006\/jpdc.1993.1075"},{"key":"bibr19-0037549717690826","unstructured":"Drepper U. What every programmer should know about memory, 2007. Available at: https:\/\/lwn.net\/Articles\/250967\/."},{"key":"bibr20-0037549717690826","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380200104"},{"key":"bibr21-0037549717690826","unstructured":"Cleary S, Bristow P. Boost Pool: Fast memory pool allocation, 2011. Available at: http:\/\/www.boost.org\/doc\/libs\/1_61_0\/libs\/pool\/doc\/html\/."},{"key":"bibr22-0037549717690826","unstructured":"Ghemawat S, Menage P. TCMalloc: Thread-caching malloc, 2005. Available at: http:\/\/goog-perftools.sourceforge.net\/doc\/tcmalloc.html."},{"key":"bibr23-0037549717690826","doi-asserted-by":"publisher","DOI":"10.1145\/84537.84555"},{"key":"bibr24-0037549717690826","doi-asserted-by":"publisher","DOI":"10.1103\/PhysRevE.75.066701"},{"key":"bibr25-0037549717690826","doi-asserted-by":"publisher","DOI":"10.1177\/0037549710395649"},{"key":"bibr26-0037549717690826","doi-asserted-by":"publisher","DOI":"10.1177\/0037549716678330"},{"key":"bibr27-0037549717690826","first-page":"189","volume-title":"Proceedings of the 2015 Symposium on Theory of Modeling and Simulation - DEVS","author":"Zeigler B"},{"key":"bibr28-0037549717690826","first-page":"265","volume-title":"Proceedings of the 9th IEEE\/ACM International Symposium on Distributed Simulation and Real-Time Applications","author":"Glinsky E"},{"key":"bibr29-0037549717690826","first-page":"23","volume-title":"Proceedings of the SCS Multiconference on Distributed Simulation","author":"Fujimoto R"},{"key":"bibr30-0037549717690826","first-page":"273","volume-title":"1st Open International Conference on Modeling and Simulation (OICMS)","author":"Muzy A"},{"key":"bibr31-0037549717690826","first-page":"844","volume-title":"Proceedings of the 2015 Symposium on Theory of Modeling and Simulation - DEVS","author":"Van Tendeloo Y"},{"key":"bibr32-0037549717690826","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-17348-6_7"},{"key":"bibr33-0037549717690826","first-page":"367","volume-title":"Proceedings of the 2007 Summer Simulation Multiconference","author":"Quesnel G"},{"key":"bibr34-0037549717690826","doi-asserted-by":"publisher","DOI":"10.1177\/0037549710368029"},{"key":"bibr35-0037549717690826","doi-asserted-by":"publisher","DOI":"10.1002\/spe.482"},{"key":"bibr36-0037549717690826","first-page":"443","volume-title":"Proceedings of International Conferences on Computational Science and Engineering","author":"Jafer S"},{"key":"bibr37-0037549717690826","first-page":"273","volume-title":"Proceedings of the 36th Annual Symposium on Simulation","author":"Troccoli A"},{"key":"bibr38-0037549717690826","first-page":"165","volume-title":"Proceedings of the 2015 Symposium on Theory of Modeling and Simulation - DEVS","author":"Vicino D"},{"key":"bibr39-0037549717690826","first-page":"605","volume-title":"Proceedings of the 2016 Symposium on Theory of Modeling and Simulation - DEVS","author":"Capocchi L"},{"key":"bibr40-0037549717690826","first-page":"12","volume-title":"Proceedings of the 8th workshop on Parallel and distributed simulation","author":"Jha V"},{"key":"bibr41-0037549717690826","first-page":"186","volume-title":"Proceedings of the 1996 Winter Simulation Conference","author":"Das S"},{"key":"bibr42-0037549717690826","first-page":"59","volume-title":"Workshop on Principles of Advanced and Distributed Simulation","author":"Perumalla K"},{"key":"bibr43-0037549717690826","first-page":"221","volume-title":"Proceedings of the ACM\/IEEE\/SCS 26th Workshop on Principles of Advanced and Distributed Simulation","author":"Bahulkar K"},{"key":"bibr44-0037549717690826","first-page":"5","volume-title":"Proceedings of the 12th Workshop on Parallel and Distributed Simulation","author":"Nicol D"},{"key":"bibr45-0037549717690826","first-page":"249","volume-title":"Proceedings of the 2007 Spring Simulation Multiconference - Volume 2","author":"Himmelspach J"},{"key":"bibr46-0037549717690826","first-page":"848","volume-title":"Proceedings of the 2006 Winter Simulation Conference","author":"Ewald R"},{"key":"bibr47-0037549717690826","doi-asserted-by":"publisher","DOI":"10.1145\/268403.268404"},{"key":"bibr48-0037549717690826","first-page":"39","volume-title":"Proceedings of the Workshop on Principles of Advanced and Distributed Simulation","author":"Bauer D"}],"container-title":["SIMULATION"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/journals.sagepub.com\/doi\/pdf\/10.1177\/0037549717690826","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/journals.sagepub.com\/doi\/full-xml\/10.1177\/0037549717690826","content-type":"application\/xml","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/journals.sagepub.com\/doi\/pdf\/10.1177\/0037549717690826","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2026,5,1]],"date-time":"2026-05-01T11:27:56Z","timestamp":1777634876000},"score":1,"resource":{"primary":{"URL":"https:\/\/journals.sagepub.com\/doi\/10.1177\/0037549717690826"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2017,2,1]]},"references-count":48,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2018,4]]}},"alternative-id":["10.1177\/0037549717690826"],"URL":"https:\/\/doi.org\/10.1177\/0037549717690826","relation":{},"ISSN":["0037-5497","1741-3133"],"issn-type":[{"value":"0037-5497","type":"print"},{"value":"1741-3133","type":"electronic"}],"subject":[],"published":{"date-parts":[[2017,2,1]]}}}