IP Library Granted Patent US 11,586,457
Granted Patent B2
US 11,586,457 · App. 16/743,118 · Granted Feb 21, 2023

Load balancing in a hyper-converged infrastructure (HCI) environment

Inventors: Gajanan S. Natu (Cary, NC); Kenneth Hu (Lexington, MA); Susan Young (Needham, MA)
Assignee: EMC IP Holding Company LLC
G06F9/45558G06F3/061G06F3/0647G06F3/0653G06F3/0673G06F2009/4557G06F2009/45579G06F2009/45583
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,586,457
App. No.
16/743,118
Granted
Feb 21, 2023
Kind
B2
Abstract

Load balancing in a Hyper-Converged Infrastructure (HCI) environment, in which a compute migration request is received that indicates a virtual machine to be migrated, a source appliance in which the virtual machine is currently executing, and a destination appliance to which the virtual machine is to be moved by the requested compute migration. The technology determines whether performing the requested compute migration would cause the virtual machine to experience an increased remote data storage Input/Output (I/O) performance penalty as a result of moving the virtual machine to the destination appliance. The disclosed technology may prevent the requested compute migration from being performed in response at least in part to a determination that the requested compute migration would cause the virtual machine to experience an increased remote data storage I/O performance penalty as a result of moving the virtual machine to the destination appliance.

Claims (57)

1. A method comprising:

monitoring I/O throughput generated by a virtual machine to each storage volume allocated to the virtual machine;

receiving a compute migration request, the compute migration request indicating the virtual machine, a source appliance in which the virtual machine is currently executing, and a destination appliance to which the virtual machine is to be moved by the requested compute migration;

detecting a maximum rate at which a network interface of the source appliance can transfer data onto a network, wherein the network interconnects a plurality of appliances including the source appliance and the destination appliance;

detecting a maximum rate at which a network interface of the destination appliance can transfer data onto the network;

determining whether performing the requested compute migration would cause the virtual machine to experience an increased remote data storage Input/Output (I/O) performance penalty as a result of moving the virtual machine to the destination appliance, at least in part by:

calculating a source remote data storage I/O performance penalty that is equal to a rate at which remote data storage I/O is performed by the virtual machine when the virtual machine is executing in the source appliance, by identifying those storage volumes allocated to the virtual machine that are remote storage volumes of the virtual machine when the virtual machine is executing in the source appliance and calculating a total amount of I/O throughput generated by the virtual machine to those storage volumes allocated to the virtual machine that are remote storage volumes of the virtual machine when the virtual machine is executing in the source appliance, wherein the source remote data storage I/O performance penalty comprises the total amount of I/O throughput generated by the virtual machine to those storage volumes allocated to the virtual machine that are remote storage volumes of the virtual machine when the virtual machine is executing in the source appliance divided by the maximum rate at which the network interface of the source appliance can transfer data onto the network,

calculating a destination remote data storage I/O performance penalty that is equal to a rate at which remote data storage I/O would be performed by the virtual machine as a result of moving the virtual machine to the destination appliance, by identifying those storage volumes allocated to the virtual machine that would be remote storage volumes of the virtual machine as a result of moving the virtual machine to the destination appliance and calculating a total amount of the I/O throughput generated by the virtual machine to those storage volumes allocated to the virtual machine that would be remote storage volumes of the virtual machine as a result of moving the virtual machine to the destination appliance, wherein the destination remote data storage I/O performance penalty comprises the total amount of I/O throughput generated by the virtual machine to those storage volumes allocated to the virtual machine that would be remote storage volumes of the virtual machine as a result of moving the virtual machine to the destination appliance divided by the maximum rate at which the network interface of the destination appliance can transfer data onto the network, and

determining that performing the requested compute migration would cause the virtual machine to experience an increased remote data storage I/O performance penalty as a result of moving the virtual machine to the destination appliance in response to the destination remote data storage I/O performance penalty exceeding the source remote data storage I/O performance penalty; and

preventing the requested compute migration from being performed in response at least in part to the determination that the requested compute migration would cause the virtual machine to experience an increased remote data storage I/O performance penalty as a result of moving the virtual machine to the destination appliance.

2. The method of claim 1 , further comprising:

determining a source compute latency, wherein the source compute latency comprises a compute latency experienced by the virtual machine when the virtual machine is executing on the source appliance;

determining a destination compute latency, wherein the destination compute latency comprises a compute latency that would be experienced by the virtual machine as a result of moving the virtual machine to the destination appliance;

calculating a source performance index equal to a sum of the source compute latency and the source remote data storage I/O performance penalty;

calculating a destination performance index equal to a sum of the destination compute latency and the destination remote data storage I/O performance penalty; and

preventing the requested compute migration from being performed in response to the destination performance index exceeding the source performance index.

3. The method of claim 1 , further comprising:

determining whether the requested compute migration is consistent with at least one policy provided for processing compute migration requests; and

determining whether the requested compute migration should be prevented responsive to determining whether the requested compute migration is consistent with the at least one policy provided for processing compute migration requests.

4. A hyper-converged infrastructure (HCI) appliance, comprising:

processing circuitry;

a memory coupled to the processing circuitry, the memory storing program code which, when executed by the processing circuitry, causes the processing circuitry to:

monitor I/O throughput generated by a virtual machine to each storage volume allocated to the virtual machine;

receive a compute migration request, the compute migration request indicating the virtual machine, a source appliance in which the virtual machine is currently executing, and a destination appliance to which the virtual machine is to be moved by the requested compute migration;

detect a maximum rate at which a network interface of the source appliance can transfer data onto a network, wherein the network interconnects a plurality of appliances including the source appliance and the destination appliance;

detect a maximum rate at which a network interface of the destination appliance can transfer data onto the network;

determine whether performing the requested compute migration would cause the virtual machine to experience an increased remote data storage Input/Output (I/O) performance penalty as a result of moving the virtual machine to the destination appliance, at least in part by causing the processing circuitry to:

calculate a source remote data storage I/O performance penalty that is equal to a rate at which remote data storage I/O is performed by the virtual machine when the virtual machine is executing in the source appliance, by identifying those storage volumes allocated to the virtual machine that are remote storage volumes of the virtual machine when the virtual machine is executing in the source appliance and calculating a total amount of I/O throughput generated by the virtual machine to those storage volumes allocated to the virtual machine that are remote storage volumes of the virtual machine when the virtual machine is executing in the source appliance, wherein the source remote data storage I/O performance penalty comprises the total amount of I/O throughput generated by the virtual machine to those storage volumes allocated to the virtual machine that are remote storage volumes of the virtual machine when the virtual machine is executing in the source appliance divided by the maximum rate at which the network interface of the source appliance can transfer data onto the network,

calculate a destination remote data storage I/O performance penalty that is equal to a rate at which remote data storage I/O would be performed by the virtual machine as a result of moving the virtual machine to the destination appliance, by identifying those storage volumes allocated to the virtual machine that would be remote storage volumes of the virtual machine as a result of moving the virtual machine to the destination appliance and calculating a total amount of the I/O throughput generated by the virtual machine to those storage volumes allocated to the virtual machine that would be remote storage volumes of the virtual machine as a result of moving the virtual machine to the destination appliance, wherein the destination remote data storage I/O performance penalty comprises the total amount of I/O throughput generated by the virtual machine to those storage volumes allocated to the virtual machine that would be remote storage volumes of the virtual machine as a result of moving the virtual machine to the destination appliance divided by the maximum rate at which the network interface of the destination appliance can transfer data onto the network, and

determine that performing the requested compute migration would cause the virtual machine to experience an increased remote data storage I/O performance penalty as a result of moving the virtual machine to the destination appliance in response to the destination remote data storage I/O performance penalty exceeding the source remote data storage I/O performance penalty; and

prevent the requested compute migration from being performed in response at least in part to the determination that the requested compute migration would cause the virtual machine to experience an increased remote data storage I/O performance penalty as a result of moving the virtual machine to the destination appliance.

5. The HCI appliance of claim 4 , wherein the program code, when executed, further causes the processing circuitry to:

determine a source compute latency, wherein the source compute latency comprises a compute latency experienced by the virtual machine when the virtual machine is executing on the source appliance;

determine a destination compute latency, wherein the destination compute latency comprises a compute latency that would be experienced by the virtual machine as a result of moving the virtual machine to the destination appliance;

calculate a source performance index equal to a sum of the source compute latency and the source remote data storage I/O performance penalty;

calculate a destination performance index equal to a sum of the destination compute latency and the destination remote data storage I/O performance penalty; and

prevent the requested compute migration from being performed in response to the destination performance index exceeding the source performance index.

6. The HCI appliance of claim 4 , wherein the program code, when executed, further causes the processing circuitry to:

determine whether the requested compute migration is consistent with at least one policy provided for processing compute migration requests; and

determine whether the requested compute migration should be prevented responsive to determining whether the requested compute migration is consistent with the at least one policy provided for processing compute migration requests.

7. A computer program product, comprising:

a non-transitory computer readable medium storing program code, which when carried out by processing circuitry, causes the processing circuitry to perform a method of:

monitoring I/O throughput generated by a virtual machine to each storage volume allocated to the virtual machine;

receiving a compute migration request, the compute migration request indicating the virtual machine, a source appliance in which the virtual machine is currently executing, and a destination appliance to which the virtual machine is to be moved by the requested compute migration;

detecting a maximum rate at which a network interface of the source appliance can transfer data onto a network, wherein the network interconnects a plurality of appliances including the source appliance and the destination appliance;

detecting a maximum rate at which a network interface of the destination appliance can transfer data onto the network;

determining whether performing the requested compute migration would cause the virtual machine to experience an increased remote data storage Input/Output (I/O) performance penalty as a result of moving the virtual machine to the destination appliance, at least in part by:

calculating a source remote data storage I/O performance penalty that is equal to a rate at which remote data storage I/O is performed by the virtual machine when the virtual machine is executing in the source appliance, by identifying those storage volumes allocated to the virtual machine that are remote storage volumes of the virtual machine when the virtual machine is executing in the source appliance and calculating a total amount of I/O throughput generated by the virtual machine to those storage volumes allocated to the virtual machine that are remote storage volumes of the virtual machine when the virtual machine is executing in the source appliance, wherein the source remote data storage I/O performance penalty comprises the total amount of I/O throughput generated by the virtual machine to those storage volumes allocated to the virtual machine that are remote storage volumes of the virtual machine when the virtual machine is executing in the source appliance divided by the maximum rate at which the network interface of the source appliance can transfer data onto the network,

calculating a destination remote data storage I/O performance penalty that is equal to a rate at which remote data storage I/O would be performed by the virtual machine as a result of moving the virtual machine to the destination appliance, by identifying those storage volumes allocated to the virtual machine that would be remote storage volumes of the virtual machine as a result of moving the virtual machine to the destination appliance and calculating a total amount of the I/O throughput generated by the virtual machine to those storage volumes allocated to the virtual machine that would be remote storage volumes of the virtual machine as a result of moving the virtual machine to the destination appliance, wherein the destination remote data storage I/O performance penalty comprises the total amount of I/O throughput generated by the virtual machine to those storage volumes allocated to the virtual machine that would be remote storage volumes of the virtual machine as a result of moving the virtual machine to the destination appliance divided by the maximum rate at which the network interface of the destination appliance can transfer data onto the network, and

determining that performing the requested compute migration would cause the virtual machine to experience an increased remote data storage I/O performance penalty as a result of moving the virtual machine to the destination appliance in response to the destination remote data storage I/O performance penalty exceeding the source remote data storage I/O performance penalty; and

preventing the requested compute migration from being performed in response at least in part to a determination that the requested compute migration would cause the virtual machine to experience an increased remote data storage I/O performance penalty as a result of moving the virtual machine to the destination appliance.

8. The computer program product of claim 7 , wherein the method caused to be performed by the processing circuitry further comprises:

determining a source compute latency, wherein the source compute latency comprises a compute latency experienced by the virtual machine when the virtual machine is executing on the source appliance;

determining a destination compute latency, wherein the destination compute latency comprises a compute latency that would be experienced by the virtual machine as a result of moving the virtual machine to the destination appliance;

calculating a source performance index equal to a sum of the source compute latency and the source remote data storage I/O performance penalty;

calculating a destination performance index equal to a sum of the destination compute latency and the destination remote data storage I/O performance penalty; and

preventing the requested compute migration from being performed in response to the destination performance index exceeding the source performance index.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052216/0758) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0680 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0742 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST AF REEL 052243 FRAME 0773 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0152 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 053311/0169 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 26, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052243/0773 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Mar 24, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052216/0758 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 14, 2020
From: NATU, GAJANAN S.; HU, KENNETH; YOUNG, SUSAN
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 051818/0586 →
Continuity (1)
Related Publication 20210216345A1 · Jul 15, 2021