Precise Virtual Time Advancement for Network Emulation

Vignesh Babu, David Nicol

Research output: Chapter in Book/Report/Conference proceedingConference contribution

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.

Original languageEnglish (US)
Title of host publicationSIGSIM-PADS 2020 - Proceedings of the 2020 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation
PublisherAssociation for Computing Machinery, Inc
Pages175-186
Number of pages12
ISBN (Electronic)9781450375924
DOIs
StatePublished - Jun 15 2020
Event2020 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation, SIGSIM-PADS 2020 - Miami, United States
Duration: Jun 15 2020Jun 17 2020

Publication series

NameSIGSIM-PADS 2020 - Proceedings of the 2020 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation

Conference

Conference2020 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation, SIGSIM-PADS 2020
CountryUnited States
CityMiami
Period6/15/206/17/20

Keywords

  • ins-sched
  • instruction counting
  • kronos
  • network emulation
  • network simulation
  • timekeeper
  • virtual time
  • virtualization

ASJC Scopus subject areas

  • Computer Graphics and Computer-Aided Design
  • Modeling and Simulation

Fingerprint Dive into the research topics of 'Precise Virtual Time Advancement for Network Emulation'. Together they form a unique fingerprint.

  • Cite this

    Babu, V., & Nicol, D. (2020). Precise Virtual Time Advancement for Network Emulation. In SIGSIM-PADS 2020 - Proceedings of the 2020 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation (pp. 175-186). (SIGSIM-PADS 2020 - Proceedings of the 2020 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation). Association for Computing Machinery, Inc. https://doi.org/10.1145/3384441.3395978