ns-3中的状态自动保存和回滚

Euna Kim, G. Riley
{"title":"ns-3中的状态自动保存和回滚","authors":"Euna Kim, G. Riley","doi":"10.1145/3064911.3064925","DOIUrl":null,"url":null,"abstract":"When designing, implementing and executing large-scale distributed simulation codes it is well-known the so-called optimistic time synchronization methods often lead to better overall performance as compared to the so-called conservative methods. Particularly when the model being simulated suffers from small lookahead between two or more of the logical processes working on the overall simulation execution. However, the design and implementation of simulation model codes intended to be executed using optimistic approach is often daunting, especially when working with existing codes which were designed and implemented to be used in a conservative approach. When executing simulation events, optimistic simulation models must first save any existing state in the model prior to executing codes that change that state, and furthermore must implement rollback code which restores that state to the original value. The necessity for such extra software functionality is often a barrier to the complete implementation of an optimistic-based simulation model and the corresponding improved performance. However, recent work by Lawrence Livermore National Laboratory (LLNL) shows promise toward easing the burden of state-saving and rollback which will ultimately lead to simulation models that include state-saving and rollback automatically with little or no extra effort on the part of the model developer. This work, known as Backstroke, uses the C or C++ source code of the simulation model and generates both the forward-direction state-saving and the reverse-direction rollback prior to executing any simulation event. In this work, we demonstrate that the Network Simulator 3 (ns-3) model code, instrumented by Backstroke, can successfully execute scenario to some arbitrary time T, and then roll back to simulation time T0, restoring previously saved state for all modified ns-3 events and resulting in identical model state to that created in the original prior to the execution of the very first model event. Finally, we measure and report on the amount of wall-clock time overhead incurred by the ns-3 execution required by the Backstroke state saving and restoration, and compare that time to the execution time of the original unmodified ns-3 model codes.","PeriodicalId":341026,"journal":{"name":"Proceedings of the 2017 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation","volume":"6 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2017-05-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"6","resultStr":"{\"title\":\"Automatic State Saving and Rollback in ns-3\",\"authors\":\"Euna Kim, G. Riley\",\"doi\":\"10.1145/3064911.3064925\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"When designing, implementing and executing large-scale distributed simulation codes it is well-known the so-called optimistic time synchronization methods often lead to better overall performance as compared to the so-called conservative methods. Particularly when the model being simulated suffers from small lookahead between two or more of the logical processes working on the overall simulation execution. However, the design and implementation of simulation model codes intended to be executed using optimistic approach is often daunting, especially when working with existing codes which were designed and implemented to be used in a conservative approach. When executing simulation events, optimistic simulation models must first save any existing state in the model prior to executing codes that change that state, and furthermore must implement rollback code which restores that state to the original value. The necessity for such extra software functionality is often a barrier to the complete implementation of an optimistic-based simulation model and the corresponding improved performance. However, recent work by Lawrence Livermore National Laboratory (LLNL) shows promise toward easing the burden of state-saving and rollback which will ultimately lead to simulation models that include state-saving and rollback automatically with little or no extra effort on the part of the model developer. This work, known as Backstroke, uses the C or C++ source code of the simulation model and generates both the forward-direction state-saving and the reverse-direction rollback prior to executing any simulation event. In this work, we demonstrate that the Network Simulator 3 (ns-3) model code, instrumented by Backstroke, can successfully execute scenario to some arbitrary time T, and then roll back to simulation time T0, restoring previously saved state for all modified ns-3 events and resulting in identical model state to that created in the original prior to the execution of the very first model event. Finally, we measure and report on the amount of wall-clock time overhead incurred by the ns-3 execution required by the Backstroke state saving and restoration, and compare that time to the execution time of the original unmodified ns-3 model codes.\",\"PeriodicalId\":341026,\"journal\":{\"name\":\"Proceedings of the 2017 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation\",\"volume\":\"6 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2017-05-16\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"6\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Proceedings of the 2017 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/3064911.3064925\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 2017 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3064911.3064925","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 6

摘要

在设计、实现和执行大规模分布式仿真代码时,众所周知,所谓的乐观时间同步方法通常比所谓的保守方法具有更好的整体性能。特别是当被模拟的模型在处理整个模拟执行的两个或多个逻辑流程之间存在较小的前瞻性时。然而,使用乐观方法执行的仿真模型代码的设计和实现通常是令人生畏的,特别是当使用以保守方法设计和实现的现有代码时。在执行仿真事件时,乐观仿真模型必须首先保存模型中的任何现有状态,然后再执行更改该状态的代码,而且必须实现将该状态恢复到原始值的回滚代码。这种额外软件功能的必要性通常是完全实现基于乐观的仿真模型和相应改进性能的障碍。然而,劳伦斯利弗莫尔国家实验室(LLNL)最近的工作显示了减轻状态保存和回滚负担的希望,这将最终导致仿真模型自动包含状态保存和回滚,而模型开发人员很少或不需要额外的努力。这项工作称为Backstroke,它使用模拟模型的C或c++源代码,并在执行任何模拟事件之前生成正向状态保存和反向回滚。在这项工作中,我们证明了通过Backstroke检测的Network Simulator 3 (ns-3)模型代码可以成功地将场景执行到任意时间T,然后回滚到模拟时间T0,为所有修改过的ns-3事件恢复先前保存的状态,并导致与执行第一个模型事件之前在原始中创建的相同的模型状态。最后,我们测量并报告Backstroke状态保存和恢复所需的ns-3执行所产生的时钟时间开销,并将该时间与原始未修改的ns-3模型代码的执行时间进行比较。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
Automatic State Saving and Rollback in ns-3
When designing, implementing and executing large-scale distributed simulation codes it is well-known the so-called optimistic time synchronization methods often lead to better overall performance as compared to the so-called conservative methods. Particularly when the model being simulated suffers from small lookahead between two or more of the logical processes working on the overall simulation execution. However, the design and implementation of simulation model codes intended to be executed using optimistic approach is often daunting, especially when working with existing codes which were designed and implemented to be used in a conservative approach. When executing simulation events, optimistic simulation models must first save any existing state in the model prior to executing codes that change that state, and furthermore must implement rollback code which restores that state to the original value. The necessity for such extra software functionality is often a barrier to the complete implementation of an optimistic-based simulation model and the corresponding improved performance. However, recent work by Lawrence Livermore National Laboratory (LLNL) shows promise toward easing the burden of state-saving and rollback which will ultimately lead to simulation models that include state-saving and rollback automatically with little or no extra effort on the part of the model developer. This work, known as Backstroke, uses the C or C++ source code of the simulation model and generates both the forward-direction state-saving and the reverse-direction rollback prior to executing any simulation event. In this work, we demonstrate that the Network Simulator 3 (ns-3) model code, instrumented by Backstroke, can successfully execute scenario to some arbitrary time T, and then roll back to simulation time T0, restoring previously saved state for all modified ns-3 events and resulting in identical model state to that created in the original prior to the execution of the very first model event. Finally, we measure and report on the amount of wall-clock time overhead incurred by the ns-3 execution required by the Backstroke state saving and restoration, and compare that time to the execution time of the original unmodified ns-3 model codes.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Session details: Paper Session 4 GPU and Hardware Acceleration Lightweight WebSIM Rendering Framework Based on Cloud-Baking Efficient Simulation of Nested Hollow Sphere Intersections: for Dynamically Nested Compartmental Models in Cell Biology Session details: Paper Session 3 Performance Modeling and Simulation Analyzing Emergency Evacuation Strategies for Mass Gatherings using Crowd Simulation And Analysis framework: Hajj Scenario
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1