Method and apparatus for workload volatility management in cloud computing
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-modifiedWhat 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.