I/O virtualization bottlenecks in cloud computing today

Cloud computing is gaining popularity as a way to virtualize the datacenter and increase flexibility in the use of computation resources. This type of system is best exemplified by Amazon's Elastic Compute Cloud and related products. Recently, a new open-source framework called Eucalyptus has been released that allows users to create private cloud computing grids that are API-compatible with the existing Amazon standards. Eucalyptus leverages existing virtualization technology (the KVM or Xen hypervisors) and popular Linux distributions. Through the use of automated scripts provided with Ubuntu, a private cloud can be installed, from scratch, in under 30 minutes. Here, Eucalyptus is tested using I/O intensive applications in order to determine if its performance is as good as its ease-of-use. Unfortunately, limitations in commodity I/O virtualization technology restrict the out-of-the-box storage bandwidth to 51% and 77% of a non-virtualized disk for writes and reads, respectively. Similarly, out-of-the-box network bandwidth to another host is only 71% and 45% of non-virtualized performance for transmit and receive workloads, respectively. These bottlenecks are present even on a test system massively over-provisioned in both memory and computation resources. Similar restrictions are also evident in commercial clouds provided by Amazon, showing that even after much research effort I/O virtualization bottlenecks still challenge the designers of modern systems.