GGrantIndex
← Search

CAREER: Enabling New Networking Applications and Distributed Systems with Mobile, Lightweight Protection Domains

$499,290FY2002CSENSF

University Of Washington, Seattle WA

Investigators

Abstract

Advances in network and computing technologies have accelerated the proliferation of infrastructure such as content distribution, caching, middleware services, and network measurement testbeds. Recently, however, a number of new application domains are beginning to emerge that are not well-supported by existing technologies, such as the ability to distribute dynamically generated or active content, to rapidly deploy new and untrusted Internet services into existing infrastructure, and the ability to dynamically inject network measurement code into an existing network experimentation infrastructure. These new application domains all share several security and resource management requirements: safely executing untrusted code, scaling to a large number (100s or 1000s) of protection domains per physical host, and supporting a large degree of multiplexing of physical host resources across many concurrently active protection domains. Although there have been many sandboxing technologies proposed in the past, none of them have the combination of water-tight isolation and the ability to scale to a large number of protection domains required by these new applications. The goal of this CAREER proposal is to enable this wide array of new networking and distributed middleware applications by designing and implementing lightweight protection domains, technically focusing on the notion of using virtual machine monitors (VMMs). A virtual machine monitor is a software layer that runs immediately on top of the hardware/software boundary, virtualizing all names exposed by that boundary to give higher-level virtual machines the illusion of their own dedicated physical machine. Virtual machines are known to have strong isolation, and they are known to support code migration. However, existing virtual machines and guest operating systems are typically heavyweight, permitting only a small number (3-10) to concurrently execute on a single physical machine. The first research challenge posed in this proposal is designing and implementing mechanisms for building lightweight VMMs, virtual machines, and guest operating systems, so that 100s or 1000s can concurrently execute. An ancillary challenge implied by this is resource management across virtual machines: to fully isolate one VM from another, each VM's resource usage (e.g., CPU consumption, I/O rates, memory footprint) must be bounded by the VMM. Once the researchers have successfully implemented lightweight virtual machines, they intend to heavily leverage this new mechanism to explore several new research topics, as well as revisiting a few existing ones. For example,they will use virtual machines as a sandboxing mechanism enabling web servers to dynamically inject new content-generation code into content delivery networks or web caching systems. As another example, they will use VMs to enable untrusted code authors to upload new Internet services into a virtual hosting platform. As a third example, the researchers plan on exploring the role of virtual machines as a resource container in cluster-of-workstations, in particular exploring the ability to dynamically alter relative resource consumption rates of virtual machines to create the effect of isolated \virtual clusters" within a single physical cluster. For the educational component of the CAREER proposal, the researchs plan on exploring the use of their virtual machine monitor as a substrate for supporting novel projects in undergraduate and graduate advanced operating systems courses, such as CSE451 and CSE551 at the University of Washington. A virtual machine monitor is a natural place for supporting intricate debugging mechanisms, and hardware device emulation. Having students augment the virtual machine monitor and use it to develop simple components of an operating system will radically improve the students' understanding of OS issues, as they will be forced to understand the interface between the OS and the hardware, as well as the structure of the OS itself. Finally, this will also provide us with an opportunity to revise the OS course curriculum to include modern topics as security, isolation, mobility, and OS support for embedded devices (which share characteristics of the virtual machines that we will emulate with our VMM).

View original record on NSF Award Search →