Load balancing with granularly redistributable workloads
First Claim
1. A computer-implemented, comprising:
- receiving a plurality of tasks to be assigned to a plurality of subgroups of virtual servers, wherein the plurality of subgroups of virtual servers runs atop a hypervisor, wherein the hypervisor runs on a physical server;
assigning a first plurality of the tasks to a first subgroup of virtual servers, wherein the first subgroup of virtual servers comprises two or more virtual servers;
for each of the first plurality of tasks assigned to the first subgroup of virtual servers, selecting a virtual server within the first subgroup of virtual servers and assigning the task to the selected virtual server;
migrating, by a computer processor, a first virtual server from the first subgroup of virtual servers to a second subgroup of virtual servers if at least one predetermined condition is met, wherein the migration maintains in the first subgroup of virtual servers at least one of the first plurality of tasks assigned to the first subgroup of virtual servers; and
calculating a first target quantity of virtual servers to be maintained in the first subgroup of virtual servers, wherein the first target quantity of virtual servers is based on a guaranteed capacity for the first subgroup of virtual servers and an average number of workloads assigned to the first subgroup of virtual servers.
1 Assignment
0 Petitions
Accused Products
Abstract
In one embodiment, a computer-implemented method includes receiving a plurality of tasks to be assigned to a plurality of subgroups of virtual servers. A first plurality of the tasks is assigned to a first subgroup, where the first subgroup includes two or more virtual servers. For each of the first plurality of tasks assigned to the first subgroup, a virtual server is selected within the first subgroup, and the task is assigned to the selected virtual server. A first virtual server is migrated, by a computer processor, from the first subgroup of virtual servers to a second subgroup of virtual servers, if at least one predetermined condition is met, where the migration maintains in the first subgroup at least one of the first plurality of tasks assigned to the first subgroup.
-
Citations
20 Claims
-
1. A computer-implemented, comprising:
-
receiving a plurality of tasks to be assigned to a plurality of subgroups of virtual servers, wherein the plurality of subgroups of virtual servers runs atop a hypervisor, wherein the hypervisor runs on a physical server; assigning a first plurality of the tasks to a first subgroup of virtual servers, wherein the first subgroup of virtual servers comprises two or more virtual servers; for each of the first plurality of tasks assigned to the first subgroup of virtual servers, selecting a virtual server within the first subgroup of virtual servers and assigning the task to the selected virtual server; migrating, by a computer processor, a first virtual server from the first subgroup of virtual servers to a second subgroup of virtual servers if at least one predetermined condition is met, wherein the migration maintains in the first subgroup of virtual servers at least one of the first plurality of tasks assigned to the first subgroup of virtual servers; and calculating a first target quantity of virtual servers to be maintained in the first subgroup of virtual servers, wherein the first target quantity of virtual servers is based on a guaranteed capacity for the first subgroup of virtual servers and an average number of workloads assigned to the first subgroup of virtual servers. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system comprising:
-
a first-level load balancer configured to receive a plurality of tasks to be assigned to a plurality of subgroups of virtual servers and to assign a first plurality of the tasks to a first subgroup of virtual servers, wherein the first subgroup of virtual servers comprises two or more virtual servers; a second-level load balancer configured to, for each of the first plurality of tasks assigned to the first subgroup of virtual servers, select a virtual server within the first subgroup of virtual servers and assign the task to the selected virtual server; a migrator configured to migrate a first virtual server from the first subgroup of virtual servers to a second subgroup of virtual servers if at least one predetermined condition is met, wherein the migration maintains in the first subgroup of virtual servers at least one of the first plurality of tasks assigned to the first subgroup of virtual servers; and a re-balancer configured to calculate a first target quantity of virtual servers to be maintained in the first subgroup of virtual servers, wherein the first target quantity of virtual servers is based on a guaranteed capacity for the first subgroup of virtual servers and an average number of workloads assigned to the first subgroup of virtual servers, wherein the plurality of subgroups of virtual servers runs atop a hypervisor, wherein the hypervisor runs on a physical server. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computer program product comprising a computer readable storage medium having non-transitory computer readable program code embodied thereon, the computer readable program code executable by a processor to perform a method comprising:
-
receiving a plurality of tasks to be assigned to a plurality of subgroups of virtual servers, wherein the plurality of subgroups of virtual servers runs atop a hypervisor, wherein the hypervisor runs on a physical server; assigning a first plurality of the tasks to a first subgroup of virtual servers, wherein the first subgroup of virtual servers comprises two or more virtual servers; for each of the first plurality of tasks assigned to the first subgroup of virtual servers, selecting a virtual server within the first subgroup of virtual servers and assigning the task to the selected virtual server; and migrating a first virtual server from the first subgroup of virtual servers to a second subgroup of virtual servers if at least one predetermined condition is met, wherein the migration maintains in the first subgroup of virtual servers at least one of the first plurality of tasks assigned to the first subgroup of virtual servers without migrating the at least one of the first plurality of tasks assigned to the first subgroup of virtual servers; and calculating a first target quantity of virtual servers to be maintained in the first subgroup of virtual servers, wherein the first target quantity of virtual servers is based on a guaranteed capacity for the first subgroup of virtual servers and an average number of workloads assigned to the first subgroup of virtual servers. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification