Distributed Memory and CPU Management in Cloud Computing Environments

A thesis submitted
in Partial Fulfillment of the Requirements
for the Degree of

Master of Technology


Shivanshu Agrawal

to the
May, 2016


To efficiently utilize the resources in a virtualized environment, they need to be overcommited. Overcommitment is the process of allocating more resources to a virtual machine, or a group of virtual machines than are physically present on the host. It is based on the premise that most of the Virtual Machines will use only a small percentage of the resources allocated to them at a given time. However, situations may arise when the resources required by the virtual machines are more than the physical resources present on the machine. The performance of the Virtual Machines will be severely impacted in these situations. Most cloud providers generally have Service Level Agreements (SLAs) with their clients and hence cannot allow virtual machines to deliver a poor quality of service.

In this thesis, we explore the problem of overcommitment of the CPU and memory resources. We propose a distributed resource scheduler (DRS) which uses techniques such as memory ballooning and virtual machine live nigration to solve the problems in CPU and memory overcommitment. We design an architecture for DRS which is horizontally scalable and describe the techniques involved in monitoring and memory ballooning aspects of the DRS.

  • LinkedIn
  • Tumblr
  • Reddit
  • Google+
  • Pinterest
  • Pocket