{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,12,11]],"date-time":"2025-12-11T07:34:51Z","timestamp":1765438491431,"version":"3.41.0"},"reference-count":37,"publisher":"Association for Computing Machinery (ACM)","issue":"2","license":[{"start":{"date-parts":[[2017,4,30]],"date-time":"2017-04-30T00:00:00Z","timestamp":1493510400000},"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":[[2017,4,30]]},"abstract":"<jats:p>Several techniques have been proposed to improve the performance of Parallel Discrete Event Simulation platforms relying on the Time Warp (optimistic) synchronization protocol. Among them we can mention optimized approaches for state restore, as well as techniques for load balancing or (dynamically) controlling the speculation degree, the latter being specifically targeted at reducing the incidence of causality errors leading to waste of computation. However, in state-of-the-art Time Warp systems, events\u2019 processing is not preemptable, which may prevent the possibility to promptly react to the injection of higher priority (say, lower timestamp) events. Delaying the processing of these events may, in turn, give rise to higher incidence of incorrect speculation. In this article, we present the design and realization of a fine-grain time-sharing Time Warp system, to be run on multi-core Linux machines, which makes systematic use of event preemption in order to dynamically reassign the CPU to higher priority events\/tasks. Our proposal is based on a truly dual mode execution, application versus platform, which includes a timer-interrupt-based support for bringing control back to platform mode for possible CPU reassignment according to very fine grain periods. The latter facility is offered by an ad-hoc timer-interrupt management module for Linux, which we release, together with the overall time-sharing support, within the open source ROOT-Sim platform. An experimental assessment based on the classical PHOLD benchmark and two real-world models is presented, which shows how our proposal effectively leads to the reduction of the incidence of causality errors, especially when running with higher degrees of parallelism.<\/jats:p>","DOI":"10.1145\/3013528","type":"journal-article","created":{"date-parts":[[2017,5,31]],"date-time":"2017-05-31T19:32:40Z","timestamp":1496259160000},"page":"1-25","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":16,"title":["A Fine-Grain Time-Sharing Time Warp System"],"prefix":"10.1145","volume":"27","author":[{"given":"Alessandro","family":"Pellegrini","sequence":"first","affiliation":[{"name":"Sapienza Universit\u00e0 di Roma, Via Ariosto Roma, Italy"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-5616-7980","authenticated-orcid":false,"given":"Francesco","family":"Quaglia","sequence":"additional","affiliation":[{"name":"Sapienza Universit\u00e0 di Roma, Via Ariosto Roma, Italy"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2017,5,27]]},"reference":[{"key":"e_1_2_2_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/2486092.2486133"},{"volume-title":"Proceedings of the 1st ACM SIGSIM Conference on Principles of Advanced Discrete Simulation. 327--336","author":"Barnes-Jr P. D.","key":"e_1_2_2_2_1","unstructured":"P. D. Barnes-Jr ., C. D. Carothers , D. R. Jefferson , and J. M. LaPre . 2013. Warp speed: Executing time warp on 1, 966, 080 cores . In Proceedings of the 1st ACM SIGSIM Conference on Principles of Advanced Discrete Simulation. 327--336 . P. D. Barnes-Jr., C. D. Carothers, D. R. Jefferson, and J. M. LaPre. 2013. Warp speed: Executing time warp on 1, 966, 080 cores. In Proceedings of the 1st ACM SIGSIM Conference on Principles of Advanced Discrete Simulation. 327--336."},{"key":"e_1_2_2_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/63039.63045"},{"key":"e_1_2_2_4_1","doi-asserted-by":"publisher","DOI":"10.1109\/PADS.2002.1004197"},{"key":"e_1_2_2_5_1","doi-asserted-by":"publisher","DOI":"10.1109\/71.841745"},{"key":"e_1_2_2_6_1","doi-asserted-by":"publisher","DOI":"10.1109\/PADS.1999.766166"},{"key":"e_1_2_2_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/2769458.2769482"},{"key":"e_1_2_2_8_1","doi-asserted-by":"publisher","DOI":"10.1109\/WSC.1994.717527"},{"key":"e_1_2_2_9_1","doi-asserted-by":"publisher","DOI":"10.1109\/CLUSTR.2007.4629247"},{"key":"e_1_2_2_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/240896.240913"},{"key":"e_1_2_2_11_1","doi-asserted-by":"publisher","DOI":"10.1109\/SC.2008.5219920"},{"key":"e_1_2_2_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/84537.84545"},{"key":"e_1_2_2_13_1","volume-title":"Proceedings of the Multiconference on Distributed Simulation. Society for Computer Simulation, 23--28","author":"Fujimoto R. M.","year":"1990","unstructured":"R. M. Fujimoto . 1990 b. Performance of Time Warp under synthetic workloads . In Proceedings of the Multiconference on Distributed Simulation. Society for Computer Simulation, 23--28 . R. M. Fujimoto. 1990b. Performance of Time Warp under synthetic workloads. In Proceedings of the Multiconference on Distributed Simulation. Society for Computer Simulation, 23--28."},{"key":"e_1_2_2_14_1","doi-asserted-by":"publisher","DOI":"10.1109\/71.210814"},{"key":"e_1_2_2_15_1","unstructured":"HPDCS Research Group. 2012. ROOT-Sim: The ROme OpTimistic Simulator\u2014v 1.0. Retrieved from http:\/\/www.dis.uniroma1.it\/ hpdcs\/ROOT-Sim\/.  HPDCS Research Group. 2012. ROOT-Sim: The ROme OpTimistic Simulator\u2014v 1.0. Retrieved from http:\/\/www.dis.uniroma1.it\/ hpdcs\/ROOT-Sim\/."},{"key":"e_1_2_2_16_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.simpat.2012.08.003"},{"key":"e_1_2_2_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/3916.3988"},{"volume-title":"Proceedings of the Symposium on Operating Systems (SOSP\u201987)","author":"Jefferson D. R.","key":"e_1_2_2_18_1","unstructured":"D. R. Jefferson , B. Beckman , F. Wieland , L. Blume , M. D. Loreto , P. Hontalas , P. Laroche , K. Sturdevant , J. Tupman , L. V. Warren , J. J. Wedel , H. Younger , and S. Bellenot . 1987. Distributed simulation and the time wrap operating system . In Proceedings of the Symposium on Operating Systems (SOSP\u201987) . 77--93. D. R. Jefferson, B. Beckman, F. Wieland, L. Blume, M. D. Loreto, P. Hontalas, P. Laroche, K. Sturdevant, J. Tupman, L. V. Warren, J. J. Wedel, H. Younger, and S. Bellenot. 1987. Distributed simulation and the time wrap operating system. In Proceedings of the Symposium on Operating Systems (SOSP\u201987). 77--93."},{"key":"e_1_2_2_19_1","doi-asserted-by":"publisher","DOI":"10.1109\/7693.975444"},{"key":"e_1_2_2_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/2769458.2769481"},{"key":"e_1_2_2_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/2601381.2601395"},{"volume-title":"Proceedings of the 23rd SCS Multiconference on Advances in Parallel and Distributed Simulation. IEEE Computer Society, 11--14","author":"Lin Y.-B.","key":"e_1_2_2_22_1","unstructured":"Y.-B. Lin and E. D. Lazowska . 1991. Processor scheduling for Time Warp parallel simulation . In Proceedings of the 23rd SCS Multiconference on Advances in Parallel and Distributed Simulation. IEEE Computer Society, 11--14 . Y.-B. Lin and E. D. Lazowska. 1991. Processor scheduling for Time Warp parallel simulation. In Proceedings of the 23rd SCS Multiconference on Advances in Parallel and Distributed Simulation. IEEE Computer Society, 11--14."},{"key":"e_1_2_2_23_1","doi-asserted-by":"publisher","DOI":"10.1109\/PADS.1997.594606"},{"key":"e_1_2_2_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/2601381.2601398"},{"key":"e_1_2_2_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/2769458.2769479"},{"volume-title":"Proceedings of the 4th International ICST Conference on Simulation Tools and Techniques. Proceedings of the 4th ICST Conference of Simulation Tools and Techniques (SIMUTools\u201911)","author":"Pellegrini A.","key":"e_1_2_2_26_1","unstructured":"A. Pellegrini , R. Vitali , and F. Quaglia . 2011. The ROme OpTimistic Simulator: Core internals and programming model . In Proceedings of the 4th International ICST Conference on Simulation Tools and Techniques. Proceedings of the 4th ICST Conference of Simulation Tools and Techniques (SIMUTools\u201911) . A. Pellegrini, R. Vitali, and F. Quaglia. 2011. The ROme OpTimistic Simulator: Core internals and programming model. In Proceedings of the 4th International ICST Conference on Simulation Tools and Techniques. Proceedings of the 4th ICST Conference of Simulation Tools and Techniques (SIMUTools\u201911)."},{"key":"e_1_2_2_27_1","doi-asserted-by":"publisher","DOI":"10.1109\/TPDS.2014.2323967"},{"key":"e_1_2_2_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/643114.643115"},{"key":"e_1_2_2_29_1","doi-asserted-by":"publisher","DOI":"10.1109\/PADS.1996.761564"},{"key":"e_1_2_2_30_1","doi-asserted-by":"publisher","DOI":"10.1142\/S0219265905001514"},{"key":"e_1_2_2_31_1","doi-asserted-by":"publisher","DOI":"10.1109\/IPDPS.2010.5470398"},{"key":"e_1_2_2_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/280265.280267"},{"key":"e_1_2_2_33_1","doi-asserted-by":"publisher","DOI":"10.1109\/PADS.2008.23"},{"key":"e_1_2_2_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/2425248.2425250"},{"key":"e_1_2_2_35_1","doi-asserted-by":"publisher","DOI":"10.1109\/TPDS.2013.193"},{"key":"e_1_2_2_36_1","doi-asserted-by":"publisher","DOI":"10.1109\/PADS.1996.761565"},{"key":"e_1_2_2_37_1","doi-asserted-by":"publisher","DOI":"10.1109\/MASCOTS.2012.18"}],"container-title":["ACM Transactions on Modeling and Computer Simulation"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3013528","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3013528","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T03:50:40Z","timestamp":1750218640000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3013528"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2017,4,30]]},"references-count":37,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2017,4,30]]}},"alternative-id":["10.1145\/3013528"],"URL":"https:\/\/doi.org\/10.1145\/3013528","relation":{},"ISSN":["1049-3301","1558-1195"],"issn-type":[{"type":"print","value":"1049-3301"},{"type":"electronic","value":"1558-1195"}],"subject":[],"published":{"date-parts":[[2017,4,30]]},"assertion":[{"value":"2015-11-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2016-10-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2017-05-27","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}