US 11,755,385 B2
Cross-cluster load balancer
Lei Lu, Campbell, CA (US); Varun S Lingaraju, San Jose, CA (US); Zhelong Pan, Cupertino, CA (US); Rajesh Venkatasubramanian, San Jose, CA (US); Sahan Bamunavita Gamage, San Jose, CA (US); Charan K Singh, Sunnyvale, CA (US); Bing Hu, Sunnyvale, CA (US); and Xiaoyuan Lu, Campbell, CA (US)
Assigned to VMware, Inc., Palo Alto, CA (US)
Filed by VMware, Inc., Palo Alto, CA (US)
Filed on May 29, 2020, as Appl. No. 16/887,932.
Prior Publication US 2021/0373971 A1, Dec. 2, 2021
Int. Cl. G06F 9/50 (2006.01); G06F 9/48 (2006.01); G06F 9/54 (2006.01)
CPC G06F 9/5088 (2013.01) [G06F 9/4875 (2013.01); G06F 9/5077 (2013.01); G06F 9/547 (2013.01); G06F 2209/505 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A non-transitory computer-readable medium comprising program instructions that when executed cause at least one computing device to at least:
identify a set of clusters to analyze for cross-cluster workload migration, wherein a respective cluster comprises a storage area network that aggregates storage available to physical resources of the respective cluster;
generate a ranked list of the set of clusters, wherein the ranked list is sorted based at least in part on a cluster resource usage of the respective cluster of the set of clusters;
identify a source cluster for cross-cluster migration, wherein the source cluster is identified based at least in part on a ranking of the source cluster in the ranked list of the set of clusters;
determine a cross-cluster migration gain to migrate a workload from the source cluster to a destination cluster, wherein the cross-cluster migration gain is determined based at least in part on a gain rate and a gain duration, the gain rate being based at least in part on: a source hardware resource efficiency of the workload on the source cluster, and a destination hardware resource efficiency of the workload on the destination cluster, wherein the gain duration is an estimated duration of the gain rate at the destination cluster and being based at least in part on a cross-cluster migration time and a frequency of cross-cluster workload migrations for the destination cluster from the source cluster of one or more particular clusters;
generate a cross-cluster migration recommendation to migrate the workload from the source cluster to the destination cluster based at least in part on the cross-cluster migration gain being greater than a predetermined cross-cluster migration cost;
determine that a maximum quantity of cross-cluster migration recommendations has been met based on the cross-cluster migration recommendation being generated and included to a total quantity of cross-cluster migration recommendations, the determination that the maximum quantity of cross-cluster migration recommendations has been met is based on a comparison between the total quantity of cross-cluster migration recommendations and the maximum quantity of cross-cluster migration recommendations;
execute a migration of the workload from the source cluster to the destination cluster based at least in part on the maximum quantity of cross-cluster migration recommendations being met;
determine that the migration of the workload has failed based on the migration of the workload taking longer than a threshold migration time; and
delete a partially-deployed workload associated with the migration of the workload from the destination cluster in response to the determination that the migration of the workload has failed based on the migration of the workload taking longer than the threshold migration time.