Abstract:Preserving responsiveness is an enabling condition for running interactive applications effectively in virtual machines. For this condition to be met, low latency usually needs to be guaranteed to storage-Input/Output operations. In contrast, in this paper we show that in virtualized environments, there is a missing link exactly in the chain of actions performed to guarantee low storage-I/O latency. After describing this problem theoretically, we show its practical consequences through a large set of experiments with real world-applications. After detailing the possible solutions to replace this missing connection, we detail our chosen solution based on the I/O scheduler BFQ (Budget Fair Queueing) named Virtual-BFQ. Which it designed to preserve a high application responsiveness in KVM (Kernel-based Virtual Machine) virtual machines on ARM architectures. For the experiments, we used two Linux schedulers, both designed to guarantee a low latency, and a publicly available I/O benchmark suite, extended to be used also in a virtualized environment. As for the experimental testbed, we ran our experiments on the following three devices connected to an ARM embedded system: an ultra-portable rotational disk, a microSDHC (Secure Digital High Capacity) Card and an eMMC (embedded Multimedia card) device. This is an ideal testbed for highlighting latency issues, as it can execute applications with about the same I/O demand as a general-purpose system, but for power-consumption and mobility issues. According to the experimental results reported in this paper, even in the presence of a heavy background workload on the guest virtual disk, plus a heavy additional background workload on the physical storage device corresponding to that virtual disk, Virtual-BFQ does preserve in the guest a high application responsiveness.