Improving Scalability of Network Emulation through Parallelism and Abstraction
ANSS '05 Proceedings of the 38th annual Symposium on Simulation
The Distributed Open Network Emulator: Using Relativistic Time for Distributed Scalable Simulation
Proceedings of the 20th Workshop on Principles of Advanced and Distributed Simulation
V-eM: A Cluster of Virtual Machines for Robust, Detailed, and High-Performance Network Emulation
MASCOTS '06 Proceedings of the 14th IEEE International Symposium on Modeling, Analysis, and Simulation
To infinity and beyond: time-warped network emulation
NSDI'06 Proceedings of the 3rd conference on Networked Systems Design & Implementation - Volume 3
Time Jails: A Hybrid Approach to Scalable Network Emulation
Proceedings of the 22nd Workshop on Principles of Advanced and Distributed Simulation
Toward Scalable Routing Experiments with Real-Time Network Simulation
Proceedings of the 22nd Workshop on Principles of Advanced and Distributed Simulation
DieCast: testing distributed systems with an accurate scale model
NSDI'08 Proceedings of the 5th USENIX Symposium on Networked Systems Design and Implementation
Running Xen: A Hands-On Guide to the Art of Virtualization
Running Xen: A Hands-On Guide to the Art of Virtualization
The definitive guide to the xen hypervisor
The definitive guide to the xen hypervisor
Synchronized network emulation: matching prototypes with complex simulations
ACM SIGMETRICS Performance Evaluation Review
A large-scale real-time network simulation study using prime
Winter Simulation Conference
Proceedings of the Winter Simulation Conference
Optimized hypervisor scheduler for parallel discrete event simulations on virtual machine platforms
Proceedings of the 6th International ICST Conference on Simulation Tools and Techniques
Hi-index | 0.00 |
Virtual machine (VM)-based simulation is a method used by network simulators to incorporate realistic application behaviors by executing actual VMs as high-fidelity surrogates for simulated end-hosts. A critical requirement in such a method is the simulation time-ordered scheduling and execution of the VMs. Prior approaches such as time dilation are less efficient due to the high degree of multiplexing possible when multiple multi-core VMs are simulated on multi-core host systems. We present a new simulation time-ordered scheduler to efficiently schedule multi-core VMs on multi-core real hosts, with a virtual clock realized on each virtual core. The distinguishing features of our approach are: (1) customizable granularity of the VM scheduling time unit on the simulation time axis, (2) ability to take arbitrary leaps in virtual time by VMs to maximize the utilization of host (real) cores when guest virtual cores idle, and (3) empirically determinable optimality in the tradeoff between total execution (real) time and time-ordering accuracy levels. Experiments show that it is possible to get nearly perfect time-ordered execution, with a slight cost in total run time, relative to optimized non-simulation VM schedulers. Interestingly, with our time-ordered scheduler, it is also possible to reduce the time-ordering error from over 50% of non-simulation scheduler to less than 1% realized by our scheduler, with almost the same run time efficiency as that of the highly efficient non-simulation VM schedulers.