VIVA -- Vertically Integrated VirtualizAtion


Virtualization has emerged as a key system design technology for reducing the complexity of modern hardware, software systems, and applications, through abstract layering that simplifies reasoning about, and making use of, resources and system services by applications. The benefits of virtualization (e.g. generality, portability, extensibility, and simplifying application debugging, deployment, and development) however, come at a cost in performance since the number, depth, and complextity of layers is significant and increasing.

VIVA is a comprehensive research plan that includes dynamic compiler and runtime techniques that adaptively specialize the software stack of a system according to the changing needs of the application and resource performance. VIVA research incorporates components at all layers of the system including the virtual machine monitor, operating system, virtual execution environment, and middleware and application server systems. VIVA automatically integrates and optimizes together the application and system code to extract performance levels that exceed those currently available. VIVA is applicable to a wide range of systems (from high-end clusters to resource-constrained devices) and application domains (from scientific applications to business and Internet-computing programs and services).

VIVA-Related Projects

Application-Specific Linux (ASL):

The Overhead of Paravirtualization:

Vertically Integrated Profiling

Full-System Integration and Optimization:

Download IV Heap Sizing Source and Presentation (CGO 2007)

VIVA-Related Tools

Jisha -- Automatic Guest OS Image Installation over Xen -- from within Xen

Automatic Customized Image Deployment over Xen -- from a remote admistration center

Representative VIVA-Related Publications

Other RACELab papers on this and related work can be found here .

This work is supported by:

September, 2006; last update: March, 2007