Virtual time development allows for flexibility in simulations and emulations
The term virtual time typically conjures up images of space age time machines and Back to the Future movies, but the reality of virtual time within computer systems isn't just something of the future. Rather, it's an old concept in computer science, with new applications that researchers at the Information Trust Institute have been developing.
Coordinated Science Laboratory faculty member and ITI Director David Nicol was recently awarded an $80,000 grant from Boeing to conduct research on bringing virtual time to the Linux operating system.
The goal of the project is to make virtual time advance a foundational component of Linux Containers, with the intended application of using these to emulate the software running in a distributed network.
A testbed for large-scale system analysis requires emulation to represent the execution of critical software and simulation to model an extensive ensemble of background computation and communication. Simulations maintain a notion of time based on their internal computations, so that time in a simulation doesn't have to correspond with wall clock time.
By enabling these emulations to run on virtual time, it allows someone to run experiments either faster or slower than real time, depending on the inherent simulation workload. Virtual time will enable time associated with a Linux process to progress more slowly than real time, allowing for more complex emulations as all processes compete for the same processing resources.
Nicol and his graduate students previously brought virtual time to an emulator called OpenVZ. However, the platform they used and the final solution wound up having two aspects that were not entirely satisfactory and limited the functionality.
Boeing was very interested in the previous work we did, but asked us to develop virtual time on a new platform using Linux Containers, Nicol said. They want us to see what aspects we would change in the Linux standard to allow for giving these containers virtual time.
Boeing is interested in building community around open source emulators and simulators, which they use themselves in government funded systems development.
Rather that completely modifying the operating system, Nicol will be working to develop a system with proposed changes that will hopefully become the standard. Additionally, he hopes to provide this emulation and virtual time capability to open source network simulators, such as the commonly used ns-3 and Nicol's own simulator, S3F, so these hybrid emulation+simulation systems execute as efficiently as possible.
This project fits into Nicol's broader goal at ITI of building technology that allows people to analyze performance, reliability, security and trustworthiness of systems and his work in the power grid.
I've come to see that to build realistic complex models of systems that we're interested in, it is much faster for us to take existing software and run it on a virtual machine, rather than develop simulation models that mimic that software's behavior, Nicol said.