Quantifying and Improving I/O Predictability in Virtualized Systems
Virtualization enables the consolidation of Virtual Machines (VMs) to increase the utilization of physical servers in Infrastructure-as-a-Service (IaaS) cloud providers. However, the authors' experience shows that storage I/O performance varies wildly in the face of consolidation. Since many users may desire consistent performance, they argue that IaaS providers should offer a class of predictable-performance service in addition to existing (predictability-oblivious) services. Thus, they propose VirtualFence, a storage system that provides predictable VM performance. VirtualFence uses three main techniques: non-work-conserving time-division I/O scheduling, a Small Solid-State (SSD) cache in front of a much larger Hard Disk Drive (HDD) and spacepartitioning of both the SSD cache and the HDD.