GGrantIndex
← Search

CAREER: VIVA - Vertically Integrated VirtualizAtion: Automatic, Full System, Specialization for High-End Computing

$400,000FY2006CSENSF

University Of California-Santa Barbara, Santa Barbara CA

Investigators

Abstract

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 complexity of layers is increasing. Deep layering introduces additional levels of indirection, additional redundant computation, and increasingly inefficient cross-layer communication. To reduce the overhead of virtualization many developers of high-end systems and services attempt to specialize the layers to the needs of the application by removing or penetrating the layer interfaces. The application and system code are then co-mingled and optimized together, thereby improving performance at the expense of generality, portability, and extensibility. This specialization, at present, is performed almost exclusively by hand in an ad-hoc fashion. The project will develop new methods and approaches to automate and advance the specialization process under programmatic control through Vertical Integration of Virtualization layers (VIVA). The key to the proposed approach is to exploit the increasingly popular trend of isolating entire application, middleware, and operating system (OS) stacks using virtual machine monitors (VMMs) so that each execution instance can employ the layered software it uniquely requires. VIVA takes advantage of the isolation that such systems provide to aggressively customize and optimize all layers of a system according to the requirements of an executing application eliminating all services that are unused by the program, e.g., OS services for resource sharing and security. Moreover, since program behavior changes over time and is increasingly data driven, the techniques to be developed will be both dynamic and adaptive.

View original record on NSF Award Search →