IP Library Granted Patent US 11,989,587
Granted Patent B2
US 11,989,587 · App. 16/914,301 · Granted May 21, 2024

Apparatus and method for a resource allocation control framework using performance markers

Inventors: Rameshkumar Illikkal (Folsom, CA); Andrew J. Herdrich (Hillsboro, OR); Francesc Guim Bernat (Barcelona, ES); Ravishankar Iyer (Portland, OR)
Assignee: Intel Corporation
G06F9/5016G06F9/30101G06F9/4881G06F11/3037G06F11/3466
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,989,587
App. No.
16/914,301
Granted
May 21, 2024
Kind
B2
Abstract

An apparatus and method for dynamic resource allocation with mile/performance markers. For example, one embodiment of a processor comprises: resource allocation circuitry to allocate a plurality of hardware resources to a plurality of workloads including priority workloads associated with one or more guaranteed performance levels; and monitoring circuitry to evaluate execution progress of a workload across a plurality of nodes, each node to execute one or more processing stages of the workload, wherein the monitoring circuitry is to evaluate the execution progress of the workload, at least in part, by reading progress markers advertised by the workload at the specified processing stages, wherein the monitoring circuitry is to detect that the workload may not meet one of the guaranteed performance levels based on the progress markers, and wherein the resource allocation circuitry, responsive to the monitoring circuitry, is to reallocate one or more of the plurality of hardware resources to improve the performance level of the workload.

Claims (39)

1. A processor comprising:

resource allocation circuitry to allocate a plurality of hardware resources to a plurality of workloads including priority workloads associated with one or more guaranteed performance levels; and

monitoring circuitry to evaluate execution progress of a workload across a plurality of nodes, each node to execute one or more processing stages of the workload, wherein the monitoring circuitry is to evaluate the execution progress of the workload, at least in part, by reading progress markers advertised by the workload at the specified processing stages,

wherein the monitoring circuitry is to detect that the workload may not meet one of the guaranteed performance levels based on the progress markers, and

wherein the resource allocation circuitry, responsive to the monitoring circuitry, is to reallocate one or more of the plurality of hardware resources to improve the performance level of the workload.

2. The processor of claim 1 wherein each progress marker is to include timing data indicating a time at which a corresponding processing stage was completed or initiated.

3. The processor of claim 2 further comprising:

one or more control registers to store the timing data for evaluation by the monitoring circuitry.

4. The processor of claim 1 wherein a node of the plurality of nodes comprises a computing device configured to perform operations associated with a specific one of the processing stages.

5. The processor of claim 1 wherein the guaranteed performance levels include a guaranteed latency and/or a guaranteed throughput.

6. The processor of claim 5 wherein the guaranteed performance levels are to be specified as key performance indicators (KPIs) of a service level agreement (SLA).

7. The processor of claim 1 wherein the plurality of hardware resources include cache occupancy within at least one cache of the processor and/or at least one cache of a node.

8. The processor of claim 1 wherein the plurality of hardware resources include memory bandwidth to a memory coupled to the processor and/or a memory coupled to a node.

9. A method comprising:

allocating a plurality of hardware resources to a plurality of workloads including priority workloads associated with one or more guaranteed performance levels;

evaluating execution progress of a workload across a plurality of nodes, each node to execute one or more processing stages of the workload, wherein the monitoring circuitry is to evaluate the execution progress of the workload, at least in part, by reading progress markers advertised by the workload at the specified processing stages;

detecting that the workload may not meet one of the guaranteed performance levels based on the progress markers; and

responsively reallocating one or more of the plurality of hardware resources to improve the performance level of the workload.

10. The method of claim 9 wherein each progress marker is to include timing data indicating a time at which a corresponding processing stage was completed or initiated.

11. The method of claim 10 further comprising:

storing the timing data in one or more control registers for evaluation.

12. The method of claim 11 wherein a node of the plurality of nodes comprises a computing device configured to perform operations associated with a specific one of the processing stages.

13. The method of claim 9 wherein the guaranteed performance levels include a guaranteed latency and/or a guaranteed throughput.

14. The method of claim 13 wherein the guaranteed performance levels are to be specified as key performance indicators (KPIs) of a service level agreement (SLA).

15. The method of claim 9 wherein the plurality of hardware resources include cache occupancy within at least one cache of the processor and/or at least one cache of a node.

16. The method of claim 9 wherein the plurality of hardware resources include memory bandwidth to a memory coupled to the processor and/or a memory coupled to a node.

17. A non-transitory computer machine-readable storage medium having program code stored thereon which, when executed by a machine, causes the machine to perform the operations of:

allocating a plurality of hardware resources to a plurality of workloads including priority workloads associated with one or more guaranteed performance levels;

evaluating execution progress of a workload across a plurality of nodes, each node to execute one or more processing stages of the workload, wherein the monitoring circuitry is to evaluate the execution progress of the workload, at least in part, by reading progress markers advertised by the workload at the specified processing stages;

detecting that the workload may not meet one of the guaranteed performance levels based on the progress markers; and

responsively reallocating one or more of the plurality of hardware resources to improve the performance level of the workload.

18. The method of claim 17 wherein each progress marker is to include timing data indicating a time at which a corresponding processing stage was completed or initiated.

19. The method of claim 18 further comprising:

storing the timing data in one or more control registers for evaluation.

20. The method of claim 19 wherein a node of the plurality of nodes comprises a computing device configured to perform operations associated with a specific one of the processing stages.

21. The method of claim 17 wherein the guaranteed performance levels include a guaranteed latency and/or a guaranteed throughput.

22. The method of claim 21 wherein the guaranteed performance levels are to be specified as key performance indicators (KPIs) of a service level agreement (SLA).

23. The method of claim 17 wherein the plurality of hardware resources include cache occupancy within at least one cache of the processor and/or at least one cache of a node.

24. The method of claim 17 wherein the plurality of hardware resources include memory bandwidth to a memory coupled to the processor and/or a memory coupled to a node.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 12, 2020
From: ILLIKKAL, RAMESHKUMAR; HERDRICH, ANDREW J.; GUIM BERNAT, FRANCESC; IYER, RAVISHANKAR
To: INTEL CORPORATION
Reel/Frame 053480/0946 →
Continuity (1)
Related Publication 20210406075A1 · Dec 30, 2021
Cited By (3)
US 12,596,665 US 12,713,888 US 12,713,890