IP Library › Granted Patent US 12,231,304
Granted Patent B2
US 12,231,304 · App. 18/037,964 · Granted Feb 18, 2025

Efficient resource allocation for service level compliance

Inventors: Rameshkumar Illikkal (Folsom, CA); Anna Drewek-Ossowicka (Gdansk, PL); Dharmisha Ketankumar Doshi (Folsom, CA); Qian Li (Stanford, CA); Andrzej Kuriata (Gdansk, PL); Andrew J. Herdrich (Hillsboro, OR); Teck Joo Goh (Saratoga, CA); Daniel Richins (Orem, UT); Slawomir Putyrski (Gdynia, PL); Wenhui Shu (Shanghai, CN); Long Cui (Shanghai, CN); Jinshi Chen (Shanghai, CN); Mihai Daniel Dodan (Bucharest, RO)
Assignee: Intel Corporation
H04L41/5019G06F9/5011
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 12,231,304
App. No.
18/037,964
Filed
May 19, 2023
Granted
Feb 18, 2025
Kind
B2
Art Unit
2446
USPC
709/226
Abstract

Various approaches to efficiently allocating and utilizing hardware resources in data centers while maintaining compliance with a service level objective (SLO) specified for a computational workload is translated into a hardware-level SLO to facilitate direct enforcement by the hardware processor, e.g., using a feedback control loop or model-based mapping of the hardware-level SLO to allocations of microarchitecture resources of the processor. In some embodiments, a computational model of the hardware behavior under resource contention is used to predict the application performance (e.g., as measured in terms of the hardware-level SLO) to be expected under certain contention scenarios. Scheduling of workloads among the compute nodes within the data center may be based on such predictions. In further embodiments, configurations of microservices are optimized to minimize hardware resources while meeting a specified performance goal.

Claims (27)

1. A hardware processor comprising:

one or more processor cores and an uncore collectively supporting simultaneous execution of multiple workloads; and

within the uncore, an intelligent resource manager to control, during execution of a primary workload among the multiple workloads, allocation of one or more shared microarchitecture resources of the one or more processor cores and the uncore to optimize the allocation of the one or more shared microarchitecture resources subject to enforcing a hardware service level objective (SLO) received as part of an instruction set for the primary workload, the hardware SLO comprising a target value of an SLO metric derived from a performance guarantee associated with the primary workload pursuant to a service level agreement (SLA).

2. The hardware processor of claim 1 , wherein the SLO metric is a number of cycles per instruction (CPI) or instructions per cycle (IPC).

3. The hardware processor of claim 1 , wherein the one or more shared microarchitecture resources comprise at least one of last level cache (LLC) or main memory bandwidth.

4. The hardware processor of claim 1 , wherein the one or more shared microarchitecture resources comprise multiple shared microarchitecture resources controlled jointly to enforce the SLO.

5. The hardware processor of claim 1 , wherein the intelligent resource manager is to control the allocation of the one or more shared microarchitecture resources to optimize the allocation of the one or more shared microarchitecture resources, subject to enforcing the SLO, pursuant to an optimization policy received by the hardware processor.

6. The hardware processor of claim 1 , wherein the intelligent resource manager comprises control circuitry implementing a feedback control loop to control the allocation of the one more shared microarchitecture resources based on measurements of the SLO metric by dynamically adjusting the allocation of the one or more shared microarchitecture resources using the SLO metric as a process variable, the target value as a setpoint, and the allocation of the one or more shared microarchitecture resources as one or more control parameters.

7. The hardware processor of claim 6 , wherein the intelligent resource manager further comprises monitoring circuitry to compute the SLO metric based on one or more measured counters reported by the one or more processor cores and the uncore.

8. The hardware processor of claim 6 , wherein the feedback control loop comprises a proportional-integral-derivative (PID) controller.

9. The hardware processor of claim 8 , wherein the feedback control loop comprises a multiple-input multiple-output (MIMO) PID controller.

10. The hardware processor of claim 1 , wherein the intelligent resource manager comprises control circuitry to compute the resource allocations based on a machine-learning model.

11. The hardware processor of claim 1 , wherein the intelligent resource manager comprises control circuitry to compute a resource availability vector for achieving the target value of the SLO metric based on a workload signature model that represents a sensitivity of the SLO metric to the resource availability vector and a resource requirement vector associated with the primary workload, and to allocate the one or more shared microarchitecture resources according to the computed resource availability vector.

12. The hardware processor of claim 11 , wherein the control circuitry implements an inverse model of the workload signature model to compute the resource availability vector using the resource requirement vector and the target value of the SLO metric as inputs.

13. The hardware processor of claim 11 , wherein the control circuitry implements the workload signature model, and computes the resource availability vector iteratively by operating the workload signature model on input comprising the resource requirement vector and the resource availability vector to compute the SLO metric, and adjusting the resource availability vector until the computed SLO metric meets the target value.

14. The hardware processor of claim 11 , wherein the workload signature model comprises a machine-learned model.

15. The hardware processor of claim 14 , wherein the machine-learned model is based on training data comprising, for each of a plurality of collocation scenarios between primary and background workloads, associated measured resource availability and resource requirement vectors correlated with measured performance jitter values for the SLO metric.

16. A method comprising:

receiving, by a hardware processor comprising one or more processor cores and an uncore collectively supporting simultaneous execution of multiple workloads, an instruction set for a primary workload, the instruction set comprising a hardware service level objective (SLO) for the primary workload, the hardware SLO comprising a target value of an SLO metric derived from a performance guarantee associated with the primary workload pursuant to a service level agreement (SLA); and

controlling, by an intelligent resource manager within the uncore of the hardware processor, during execution of the primary workload, allocation of one or more shared microarchitecture resources of the hardware processor to optimize the allocation of the one or more shared microarchitecture resources subject to enforcing the SLO.

17. The method of claim 16 , wherein the SLO metric is a number of cycles per instruction (CPI) or instructions per cycle (IPC).

18. The method of claim 16 , further comprising receiving, by the hardware processor, an optimization policy, wherein the hardware processor controls the allocation of the one or more shared microarchitecture resources to optimize the allocation of the one or more shared microarchitecture resources pursuant to the optimization policy subject to enforcing the SLO.

19. The method of claim 16 , wherein controlling the allocation of the one more shared microarchitecture resources comprises measuring the SLO metric and dynamically adjusting the allocation of the one or more shared microarchitecture resources in a feedback control loop, using the measured SLO metric as a process variable, the target value as a setpoint, and the allocation of the one or more shared microarchitecture resources as one or more control parameters.

20. A system comprising:

a plurality of compute nodes, each comprising at least one hardware processor comprising one or more processor cores and an uncore collectively supporting simultaneous execution of multiple workloads, to execute one or more workloads associated with an application; and

a cluster orchestrator, comprising at least one hardware processor, to schedule the one or more workloads on one or more compute nodes of the plurality of compute nodes based at least in part on sufficient resource availability of one or more shared microarchitecture resources on the compute nodes to comply with hardware service level objectives (SLOs) derived for the workloads from an application-level SLO associated with the application pursuant to a service level agreement (SLA), each hardware SLO comprising a target value of a hardware SLO metric,

wherein the plurality of compute nodes are each to control, by an intelligent resource manager within the uncore of the respective at least one hardware processor, allocation of the one or more shared microarchitecture resources to any of the one or more workloads executed on the compute node to optimize the allocation of the one or more shared microarchitecture resources subject to meeting the hardware SLO.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 26, 2023
From: ILLIKKAL, RAMESHKUMAR; DREWEK-OSSOWICKA, ANNA; DOSHI, DHARMISHA KETANKUMAR; LI, QIAN; KURIATA, ANDRZEJ; HERDRICH, ANDREW J.; GOH, TECK JOO; RICHINS, DANIEL; PUTYRSKI, SLAWOMIR; SHU, WENHUI; CUI, LONG; CHEN, JINSHI; DODAN, MIHAI DANIEL
To: INTEL CORPORATION
Reel/Frame 063788/0115 →
Continuity (1)
Related Publication 20240015080A1 · Jan 11, 2024
References Cited (30)
US 9921866B2 · Ganguli · 2018 [cited by examiner]
US 10721137B2 · Ganguli et al. · 2020 [cited by applicant]
US 11792137B2 · Sun · 2023 [cited by examiner]
US 12093100B2 · Garg · 2024 [cited by examiner]
US 20110213508A1 · Mandagere · 2011 [cited by examiner]
US 20130261826A1 · Mandagere · 2013 [cited by examiner]
US 20160179560A1 · Ganguli · 2016 [cited by examiner]
US 20170031423A1 · Mandagere · 2017 [cited by examiner]
US 20180165008A1 · Baysah · 2018 [cited by examiner]
US 20190104182A1 · Elzur · 2019 [cited by examiner]
US 20190340123A1 · Herdrich · 2019 [cited by examiner]
US 20210117242A1 · Van De Groenendaal · 2021 [cited by examiner]
US 20220100247A1 · Garg · 2022 [cited by examiner]
CN 107003887 · 2017 [cited by applicant]
CN 107003887A · 2017 [cited by applicant]
CN 111492348 · 2020 [cited by applicant]
CN 111492348A · 2020 [cited by applicant]
NL 2029681 · 2023 [cited by applicant]
WO WO2011104108A1 · 2011 [cited by examiner]
WO 2018144060 · 2018 [cited by applicant]
WO WO2018144060A1 · 2018 [cited by examiner]
WO 2019165110 · 2019 [cited by applicant]
WO WO2019165110A1 · 2019 [cited by examiner]
WO 2022133690 · 2022 [cited by applicant]
WO WO2022133690A1 · 2022 [cited by examiner]
“Netherlands Application Serial No. 2029681, Search Report mailed Apr. 5, 2023”, w English Translation, 10 pgs. [cited by applicant]
“International Application Serial No. PCT/CN2020/138138, International Search Report mailed Sep. 18, 2021”, 4 pgs. [cited by applicant]
“International Application Serial No. PCT/CN2020/138138, Written Opinion mailed Sep. 18, 2021”, 4 pgs. [cited by applicant]
“Netherlands Application Serial No. 2029681, Office Action mailed Nov. 26, 2021”, w/o English translation, 4 pgs. [cited by applicant]
“Netherlands Application Serial No. 2029681, Search Report mailed Apr. 5, 2023”, w/o English Translation, 10 pgs. [cited by applicant]
Cited By (4)
US 12,455,764 US 12,613,927 US 12,664,446 US 12,693,906