Method for balancing a load, a system, an elasticity manager and a computer program product
Abstract
A method, in a virtualized system, for balancing a load across multiple virtual machines instantiated over physical hardware of the system, including vertically scaling the capacity of respective ones of the VMs up to a physical capacity limit, L PHY , from an initially allocated physical capacity, L VIRT , by providing access to additional resources of the physical hardware in response to an increased load causing the or each VM to reach or exceed a threshold capacity L T1 , and horizontally scaling the capacity of the system by supplementing the multiple VMs with an additional VM instantiated using a hypervisor of the system when a predefined proportion, U 1 , of the VMs have a capacity L PHY .
Claims
exact text as granted — not AI-modifiedThe invention claimed is:
1. A method, in a virtualized system, for balancing a load across multiple virtual machines (VMs) instantiated over physical hardware of the virtualized system, the method comprising:
vertically scaling a capacity of one or more of the multiple VMs up to a physical capacity limit, L PHY , from an initially allocated physical capacity, L VIRT , by providing access to additional resources of the physical hardware in response to an increased load causing each of the one or more of the multiple VMs to reach or exceed a threshold capacity, L T1 , the threshold capacity L T1 being less than the initially allocated physical capacity L VIRT ; and
horizontally scaling the capacity of the virtualized system by supplementing the multiple VMs with an additional VM instantiated using a hypervisor of the virtualized system in response to (i) a threshold percentage, P 1 , of the multiple VMs reaching or exceeding the threshold capacity L T1 and (ii) a threshold percentage, U 1 , of the multiple VMs reaching the physical capacity limit L PHY , wherein P 1 and U 1 are greater than 0% and less than 100%, and P 1 is greater than U 1 .
2. The method as claimed in claim 1 , further comprising:
distributing the increased load across the vertically scaled VMs to re-balance the load of the system.
3. The method as claimed in claim 1 , further comprising:
distributing the increased load across the horizontally scaled VMs to re-balance the load of the system.
4. The method as claimed in claim 1 , further comprising:
vertically downscaling the capacity of a selected VM in response to a reduction in the load or the horizontal scaling.
5. The method as claimed in claim 4 , wherein the selected VM has,
the most unused resources of the multiple VMs, and
a physical capacity greater than L VIRT .
6. The method as claimed in claim 4 , wherein the selected VM is vertically downscaled after load re-balancing of the system.
7. The method as claimed in claim 1 , further comprising:
selecting an underutilized VM with the most unused resources of the multiple VMs;
redirecting system requests to all other VMs but the underutilized VM to cause the underutilized VM to become an idle VM;
if necessary, after a time period, migrating any remaining work away from the underutilized VM; and
deactivating or deleting the idle VM.
8. A virtualized system including multiple virtual machines (VMs) in program execution on physical computing hardware supported by a hypervisor, respective VMs to execute multiple applications or application parts, the virtualized system including:
a load balancer configured to,
receive incoming requests, and
distribute the incoming requests to selected ones of the multiple VMs; and an elasticity manager configured to,
vertically scale a capacity of one or more of the multiple VMs up to a physical capacity limit, L PHY , from an initially allocated physical capacity, L VIRT , by providing access to additional resources of the physical hardware in response to an increased load causing each of the one or more of the multiple VMs to reach or exceed a threshold capacity, L T1 , the threshold capacity L T1 being less than the initially allocated physical capacity L VIRT , and
horizontally scale the capacity of the virtualized system by supplementing the multiple VMs with an additional VM instantiated using the hypervisor in response to (i) a threshold percentage, P 1 , of the multiple VMs reaching or exceeding the threshold capacity L T1 and (ii) a threshold percentage, U 1 , of the multiple VMs reaching the physical capacity limit, L PHY , wherein P 1 and U 1 are greater than 0% and less than 100%, and P 1 is greater than U 1 ; and
modify the receiving of the incoming requests and the distribution of the incoming requests by the load balancer according to a set of rules relating to multiple thresholds for individual and aggregate VM loads.
9. The system as claimed in claim 8 , wherein the load balancer is configured to distribute the increased load across the vertically scaled VMs to re-balance the load of the system.
10. The system as claimed in claim 8 , wherein the load balancer is configured to distribute the increased load across the horizontally scaled VMs to re-balance the load of the system.
11. The system as claimed in claim 8 , wherein the elasticity manager is configured to reduce the physical capacity of a selected VM with a physical capacity greater than L VIRT in response to a reduction in the load or horizontal scaling.
12. The system as claimed in claim 8 , wherein the elasticity manager is configured to determine whether a threshold physical capacity limit for the multiple VMs has been reached, and
wherein the threshold physical capacity limit indicates whether the multiple VMs can be vertically scaled.
13. The system as claimed in claim 8 , wherein the elasticity manager is configured to:
select an underutilized VM with the most unused resources of the multiple VMs;
redirect system requests to all other VMs but the underutilized VM to cause the underutilized VM to become an idle VM; and
deactivate or delete the idle VM.
14. An elasticity manager for use in a virtualized system including multiple virtual machines (VMs) in program execution on physical computing hardware supported by a hypervisor, respective VMs configured to execute multiple applications or application parts, the elasticity manager comprising:
a memory having computer readable instructions stored therein, and
a processor configured to execute the computer readable instructions to,
vertically scale the capacity of one or more of the multiple VMs up to a physical capacity limit, L PHY , from an initially allocated physical capacity, L VIRT , by providing access to additional resources of the physical hardware in response to an increased load causing each of the one or more of the multiple VMs to reach or exceed a threshold capacity, L T1 , the threshold capacity L T1 being less than the initially allocated physical capacity L VIRT ;
horizontally scale the capacity of the virtualized system by supplementing the multiple VMs with an additional VM instantiated using the hypervisor in response to (i) a threshold percentage, P 1 , of the multiple VMs reaching or exceeding the threshold capacity L T1 and (ii) a threshold percentage, U 1 , of the multiple VMs reaching the physical capacity limit, L PHY , wherein P 1 and U 1 are greater than 0% and less than 100%, and P 1 is greater than U 1 ; and
control a load balancer according to a set of rules relating to multiple thresholds for individual and aggregate VM loads, the load balancer configured to,
receive incoming requests, and
distribute the incoming requests to selected ones of the VMs.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.