IP Library Granted Patent US 11,663,021
Granted Patent B2
US 11,663,021 · App. 17/103,111 · Granted May 30, 2023

System and method for providing granular processor performance control

Inventors: John Christopher Beckett (New Braunfels, TX); Mukund P. Khatri (Austin, TX)
Assignee: Dell Products L.P.
G06F9/44505G06F9/30079G06F9/3877G06F9/4403G06F9/505
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,663,021
App. No.
17/103,111
Granted
May 30, 2023
Kind
B2
Abstract

A basic input/output system provides an interface for a core aggregation layout that identifies a grouping of processor cores into core aggregations, wherein each of the core aggregations is associated with a maximum allowable C-state. A processor may monitor an information handling system during operation of an application to gather data associated with latency sensitivity of the application, update the core aggregation layout based on the data gathered during the operation of the application, and pin a thread for execution to one of the processor cores based on the latency sensitivity of the application and the maximum allowable C-state.

Claims (30)

1. A method comprising:

in response to determining that a current system configuration is not identical to a previous system configuration at a previous boot, grouping, by a processor, a plurality of processor cores into core aggregations, wherein each one of the core aggregations is associated with a maximum allowable C-state;

generating a map of the core aggregations based on the grouping to be used when routing a thread for execution; and

routing the thread for execution to one of the processor cores based on a latency requirement of the thread and the maximum allowable C-state of a core aggregation of the core aggregations as depicted in the map, wherein the routing the thread for the execution to the core aggregations is further based on a maximum size of an instruction set of the core aggregation.

2. The method of claim 1 , wherein the routing the thread for the execution to the core aggregation is further based on a minimum frequency of the core aggregation.

3. The method of claim 1 , wherein the each one of the core aggregations is further associated with a minimum frequency requirement of an application.

4. The method of claim 1 , wherein the each one of the core aggregations is further associated with the maximum size of an instruction set requirement of an application.

5. The method of claim 1 , wherein the each one of the core aggregations is further associated with a different minimum frequency and a different maximum size of the instruction set.

6. The method of claim 1 , wherein the thread is a latency-sensitive thread and the core aggregation has C-state disabled.

7. The method of claim 6 , further comprising generating a report associated with execution of the thread.

8. An information handling system, comprising:

a basic input/output system configured to provide an interface for a core aggregation layout that identifies a grouping of a plurality of processor cores into core aggregations, wherein each of the core aggregations is associated with a maximum allowable C-state; and

a processor configured to:

monitor the information handling system during operation of an application to gather data associated with latency sensitivity of the application;

updating the core aggregation layout based on the data gathered during the operation of the application; and

pin a thread for execution to one of the processor cores based on the latency sensitivity of the application, the maximum allowable C-state, and on a maximum size of an instruction set of the application.

9. The information handling system of claim 8 , wherein the processor is further configured to pin the thread based on a minimum frequency of the application.

10. The information handling system of claim 8 , wherein the each one of the core aggregations is further associated with a minimum frequency.

11. The information handling system of claim 8 , wherein the each one of the core aggregations is further associated with a different minimum frequency and a different maximum size of the instruction set.

12. A method comprising:

monitoring, by a processor, a workload during execution to collect data for determining a latency requirement of the workload;

training a machine learning model using the data during the execution of the workload to generate a core aggregation layout that includes one or more core aggregations, wherein each core aggregation includes one or more processor cores, and wherein each one of the core aggregations is associated with a maximum allowable C-state;

mapping each of the processor cores to one of the core aggregations;

routing a thread for execution to one of the processor cores based on a latency sensitivity of the thread and the maximum allowable C-state, wherein the routing the thread for the execution to the one of the core aggregations is further based on a maximum size of an instruction set; and

determining whether the workload is executing within the latency sensitivity of the thread and the maximum allowable C-state.

13. The method of claim 12 , wherein the routing the thread for the execution to the one of the core aggregations is further based on a minimum frequency.

14. The method of claim 12 , wherein the each one of the core aggregations is further associated with a minimum frequency of an application.

15. The method of claim 12 , wherein the each one of the core aggregations is further associated with a different minimum frequency and a different maximum size of the instruction set.

16. The method of claim 12 , wherein the thread is a latency-sensitive thread and the one processor core has C-state disabled.

17. The method of claim 12 , further comprising reporting the mapping of the processor cores to the core aggregations to an operating system.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (055479/0342) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0460 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (055479/0051) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0663 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056136/0752) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0771 →
RELEASE OF SECURITY INTEREST AT REEL 055408 FRAME 0697 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0553 →
SECURITY INTEREST Recorded Mar 3, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056136/0752 →
SECURITY INTEREST Recorded Mar 3, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 055479/0051 →
SECURITY INTEREST Recorded Mar 3, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 055479/0342 →
SECURITY AGREEMENT Recorded Feb 25, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 055408/0697 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 24, 2020
From: BECKETT, JOHN CHRISTOPHER; KHATRI, MUKUND P.
To: DELL PRODUCTS, LP
Reel/Frame 054459/0935 →