×

Optimizing virtual machines placement in cloud computing environments

  • US 10,719,343 B2
  • Filed: 10/14/2016
  • Issued: 07/21/2020
  • Est. Priority Date: 10/12/2011
  • Status: Active Grant
First Claim
Patent Images

1. A method, comprising:

  • by a placement engine that instantiates virtual machine (VM) instances;

    receiving a request from a user to deploy an instance of a VM image;

    reading a VM resource usage profile (RUP) that indicates a predicted resource consumption of the requested instance of the VM image over a first period of time;

    retrieving an existing user-specific VM resource usage profile (URUP) for the instance of the VM image requested to be deployed over the first period of time;

    determining user-specific patterns based on combined respective data of the RUP and respective data of the URUP;

    reading one resource pool profile for each of a plurality of resources pools, where each resource pool profile indicates a predicted resource consumption in the respective resource pool over a second period of time;

    for each resource pool;

    generating a resulting VM resource usage profile from a selected one of the VM RUP and the URUP;

    analyzing the resulting VM resource usage profile and the resource pool profile, the analysis comprising aligning the resulting VM resource usage profile and the respective resource pool profile of the respective resource pool by aligning the second period of time of the respective resource pool profile with the first period of time of the resulting VM resource usage profile; and

    calculating, for existing host platforms, an aggregated resource consumption profile that predicts a total resource consumption over time in the resource pool as an aggregation of the predicted resource consumptions of the aligned profiles by comparing the resulting VM resource usage profile with the resource pool profile of the respective resource pool, wherein the resource pool profile of the respective resource pool is obtained as a superposition of an assigned resource usage profile of all instances of all VMs running on the resource pool;

    determining, from the aggregated resource consumption profiles, a resource pool of the plurality of resource pools with a least predicted aggregated resource consumption over time;

    determining that the resource pool with the least predicted aggregated resource consumption over time has no free resource on the existing host platform to fit the instance of the VM image, based on a current allocation of resources;

    calculating a resource shortage for the determined least predicted aggregated resource pool;

    based on the calculated resource shortage, performing, by a resource manager, a reallocation of at least one resource, initially allocated to an instantiated VM image instance in the determined least predicted aggregated resource pool, to the requested VM image, wherein the aggregated resource consumption profiles are used as input for determining another instantiated VM image instance to which the at least one resource is to be reallocated; and

    subsequent to reallocating the at least one resource, instantiating the VM image on the least predicted resource pool expected to provide the best available fit for the resource requirements of the VM image.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×