"S-CAVE: effective SSD caching to improve virtual machine storage performance"

Tian Luo, Siyuan Ma, Rubao Lee, Xiaodong Zhang, Deng Liu, and Li Zhou, 

Proceedings of 22nd International Conference on Parallel Architectures and  
Compilation Techniques (PACT 2013), Edinburgh, Scotland, September 7-11, 


A unique challenge for SSD storage caching management
in a virtual machine (VM) environment is to accomplish
the dual objectives: maximizing utilization of shared SSD cache
devices and ensuring performance isolation among VMs. In this
paper, we present our design and implementation of S-CAVE, a
hypervisor-based SSD caching facility, which effectively manages
a storage cache in a Multi-VM environment by collecting and
exploiting runtime information from both VMs and storage
devices. Due to a hypervisor┐s unique position between VMs and
hardware resources, S-CAVE does not require any modification to
guest OSes, user applications, or the underlying storage system.
A critical issue to address in S-CAVE is how to allocate limited
and shared SSD cache space among multiple VMs to achieve the
dual goals. This is accomplished in two steps. First, we propose
an effective metric to determine the demand for SSD cache
space of each VM. Next, by incorporating this cache demand
information into a dynamic control mechanism, S-CAVE is able
to efficiently provide a fair share of cache space to each VM
while achieving the goal of best utilizing the shared SSD cache
device. In accordance with the constraints of all the functionalities
of a hypervisor, S-CAVE incurs minimum overhead in both
memory space and computing time. We have implemented S-CAVE
in vSphere ESX, a widely used commercial hypervisor
from VMWare. Our extensive experiments have shown its strong
effectiveness for various data-intensive applications.