Dan Williams, Yaohui Hu, Umesh Deshpande, Piush K Sinha, Nilton Bila, Kartik Gopalan and Hani Jamjoom
The 12th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution
Environments (VEE'16)
Atlanta, GA, April 2016
Abstract. When considering a hypervisor, cloud providers must balance
conflicting requirements for simple, secure code
bases with more complex, feature-filled
offerings. This paper introduces Dichotomy, a new
two-layer cloud architecture in which the roles of
the hypervisor are split. The cloud provider runs a
lean hyperplexor that has the sole task of
multiplexing hardware and running more substantial
hypervisors (called featurevisors) that implement
features. Cloud users choose featurevisors from a
selection of lightlymodified hypervisors potentially
offered by third-parties in an “as-a-service” model
for each VM. Rather than running the featurevisor
directly on the hyperplexor using nested
virtualization, Dichotomy uses a new virtualization
technique called ephemeral virtualization which
efficiently (and repeatedly) transfers control of a
VM between the hyperplexor and featurevisor using
memory mapping techniques. Nesting overhead is only
incurred when the VM is accessed by the
featurevisor. We have implemented Dichotomy in
KVM/QEMU and demonstrate average switching times of
80 ms, two to three orders of magnitude faster than
live VM migration. We show that, for the
featurevisor applications we evaluated, VMs hosted
in Dichotomy deliver up to 12% better performance
than those hosted on nested hypervisors, and
continue to show benefit even when the featurevisor
applications run as often as every 2.5 seconds
Keywords. Nested Virtualization, Hypervisors, Cloud
Bibtex.
@inproceedings{jamjoom-evl-vee-2016,
author = {Dan and Williams and Yaohui and Hu and Umesh and Deshpande and Piush K and Sinha and Nilton and Bila and Kartik and Gopalan and Hani and Jamjoom},
title = {{Enabling Efficient Hypervisor-as-a-Service Clouds with Ephemeral Virtualization}},
booktitle = {The 12th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution
Environments (VEE'16)},
address = {Atlanta, GA},
month = {April},
year = {2016}
}