Matteo Principe, Andrea Piccione, Alessandro Pellegrini, F. Quaglia
A rollback operation in a speculative parallel discrete event simulator has traditionally targeted the perfect reconstruction of the state to be restored after a timestamp-order violation. This imposes that the rollback support entails specific capabilities and consequently pays given costs. In this article we propose approximated rollbacks, which allow a simulation object to perfectly realign its virtual time to the timestamp of the state to be restored, but lead the reconstructed state to be an approximation of what it should really be. The advantage is an important reduction of the cost for managing the state restore task in a rollback phase, as well as for managing the activities (i.e. state saving) that actually enable rollbacks to be executed. Our proposal is suited for stochastic simulations, and explores a tradeoff between the statistical representativeness of the outcome of the simulation run and the execution performance. We provide mechanisms that enable the application programmer to control this tradeoff, as well as simulation-platform level mechanisms that constitute the basis for managing approximate rollbacks in general simulation scenarios. A study on the aforementioned tradeoff is also presented.
{"title":"Approximated Rollbacks","authors":"Matteo Principe, Andrea Piccione, Alessandro Pellegrini, F. Quaglia","doi":"10.1145/3384441.3395984","DOIUrl":"https://doi.org/10.1145/3384441.3395984","url":null,"abstract":"A rollback operation in a speculative parallel discrete event simulator has traditionally targeted the perfect reconstruction of the state to be restored after a timestamp-order violation. This imposes that the rollback support entails specific capabilities and consequently pays given costs. In this article we propose approximated rollbacks, which allow a simulation object to perfectly realign its virtual time to the timestamp of the state to be restored, but lead the reconstructed state to be an approximation of what it should really be. The advantage is an important reduction of the cost for managing the state restore task in a rollback phase, as well as for managing the activities (i.e. state saving) that actually enable rollbacks to be executed. Our proposal is suited for stochastic simulations, and explores a tradeoff between the statistical representativeness of the outcome of the simulation run and the execution performance. We provide mechanisms that enable the application programmer to control this tradeoff, as well as simulation-platform level mechanisms that constitute the basis for managing approximate rollbacks in general simulation scenarios. A study on the aforementioned tradeoff is also presented.","PeriodicalId":422248,"journal":{"name":"Proceedings of the 2020 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation","volume":"2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-06-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126688375","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Succinct, declarative, and domain-specific modeling languages have many advantages when creating simulation models. However, it is often challenging to efficiently execute models defined in such languages. We use code generation for model-specific simulators. Code generation has been successfully applied for high-performance algorithms in many application domains. By generating tailored simulators for specific simulation models defined in a domain-specific language, we get the best of both worlds: a succinct, declarative and formal presentation of the model and an efficient execution. We illustrate this based on a simple domain-specific language for biochemical reaction networks as well as on the network representation of the established BioNetGen language. We implement two approaches adopting the same simulation algorithms: one generic simulator that parses models at runtime and one generator that produces a simulator specialized to a given model based on partial evaluation and code generation. Akin to profile-guided optimization we also use dynamic execution of the model to further optimize the simulators. The performance of the approaches is carefully benchmarked using representative models of small to mid-sized biochemical reaction networks. The generic simulator achieves a performance similar to state of the art simulators in the domain, whereas the specialized simulator outperforms established simulation algorithms with a speedup of more than an order of magnitude. Both implementations are available online to the community under a permissive open-source license.
{"title":"Partial Evaluation via Code Generation for Static Stochastic Reaction Network Models","authors":"Till Köster, Tom Warnke, A. Uhrmacher","doi":"10.1145/3384441.3395983","DOIUrl":"https://doi.org/10.1145/3384441.3395983","url":null,"abstract":"Succinct, declarative, and domain-specific modeling languages have many advantages when creating simulation models. However, it is often challenging to efficiently execute models defined in such languages. We use code generation for model-specific simulators. Code generation has been successfully applied for high-performance algorithms in many application domains. By generating tailored simulators for specific simulation models defined in a domain-specific language, we get the best of both worlds: a succinct, declarative and formal presentation of the model and an efficient execution. We illustrate this based on a simple domain-specific language for biochemical reaction networks as well as on the network representation of the established BioNetGen language. We implement two approaches adopting the same simulation algorithms: one generic simulator that parses models at runtime and one generator that produces a simulator specialized to a given model based on partial evaluation and code generation. Akin to profile-guided optimization we also use dynamic execution of the model to further optimize the simulators. The performance of the approaches is carefully benchmarked using representative models of small to mid-sized biochemical reaction networks. The generic simulator achieves a performance similar to state of the art simulators in the domain, whereas the specialized simulator outperforms established simulation algorithms with a speedup of more than an order of magnitude. Both implementations are available online to the community under a permissive open-source license.","PeriodicalId":422248,"journal":{"name":"Proceedings of the 2020 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation","volume":"70 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-06-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129517046","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
The authors request for this paper the following badges: (1) Artifacts Available (2) Artifacts Evaluated - Functional (3) Artifacts Evaluated Reusable (4) Results Replicated. After the review process, all of them were assigned, as the artifact met all the requirements.
{"title":"Reproducibility Report for the Paper: Probing the Performance of the Edinburgh Bike Sharing System using SSTL","authors":"Matteo Principe","doi":"10.1145/3384441.3396231","DOIUrl":"https://doi.org/10.1145/3384441.3396231","url":null,"abstract":"The authors request for this paper the following badges: (1) Artifacts Available (2) Artifacts Evaluated - Functional (3) Artifacts Evaluated Reusable (4) Results Replicated. After the review process, all of them were assigned, as the artifact met all the requirements.","PeriodicalId":422248,"journal":{"name":"Proceedings of the 2020 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation","volume":"102 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-06-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124716673","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
The paper, whose reproducibility is assessed in this report, proposes a methodology aimed at improving the performance of Cellular Automata-based HIV models. The artifact is available online with instructions to replicate the results, which have been added by the authors upon request. The author of this report confidently assigns the functional, available and results replicated badges to this paper.
{"title":"Reproducibility Report for the Paper:: Optimizing DiscreteSimulations of the Spread of HIV-1 to Handle Billions of Cells ona Workstation","authors":"Andrea Piccione","doi":"10.1145/3384441.3396230","DOIUrl":"https://doi.org/10.1145/3384441.3396230","url":null,"abstract":"The paper, whose reproducibility is assessed in this report, proposes a methodology aimed at improving the performance of Cellular Automata-based HIV models. The artifact is available online with instructions to replicate the results, which have been added by the authors upon request. The author of this report confidently assigns the functional, available and results replicated badges to this paper.","PeriodicalId":422248,"journal":{"name":"Proceedings of the 2020 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation","volume":"92 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-06-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122748425","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
High performance computing (HPC) systems are large-scale computing systems with thousands of compute nodes. Massive energy consumption is a critical issue for HPC systems. In this paper, we develop an auction mechanism model for energy consumption reduction in an HPC system. Our proposed model includes an optimized resource allocation scheme for HPC jobs based on processor frequency and a Vickery-Clarke-Groove (VCG)-based forward auction model to enable energy reduction participation from HPC users. The model ensures truthful participation from HPC users, where users benefit from revealing their true valuation of energy reduction. We implement a job scheduler simulator and our mechanism model on a parallel discrete-event simulation engine. Through trace-based simulation, we demonstrate the effectiveness of our auction mechanism model. Simulation shows that our model can achieve overall energy reduction for an HPC system, while ensuring truthful participation from the users.
{"title":"Simulation of Auction Mechanism Model for Energy-Efficient High Performance Computing","authors":"Kishwar Ahmed, S. Tasnim, Kazutomo Yoshii","doi":"10.1145/3384441.3395991","DOIUrl":"https://doi.org/10.1145/3384441.3395991","url":null,"abstract":"High performance computing (HPC) systems are large-scale computing systems with thousands of compute nodes. Massive energy consumption is a critical issue for HPC systems. In this paper, we develop an auction mechanism model for energy consumption reduction in an HPC system. Our proposed model includes an optimized resource allocation scheme for HPC jobs based on processor frequency and a Vickery-Clarke-Groove (VCG)-based forward auction model to enable energy reduction participation from HPC users. The model ensures truthful participation from HPC users, where users benefit from revealing their true valuation of energy reduction. We implement a job scheduler simulator and our mechanism model on a parallel discrete-event simulation engine. Through trace-based simulation, we demonstrate the effectiveness of our auction mechanism model. Simulation shows that our model can achieve overall energy reduction for an HPC system, while ensuring truthful participation from the users.","PeriodicalId":422248,"journal":{"name":"Proceedings of the 2020 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-06-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128246152","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
P. Giabbanelli, Joshua A. Devita, Till Köster, Jared A. Kohrt
Cellular Automata have been used on many occasions to model the spread of the Human Immunodeficiency Virus (HIV) within a human body. This is in part due to the relative simplicity of crafting their rules and the convenience of visualizing disease dynamics in 2D. Although such models appeared in 2001 and have been extended in dozens of studies, their potential to serve as a virtual laboratory has been limited by their computationally intensive nature. So far, they have been used to simulate at most 0.5 million cells instead of the billion cells that may harbor the virus. Simulating too few cells is a key issue for calibration (the 'small' models are calibrated based on results observed in a much larger space), prevents us from using a sufficient proportion of cells to model latent HIV reservoirs (in which HIV can hide for years), and prohibits even more computationally intensive aspects such as tracking mutations (which is essential to assess drug resistance). In short, the low number of cells prevents these models from answering many of the questions that would make them useful as virtual laboratories. Although the models may be scaled by running on clusters, this is not always an option since interdisciplinary research in discrete models of HIV often takes place on the lab's computer, and patients for whom we seek to provide virtual laboratories may have limited access to computational resources. Given these constraints, we demonstrate how to optimize simulations of HIV on a workstation by combining features such as just-in-time compilation, parallelism at the level of threads, pseudo random number generators, and simplified handling of neighbors in a cellular automaton. Our results demonstrate that, within 10 minutes, we can finish a simulation run for 6.7 billion cells instead of 60,000 cells in an unoptimized simulation.
{"title":"Optimizing Discrete Simulations of the Spread of HIV-1 to Handle Billions of Cells on a Workstation","authors":"P. Giabbanelli, Joshua A. Devita, Till Köster, Jared A. Kohrt","doi":"10.1145/3384441.3395987","DOIUrl":"https://doi.org/10.1145/3384441.3395987","url":null,"abstract":"Cellular Automata have been used on many occasions to model the spread of the Human Immunodeficiency Virus (HIV) within a human body. This is in part due to the relative simplicity of crafting their rules and the convenience of visualizing disease dynamics in 2D. Although such models appeared in 2001 and have been extended in dozens of studies, their potential to serve as a virtual laboratory has been limited by their computationally intensive nature. So far, they have been used to simulate at most 0.5 million cells instead of the billion cells that may harbor the virus. Simulating too few cells is a key issue for calibration (the 'small' models are calibrated based on results observed in a much larger space), prevents us from using a sufficient proportion of cells to model latent HIV reservoirs (in which HIV can hide for years), and prohibits even more computationally intensive aspects such as tracking mutations (which is essential to assess drug resistance). In short, the low number of cells prevents these models from answering many of the questions that would make them useful as virtual laboratories. Although the models may be scaled by running on clusters, this is not always an option since interdisciplinary research in discrete models of HIV often takes place on the lab's computer, and patients for whom we seek to provide virtual laboratories may have limited access to computational resources. Given these constraints, we demonstrate how to optimize simulations of HIV on a workstation by combining features such as just-in-time compilation, parallelism at the level of threads, pseudo random number generators, and simplified handling of neighbors in a cellular automaton. Our results demonstrate that, within 10 minutes, we can finish a simulation run for 6.7 billion cells instead of 60,000 cells in an unoptimized simulation.","PeriodicalId":422248,"journal":{"name":"Proceedings of the 2020 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation","volume":"17 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-06-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132659145","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
While transitioning to exascale systems, it has become clear that power management plays a fundamental role to support a viable utilization of the underlying hardware, also performance-wise. To meet power restrictions imposed by future exascale supercomputers, runtime environments will be required to enforce self-tuning schemes to run dynamic workloads under an imposed power cap. Literature results show that, for a wide class of multi-threaded applications, tuning both the degree of parallelism and frequency/voltage of cores allows a more effective use of the budget, compared to techniques that use only one of these mechanisms in isolation. In this paper, we explore the issues associated with applying these techniques on speculative Time-Warp based simulation runtime environments. We discuss how the differences in two antithetical Time Warp-based simulation environments impact the obtained results. Our assessment confirms that the performance gains achieved through a proper allocation of the power budget can be significant. We also identify the research challenges that would make these form of self-tuning more broadly applicable.
{"title":"Autonomic Power Management in Speculative Simulation Runtime Environments","authors":"Stefano Conoci, Mauro Ianni, Romolo Marotta, Alessandro Pellegrini","doi":"10.1145/3384441.3395980","DOIUrl":"https://doi.org/10.1145/3384441.3395980","url":null,"abstract":"While transitioning to exascale systems, it has become clear that power management plays a fundamental role to support a viable utilization of the underlying hardware, also performance-wise. To meet power restrictions imposed by future exascale supercomputers, runtime environments will be required to enforce self-tuning schemes to run dynamic workloads under an imposed power cap. Literature results show that, for a wide class of multi-threaded applications, tuning both the degree of parallelism and frequency/voltage of cores allows a more effective use of the budget, compared to techniques that use only one of these mechanisms in isolation. In this paper, we explore the issues associated with applying these techniques on speculative Time-Warp based simulation runtime environments. We discuss how the differences in two antithetical Time Warp-based simulation environments impact the obtained results. Our assessment confirms that the performance gains achieved through a proper allocation of the power budget can be significant. We also identify the research challenges that would make these form of self-tuning more broadly applicable.","PeriodicalId":422248,"journal":{"name":"Proceedings of the 2020 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation","volume":"279 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-06-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115292677","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Session details: Network Models and Emulation","authors":"Kishwar Ahmed","doi":"10.1145/3406368","DOIUrl":"https://doi.org/10.1145/3406368","url":null,"abstract":"","PeriodicalId":422248,"journal":{"name":"Proceedings of the 2020 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation","volume":"174 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-06-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127022822","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Session details: Agent-Based Model","authors":"Alessandro Pellegrini","doi":"10.1145/3406366","DOIUrl":"https://doi.org/10.1145/3406366","url":null,"abstract":"","PeriodicalId":422248,"journal":{"name":"Proceedings of the 2020 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-06-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128025175","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}