31

On Non-Preemptive VM Scheduling in the Cloud

Proceedings of the ACM on Measurement and Analysis of Computing Systems (POMACS), 2017
Abstract

We study the problem of scheduling VMs (Virtual Machines) in a distributed server platform, motivated by cloud computing applications. The VMs arrive dynamically over time to the system, and require a certain amount of resources (e.g. memory, CPU, etc) for the duration of their service. To avoid costly preemptions, we consider non-preemptive scheduling: Each VM has to be assigned to a server which has enough residual capacity to accommodate it, and once a VM is assigned to a server, its service \textit{cannot} be disrupted (preempted). Prior approaches to this problem either have high complexity, require synchronization among the servers, or yield queue sizes/delays which are excessively large. We propose a non-preemptive scheduling algorithm that resolves these issues. In general, given an approximation algorithm to Knapsack with approximation ratio rr, our scheduling algorithm can provide rβr\beta fraction of the throughput region for β<r\beta < r. In the special case of a greedy approximation algorithm to Knapsack, we further show that this condition can be relaxed to β<1\beta<1. The parameters β\beta and rr can be tuned to provide a tradeoff between achievable throughput, delay, and computational complexity of the scheduling algorithm. Finally extensive simulation results using both synthetic and real traffic traces are presented to verify the performance of our algorithm.

View on arXiv
Comments on this paper