EP-4738120-A1 - ENERGY MONITORING AND OPTIMIZATION SYSTEM
Abstract
An energy manager stores and manages target energy policies for a processing device. Each target energy policy defines one or more policy-triggering criteria and at least one target energy action in response to satisfaction of the policy-triggering criteria. Each set of policy-triggering criteria depends, at least in part, on a power usage score that the energy manager dynamically determines for the processing device based on energy consumption metrics captured for the processing device.
Inventors
- TAFRESHIAN, FARZAM
Assignees
- Microsoft Technology Licensing, LLC
Dates
- Publication Date
- 20260506
- Application Date
- 20251029
Claims (15)
- A method for reducing power usage of a processing device, the method comprising: storing a target energy policy for a processing device, the target energy policy defining policy-triggering criteria and a target energy action to be taken when the policy-triggering criteria are satisfied; computing a power usage score for the processing device based on energy consumption metrics of the processing device; and executing the target energy action based at least in part on the computed power usage score assuming a value within a range of values specified by the policy-triggering criteria.
- The method of claim 1, wherein the energy consumption metrics include one or more of a central processing unit, CPU, utilization, a graphics processing unit, GPU, utilization, a memory utilization, a disk usage, a hardware temperature, a hardware fan speed, or a task uptime compared to a task actual usage of the processing device.
- The method of claim 1, further comprising one of the following: (i) receiving, from a power meter, a power meter reading quantifying an energy usage of the processing device, wherein the energy consumption metrics include the power meter reading; (ii) determining the target energy policy based on the power usage score; presenting the target energy policy for suggestion via a user interface; and receiving an indication of approval of the target energy policy via the user interface, wherein taking the target energy action defined within the target energy policy is further performed responsive to receiving the indication of the approval of the target energy policy via the user interface.
- The method of claim 1, wherein the target energy action includes one of the following: (i) pausing a workload executing on the processing device; (ii) transferring a workload executed on or queued to be executed on the processing device to another processing device configured within a same user network.
- The method of claim 1, wherein the target energy policy is defined at least in part based on input received from a user.
- 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 for reducing power usage within a client network of computing resources, the process comprising: accessing a target energy policy for the client network, the target energy policy defining policy-triggering criteria and at least one target energy action to be taken when the policy-triggering criteria are satisfied; computing a power usage score for a computing resource of the client network based on energy consumption metrics of the computing resource; and executing the target energy action based at least in part on the computed power usage score assuming a value within a range of values specified by the policy-triggering criteria.
- The one or more tangible processor-readable storage media of claim 6, wherein the energy consumption metrics include one or more of a central processing unit, CPU, utilization, a graphics processing unit, GPU, utilization, a memory utilization, a disk usage, a hardware temperature, a hardware fan speed, or a task uptime compared to a task actual usage of the computing resource.
- The one or more tangible processor-readable storage media of claim 6, wherein the process further comprises one of the following: (i) receiving, from a power meter, a power meter reading quantifying an energy usage of the computing resource, wherein the energy consumption metrics include the power meter reading; (ii) determining the target energy policy based on the power usage score; presenting the target energy policy for suggestion via a user interface; and receiving an indication of approval of the target energy policy via the user interface, wherein taking the target energy action defined within the target energy policy is further performed responsive to receiving the indication of the approval of the target energy policy via the user interface.
- The one or more tangible processor-readable storage media of claim 6, wherein the target energy action includes one of the following: (i) adding an additional computing resource to the client network; (ii) transferring a workload executed on or queued to be executed on the computing resource to another computing resource within the client network.
- The one or more tangible processor-readable storage media of claim 6, wherein the target energy policy is defined at least in part based on input received from a user.
- A computing system for reducing power usage of within client network of computing resources, the computing system comprising: one or more hardware processors; a policy generator executable by the one or more hardware processors and configured to access a target energy policy for the client network, the target energy policy defining policy-triggering criteria and at least one target energy action to be taken when the policy-triggering criteria are satisfied; a scorer stored in memory and executable by the one or more hardware processors, the scorer configured to compute a power usage score for a computing resource of the client network based on energy consumption metrics of the computing resource; and an action determiner executable by the one or more hardware processors and configured to execute the target energy action based at least in part on the determined power usage score assuming a value within a range of values specified by the policy-triggering criteria.
- The computing system of claim 11, wherein the energy consumption metrics include one or more of a central processing unit, CPU, utilization, a graphics processing unit, GPU, utilization, a memory utilization, a disk usage, a hardware temperature, a hardware fan speed, or a task uptime compared to a task actual usage of the computing resource.
- The computing system of claim 11, further comprising a metrics determiner executable by the one or more hardware processors and configured to receive, from a power meter, a power meter reading quantifying an energy usage of the computing resource, wherein the energy consumption metrics include the power meter reading.
- The computing system of claim 11, wherein the target energy action includes adding an additional computing resource to the client network.
- The computing system of claim 11, wherein the policy generator is further configured to provide one of the following: (i) define the target energy policy at least in part based on input received from a user; (ii) determine the target energy policy based on the power usage score; present the target energy policy for suggestion via a user interface; and receive an indication of approval of the target energy policy via the user interface, wherein taking the target energy action defined within the target energy policy is further performed responsive to receiving the indication of the approval of the target energy policy via the user interface.
Description
Cross Reference To Related Applications This application claims priority to U.S. Patent Application 18/933,338 filed 31 October 2024, the entirety of which is hereby incorporated herein by reference for all purposes. Background Conventional cloud computing platforms provide processing resources to end customers. These processing resources are, for example, provided as virtual machines (VMs) hosted by physical servers located at data centers. An end customer commonly interacts with a cloud computing platform to configure a network of VMs that the customer uses to execute various processing jobs. Notably, a collection of processing jobs queued by the customer may collectively consume variable quantities of energy depending upon the timing and distribution of jobs across the network. Summary In some aspects, the techniques described herein relate to a method for reducing power usage of a processing device, the method including: storing a target energy policy for a processing device, the target energy policy defining policy-triggering criteria and a target energy action to be taken when the policy-triggering criteria are satisfied; computing a power usage score for the processing device based on energy consumption metrics captured for the processing device; and executing the target energy action based at least in part on the computed power usage score assuming a value within a range of values specified by the policy-triggering criteria. In some aspects, the techniques described herein relate to 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 for reducing power usage within a client network of computing resources, the process including: accessing a target energy policy for the client network, the target energy policy defining policy-triggering criteria and at least one target energy action to be taken when the policy-triggering criteria are satisfied; computing a power usage score for a computing resource of the client network based on energy consumption metrics captured for the computing resource; and executing the target energy action based at least in part on the computed power usage score assuming a value within a range of values specified by the policy-triggering criteria. In some aspects, the techniques described herein relate to a computing system for reducing power usage within a client network of computing resources, the computing system including: one or more hardware processors; a policy generator executable by the one or more hardware processors and configured to access a target energy policy for the client network, the target energy policy defining policy-triggering criteria and at least one target energy action to be taken when the policy-triggering criteria are satisfied; a scorer stored in memory and executable by the one or more hardware processors, the scorer configured to compute a power usage score for a computing resource of the client network based on energy consumption metrics captured for the computing resource; and an action determiner executable by the one or more hardware processors and configured to execute the target energy action based at least in part on the determined power usage score assuming a value within a range of values specified by the policy-triggering criteria. This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter. Other implementations are also described and recited herein. Brief Description of the Drawings FIG. 1 illustrates an example client computing network that utilizes an energy manager to reduce the total energy expended by a client machine executing a collection of client workloads.FIG. 2 illustrates an example computing environment for an energy manager that reduces computing inefficiencies in a client computing network supported by a cloud computing system.FIG. 3 illustrates an example computing environment including an energy manager that reduces computing inefficiencies in a client computing network supported by a cloud computing system.FIG. 4 illustrates examples of operations that reduce energy usage on a client network of computing resources.FIG. 5 illustrates an example computing device for implementing the described technology. Detailed Description Conventional cloud computing platforms commonly implement load balancing to attempt to reduce energy usage within customer-configured networks. However, such conventional load balancing applies predefined rules that do not consider computing context specific to different clients. For example, conventional load-balancing logic does not implement load-balancing decisions based on client-specific workload patterns (e.g., the