IP Library › Granted Patent US 9,684,540
Granted Patent B2
US 9,684,540 · App. 14/613,191 · Granted Jun 20, 2017

Dynamically controlled workload execution by an application

Inventors: Munif M. Farhan (Round Rock, TX); Rocco Ancona (Austin, TX)
Assignee: Dell Products L.P.
G06F9/5011G06F9/4881G06F9/5044G06F9/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 9,684,540
App. No.
14/613,191
Filed
Feb 3, 2015
Granted
Jun 20, 2017
Kind
B2
Examiner
UNG, LANNY N
Art Unit
2191
USPC
718/104
Abstract

Methods and systems for optimizing workloads on information handling systems involve determining, by an application, a computing task for execution by the application. The application may determine workload attributes for a computing task for execution at an information handling system. The workload attributes are used by the application to dynamically determine a workload policy for configuration of hardware resources at the information handling system. After dynamic configuration by the application of the hardware resources according to the workload policy, the computing task is executed at the information handling system by the application.

Claims (182)

1. A method for optimizing workloads on information handling systems by applications, the method comprising:

determining, by an application, a computing task for execution by the application at an information handling system;

determining, by the application, workload attributes of the computing task, the workload attributes specifying dependency of the computing task on hardware resources included in the information handling system and specifying a degree of acceleration by a graphics processing unit to be utilized by the computing task;

identifying, by the application, the hardware resources present at the information handling system;

based on the workload attributes determined and the hardware resources identified, determining a workload policy for the computing task, wherein the workload policy specifies the hardware resources used to execute the computing task at the information handling system;

implementing, by the application, the workload policy at the information handling system, including configuring of the hardware resources specified in the workload policy; and

executing the computing task at the information handling system in accordance with the workload policy.

2. The method of claim 1 , wherein the configuring the hardware resources includes at least one of:

accessing a basic input/output system of the information handling system; and

accessing respective hardware drivers for the hardware resources, the hardware drivers installed in an operating system executing on the information handling system.

3. The method of claim 1 , wherein the application accesses at least some of the hardware resources using operating system drivers, and wherein the workload attributes are selected from at least one of:

a degree of multithreading used by the computing task;

a thread priority used by the computing task;

an instruction set architecture used by the computing task;

a memory capacity used by the computing task;

a memory data throughput used by the computing task;

a memory cache capacity used by the computing task;

a memory cache architecture used by the computing task;

a degree of non-uniform memory access permitted by the computing task;

a degree of background execution permitted by the computing task;

a network latency permitted by the computing task;

a storage capacity used by the computing task;

a storage data throughput used by the computing task;

a storage latency permitted by the computing task;

a vertical synchronization setting permitted by the computing task;

a degree of digital signal processing used by the computing task;

a degree of integer processing used by the computing task;

a degree of background execution permitted by the computing task; and

an operating system used by the computing task.

4. The method of claim 3 , wherein determining the workload attributes includes determining a user of the first information handling system associated with the application.

5. The method of claim 4 , wherein determining the workload policy includes:

determining the workload policy based on the user.

6. The method of claim 1 , wherein the configuring the hardware resources includes accessing operating system drivers for the hardware resources, and wherein the hardware resources are selected from at least one of:

a number of processor cores available;

a degree of exclusive access to processor cores available;

a degree of processor multithreading available;

a degree of background execution available;

a degree of user mode execution available;

a processor frequency;

a processor architecture;

a processor cache architecture;

a processor power state;

a processor cache capacity available;

a processor power consumption available;

an instruction set architecture available;

a graphics processing unit available;

a memory capacity available;

a memory throughput available;

a degree of non-uniform memory access available;

a storage capacity available;

a storage throughput available;

a storage latency available;

a network capacity available;

a network throughput available;

a network latency available;

a system reboot feature;

a system power down feature; and

an operating system executing on the information handling system.

7. The method of claim 1 , further comprising:

monitoring, by the application, an operational state of at least some of the hardware resources, wherein the configuring the hardware resources is performed based on the operational state.

8. At least one non-transitory computer readable medium, comprising computer readable instructions for optimizing workloads on information handling systems by applications, the instructions, when executed, cause a processor to:

determine, by an application, a computing task for execution by the application at an information handling system;

determine, by the application, workload attributes of the computing task, the workload attributes specifying dependency of the computing task on hardware resources included in the information handling system and specifying a degree of acceleration by a graphics processing unit to be utilized by the computing task;

identify, by the application, the hardware resources present at the information handling system;

monitor, by the application, an operational state of at least some of the hardware resources;

based on the workload attributes determined and the hardware resources identified, determine a workload policy for the computing task, wherein the workload policy specifies the hardware resources used to execute the computing task at the information handling system;

implement, by the application, the workload policy at the information handling system, including instructions to configure of the hardware resources based on the operational state; and

execute the computing task at the information handling system in accordance with the workload policy.

9. The computer readable medium of claim 8 , wherein the instructions to configure the hardware resources include at least one instruction to:

access a basic input/output system of the information handling system; and

access respective hardware drivers for the hardware resources, the hardware drivers installed in an operating system executing on the information handling system.

10. The computer readable medium of claim 8 , wherein the application accesses at least some of the hardware resources using operating system drivers, and wherein the workload attributes are selected from at least one of:

a degree of multithreading used by the computing task;

a thread priority used by the computing task;

an instruction set architecture used by the computing task;

a memory capacity used by the computing task;

a memory data throughput used by the computing task;

a memory cache capacity used by the computing task;

a memory cache architecture used by the computing task;

a degree of non-uniform memory access permitted by the computing task;

a degree of background execution permitted by the computing task;

a network latency permitted by the computing task;

a storage capacity used by the computing task;

a storage data throughput used by the computing task;

a storage latency permitted by the computing task;

a vertical synchronization setting permitted by the computing task;

a degree of digital signal processing used by the computing task;

a degree of integer processing used by the computing task;

a degree of background execution permitted by the computing task; and

an operating system used by the computing task.

11. The computer readable medium of claim 10 , wherein the instructions to determine the workload attributes include instructions to determine a user of the first information handling system associated with the application.

12. The computer readable medium of claim 11 , wherein the instructions to determine the workload policy include instructions to:

determine the workload policy based on the user.

13. The computer readable medium of claim 8 , wherein the instructions to configure the hardware resources include instructions to access operating system drivers for the hardware resources, and wherein the hardware resources are selected from at least one of:

a number of processor cores available;

a degree of exclusive access to processor cores available;

a degree of processor multithreading available;

a degree of background execution available;

a degree of user mode execution available;

a processor frequency;

a processor architecture;

a processor cache architecture;

a processor power state;

a processor cache capacity available;

a processor power consumption available;

an instruction set architecture available;

a graphics processing unit available;

a memory capacity available;

a memory throughput available;

a degree of non-uniform memory access available;

a storage capacity available;

a storage throughput available;

a storage latency available;

a network capacity available;

a network throughput available;

a network latency available;

a system reboot feature;

a system power down feature; and

an operating system executing on the information handling system.

14. An information handling system for optimizing workloads by applications, comprising:

a processor;

a memory communicatively coupled to the processor; and

an application stored in the memory and including computer readable instructions that, when executed, cause the processor to:

determine a computing task for execution by the application at an information handling system;

determine workload attributes of the computing task, the workload attributes specifying dependency of the computing task on hardware resources included in the information handling system and specifying a degree of acceleration by a graphics processing unit to be utilized by the computing task;

identify the hardware resources present at the information handling system;

based on the workload attributes determined and the hardware resources identified, determine a workload policy for the computing task, wherein the workload policy specifies the hardware resources used to execute the computing task at the information handling system;

implement the workload policy at the information handling system, including configuring of the hardware resources specified in the workload policy; and

execute the computing task at the information handling system in accordance with the workload policy.

15. The information handling system of claim 14 , wherein the instructions to configure the hardware resources includes at least one instruction to:

access a basic input/output system of the information handling system; and

access respective hardware drivers for the hardware resources, the hardware drivers installed in an operating system executing on the information handling system.

16. The information handling system of claim 14 , wherein the application accesses at least some of the hardware resources using operating system drivers, and wherein the workload attributes are selected from at least one of:

a degree of multithreading used by the computing task;

a thread priority used by the computing task;

an instruction set architecture used by the computing task;

a memory capacity used by the computing task;

a memory data throughput used by the computing task;

a memory cache capacity used by the computing task;

a memory cache architecture used by the computing task;

a degree of non-uniform memory access permitted by the computing task;

a degree of background execution permitted by the computing task;

a network latency permitted by the computing task;

a storage capacity used by the computing task;

a storage data throughput used by the computing task;

a storage latency permitted by the computing task;

a vertical synchronization setting permitted by the computing task;

a degree of digital signal processing used by the computing task;

a degree of integer processing used by the computing task;

a degree of background execution permitted by the computing task; and

an operating system used by the computing task.

17. The information handling system of claim 16 , wherein the instructions to determine the workload attributes include instructions to determine a user of the first information handling system associated with the application.

18. The information handling system of claim 17 , wherein the instructions to determine the workload policy include instructions to:

determine the workload policy based on the user.

19. The information handling system of claim 14 , wherein the instructions to configure the hardware resources include instructions to access operating system drivers for the hardware resources, and wherein the hardware resources are selected from at least one of:

a number of processor cores available;

a degree of exclusive access to processor cores available;

a degree of processor multithreading available;

a degree of background execution available;

a degree of user mode execution available;

a processor frequency;

a processor architecture;

a processor cache architecture;

a processor power state;

a processor cache capacity available;

a processor power consumption available;

an instruction set architecture available;

a graphics processing unit available;

a memory capacity available;

a memory throughput available;

a degree of non-uniform memory access available;

a storage capacity available;

a storage throughput available;

a storage latency available;

a network capacity available;

a network throughput available;

a network latency available;

a system reboot feature;

a system power down feature; and

an operating system executing on the information handling system.

20. The information handling system of claim 14 , further comprising instructions to:

monitor, by the application, an operational state of at least some of the hardware resources, wherein the instructions to configure the hardware resources are executed based on the operational state.

Assignments (15)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
RELEASE OF REEL 035860 FRAME 0797 (TL) Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.; STATSOFT, INC.
Reel/Frame 040028/0551 →
RELEASE OF REEL 035860 FRAME 0878 (NOTE) Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.; STATSOFT, INC.
Reel/Frame 040027/0158 →
RELEASE OF REEL 035858 FRAME 0612 (ABL) Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.; STATSOFT, INC.
Reel/Frame 040017/0067 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (ABL) Recorded Jun 9, 2015
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.; STATSOFT, INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 035858/0612 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Jun 9, 2015
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.; STATSOFT, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 035860/0797 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (NOTES) Recorded Jun 9, 2015
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; COMPELLENT TECHNOLOGIES, INC; SECUREWORKS, INC.; STATSOFT, INC.
To: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 035860/0878 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 3, 2015
From: FARHAN, MUNIF M.; ANCONA, ROCCO
To: DELL PRODUCTS L.P.
Reel/Frame 034880/0051 →
Continuity (1)
Related Publication 20160224382A1 · Aug 4, 2016