skip to main content
10.1145/3384441.3395978acmconferencesArticle/Chapter ViewAbstractPublication PagespadsConference Proceedingsconference-collections
research-article

Precise Virtual Time Advancement for Network Emulation

Published: 15 June 2020 Publication History

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.

References

[1]
2014. OpenVZ: a container-based virtualization for Linux. http://openvz.org/Main_Page
[2]
2015. mininet: An instant virtual network on your laptop. http://mininet.org/.
[3]
2018. GDB: The GNU Project Debugger. https://www.gnu.org/software/gdb/.
[4]
2018. MATPOWER ? steady state power flow simulation and optimization forMATLAB and Octave. https://github.com/MATPOWER/matpower.
[5]
2018. Perf: The linux performance counter subsystem. https://perf.wiki.kernel.org/index.php/Main_Page.
[6]
2018. Ptrace: The linux process tracing subsystem. https://linux.die.net/man/2/ptrace/.
[7]
2019. Boost C++ libraries. www.boost.org.
[8]
2019. H2o: The optimized HTTP/2 web server. https://h2o.examp1e.net/.
[9]
2019. HTTP2 usage statistics. https://w3techs.com/technologies/details/ce-http2/all/all.
[10]
2019. New England IEEE 39-Bus System. https://electricgrids.engr.tamu.edu/electric-grid-test-cases/new-england-ieee-39-bus-system/.
[11]
2019. Nghttp2 HTTP/2 C++ library. https://nghttp2.org/.
[12]
2019. OpenSCADA: An IEC 61131-3 compatible PLC emulator. https://openscada.readthedocs.io/en/latest/index.html.
[13]
2019. PTP: Precision Time Protocol. https://en.wikipedia.org/wiki/Precision_Time_Protocol.
[14]
2019. Sysbench - CPU benchmarking tool for linux. https://wiki.gentoo.org/wiki/Sysbench.
[15]
Jeff Ahrenholz, Claudiu Danilov, Thomas R Henderson, and Jae H Kim. 2008. CORE: A real-time network emulator. In Military Communications Conference, 2008. MILCOM 2008. IEEE. IEEE, 1--7.
[16]
P Barham, B Dragovic, K Fraser, S Hand, T Harris, A Ho, R Neugebauer, I Pratt, and A Warfield. 2003. Xen and the Art of Virtualization. In Proceedings of the 19th ACM Symposium on Operating System Principles.
[17]
Pat Bosshart, Dan Daly, Glen Gibb, Martin Izzard, Nick McKeown, Jennifer Rexford, Cole Schlesinger, Dan Talayco, Amin Vahdat, George Varghese, et almbox. 2014. P4: Programming protocol-independent packet processors. ACM SIGCOMM Computer Communication Review, Vol. 44, 3 (2014), 87--95.
[18]
Jin Chen, Jiang Liu, Tao Huang, and Jason Liu. 2019. Virtual Time Machine for Reproducible Network Emulation. In Proceedings of the 2019 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation. ACM, 61--70.
[19]
Phillip Dickens, David Nicol, and Philip Heidelberger. 1996. Parallelized Direct Execution Simulation of Message Passing Programs. IEEE Transactions on Parallel and Distributed Systems, Vol. 7, 10 (October 1996), 1090--1105.
[20]
Miguel A Erazo, Yue Li, and Jason Liu. 2009. SVEET! a scalable virtualized evaluation environment for TCP. In Testbeds and Research Infrastructures for the Development of Networks & Communities and Workshops, 2009. TridentCom 2009. 5th International Conference on. IEEE, 1--10.
[21]
Thomas Gleixner and Douglas Niehaus. 2006. Hrtimers and beyond: Transforming the linux time subsystems. In Proceedings of the Linux symposium, Vol. 1. Citeseer, 333--346.
[22]
Colleen Glenn, Dane Sterbentz, and Aaron Wright. 2016. Cyber threat and vulnerability analysis of the us electric sector. Technical Report. Idaho National Lab.(INL), Idaho Falls, ID (United States).
[23]
Andreas Grau, Steffen Maier, Klaus Herrmann, and Kurt Rothermel. 2008. Time jails: A hybrid approach to scalable network emulation. In Principles of Advanced and Distributed Simulation, 2008. PADS'08. 22nd Workshop on. IEEE, 7--14.
[24]
Diwaker Gupta, Kashi Venkatesh Vishwanath, Marvin McNett, Amin Vahdat, Ken Yocum, Alex Snoeren, and Geoffrey M Voelker. 2011. DieCast: Testing distributed systems with an accurate scale model. ACM Transactions on Computer Systems (TOCS), Vol. 29, 2 (2011), 4.
[25]
Diwaker Gupta, Kenneth Yocum, Marvin McNett, Alex C Snoeren, Amin Vahdat, and Geoffrey M Voelker. 2005. To infinity and beyond: time warped network emulation. In Proceedings of the twentieth ACM symposium on Operating systems principles. ACM, 1--2.
[26]
Christopher Hannon, Jiaqi Yan, and Dong Jin. 2016. DSSnet: A smart grid modeling platform combining electrical power distribution system simulation and software defined networking emulation. In Proceedings of the 2016 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation. ACM, 131--142.
[27]
M Helsley. 2009. LXC: Linux container Tools. IBM developerWorks Technical Library (2009).
[28]
Thomas R Henderson, Sumit Roy, Sally Floyd, and George F Riley. 2006. ns-3 project goals. In Proceeding from the 2006 workshop on ns-2: the IP network simulator. ACM, 13.
[29]
Dong Jin and David M. Nicol. 2015. Parallel Simulation and Virtual-Machine-Based Emulation of Software-Defined Networks. ACM Trans. Model. Comput. Simul., Vol. 26, 1, Article 8 (Dec. 2015), bibinfonumpages27 pages. https://doi.org/10.1145/2834116
[30]
Jereme Lamps, David M Nicol, and Matthew Caesar. 2014. TimeKeeper: a lightweight virtual time system for linux. In Proceedings of the 2nd ACM SIGSIM/PADS conference on Principles of advanced discrete simulation. ACM, 179--186.
[31]
Hongqiang Harry Liu, Yibo Zhu, Jitu Padhye, Jiaxin Cao, Sri Tallapragada, Nuno P Lopes, Andrey Rybalchenko, Guohan Lu, and Lihua Yuan. 2017. Crystalnet: Faithfully emulating large production networks. In Proceedings of the 26th Symposium on Operating Systems Principles. ACM, 599--613.
[32]
Jason Liu, S. Mann, Nathanael Van Vorst, and Keith Hellman. 2007. An Open and Scalable Emulation Infrastructure for Large-Scale Real-Time Network Simulations. Proceedings - IEEE INFOCOM, 2476--2480. https://doi.org/10.1109/INFCOM.2007.304
[33]
Nick McKeown. 2009. Software-defined networking. INFOCOM keynote talk, Vol. 17, 2 (2009), 30--32.
[34]
Steven K. Reinhardt, Mark D. Hill, James R. Larus, Alvin R. Lebeck, James C. Lewis, and David A. Wood. 1993. The Wisconsin Wind Tunnel: Virtual Prototyping of Parallel Computers. In Proceedings of the 1993 ACM SIGMETRICS Conference on Measurement and Modeling of Computer Systems (SIGMETRICS '93). ACM, New York, NY, USA, 48--60.
[35]
Mendel Rosenblum. 1999. VMware's virtual platform?. In Proceedings of hot chips, Vol. 1999. 185--196.
[36]
JL Sancha, JL Fernandez, A Cortes, and JT Abarca. 1996. Secondary voltage control: analysis, solutions and simulation results for the Spanish transmission system. IEEE transactions on power systems, Vol. 11, 2 (1996), 630--638.
[37]
Amin Vahdat, Ken Yocum, Kevin Walsh, Priya Mahadevan, Dejan Kostić, Jeff Chase, and David Becker. 2002. Scalability and accuracy in a large-scale network emulator. ACM SIGOPS Operating Systems Review, Vol. 36, SI (2002), 271--284.
[38]
Jon Watson. 2008. Virtualbox: bits and bytes masquerading as machines. Linux Journal, Vol. 2008, 166 (2008), 1.
[39]
S. Wei, C. Ko, J. Mirkovic, and A. Hussain. 2009. Tools for worm experimentation on the DETER testbed. In 2009 5th International Conference on Testbeds and Research Infrastructures for the Development of Networks Communities and Workshops. 1--10. https://doi.org/10.1109/TRIDENTCOM.2009.4976194
[40]
Elias Weing"artner, Florian Schmidt, Hendrik Vom Lehn, Tobias Heer, and Klaus Wehrle. 2011. SliceTime: A Platform for Scalable and Accurate Network Emulation. In NSDI.
[41]
Brian White, Jay Lepreau, Leigh Stoller, Robert Ricci, Shashi Guruprasad, Mac Newbold, Mike Hibler, Chad Barb, and Abhijeet Joglekar. 2002. An integrated experimental environment for distributed systems and networks. ACM SIGOPS Operating Systems Review, Vol. 36, SI (2002), 255--270.
[42]
Jiaqi Yan and Dong Jin. 2015. Vt-mininet: Virtual-time-enabled mininet for scalable and accurate software-define network emulation. In Proceedings of the 1st ACM SIGCOMM Symposium on Software Defined Networking Research. ACM, 27.
[43]
Jiaqi Yan and Dong Jin. 2017. A lightweight container-based virtual time system for software-defined network emulation. Journal of Simulation, Vol. 11, 3 (2017), 253--266.
[44]
Yuhao Zheng, David M Nicol, Dong Jin, and Naoki Tanaka. 2012. A virtual time system for virtualization-based network emulations and simulations. Journal of Simulation, Vol. 6, 3 (2012), 205--213.

Cited By

View all
  • (2023)Enhancing Fidelity of P4-Based Network Emulation with a Lightweight Virtual Time SystemProceedings of the 2023 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation10.1145/3573900.3591120(34-43)Online publication date: 21-Jun-2023
  • (2022)Integrating I/O Time to Virtual Time System for High Fidelity Container-based Network EmulationProceedings of the 2022 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation10.1145/3518997.3531023(37-48)Online publication date: 8-Jun-2022
  • (2022)Temporally synchronized emulation of devices with simulation of networksProceedings of the 2022 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation10.1145/3518997.3531020(1-12)Online publication date: 8-Jun-2022
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
SIGSIM-PADS '20: Proceedings of the 2020 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation
June 2020
204 pages
ISBN:9781450375924
DOI:10.1145/3384441
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 15 June 2020

Permissions

Request permissions for this article.

Check for updates

Badges

  • Best Paper

Author Tags

  1. ins-sched
  2. instruction counting
  3. kronos
  4. network emulation
  5. network simulation
  6. timekeeper
  7. virtual time
  8. virtualization

Qualifiers

  • Research-article

Conference

SIGSIM-PADS '20
Sponsor:

Acceptance Rates

Overall Acceptance Rate 398 of 779 submissions, 51%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)18
  • Downloads (Last 6 weeks)0
Reflects downloads up to 10 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2023)Enhancing Fidelity of P4-Based Network Emulation with a Lightweight Virtual Time SystemProceedings of the 2023 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation10.1145/3573900.3591120(34-43)Online publication date: 21-Jun-2023
  • (2022)Integrating I/O Time to Virtual Time System for High Fidelity Container-based Network EmulationProceedings of the 2022 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation10.1145/3518997.3531023(37-48)Online publication date: 8-Jun-2022
  • (2022)Temporally synchronized emulation of devices with simulation of networksProceedings of the 2022 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation10.1145/3518997.3531020(1-12)Online publication date: 8-Jun-2022
  • (2022)Mechanisms for Precise Virtual Time Advancement in Network EmulationACM Transactions on Modeling and Computer Simulation10.1145/347886732:2(1-26)Online publication date: 4-Mar-2022
  • (2022)Sibyl: a Framework for Evaluating the Implementation of Routing Protocols in Fat-TreesNOMS 2022-2022 IEEE/IFIP Network Operations and Management Symposium10.1109/NOMS54207.2022.9789876(1-7)Online publication date: 25-Apr-2022

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media