US11403130B2ActiveUtilityA1

Method and apparatus for workload volatility management in cloud computing

Assignee: VMWARE INCPriority: Oct 24, 2019Filed: Dec 27, 2019Granted: Aug 2, 2022
Est. expiryOct 24, 2039(~13.2 yrs left)· nominal 20-yr term from priority
G06F 2009/4557G06F 9/45558
34
PatentIndex Score
0
Cited by
5
References
20
Claims

Abstract

System and computer-implemented method for managing workload volatility in a cloud architecture including a plurality of computing instances in a group of hosts use volatiltiy factors to identify first and second hosts and then a first virtual computing instance in the first host. A workload metric associated with the group of hosts is used to identify a second virtual computing instance in the second host to be swapped with the first virtual computing instance in the first host. The first and second virtual computing instances are swapped so that the first virtual computing instance is migrated from the first host to the second host and the second virtual computing instance is migrated from the second host to the first host.

Claims

exact text as granted — not AI-modified
What is claimed: 
     
       1. A computer-implemented method for managing workload volatility in a cloud architecture comprising a plurality of virtual computing instances in a group of hosts, the method comprising:
 executing the plurality of virtual computing instances on the group of hosts; and 
 load balancing the plurality of virtual computing instances on the group of hosts where load balancing includes determining, in accordance with predetermined evaluation intervals, a host volatility factor for each host of the group of hosts, wherein each respective host volatility factor is computed using virtual computing instance volatility factors of each respective virtual machine instance executing on a respective host, and each respective virtual computing instance volatility factor is computed using a standard deviation of workload samples collected for each respective virtual computing instance executing on a respective host of the group of hosts; 
 for each predetermined evaluation interval, performing the steps of:
 identifying a first host from the group of hosts, the first host having a first host volatility factor greater than other hosts in the group of hosts wherein the first host volatility factor is computed using virtual computing instance volatility factors of the virtual computing instances in the first host; 
 identifying a first virtual computing instance in the first host, the first virtual computing instance having a first virtual computing instance volatility factor greater than other virtual computing instances in the first host, wherein the first virtual computing instance volatility factor is computed using a standard deviation of workload samples collected for the first virtual computing instance; 
 identifying a second host from the group of hosts, the second host having a second host volatility factor less than other hosts in the group of hosts, wherein the second host volatility factor is computed using virtual computing instance volatility factors of the virtual computing instances in the second host; 
 identifying a second virtual computing instance in the second host to be swapped with the first virtual computing instance in the first host based on a workload metric associated with the group of hosts, wherein the workload metric is derived from an analysis of one or more samples associated with the group of hosts at a particular point in time or a period of time; 
 swapping the first virtual computing instance and the second virtual computing instance so that the first virtual computing instance is migrated from the first host to the second host and the second virtual computing instance is migrated from the second host to the first host; and 
 executing the first virtual computing instance on the second host and the second virtual computing instance on the first host. 
 
 
     
     
       2. The method of  claim 1 , wherein the workload metric associated with the group of hosts comprises a first workload metric associated with the first host and a second workload metric associated with the second host, wherein the identification of the second virtual computing instance in the second host comprises:
 determining a difference between the first workload metric and the second workload metric; and 
 selecting a virtual computing instance from a plurality of virtual computing instances in the second host based on the difference. 
 
     
     
       3. The method of  claim 2 , wherein the first virtual computing instance comprises a first virtual computing instance workload metric and the selected virtual computing instance comprises a second virtual computing instance workload metric, wherein the second virtual computing instance workload metric of the selected virtual computing instance is not greater than the first virtual computing instance workload metric of the first virtual computing instance when the first workload metric associated with the first host is higher than the second workload metric associated with the second host. 
     
     
       4. The method of  claim 1 , wherein the first host volatility factor and the second host volatility factor each comprises a memory volatility factor, wherein the identification of the second virtual computing instance in the second host comprises:
 determining a change in the memory volatility factor of each of the first and second hosts assuming a swap of the first virtual computing instance and the second virtual computing instance; and 
 selecting a virtual computing instance from a plurality of virtual computing instances in the second host based on the change. 
 
     
     
       5. The method of  claim 4 , wherein the selection of the virtual computing instance from the plurality of virtual computing instances in the second host results in no increase in the memory volatility factor of each of the first and second hosts. 
     
     
       6. The method of  claim 1 , wherein the identification of the second virtual computing instance in the second host comprises:
 determining a change of the first host volatility factor and the second host volatility factor for each potential swap of the first virtual computing instance with each virtual computing instance in a plurality of virtual computing instances in the second host; and 
 selecting a virtual computing instance from the plurality of the computing instances in the second host based on the change. 
 
     
     
       7. The method of  claim 6 , wherein the selection of the virtual computing instance from the plurality of the computing instances in the second host maximizes a reduction of a standard deviation of the first host volatility factor and the second host volatility factor. 
     
     
       8. A non-transitory computer-readable storage medium containing program instructions for managing workload volatility in a cloud architecture comprising a plurality of virtual computing instances in a group of hosts, wherein execution of the program instructions by one or more processors causes the one or more processors to perform steps comprising:
 executing the plurality of virtual computing instances on the group of hosts; and 
 load balancing the plurality of virtual computing instances on the group of hosts where load balancing includes determining, in accordance with predetermined evaluation intervals, a host volatility factor for each host of the group of hosts, wherein each respective host volatility factor is computed using virtual computing instance volatility factors of each respective virtual machine instance executing on a respective host, and each respective virtual computing instance volatility factor is computed using a standard deviation of workload samples collected for each respective virtual computing instance executing on a respective host of the group of hosts; 
 for each predetermined evaluation interval, performing the steps of:
 identifying a first host from the group of hosts, the first host having a first host volatility factor greater than other hosts in the group of hosts wherein the first host volatility factor is computed using virtual computing instance volatility factors of the virtual computing instances in the first host; 
 identifying a first virtual computing instance in the first host, the first virtual computing instance having a first virtual computing instance volatility factor greater than other virtual computing instances in the first host, wherein the first virtual computing instance volatility factor is computed using a standard deviation of workload samples collected for the first virtual computing instance; 
 identifying a second host from the group of hosts, the second host having a second host volatility factor less than other hosts in the group of hosts, wherein the second host volatility factor is computed using virtual computing instance volatility factors of the virtual computing instances in the second host; 
 identifying a second virtual computing instance in the second host to be swapped with the first virtual computing instance in the first host based on a workload metric associated with the group of hosts, wherein the workload metric is derived from an analysis of one or more samples associated with the group of hosts at a particular point in time or a period of time; 
 swapping the first virtual computing instance and the second virtual computing instance so that the first virtual computing instance is migrated from the first host to the second host and the second virtual computing instance is migrated from the second host to the first host; and 
 executing the first virtual computing instance on the second host and the second virtual computing instance on the first host. 
 
 
     
     
       9. The computer-readable storage medium of  claim 8 , wherein the workload metric associated with the group of hosts comprises a first workload metric associated with the first host and a second workload metric associated with the second host, wherein the identification of the second virtual computing instance in the second host comprises:
 determining a difference between the first workload metric and the second workload metric; and 
 selecting a virtual computing instance from a plurality of virtual computing instances in the second host based on the difference. 
 
     
     
       10. The computer-readable storage medium of  claim 9 , wherein the first virtual computing instance comprises a first virtual computing instance workload metric and the selected virtual computing instance comprises a second virtual computing instance workload metric, wherein the second virtual computing instance workload metric of the selected virtual computing instance is not greater than the first virtual computing instance workload metric of the first virtual computing instance when the first workload metric associated with the first host is higher than the second workload metric associated with the second host. 
     
     
       11. The computer-readable storage medium of  claim 8 , wherein the first host volatility factor and the second host volatility factor each comprises a memory volatility factor, wherein the identification of the second virtual computing instance in the second host comprises:
 determining a change in the memory volatility factor of each of the first and second hosts assuming a swap of the first virtual computing instance and the second virtual computing instance; and 
 selecting a virtual computing instance from a plurality of virtual computing instances in the second host based on the change. 
 
     
     
       12. The computer-readable storage medium of  claim 11 , wherein the selection of the virtual computing instance from the plurality of virtual computing instances in the second host results in no increase in the memory volatility factor of each of the first and second hosts. 
     
     
       13. The computer-readable storage medium of  claim 8 , wherein the identification of the second virtual computing instance in the second host comprises:
 determining a change of the first host volatility factor and the second host volatility factor for each potential swap of the first virtual computing instance with each virtual computing instance in a plurality of virtual computing instances in the second host; and 
 selecting a virtual computing instance from the plurality of the computing instances in the second host based on the change. 
 
     
     
       14. The computer-readable storage medium of  claim 13 , wherein the selection of the virtual computing instance from the plurality of the computing instances in the second host maximizes a reduction of a standard deviation of the first host volatility factor and the second host volatility factor. 
     
     
       15. A system for managing workload volatility in a cloud architecture comprising a plurality of virtual computing instances in a group of hosts, the system comprising:
 memory; and 
 one or more processors configured to: 
 execute the plurality of virtual computing instances on the group of hosts; and 
 load balance the plurality of virtual computing instances on the group of hosts where load balancing includes determining, in accordance with predetermined evaluation intervals, a host volatility factor for each host of the group of hosts, wherein each respective host volatility factor is computed using virtual computing instance volatility factors of each respective virtual machine instance executing on a respective host, and each respective virtual computing instance volatility factor is computed using a standard deviation of workload samples collected for each respective virtual computing instance executing on a respective host of the group of hosts; 
 for each predetermined evaluation interval, the processor further configured to:
 identify a first host from the group of hosts, the first host having a first host volatility factor greater than other hosts in the group of hosts wherein the first host volatility factor is computed using virtual computing instance volatility factors of the virtual computing instances in the first host; 
 identify a first virtual computing instance in the first host, the first virtual computing instance having a first virtual computing instance volatility factor greater than other virtual computing instances in the first host, wherein the first virtual computing instance volatility factor is computed using a standard deviation of workload samples collected for the first virtual computing instance; 
 identify a second host from the group of hosts, the second host having a second host volatility factor less than other hosts in the group of hosts, wherein the second host volatility factor is computed using virtual computing instance volatility factors of the virtual computing instances in the second host; 
 identify a second virtual computing instance in the second host to be swapped with the first virtual computing instance in the first host based on a workload metric associated with the group of hosts, wherein the workload metric is derived from an analysis of one or more samples associated with the group of hosts at a particular point in time or a period of time; 
 swap the first virtual computing instance and the second virtual computing instance so that the first virtual computing instance is migrated from the first host to the second host and the second virtual computing instance is migrated from the second host to the first host; and 
 execute the first virtual computing instance on the second host and the second virtual computing instance on the first host. 
 
 
     
     
       16. The system of  claim 15 , wherein the workload metric associated with the group of hosts comprises a first workload metric associated with the first host and a second workload metric associated with the second host, wherein the identification of the second virtual computing instance in the second host comprises: determining a difference between the first workload metric and the second workload metric; and selecting a virtual computing instance from a plurality of virtual computing instances in the second host based on the difference. 
     
     
       17. The system of  claim 16 , wherein the first virtual computing instance comprises a first virtual computing instance workload metric and the selected virtual computing instance comprises a second virtual computing instance workload metric, wherein the second virtual computing instance workload metric of the selected virtual computing instance is not greater than the first virtual computing instance workload metric of the first virtual computing instance when the first workload metric associated with the first host is higher than the second workload metric associated with the second host. 
     
     
       18. The system of  claim 15 , wherein the first host volatility factor and the second host volatility factor each comprises a memory volatility factor, wherein the identification of the second virtual computing instance in the second host comprises:
 determining a change in the memory volatility factor of each of the first and second hosts assuming a swap of the first virtual computing instance and the second virtual computing instance; and 
 selecting a virtual computing instance from a plurality of virtual computing instances in the second host based on the change. 
 
     
     
       19. The system of  claim 15 , wherein the identification of the second virtual computing instance in the second host comprises:
 determining a change of the first host volatility factor and the second host volatility factor for each potential swap of the first virtual computing instance with each virtual computing instance in a plurality of virtual computing instances in the second host; and 
 selecting a virtual computing instance from the plurality of the computing instances in the second host based on the change. 
 
     
     
       20. The system of  claim 19 , wherein the selection of the virtual computing instance from the plurality of the computing instances in the second host maximizes a reduction of a standard deviation of the first host volatility factor and the second host volatility factor.

Join the waitlist — get patent alerts

Track US11403130B2 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.