网络仿真的精确虚拟时间推进

Vignesh Babu, D. Nicol
{"title":"网络仿真的精确虚拟时间推进","authors":"Vignesh Babu, D. Nicol","doi":"10.1145/3384441.3395978","DOIUrl":null,"url":null,"abstract":"Network emulators enable rapid prototyping and testing of applications. In a typical emulation the execution order and process execution burst lengths are managed by the host platform's operating system, largely independent of the emulator. Timer based mechanisms are typically used, but the imprecision of timer firings introduces imprecision in the advancement of time. This leads to statistical variation in behavior which is not due to the model. We describe Kronos, a small set of modifications to the Linux kernel that use precise instruction level tracking of process execution and control over execution order of containers, and so improve the mapping of executed behavior to advancement in time. This, and control of execution and placement of emulated processes in virtual time make the behavior of the emulation independent of the CPU resources of the platform which hosts the emulation. Under Kronos each process has its own virtual clock which is advanced based on a count of the number of x86 assembly instructions executed by its children. We experimentally show that Kronos is scalable, in the sense that the system behavior is accurately captured even as the size of the emulated system increases relative to fixed emulation resources. We demonstrate the impact of Kronos' time advancement precision by comparing it against emulations which like Kronos are embedded in virtual time, but unlike Kronos rely on Linux timers to control virtual machines and measure their progress in virtual time. We also present two useful applications where Kronos aids in generating high fidelity emulation results at low hardware costs: (1) analysing protocol performance and (2) enabling analysis of cyber physical control systems.","PeriodicalId":422248,"journal":{"name":"Proceedings of the 2020 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation","volume":"60 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2020-06-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"6","resultStr":"{\"title\":\"Precise Virtual Time Advancement for Network Emulation\",\"authors\":\"Vignesh Babu, D. Nicol\",\"doi\":\"10.1145/3384441.3395978\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Network emulators enable rapid prototyping and testing of applications. In a typical emulation the execution order and process execution burst lengths are managed by the host platform's operating system, largely independent of the emulator. Timer based mechanisms are typically used, but the imprecision of timer firings introduces imprecision in the advancement of time. This leads to statistical variation in behavior which is not due to the model. We describe Kronos, a small set of modifications to the Linux kernel that use precise instruction level tracking of process execution and control over execution order of containers, and so improve the mapping of executed behavior to advancement in time. This, and control of execution and placement of emulated processes in virtual time make the behavior of the emulation independent of the CPU resources of the platform which hosts the emulation. Under Kronos each process has its own virtual clock which is advanced based on a count of the number of x86 assembly instructions executed by its children. We experimentally show that Kronos is scalable, in the sense that the system behavior is accurately captured even as the size of the emulated system increases relative to fixed emulation resources. We demonstrate the impact of Kronos' time advancement precision by comparing it against emulations which like Kronos are embedded in virtual time, but unlike Kronos rely on Linux timers to control virtual machines and measure their progress in virtual time. We also present two useful applications where Kronos aids in generating high fidelity emulation results at low hardware costs: (1) analysing protocol performance and (2) enabling analysis of cyber physical control systems.\",\"PeriodicalId\":422248,\"journal\":{\"name\":\"Proceedings of the 2020 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation\",\"volume\":\"60 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2020-06-15\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"6\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Proceedings of the 2020 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/3384441.3395978\",\"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 2020 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3384441.3395978","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 6

摘要

网络仿真器使应用程序的快速原型和测试成为可能。在典型的仿真中,执行顺序和进程执行突发长度由主机平台的操作系统管理,在很大程度上独立于仿真器。通常使用基于计时器的机制,但是计时器触发的不精确会在时间的推进中引入不精确。这导致了与模型无关的行为的统计变化。我们将描述Kronos,这是对Linux内核的一小部分修改,它使用精确的指令级进程执行跟踪和对容器执行顺序的控制,从而改进了执行行为与时间进度的映射。这一点,以及在虚拟时间内对仿真进程的执行和放置的控制,使得仿真的行为独立于承载仿真的平台的CPU资源。在Kronos下,每个进程都有自己的虚拟时钟,这个时钟是基于其子进程执行的x86汇编指令的数量来计算的。我们通过实验证明了Kronos是可扩展的,从某种意义上说,即使模拟系统的大小相对于固定的模拟资源增加,系统行为也能被准确地捕获。我们通过将Kronos与嵌入虚拟时间的仿真进行比较来展示Kronos的时间推进精度的影响,但与Kronos不同的是,Kronos依赖Linux计时器来控制虚拟机并测量虚拟时间中的进度。我们还介绍了两个有用的应用,其中Kronos有助于以低硬件成本生成高保真仿真结果:(1)分析协议性能和(2)启用网络物理控制系统分析。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
Precise Virtual Time Advancement for Network Emulation
Network emulators enable rapid prototyping and testing of applications. In a typical emulation the execution order and process execution burst lengths are managed by the host platform's operating system, largely independent of the emulator. Timer based mechanisms are typically used, but the imprecision of timer firings introduces imprecision in the advancement of time. This leads to statistical variation in behavior which is not due to the model. We describe Kronos, a small set of modifications to the Linux kernel that use precise instruction level tracking of process execution and control over execution order of containers, and so improve the mapping of executed behavior to advancement in time. This, and control of execution and placement of emulated processes in virtual time make the behavior of the emulation independent of the CPU resources of the platform which hosts the emulation. Under Kronos each process has its own virtual clock which is advanced based on a count of the number of x86 assembly instructions executed by its children. We experimentally show that Kronos is scalable, in the sense that the system behavior is accurately captured even as the size of the emulated system increases relative to fixed emulation resources. We demonstrate the impact of Kronos' time advancement precision by comparing it against emulations which like Kronos are embedded in virtual time, but unlike Kronos rely on Linux timers to control virtual machines and measure their progress in virtual time. We also present two useful applications where Kronos aids in generating high fidelity emulation results at low hardware costs: (1) analysing protocol performance and (2) enabling analysis of cyber physical control systems.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Runtime Abstraction-Level Conversion of Discrete-Event Wafer-fabrication Models for Simulation Acceleration Autonomic Power Management in Speculative Simulation Runtime Environments Reproducibility Report for the Paper: Partial Evaluation via Code Generation for Static Stochastic Reaction Network Models Precise Virtual Time Advancement for Network Emulation Parallel Simulation of Quantum Key Distribution Networks
×
引用
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