IP Library Granted Patent US 11,669,429
Granted Patent B2
US 11,669,429 · App. 17/148,318 · Granted Jun 6, 2023

Configuration cluster-based performance optimization of applications in an information handling system (IHS)

Inventors: Farzad Khosrowpour (Pflugerville, TX); Mitchell Anthony Markow (Hutto, TX)
Assignee: Dell Products, L.P.
G06F11/3409G06F11/3006G06F11/3051G06N20/00
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,669,429
App. No.
17/148,318
Granted
Jun 6, 2023
Kind
B2
Abstract

Embodiments of systems and methods for managing performance optimization of a target application executed by an Information Handling System (IHS) are described. In an illustrative, non-limiting embodiment, an IHS may includes executable code to measure a performance of a target application at each of multiple configuration clusters that are applied to an IHS in which each configuration cluster includes multiple configuration settings of one or more resources that are used to execute the target application on the IHS. Using the measured performance values, the instructions may then select one of the configuration clusters that causes the target application to operate at an optimum performance level, and modify the IHS to operate with the one selected configuration cluster.

Claims (49)

1. An Information Handling System (IHS), comprising:

a processor; and

a memory coupled to the processor, the memory having program instructions stored thereon that, upon execution by the processor, cause the IHS to:

identify an operating mode at which a user is using a target application;

select a subset from among a plurality of configuration clusters according to the identified operating mode of the target application;

measure a performance of the target application at each of the subset of configuration clusters that are applied to an IHS, each configuration cluster comprising a plurality of configuration settings of one or more resources that are used to execute the target application on the IHS;

select one of the configuration clusters that causes the target application to operate at an optimum performance level;

modify the IHS to operate with the one selected configuration cluster.

2. The IHS of claim 1 , wherein the instructions are further executed to:

detect that an operating mode of the target application has changed; and

perform the steps of measuring a performance of the target application, selecting the one configuration cluster, and modifying the IHS using another plurality of configuration clusters,

wherein the other plurality of configuration clusters are selected according to the detected operating mode.

3. The IHS of claim 1 , wherein the instructions are further executed to perform a machine learning (ML) process to optimize a performance of the target application by fine tuning one or more of the configuration settings of the selected configuration cluster.

4. The IHS of claim 3 , wherein the instructions are further executed to:

store the one or more fine tuned configuration settings as an augmented configuration cluster in the memory,

wherein the augmented configuration cluster is associated with the target application and an identified operating mode of the target application so that, when the target application is again started on the IHS at a future time, the instructions are further executed to select the augmented configuration cluster from the memory for optimizing the performance of the target application at its current operating mode.

5. The IHS of claim 1 , wherein the instructions are further executed to select the plurality of configuration clusters as a subset of a plurality of available configuration clusters according to at least one of a current performance mode of the IHS or a battery operating mode of the IHS.

6. The IHS of claim 1 , wherein the instructions are further executed to select the plurality of configuration clusters as a subset of a plurality of available configuration clusters according to a type of the target application currently being executed on the IHS.

7. The IHS of claim 1 , wherein the one or more resources comprises at least one of a central processing unit (CPU) resource, a graphics processing unit (GPU) resource, a storage resource, a network resource, and a platform resource.

8. A method comprising:

identifying, using instructions stored in at least one memory and executed by at least one processor, an operating mode at which a user is using a target application;

selecting, using the instructions, a subset from among a plurality of configuration clusters according to the identified operating mode of the target application;

measuring, using the instructions, a performance of the target application at each of a plurality of configuration clusters that are applied to an IHS, each configuration cluster comprising a plurality of configuration settings of one or more resources that are used to execute the target application on the IHS;

selecting, using the instructions, one of the configuration clusters that causes the target application to operate at an optimum performance level; and

modifying, using the instructions, the IHS to operate with the one selected configuration cluster.

9. The method of claim 8 , further comprising:

detecting that an operating mode of the target application has changed;

selecting the other plurality of configuration clusters according to the detected operating mode; and

performing the steps of measuring a performance of the target application, selecting the one configuration cluster, and modifying the IHS using another plurality of configuration clusters.

10. The method of claim 8 , further comprising performing a machine learning (ML) process to optimize a performance of the target application by fine tuning one or more of the configuration settings of the selected configuration cluster.

11. The method of claim 10 , further comprising:

storing the one or more fine tuned configuration settings as an augmented configuration cluster in the memory,

wherein the augmented configuration cluster is associated with the target application and an identified operating mode of the target application so that, when the target application is again started on the IHS at a future time, selecting the augmented configuration cluster from the memory for optimizing the performance of the target application at its current operating mode.

12. The method of claim 8 , further comprising selecting the plurality of configuration clusters as a subset of a plurality of available configuration clusters according to at least one of a current performance mode of the IHS or a battery operating mode of the IHS.

13. The method of claim 8 , further comprising selecting the plurality of configuration clusters as a subset of a plurality of available configuration clusters according to a type of the target application currently being executed on the IHS.

14. The method of claim 8 , wherein the one or more resources comprises at least one of a central processing unit (CPU) resource, a graphics processing unit (GPU) resource, a storage resource, a network resource, and a platform resource.

15. A memory storage device having program instructions stored thereon that, upon execution by one or more processors of an Information Handling System (IHS), cause the IHS to:

identify an operating mode at which a user is using a target application;

select a subset from among a plurality of configuration clusters according to the identified operating mode of the target application;

measure a performance of the target application at each of a plurality of configuration clusters that are applied to an IHS, each configuration cluster comprising a plurality of configuration settings of one or more resources that are used to execute the target application on the IHS;

select one of the configuration clusters that causes the target application to operate at an optimum performance level; and

modify the IHS to operate with the one selected configuration cluster.

16. The memory storage device of claim 15 , wherein the instructions are further executed to:

detect that an operating mode of the target application has changed; and

perform the steps of measuring a performance of the target application, selecting the one configuration cluster, and modifying the IHS using another plurality of configuration clusters,

wherein the other plurality of configuration clusters are selected according to the detected operating mode.

17. The memory storage device of claim 15 , wherein the instructions are further executed to perform a machine learning (ML) process to optimize a performance of the target application by fine tuning one or more of the configuration settings of the selected configuration cluster.

18. The memory storage device of claim 17 , wherein the instructions are further executed to:

store the one or more fine tuned configuration settings as an augmented configuration cluster in the memory, wherein the augmented configuration cluster is associated with the target application and an identified operating mode of the target application so that, when the target application is again started on the IHS at a future time, the instructions are further executed to select the augmented configuration cluster from the memory for optimizing the performance of the target application at its current operating mode.

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 Jan 13, 2021
From: KHOSROWPOUR, FARZAD; MARKOW, MITCHELL ANTHONY
To: DELL PRODUCTS, L.P.
Reel/Frame 054910/0601 →
Continuity (1)
Related Publication 20220222163A1 · Jul 14, 2022