IP Library Granted Patent US 10,860,385
Granted Patent B2
US 10,860,385 · App. 15/966,295 · Granted Dec 8, 2020

Method and system for allocating and migrating workloads across an information technology environment based on persistent memory availability

Inventor: John Kelly (Mallow Cork, IE)
Assignee: Dell Products L.P.
G06F9/5083G06F9/505G06F9/5016G06F9/5038
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 10,860,385
App. No.
15/966,295
Granted
Dec 8, 2020
Kind
B2
Abstract

A method and system for allocating and migrating workloads across an information technology (IT) environment based on persistent memory availability. Specifically, the method and system disclosed herein entail the intelligent placement of workloads on appropriate nodes of a node cluster based on workload requirements and node capabilities and/or resources availability. Further, workloads may be ranked based on a workload priority assigned to any particular workload, if available, or based on logged system calls issued by virtual machines hosting any particular workload. Subsequently, higher ranked workloads may be granted priority access to nodes that host healthier persistent memory, if any, or host higher performance traditional storage.

Claims (158)

1. A method for assessing workload placement, by a workload allocation and migration (WAM) manager, across a node cluster based on persistent memory availability, comprising:

obtaining traditional storage (TS) latency (TSL) information for each node of the node cluster;

maintaining a storage latency ranking (SLR) based on the TSL information;

obtaining persistent memory (PM) health (PMH) information for each node of the node cluster;

maintaining a memory health ranking (MHR) based on the PMH information and the SLR;

identifying a first workload for allocation;

making a first determination that a workload priority (WP) for the first workload is available;

assessing a first workload placement of the first workload on the node cluster based at least on the WP and the MHR; and

allocating the first workload to a first node of the node cluster;

identifying a second workload for allocation;

making a second determination that a WP for the second workload is unavailable;

obtaining, based on the second determination, virtual machine (VM) system call (VSC) information for each node of the node cluster;

identifying, from the VSC information, a PM-relevant subset of the VSC information;

maintaining a system call ranking (SCR) based on the PM-relevant subset of the VSC information;

assessing a second workload placement of the second workload on the node cluster based at least on the SCR and the MHR; and

allocating the second workload to a second node of the node cluster,

wherein assessing the second workload placement of the second workload, comprises:

identifying a VM, of a set of VMs executing across the node cluster,

hosting the second workload;

obtaining, using the SCR, a PM system call count (PMC) for the VM;

associating the PMC with a high PMC classification;

obtaining, using the MHR, a first memory-storage code (MSC) for the second node of the node cluster; and

deducing, based on the first MSC, that the second node comprises a first TS and a first PM,

wherein the first PM is healthy,

wherein the first MSC is a first best match for the PMC.

2. The method of claim 1 , wherein assessing the first workload placement of the first workload, comprises:

associating the WP with a high WP classification;

obtaining, using the MHR, a first memory-storage code (MSC) for the first node of the node cluster; and

deducing, based on the first MSC, that the first node comprises a first TS and a first PM,

wherein the first PM is healthy,

wherein the first MSC is a first best match for the WP.

3. The method of claim 2 , wherein assessing the first workload placement of the first workload, further comprises:

making a third determination that the first node further comprises sufficient resources to instantiate the first workload;

based on the third determination:

identifying the first node as the first workload placement of the first workload; and

allocating, based on the identifying, the first workload to the first node.

4. The method of claim 2 , wherein assessing the first workload placement of the first workload, further comprises:

making a third determination that the first node further comprises insufficient resources to instantiate the first workload;

based on the third determination:

obtaining, using the MHR, a second MSC for a third node of the node cluster; and

deducing, based on the second MSC, that the third node comprises a second TS and a second PM,

wherein the second PM has exhibited at least one warning code,

wherein the second MSC is a second best match for the WP.

5. The method of claim 4 , wherein assessing the first workload placement of the first workload, further comprises:

making a fourth determination that the third node further comprises sufficient resources to instantiate the first workload;

based on the fourth determination:

identifying the third node as the first workload placement of the first workload; and

allocating, based on the identifying, the first workload to the third node.

6. The method of claim 4 , wherein assessing the first workload placement of the first workload, further comprises:

making a fourth determination that the third node further comprises insufficient resources to instantiate the first workload;

based on the fourth determination:

obtaining, using the MHR, a third MSC for a third fourth node of the node cluster;

deducing, based on the third MSC, that the third fourth node comprises a third TS and a third PM,

wherein the third PM has exhibited at least one error code,

wherein the third MSC is a third best match for the WP.

7. The method of claim 6 , wherein assessing the first workload placement of the first workload, further comprises:

making a fifth determination that the third node further comprises sufficient resources to instantiate the first workload;

based on the fifth determination:

identifying the third node as the first workload placement of the first workload; and

allocating, based on the identifying, the first workload to the third node.

8. The method of claim 6 , wherein assessing the first workload placement of the first workload, further comprises:

making a sixth determination that the third node further comprises insufficient resources to instantiate the first workload;

based on the sixth determination:

obtaining, using the MHR, a fourth MSC for a fifth node of the node cluster;

deducing, based on the fourth MSC, that the fifth node comprises a fourth TS and not any PM, wherein the fourth TS has exhibited high disk input-output (IO) latency, wherein the fourth MSC is a fourth best match for the WP;

identifying, based on the deducing, the fifth node as the first workload placement of the first workload; and

allocating, based on the identifying, the first workload to the fifth node.

9. The method of claim 1 , wherein assessing the second workload placement of the second workload, further comprises:

making a third determination that the second node further comprises sufficient resources to instantiate the second workload;

based on the third determination:

identifying the second node as the second workload placement of the second workload; and

allocating, based on the identifying, the second workload to the second node.

10. The method of claim 1 , wherein assessing the second workload placement of the second workload, further comprises:

making a third determination that the second node further comprises insufficient resources to instantiate the second workload;

based on the third determination:

obtaining, using the MHR, a second MSC for a sixth node of the node cluster; and

deducing, based on the second MSC, that the sixth node comprises a second TS and a second PM,

wherein the second PM has exhibited at least one warning code,

wherein the second MSC is a second best match for the PMC.

11. The method of claim 10 , wherein assessing the second workload placement of the second workload, further comprises:

making a fourth determination that the sixth node further comprises sufficient resources to instantiate the second workload;

based on the fourth determination:

identifying the sixth node as the second workload placement of the second workload; and

allocating, based on the identifying, the second workload to the sixth node.

12. The method of claim 10 , wherein assessing the second workload placement of the second workload, further comprises:

making a fourth determination that the sixth node further comprises insufficient resources to instantiate the second workload;

based on the fourth determination:

obtaining, using the MHR, a third MSC for a seventh node of the node cluster;

deducing, based on the third MSC, that the third node comprises a third TS and a third PM,

wherein the third PM has exhibited at least one error code,

wherein the third MSC is a third best match for the PMC.

13. The method of claim 12 , wherein assessing the second workload placement of the second workload, further comprises:

making a fifth determination that the seventh node further comprises sufficient resources to instantiate the second workload;

based on the fifth determination:

identifying the seventh node as the second workload placement of the second workload; and

allocating, based on the identifying, the second workload to the seventh node.

14. The method of claim 13 , wherein assessing the second workload placement of the second workload, further comprises:

making a sixth determination that the seventh node further comprises insufficient resources to instantiate the second workload;

based on the sixth determination:

obtaining, using the MHR, a fourth MSC for a eighth node of the node cluster;

deducing, based on the fourth MSC, that the eighth node comprises a fourth TS and not any PM, wherein the fourth TS has exhibited high disk input-output (IO) latency, wherein the fourth MSC is a fourth best match for the PMC;

identifying, based on the deducing, the eighth node as the second workload placement of the second workload; and

allocating, based on the identifying, the second workload to the eighth node.

15. A system for assessing workload placement across nodes of an information technology environment based on persistent memory availability, comprising:

a node cluster; and

a workload allocation and migration (WAM) manager, implemented on a physical server, operatively connected to the node cluster, and programmed to:

obtain traditional storage (TS) latency (TSL) information for each node of the node cluster;

maintain a storage latency ranking (SLR) based on the TSL information;

obtain persistent memory (PM) health (PMH) information for each node of the node cluster;

maintain a memory health ranking (MHR) based on the PMH information and the SLR;

identify a first workload for allocation;

make a first determination that a workload priority (WP) for the first workload is available; and

assess a first workload placement of the first workload on the node cluster based at least on the WP and the MHR; and

allocate the first workload to a first node of the node cluster;

identify a second workload for allocation;

make a second determination that a WP for the second workload is unavailable;

obtain, based on the second determination, virtual machine (VM) system call (VSC) information for each node of the node cluster;

identify, from the VSC information, a PM-relevant subset of the VSC information;

maintain a system call ranking (SCR) based on the PM-relevant subset of the VSC information; and

assess a second workload placement of the second workload on the node cluster based at least on the SCR and the MHR; and

allocate the second workload to a second node of the node cluster,

wherein assessing the second workload placement of the second workload, comprises:

identifying a VM, of a set of VMs executing across the node cluster, hosting the second workload;

obtaining, using the SCR, a PM system call count (PMC) for the VM;

associating the PMC with a high PMC classification;

obtaining, using the MHR, a first memory-storage code (MSC) for the second node of the node cluster; and

deducing, based on the first MSC, that the second node comprises a first TS and a first PM,

wherein the first PM is healthy,

wherein the first MSC is a first best match for the PMC.

16. The system of claim 15 , wherein the WAM manager obtains the TSL information and the PMH information from each node of the node cluster.

17. The system of claim 15 , further comprising:

a third-party service (TPS) operatively connected to the WAM manager and the node cluster,

wherein the WAM manager obtains the TSL information and the PMH information from the TPS,

wherein the TPS obtains the TSL information and the PMH information from each node of the node cluster.

18. A non-transitory computer readable medium (CRM) comprising computer readable program code for assessing workload placement across nodes of an information technology environment based on persistent memory availability, which when executed by a computer processor, enables the computer processor to:

obtain traditional storage (TS) latency (TSL) information for each node of a node cluster;

maintain a storage latency ranking (SLR) based on the TSL information;

obtain persistent memory (PM) health (PMH) information for each node of the node cluster;

maintain a memory health ranking (MHR) based on the PMH information and the SLR;

identify a first workload for allocation;

make a first determination that a workload priority (WP) for the first workload is available; and

assess a first workload placement of the first workload on the node cluster based at least on the WP and the MHR; and

allocate the first workload to a first node of the node cluster;

identify a second workload for allocation;

make a second determination that a WP for the second workload is unavailable;

obtain, based on the second determination, virtual machine (VM) system call (VSC) information for each node of the node cluster;

identify, from the VSC information, a PM-relevant subset of the VSC information;

maintain a system call ranking (SCR) based on the PM-relevant subset of the VSC information; and

assess a second workload placement of the second workload on the node cluster based at least on the SCR and the MHR; and

allocate the second workload to a second node of the node cluster,

wherein assessing the second workload placement of the second workload, comprises:

identifying a VM, of a set of VMs executing across the node cluster, hosting the second workload;

obtaining, using the SCR, a PM system call count (PMC) for the VM;

associating the PMC with a high PMC classification;

obtaining, using the MHR, a first memory-storage code (MSC) for the second node of the node cluster; and

deducing, based on the first MSC, that the second node comprises a first TS and a first PM,

wherein the first PM is healthy,

wherein the first MSC is a first best match for the PMC.

Assignments (8)
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 IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (046366/0014) Recorded May 20, 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 060450/0306 →
RELEASE OF SECURITY INTEREST AT REEL 046286 FRAME 0653 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058298/0093 →
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 21, 2019
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 049452/0223 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Jun 1, 2018
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 046366/0014 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Jun 1, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 046286/0653 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 1, 2018
From: KELLY, JOHN
To: DELL PRODUCTS L.P.
Reel/Frame 045960/0475 →