Deterministic Container Resource Management in Derivative Clouds

Chandra Prakash, Prashanth Prashanth, Umesh Bellur, Purushottam Kulkarni · 2018

IaaS providers offer virtual machines of fix granularity which has prompted the evolution of derivative clouds. With a derivative setup where containers are provisioned within virtual machines, the guest OS manages virtual resources inside a VM whereas the hypervisor manages the physical resources distributed among VMs. This results in two control centers over the set of resources used by the containers. The hypervisor takes control actions such as memory ballooning or the withdrawal of a virtual CPU to manage over-provisioning without being aware of the effect these actions will have on individual containers inside the VM. The derivative cloud provider executing containers in the VM needs a mechanism to react to such changes—based on resource management policies setup for this purpose. In this work we first show via experimental results that hypervisor actions used to manage over-commitment such as ballooning and vCPU stealing have unpredictable and non-deterministic effects on nested containers. Based on this analysis, we design a policy driven controller that smoothes over the effect of these hypervisor actions on these nested containers. We expose several useful policies for each resource type (CPU and Memory) that can help derivative cloud providers better manage container instances.

Read the paper · More papers on PaperTik