Scalable Hypervisors:

The scalable hypervisors project addresses scalability challenges of virtualization solutions in future many-core platforms. The main idea behind the approach taken in this project is to factor out select subset of hypervisor/virtual machine monitor (VMM) functionality, and assign its execution to a dedicated core — termed sidecore. In this manner, costly VM context switches and VMentry/VMexit operations can be avoided, and expensive coordination/synchronization operations can be eliminated, thus the overall system performance improved. Specific examples of hypervisor functionality implemented with the sidecore approach include page table management, interrupt virtualization, etc.


Virtualized I/O:

The goal of the Virtualized I/O projects is to experiment with novel device-virtualization techniques to improve I/O services in end-to-end virtualized infrastructures, using both homogeneous multicore machines and heterogeneous platforms that include I/O accelerators, such as communication accelerators exemplified with the Intel IXP network processors. The main efforts under this umbrella include:

· Hypervisor architectures for scalable I/O — aims to improve the performance of I/O services in virtualized infrastructures, using mechanisms such as VMM-bypass, interrupt virtualization, lightweight services for VMM-VM and VM-VM coordination and communication, transparent device remoting, dedicating host–  and/or device-resident platform cores for execution of I/O virtualization functionality, etc. The work targets the Xen hypervisor and uses Intel’s IXP network processors as development platform for prototyping virtualization-related functionality in future I/O devices.

· Quality-aware I/O services in virtualized platforms — focuses on scheduling, coordination and dynamic resource allocation challenges in virtualized homogeneous and heterogeneous platforms. Example projects include development of dynamic resource allocation and management functionality of virtualization-aware devices, as exemplified by the IXP NPs, or coordination scheduling and QoS/priority assignments in Infiniband-based virtualized platforms with the Xen hypervisor.


Self-Virtualized Devices and Accelerators:

This project addresses the virtualization-related challenges present in large-scale heterogeneous multi-core platforms, comprised of homogeneous general-purpose cores, intermingled with customized heterogeneous cores — accelerators, and using a diverse memory and interconnection architecture. The key component of this project is the V-Core extension to modern VMMs, which provides monitoring, scheduling, partitioning, and resource allocation functionality for the heterogeneous virtual machines. Target accelerators include communication accelerators such as Intel IXP network processors, computational accelerators such as NVidia GPUs and Cell processors, or reconfigurable hardware components based on Virtex FPGAs.


Managed Virtualized Clouds:

The goal of these projects is to create an open management infrastructure for virtualized manycore platforms part of distributed computing clouds.


Virtualized Mobile Platforms:

This project addresses the development and use of virtualization technologies for scalable services for mobile platforms. This is joint work with researchers at Motorola Labs. 


Related Work:

· Trusted Passages


· Application-PRogrammable networks and Interconnects

· Georgia Tech Network Processors Group

· Multi-core platform monitoring


List of mini-projects:

The following is a list of project ideas for students interested in initiating collaboration with our group. Projects may be conducted as part of a CS4903/8903, other forms of guided research options, or as special projects in select course (e.g., CS6210, based on instructor permission).

ViP: Virtualized multi-core Platforms

Kernel Group, Georgia Tech

Research Projects