Modern virtualization systems must balance fair access to I/O resources while still maintaining high utilization of those resources. It is difficult to balance fairness and efficiency when scheduling disk accesses due to the non-uniform nature of disk I/O. Current open source virtualization systems, including Xen and KVM, utilize the stock Linux disk scheduler to provide access to storage. Although the Linux disk scheduler can provide good I/O performance for individual virtual machines, it does not necessarily provide equal access to disk I/O resources across competing virtual machines. This can result in unfair and unpredictable application I/O performance behavior among virtual machines.
This thesis presents the Virtual Deadline I/O Scheduler, a new disk scheduler that improves the fairness of scheduling I/O resources across virtual machines. The virtual deadline scheduler makes the Linux deadline I/O scheduler virtualization-aware, enabling it to schedule I/O requests more adaptively and fairly. In particular, request deadlines are dynamically determined based upon the level of service that has been provided to the virtual machine from which the request originated. The virtual deadline scheduler increases fairness of I/O performance while minimizing aggregate performance degradation.