Cluster resource management using adaptive memory demand
AssigneeVMware, Inc.
InventorsZhelong Pan, Rajesh Venkatasubramanian, Julien Freche, Prashanth Victor
Life of this patent
Estimating the term…
Abstract
Various examples are disclosed for cluster resource management using adaptive memory demands. Some aspects involve determining a destination memory estimate and a local memory estimate for various workloads executing in a datacenter. Goodness scores are determined corresponding to the candidate workload being executed on a number of different hosts. The goodness scores are determined using the local memory estimates for the currently executing workloads, the destination memory estimate is utilized for the candidate workload if it is not executing on the corresponding host. The workloads are balanced based on the goodness scores.
Claims20
A system, comprising:
- at least one computing device;
- at least one memory comprising instructions, wherein the instructions, when executed by at least one processor, cause the at least one computing device to at least:
- identify workload data for a plurality of workloads currently executed in a computing environment, the workload data comprising, for a respective workload:
- a granted memory, a consumed memory, and a page sharing saved memory;
- determine local memory estimates for the plurality of workloads, a respective local memory estimate being determined based on at least one of:
- the consumed memory, and a full memory estimate reduced by the page sharing saved memory;
- determine a destination memory estimate for a candidate workload, the destination memory estimate being determined based on the granted memory for the candidate workload;
- determine a plurality of goodness scores corresponding to the candidate workload being executed on a plurality of hosts of the computing environment, the plurality of goodness scores being determined based on the local memory estimates for the plurality of workloads, and wherein at least one of the plurality of goodness scores is further determined based on the destination memory estimate for the candidate workload;
- and
- balance the plurality of workloads based on a comparison of the plurality of goodness scores for the candidate workload.
A non-transitory computer-readable medium comprising executable instructions, wherein the instructions, when executed by at least one processor, cause at least one computing device to at least:
- identify workload data for a plurality of workloads currently executed in a computing environment, the workload data comprising, for a respective workload:
- a granted memory, a consumed memory, and a page sharing saved memory;
- determine local memory estimates for the plurality of workloads, a respective local memory estimate being determined based on at least one of:
- the consumed memory, and a full memory estimate reduced by the page sharing saved memory;
- determine a destination memory estimate for a candidate workload, the destination memory estimate being determined based on the granted memory for the candidate workload;
- determine a plurality of goodness scores corresponding to the candidate workload being executed on a plurality of hosts of the computing environment, the plurality of goodness scores being determined based on the local memory estimates for the plurality of workloads, and wherein at least one of the plurality of goodness scores is further determined based on the destination memory estimate for the candidate workload;
- and
- balance the plurality of workloads based on a comparison of the plurality of goodness scores for the candidate workload.
A method implemented by instructions executed in at least one computing device, the method comprising:
- identifying workload data for a plurality of workloads executed in a computing environment, the workload data comprising, for a respective workload:
- a granted memory, a consumed memory, and a page sharing saved memory;
- determining local memory estimates for the plurality of workloads, a respective local memory estimate being determined based on at least one of:
- the consumed memory, and a full memory estimate reduced by the page sharing saved memory;
- determining a destination memory estimate for a candidate workload, the destination memory estimate being determined based on the granted memory for the candidate workload;
- determining a plurality of goodness scores corresponding to the candidate workload being executed on a plurality of hosts of the computing environment, the plurality of goodness scores being determined based on the local memory estimates for the plurality of workloads, and wherein at least one of the plurality of goodness scores is further determined based on the destination memory estimate for the candidate workload;
- and
- balancing the plurality of workloads based on a comparison of the plurality of goodness scores for the candidate workload.
Dependencies are inferred from the claim text.