Network-aware Instance Scheduling in OpenStack
05 October 2015
Cloud computing systems require a placement logic that decides how to allocate resources. In state-of-the-art platforms such OpenStack, this scheduler takes into account multiple constraints when starting a new instance, including in particular the required compute and memory resources. However, these scheduling mechanisms typically neither considers network requirements of Virtual Machines nor the networking resources that are actually available. In this paper we present an extension of the OpenStack scheduler that enables a network-aware placement of instances by taking into account bandwidth constraints to and from nodes. Our solution keeps track of host-local network resource allocation, and it can be combined with bandwidth enforcement mechanisms such as rate limiting. We present a prototype that requires only very few changes in the OpenStack open source software. Testbed measurement results demonstrate the benefit of our solution compared to the OpenStack default approach.