This project aims to design and implement an application execution environment based on deterministic record and replay as well as advanced state partitioning. In the A3 approach, every application is contained within its own virtual machine. Each virtual machine is security-hardened and serves the single application it contains, with inner services monitoring and protecting the execution.
I am working to design and implement a virtual machine introspection (VMI) system capable of running along with the A3 virtual machines. VMI allows us to close the semantic gap between low-level replay and high-level application semantics. VMI can be applied during the initial run of a system, in order to perform health monitoring, and it may be applied during replay to gain additional information. When we modify a replay, VMI is used to see if the VM is still "on track" with respect to metrics of interest.
For this project, we are using the Utah Emulab testbed in order to develop and evaluate the A3 Container software.
Projects
ETT races important system events and the states of running processes, analyzes interactions between applications and the kernel, and measures the timely performance of a target Linux system. The unique feature that distinguishes ETT from existing work is its efficiency - the heaviest tracing takes less than 2.5% of overhead.