Monitors the memory usage of the VMs to detect the amount of free memory to be stolen.
Memory size is dynamically stolen/assigned to VMs via KVM. Automated vertical elasticity.
Stolen memory is reported to the Cloud Management Platform to enable oversubscription.
Live migration across nodes is employed to prevent memory overload in the physical hosts.
Fully integrated with OpenNebula via extensible mechanisms. No source code modifications required.
Cloud users tend to overestimate the memory requirements of their applications/services. Templates (e.g. 2 vCPUs and 2048 MB of RAM) typically represent upper bounds for application requirements, thus wasting memory allocated to the VM. Also, applications may show highly dynamic memory requirements. Wouldn't it be great that VMs where allocated the precise memory at every point of time to be used by their applications? CloudVAMP monitors actual memory usage and dynamically resizes the memory allocated to VMs, relying on the memory ballooning support provided by the KVM hypervisor. The free memory available from VMs is reclaimed (stolen) by CloudVAMP.
The stolen memory from the VMs is exposed as free memory to the Cloud Management Platform (CMP). The CMP's scheduler can decide to allocate additional VMs on the physical hosts. Therefore, CloudVAMP enables oversubscription for your on-premises Cloud. Oversubscription increases virtual server density, this being able to run more VMs per physical host. But what if applications (and in turn VMs) start increasing their memory usage? CloudVAMP dynamically increases the memory allocated to VMs. It also introduces preventive mechanisms to avoid memory overload in the physical hosts.
Oversubscription may result in memory overload of the physical host if no preventive measures are considered. For that, CloudVAMP prevents memory overload via the live migration of VMs across the physical nodes, as supported both by KVM and OpenNebula. No downtime is introduced for VMs and memory overload is prevented, thus maintaining the Level of Service.