P
US10853147B2ActiveUtilityPatentIndex 67

Dynamic processor power management

Assignee: MICROSOFT TECHNOLOGY LICENSING LLCPriority: Feb 20, 2018Filed: May 30, 2018Granted: Dec 1, 2020
Est. expiryFeb 20, 2038(~11.6 yrs left)· nominal 20-yr term from priority
Inventors:YEUNG ANDREW ZEVANS GLENNDARSA LUCIAMCMULLEN MAXPRONOVOST STEVENATALIE JESSE
G06F 9/4893G06F 11/3414G06F 9/5083G06F 11/3024G06F 9/4887Y02D10/00
67
PatentIndex Score
2
Cited by
17
References
22
Claims

Abstract

The described technology addresses one or more of the foregoing problems by receiving one or more workloads from an application. Each of the one or more graphics workloads are associated with completion deadline information and execution metadata representing execution guidance for the workload. The described technology further generates a processor performance adjustment for each of the one or more workloads using a performance model providing the processor performance adjustment based on the completion deadline information and the execution metadata for each of the one or more workloads. The described technology further communicates each of the one or more received workloads and its corresponding generated processor performance adjustment to a processor subsystem. Each of the processor performance adjustments instructs the processor subsystem on a processor adjustment to be implemented when executing the associated workload.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A method comprising:
 receiving in an operating system one or more workloads from an application, each of the one or more workloads being associated with completion deadline information and execution metadata representing execution guidance for the workload; 
 generating in the operating system a processor performance adjustment for each of the one or more workloads, the processor performance adjustment based on the completion deadline information and the execution metadata for each of the one or more workloads; 
 communicating from the operating system each of the one or more received workloads and its corresponding generated processor performance adjustment to a processor subsystem, each of the processor performance adjustments instructing the processor subsystem on a processor adjustment to be implemented when executing the associated workload; 
 executing each of the one or more received workloads by the processor subsystem based on the processor performance adjustment; 
 updating a performance model executed by an operating system power management layer in the operating system based on the completion deadline information for each workload, the update being responsive to completion of execution of each workload; and 
 generating a new processor performance adjustment in the operating system for a new workload using the updated performance model. 
 
     
     
       2. The method of  claim 1  wherein execution of each received workload completes at an execution completion time and the operation of updating a performance model executed by an operating system power management layer in the operating system is also based on the execution completion time for each workload. 
     
     
       3. The method of  claim 1  wherein the execution metadata includes an intent tag providing execution guidance representing a performance intent associated with each workload. 
     
     
       4. The method of  claim 1  wherein the processor performance adjustment instructs the processor subsystem to adjust one or more frequencies in the processor subsystem. 
     
     
       5. The method of  claim 1  wherein the execution metadata includes workload prioritization metadata providing execution guidance associated with each workload and the generating operation comprises:
 evaluating the workload prioritization metadata associated with each workload, the processor performance adjustment instructing the processor subsystem with an adjusted execution order for the one or more workloads. 
 
     
     
       6. The method of  claim 1  wherein the completion deadline information includes a start time and an estimated elapsed execution time for one of the one or more workloads. 
     
     
       7. The method of  claim 1  wherein the completion deadline information includes a completion deadline for one of the one or more workloads. 
     
     
       8. The method of  claim 1 , further comprising:
 designating, in the operating system, one or more of the received workloads as a tracked workload; and 
 receiving, in the operating system, actual completion time of the one or more tracked workloads from the processor subsystem, responsive to completion of the tracked workload by the processor subsystem. 
 
     
     
       9. The method of  claim 8 , further comprising:
 updating a performance model executed by an operating system power management layer in the operating system based on an execution completion time for each of the one or more tracked workloads, responsive to receiving the actual completion time of each of the one or more tracked workloads. 
 
     
     
       10. A computing device comprising:
 one or more processors; 
 an operating system application interface in an operating system executing on the one or more processors and configured to receive one or more workloads from an application, each of the one or more workloads being associated with completion deadline information and execution metadata representing execution guidance for the workload; and 
 an operating system power management module in the operating system executing on the one or more processors and configured to:
 generate a processor performance adjustment in the operating system power management module for each of the one or more workloads providing the processor performance adjustment based on the completion deadline information and the execution metadata for each of the one or more workloads, 
 communicate each of the one or more received workloads and its corresponding generated processor performance adjustment from the operating system to a processor subsystem, each of the processor performance adjustments instructing the processor subsystem on a processor adjustment to be implemented when executing the associated workload, 
 execute each of the one or more received workloads by the processor subsystem based on the processor performance adjustment; 
 update a performance model executed by an operating system power management layer in the operating system based on the completion deadline information for each workload, the update being responsive to completion of execution of each workload; and 
 generate a new processor performance adjustment in the operating system for a new workload using the updated performance model. 
 
 
     
     
       11. The computing device of  claim 10 , wherein execution of each received workload completes at an execution completion time, and the performance model is also updated based on
 the execution completion time for each workload. 
 
     
     
       12. The computing device of  claim 10  wherein the execution metadata includes an intent tag providing execution guidance representing a performance intent associated with each workload. 
     
     
       13. The computing device of  claim 10 , wherein the processor performance adjustment instructs the processor subsystem to adjust one or more frequencies in the processor subsystem. 
     
     
       14. The computing device of  claim 10 , wherein the execution metadata includes workload prioritization metadata providing execution guidance associated with each workload and the operating system power management module is further configured to evaluate the workload prioritization metadata associated with each workload, the processor performance adjustment instructing the processor subsystem with an adjusted execution order for the one or more workloads. 
     
     
       15. The computing device of  claim 10 , wherein the completion deadline information includes a start time and an estimated elapsed execution time for one of the one or more workloads. 
     
     
       16. The computing device of  claim 10 , wherein the completion deadline information includes a completion deadline for one of the one or more workloads. 
     
     
       17. One or more tangible processor-readable storage media embodied with instructions for executing on one or more processors and circuits of a computing device a process comprising:
 receiving in an operating system one or more workloads from an application, each of the one or more workloads being associated with completion deadline information and execution metadata representing execution guidance for the workload; 
 generating in the operating system a processor performance adjustment for each of the one or more workloads using a performance model providing the processor performance adjustment based on the completion deadline information and the execution metadata for each of the one or more workloads; and 
 communicating from the operating system each of the one or more received workloads and its corresponding generated processor performance adjustment to a processor subsystem, each of the processor performance adjustments instructing the processor subsystem on a processor adjustment to be implemented when executing the associated workload; 
 executing each of the one or more received workloads by the processor subsystem based on the processor performance adjustment; 
 updating a performance model executed by an operating system power management layer in the operating system based on the completion deadline information for each workload, the update being responsive to completion of execution of each workload; and 
 generating a new processor performance adjustment in the operating system for a new workload using the updated performance model. 
 
     
     
       18. The one or more tangible processor-readable storage media of  claim 17 , wherein execution of each received workload completes at an execution completion time and the operation of updating a performance model executed by an operating system power management layer in the operating system is also based on the execution completion time for each workload. 
     
     
       19. The one or more tangible processor-readable storage media of  claim 17  wherein the processor performance adjustment instructs the processor subsystem to adjust one or more frequencies in the processor subsystem. 
     
     
       20. The one or more tangible processor-readable storage media of  claim 17  wherein the execution metadata includes workload prioritization metadata providing execution guidance associated with each workload and the process further comprises:
 evaluating the workload prioritization metadata associated with each workload, the processor performance adjustment instructing the processor subsystem with an adjusted execution order for the one or more workloads. 
 
     
     
       21. The one or more tangible processor-readable storage media of  claim 17  wherein the completion deadline information includes a completion deadline for one of the one or more workloads. 
     
     
       22. The one or more tangible processor-readable storage media of  claim 17  wherein the completion deadline information includes a start time and an estimated elapsed execution time for one of the one or more workloads.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.