ABSTRACT
We describe a platform that uses temporally integrated co-simulation of emulated devices and simulation of networks that connect them, for activities such as performance evaluation and resilience assessment. In our approach all emulated and simulated components are time-synchronized to a virtual clock. We propose and study an approach which uses compiler analysis to augment emulated code with logic for precise instruction level tracking of execution paths. This is combined with a mechanism to ascribe virtual time for each execution burst based on the sequence of executed instructions. The overhead of synchronization between emulated components and simulated components is reduced by compiler-based identification of “lookahead”, which identifies epochs of emulated execution during which a process can be predicted to act independently of any other. Through evaluations, we show that our approach enables fast and repeatable execution of co-simulated models.
- 2014. OpenVZ: a container-based virtualization for Linux. http://openvz.org/.Google Scholar
- 2018. Perf: The linux performance counter subsystem.https://perf.wiki.kernel.org/index.php/Main_Page.Google Scholar
- 2018. Ptrace: The linux process tracing subsystem.https://linux.die.net/man/2/ptrace/.Google Scholar
- 2019. Sysbench. https://wiki.gentoo.org/wiki/Sysbench.Google Scholar
- 2020. Spec 2006 Benchmarks. https://www.spec.org/cpu2006/.Google Scholar
- 2021. Linux dynamic linker/loader. https://man7.org/linux/man-pages/man8/ld.so.8.html.Google Scholar
- 2021. The Message Passing Interface (MPI) Standard.https://www.mcs.anl.gov/research/projects/mpi.Google Scholar
- 2021. S3F (Simple Scalable Simulation Framework). https://s3f.iti.illinois.edu/.Google Scholar
- 2021. TCP Specification.https://tools.ietf.org/html/rfc793.Google Scholar
- 2021. Titan: A fast and accurate co-simulation platform for linux.https://titan-vt.readthedocs.io/en/latest/index.html.Google Scholar
- Vladimir Adam. 2015. A study into concurrent advancement of simulation and emulation using composite synchronization. master’s thesis, University of Illinois.Google Scholar
- Vikram S Adve, Rajive Bagrodia, Ewa Deelman, Thomas Phan, and Rizos Sakellariou. 1999. Compiler-supported simulation of highly scalable parallel applications. In SC’99: Proceedings of the 1999 ACM/IEEE Conference on Supercomputing. IEEE, 1–1.Google ScholarDigital Library
- Vignesh Babu and David Nicol. 2020. Precise Virtual Time Advancement for Network Emulation. In Proceedings of the 2020 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation. 175–186.Google ScholarDigital Library
- 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.Google ScholarDigital Library
- Sapan Bhatia, Murtaza Motiwala, Wolfgang Muhlbauer, Yogesh Mundada, Vytautas Valancius, Andy Bavier, Nick Feamster, Larry Peterson, and Jennifer Rexford. 2008. Trellis: A platform for building flexible, fast virtual networks on commodity hardware. In Proceedings of the 2008 ACM CoNEXT conference. 1–6.Google ScholarDigital Library
- Xinjie Chang. 1999. Network simulations with OPNET. In WSC’99. 1999 Winter Simulation Conference Proceedings.’Simulation-A Bridge to the Future’(Cat. No. 99CH37038), Vol. 1. IEEE, 307–314.Google ScholarDigital Library
- 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.Google ScholarDigital Library
- Brent Chun, David Culler, Timothy Roscoe, Andy Bavier, Larry Peterson, Mike Wawrzoniak, and Mic Bowman. 2003. Planetlab: an overlay testbed for broad-coverage services. ACM SIGCOMM Computer Communication Review 33, 3 (2003), 3–12.Google ScholarDigital Library
- Ewa Deelman, R Bargodia, Rizos Sakellariou, and Vikram Adve. 2001. Improving lookahead in parallel discrete event simulations of large-scale applications using compiler analysis. In Proceedings 15th Workshop on Parallel and Distributed Simulation. IEEE, 5–13.Google ScholarCross Ref
- Phillip M. Dickens, Philip Heidelberger, and David M. Nicol. 1994. A Distributed Memory LAPSE: Parallel Simulation of Message-Passing Programs. In Proceedings of the Eighth Workshop on Parallel and Distributed Simulation (Edinburgh, Scotland, United Kingdom) (PADS ’94). Association for Computing Machinery, New York, NY, USA, 32–38. https://doi.org/10.1145/182478.182488Google ScholarDigital Library
- 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.Google ScholarCross Ref
- 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) 29, 2 (2011), 4.Google ScholarDigital Library
- 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.Google ScholarDigital Library
- 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.Google ScholarDigital Library
- 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.Google Scholar
- Dong Jin and David M. Nicol. 2015. Parallel Simulation and Virtual-Machine-Based Emulation of Software-Defined Networks. ACM Trans. Model. Comput. Simul. 26, 1, Article 8 (Dec. 2015), 27 pages. https://doi.org/10.1145/2834116Google ScholarDigital Library
- Jereme Lamps, Vignesh Babu, David M Nicol, Vladimir Adam, and Rakesh Kumar. 2018. Temporal Integration of Emulation and Network Simulators on Linux Multiprocessors. ACM Transactions on Modeling and Computer Simulation (TOMACS) 28, 1(2018), 1.Google ScholarDigital Library
- 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.Google ScholarDigital Library
- Chris Lattner and Vikram Adve. 2004. LLVM: A compilation framework for lifelong program analysis & transformation. In International Symposium on Code Generation and Optimization, 2004. CGO 2004. IEEE, 75–86.Google ScholarCross Ref
- Ulana Legedza and William E Weihl. 1996. Reducing synchronization overhead in parallel simulation. In Proceedings of the Tenth Workshop on Parallel and Distributed Simulation. 86–95.Google ScholarDigital Library
- 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. 599–613.Google ScholarDigital Library
- 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.304Google ScholarDigital Library
- David M Nicol. 1993. The cost of conservative synchronization in parallel discrete event simulations. Journal of the ACM (JACM) 40, 2 (1993), 304–333.Google ScholarDigital Library
- D. M. Nicol and J. Liu. 2002. Composite synchronization in parallel discrete-event simulation. IEEE Transactions on Parallel and Distributed Systems 13, 5 (2002), 433–446. https://doi.org/10.1109/TPDS.2002.1003854Google ScholarDigital Library
- Dimosthenis Pediaditakis, Charalampos Rotsos, and Andrew William Moore. 2014. Faithful reproduction of network experiments. In Proceedings of the tenth ACM/IEEE symposium on Architectures for networking and communications systems. 41–52.Google ScholarDigital Library
- Sundeep Prakash and Rajive L Bagrodia. 1998. MPI-SIM: Using parallel simulation to evaluate MPI programs. In 1998 Winter Simulation Conference. Proceedings (Cat. No. 98CH36274), Vol. 1. IEEE, 467–474.Google Scholar
- 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(Santa Clara, California, USA) (SIGMETRICS ’93). Association for Computing Machinery, New York, NY, USA, 48–60. https://doi.org/10.1145/166955.166979Google ScholarDigital Library
- Mendel Rosenblum. 1999. VMware’s virtual platform™. In Proceedings of hot chips, Vol. 1999. 185–196.Google Scholar
- M Hibler R Ricci L Stoller, Jonathon Duerig, Shashi Guruprasad, Tim Stack, Kirk Webb, and Jay Lepreau. 2008. Large-scale virtualization in the emulab network testbed. In USENIX annual technical conference, Boston, MA. 255–270.Google Scholar
- 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 36, SI (2002), 271–284.Google Scholar
- 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.4976194Google Scholar
- Elias Weingärtner, Florian Schmidt, Hendrik Vom Lehn, Tobias Heer, and Klaus Wehrle. 2011. SliceTime: A Platform for Scalable and Accurate Network Emulation.. In NSDI.Google Scholar
- 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 36, SI (2002), 255–270.Google Scholar
- Zhonge Xiao, B Unger, Rob Simmonds, and John Cleary. 1999. Scheduling critical channels in conservative parallel discrete event simulation. In Proceedings Thirteenth Workshop on Parallel and Distributed Simulation. PADS 99.(Cat. No. PR00155). IEEE, 20–28.Google ScholarDigital Library
- 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.Google ScholarDigital Library
- Jiaqi Yan and Dong Jin. 2017. A lightweight container-based virtual time system for software-defined network emulation. Journal of Simulation 11, 3 (2017), 253–266.Google ScholarCross Ref
- Yuhao Zheng, Dong Jin, and David M Nicol. 2013. Impacts of application lookahead on distributed network emulation. In 2013 Winter Simulations Conference (WSC). IEEE, 2996–3007.Google ScholarCross Ref
- 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 6, 3 (2012), 205–213.Google ScholarCross Ref
Recommendations
Symbiotic Network Simulation and Emulation
Special Issue on PADSA testbed capable of representing detailed operations of complex applications under diverse network conditions is invaluable for understanding the design and performance of new protocols and applications before their real deployment. We introduce a ...
Applying parallel discrete event simulation to network emulation
PADS '00: Proceedings of the fourteenth workshop on Parallel and distributed simulationThe simulation of wide area computer networks is one area where the benefits of parallel simulation have been clearly demonstrated. Here we present a description of a system that uses a parallel discrete event simulator to act as a high speed network ...
Synchronized network emulation: matching prototypes with complex simulations
Network emulation, in which real systems interact with a network simulation, is a common evaluation method in computer networking research. Until now, the simulation in charge of representing the network has been required to be real-time capable, as ...
Comments