Automatic memory allocation — Thoughts

Kotti Sasikanth
Sasikanth Kotti
Published in
2 min readAug 9, 2014

In todays world ,due to the explosion of virtualization technology all the servers in most of the data centers are VMs i.e. Virtual Machines.There may be VMs running on a given physical machine along with a variety of applications running on each of the VMs. During the initial build process, an important parameter is the amount of RAM that can be allocated to each VM. The RAM allocated to each VM is static. This needs to be revisited periodically so as to increase/decrease the allocation per VM .The allocation depends on the usage of RAM,load on the VM,application type etc.However inorder to obtain better efficiencies, this RAM allocation per VM may be made automatic and dynamic.

To understand the above concept,lets assume that there are 2 VMs running on a given physical box.Total memory existing on the box is 5GB and each VM is allocated 2GB.In a given day, assuming the peak usage is at 1PM for one of the VMs and the other VM usage is almost idle.If the memory allocation is static, the RAM allocated to the idle VM is not being used effectively.However if the RAM allocation is automatic and dynamic, the busiest VM can get more RAM and the idle VM can get less RAM during peak usage period. And this can happen seamlessly in a virtualized environment.If this is implemented in a datacenter where there are thousands of servers, the efficiency achieved can be profound.Machine learning may be used for implementing automatic memory allocation discussed above.

The inspiration for the above thought/idea is obtained from the below white papers and blogs:

  1. http://googleblog.blogspot.ca/2014/05/better-data-centers-through-machine.html
  2. https://code.facebook.com/posts/816473015039157/making-facebook-s-software-infrastructure-more-energy-efficient-with-autoscale/

--

--

Kotti Sasikanth
Sasikanth Kotti

I am a software engineer with deep interest in Artificial Intelligence, Machine Learning and Deep Learning areas.