IP Library › Granted Patent US 10,841,367
Granted Patent B2
US 10,841,367 · App. 15/982,612 · Granted Nov 17, 2020

Optimizing dynamical resource allocations for cache-dependent workloads in disaggregated data centers

Inventors: John A. Bivens (Ossining, NY); Eugen Schenfeld (South Brunswick, NJ); Valentina Salapura (Chappaqua, NY); Ruchi Mahindru (Elmsford, NY); Min Li (San Jose, CA)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
H04L67/1002H04L41/5019H04L67/1097H04L67/2842
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,841,367
App. No.
15/982,612
Granted
Nov 17, 2020
Kind
B2
Abstract

A new workload is assigned to a subset of a plurality of processors, the subset of processors assigned a subset of a plurality of cache devices. A determination is made that the new workload is categorized as a cache-dependent workload which would be executed more efficiently were additional data elements associated with the new workload to be held in the subset of cache devices, and pursuant to determining the new workload is the cache-dependent workload, a determination is made as to whether the subset of cache devices is meeting the memory need of the new workload. Responsive to determining the subset of cache devices is not meeting the memory need of the new workload, a cache related action is performed.

Claims (32)

1. A method for optimizing resource utilization in a disaggregated computing environment, by a processor device, comprising:

assigning a new workload to a subset of a plurality of processors, the subset of processors assigned a subset of a plurality of cache devices;

determining that the new workload is categorized as a cache-dependent workload which would be executed more efficiently were additional data elements associated with the new workload to be held in the subset of cache devices, wherein upon determining the workload is categorized as a cache-dependent workload, the new workload is further classified as a cache-needy workload upon determining the data elements associated with the new workload exhibit data access patterns of having reoccurring access to less than a predetermined number of a set of data blocks outside a given one of the cache devices assigned to the new workload; and

pursuant to determining the new workload is the cache-dependent workload, determining whether the subset of cache devices is meeting a memory need of the new workload; wherein responsive to determining the subset of cache devices is not meeting the memory need of the new workload, a cache related action is performed.

2. The method of claim 1 , further including determining the new workload is the cache-dependent workload by tracking the data access patterns of the data elements associated with the new workload; wherein the tracked data access patterns are assembled into a heat map, the heat map including information on a workload data scope and a most recent access pattern including a most recent access location.

3. The method of claim 2 , wherein the new workload is classified as the cache-needy workload according to an examination of the data heat map, and the cache related action comprises allocating additional cache devices from the plurality of cache devices to the subset of cache devices assigned to the new workload.

4. The method of claim 3 , wherein each of the processors are multicore processors and each cache device is assigned to a given one of the cores, and allocating the additional cache devices to the subset of cache devices comprises assigning additional cores to the new workload.

5. The method of claim 4 , further including identifying additional available cores in the subset of processors assigned to the workload, and assigning an available core and an associated available cache device to the new workload.

6. The method of claim 5 , further including determining that no available cores exist in the subset of processors; wherein if no available cores exist in the subset of processors, a new processor of the plurality of processors is allocated to the subset of processors.

7. The method of claim 6 , wherein the new processor is selected according to a service level agreement (SLA) of the new workload and an SLA of a previous workload assigned to the new processor.

8. A system for optimizing resource utilization in a disaggregated computing environment, the system comprising:

a plurality of cache devices; and

a plurality of processors, wherein at least one of the plurality of processors:

assigns a new workload to a subset of the plurality of processors, the subset of processors assigned a subset of the plurality of cache devices;

determines that the new workload is categorized as a cache-dependent workload which would be executed more efficiently were additional data elements associated with the new workload to be held in the subset of cache devices, wherein upon determining the workload is categorized as a cache-dependent workload, the new workload is further classified as a cache-needy workload upon determining the data elements associated with the new workload exhibit data access patterns of having reoccurring access to less than a predetermined number of a set of data blocks outside a given one of the cache devices assigned to the new workload; and

pursuant to determining the new workload is the cache-dependent workload, determines whether the subset of cache devices is meeting a memory need of the new workload; wherein responsive to determining the subset of cache devices is not meeting the memory need of the new workload, a cache related action is performed.

9. The system of claim 8 , wherein the at least one of the plurality of processors determines the new workload is the cache-dependent workload by tracking the data access patterns of the data elements associated with the new workload; wherein the tracked data access patterns are assembled into a heat map, the heat map including information on a workload data scope and a most recent access pattern including a most recent access location.

10. The system of claim 9 , wherein the new workload is classified as the cache-needy workload according to an examination of the data heat map, and the cache related action comprises allocating additional cache devices from the plurality of cache devices to the subset of cache devices assigned to the new workload.

11. The system of claim 10 , wherein each of the processors are multicore processors and each cache device is assigned to a given one of the cores, and allocating the additional cache devices to the subset of cache devices comprises assigning additional cores to the new workload.

12. The system of claim 11 , wherein the at least one of the plurality of processors identifies additional available cores in the subset of processors assigned to the workload, and assigns an available core and an associated available cache device to the new workload.

13. The system of claim 12 , wherein the at least one of the plurality of processors determines that no available cores exist in the subset of processors; wherein if no available cores exist in the subset of processors, a new processor of the plurality of processors is allocated to the subset of processors.

14. The system of claim 13 , wherein the new processor is selected according to a service level agreement (SLA) of the new workload and an SLA of a previous workload assigned to the new processor.

15. A computer program product for optimizing resource utilization in a disaggregated computing environment, by a processor device, the computer program product embodied on a non-transitory computer-readable storage medium having computer-readable program code portions stored therein, the computer-readable program code portions comprising:

an executable portion that assigns a new workload to a subset of a plurality of processors, the subset of processors assigned a subset of a plurality of cache devices;

an executable portion that determines that the new workload is categorized as a cache-dependent workload which would be executed more efficiently were additional data elements associated with the new workload to be held in the subset of cache devices, wherein upon determining the workload is categorized as a cache-dependent workload, the new workload is further classified as a cache-needy workload upon determining the data elements associated with the new workload exhibit data access patterns of having reoccurring access to less than a predetermined number of a set of data blocks outside a given one of the cache devices assigned to the new workload; and

an executable portion that pursuant to determining the new workload is the cache-dependent workload, determines whether the subset of cache devices is meeting a memory need of the new workload; wherein responsive to determining the subset of cache devices is not meeting the memory need of the new workload, a cache related action is performed.

16. The computer program product of claim 15 , further including an executable portion that determines the new workload is the cache-dependent workload by tracking the data access patterns of the data elements associated with the new workload; wherein the tracked data access patterns are assembled into a heat map, the heat map including information on a workload data scope and a most recent access pattern including a most recent access location.

17. The computer program product of claim 16 , wherein the new workload is classified as the cache-needy workload according to an examination of the data heat map, and the cache related action comprises allocating additional cache devices from the plurality of cache devices to the subset of cache devices assigned to the new workload.

18. The computer program product of claim 17 , wherein each of the processors are multicore processors and each cache device is assigned to a given one of the cores, and allocating the additional cache devices to the subset of cache devices comprises assigning additional cores to the new workload.

19. The computer program product of claim 18 , further including an executable portion that identifies additional available cores in the subset of processors assigned to the workload, and assigns an available core and an associated available cache device to the new workload.

20. The computer program product of claim 19 , further including an executable portion that determines that no available cores exist in the subset of processors; wherein if no available cores exist in the subset of processors, a new processor of the plurality of processors is allocated to the subset of processors.

21. The computer program product of claim 20 , wherein the new processor is selected according to a service level agreement (SLA) of the new workload and an SLA of a previous workload assigned to the new processor.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 31, 2018
From: BIVENS, JOHN A.; SCHENFELD, EUGEN; SALAPURA, VALENTINA; MAHINDRU, RUCHI; LI, MIN
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 045947/0602 →
Continuity (1)
Related Publication 20190356732A1 · Nov 21, 2019
Cited By (1)
US 12,566,629