IP Library › Granted Patent US 10,627,889
Granted Patent B2
US 10,627,889 · App. 15/882,906 · Granted Apr 21, 2020

Power and energy profiling for efficient virtual environments

Inventors: Margarit Simeonov Chenchev (Sammamish, WA); Benjamin M. Schultz (Bellevue, WA); Paresh Maisuria (Issaquah, WA); Hari R. Pulapaka (Redmond, WA); Ankit Srivastava (Bellevue, WA); Graham Wong (Kirkland, WA)
Assignee: Microsoft Technology Licensing, LLC
G06F1/3234G06F8/60G06F9/44505G06F9/45558G06F2009/45591
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 10,627,889
App. No.
15/882,906
Granted
Apr 21, 2020
Kind
B2
Abstract

Deploying containers constrained by power profiles on a host system. A method includes identifying a container template, a set of reusable stored characteristics, to be used for deploying a container instance. The method further includes obtaining a power profile, defining at least one power consumption threshold, for the container instance based on at least one of the set of reusable stored characteristics of the container template or other information about the container instance. The method further includes deploying the container instance on the host system by applying the set of reusable stored characteristics and the power profile by applying one or more configuration layers which causes power to the container instance to be at least one of regulated or monitored based on information in the power profile.

Claims (83)

1. A method of limiting power consumption of container instances instantiated on a host, the method comprising:

upon receiving a request to instantiate a container instance on the host,

identifying a container template to be used for instantiating the container instance based on the request, the container template defining a set of operating characteristics including one or more hardware or software resources of the host to be surfaced to the container instance;

assigning a power consumption threshold for the container instance based on the set of operating characteristics defined in the container template and one or more power consumption measurements of container instances previously instantiated according to the same container template; and

instantiating the container instance on the host according to the container template;

during execution of the container instance,

monitoring consumption of the one or more hardware or software resources of the host consumed by the instantiated container instance;

correlating the monitored consumption of the one or more hardware or software resources with a power consumption of the container instance; and

determining whether the correlated power consumption exceeds the power consumption threshold of the container instance; and

in response to determining that the correlated power consumption exceeds the power consumption threshold, reducing, from a current level, one or more of:

a number of processor cycles over time useable by the container instance;

an amount of storage input/output over time that can be performed for the container instance;

an amount of network traffic over time that can be sent or received for the container instance; or

a display setting available to the container instance, thereby reducing the power consumption of the container instance to be below the power consumption threshold.

2. The method of claim 1 wherein the container template also comprises a trust level for the container instance such that the power consumption threshold assigned to the container instance is lower than other containers with higher trust levels.

3. The method of claim 1 wherein the container template also comprises data identifying one or more applications to be instantiated, and wherein the assigned power consumption threshold corresponds to an anticipated resource usage of the one or more applications.

4. The method of claim 1 wherein the container template also comprises data identifying one or more hardware devices on the host that are anticipated to be used by the container instance.

5. The method of claim 1 , further comprising generating a notification in response to determining that the correlated power consumption exceeds the obtained power consumption threshold.

6. The method of claim 1 , further comprising:

in response to determining that the correlated power consumption exceeds the obtained power consumption threshold, performing one or more of:

destroying the container instance;

a diagnostic action to determine a reason the container instance exceeds the power consumption threshold;

offloading one or more operations performed for the container instance to a remote service and streaming results of the offloaded operations to the container instance; or

closing one or more applications executed in the container instance.

7. The method of claim 1 wherein correlating the monitored consumption includes aggregating power consumption of the container instance over time or correlating the monitored consumption of the one or more hardware or software resources to an instantaneous rate of power consumption.

8. The method of claim 1 wherein instantiating the container instance includes instantiating the container instance on the host according to the container template at a particular time or to run for a particular time based on the power profile.

9. A computing device configured to host one or more container instances, the computing device comprising:

a processor; and

a memory operatively coupled to the processor, the memory including instructions executable by the processor to cause the computing device to:

receive a request to instantiate a container instance on the computing device; and

in response to receiving the request to instantiate the container instance,

identify a container template to be used for instantiating the container instance based on the request, the container template defining a set of operating characteristics including one or more hardware or software resources of the host to be surfaced to the container instance;

assign a power consumption threshold for the container instance based on the set of operating characteristics defined in the container template and one or more power consumption measurements of container instances previously instantiated according to the same container template; and

instantiate the container instance on the host according to the container template, wherein the power consumption threshold is compared to a power consumption of the container instance correlated to consumption of the one or more hardware or software resources during operation; and

when the correlated power consumption exceeds the power consumption threshold, limit the consumption of the one or more hardware or software resources by the container instance such that the power consumption threshold is not exceeded.

10. The computing device of claim 9 wherein to limit the consumption of the one or more hardware or software resources includes to:

reduce, from a current level, one or more of:

a number of processor cycles over time useable by the container instance;

an amount of storage input/output over time that can be performed for the container instance;

an amount of network traffic over time that can be sent or received for the container instance; or

a display setting available to the container instance, thereby reducing the power consumption of the container instance to be below the power consumption threshold.

11. The computing device of claim 9 wherein to limit the consumption of the one or more hardware or software resources includes to:

perform one or more of:

destroying the container instance;

a diagnostic action to determine a reason the container instance exceeds the power consumption threshold;

offloading one or more operations performed for the container instance to a remote service and streaming results of the offloaded operations to the container instance; or

closing one or more applications executed in the container instance.

12. The computing device of claim 9 wherein the container template also comprises a trust level for the container instance such that the power consumption threshold assigned to the container instance is lower than other containers with higher trust levels.

13. The computing device of claim 9 wherein the container template also comprises data identifying one or more applications to be instantiated, and wherein the assigned power consumption threshold corresponds to an anticipated resource usage of the one or more applications.

14. The computing device of claim 9 wherein the container template also comprises data identifying one or more hardware devices on the host that are anticipated to be used by the container instance.

15. The computing device of claim 9 wherein to instantiate the container instance includes to instantiate the container instance on the host according to the container template at a particular time or to run for a particular time based on the power profile.

16. A method of limiting power consumption of container instances instantiated on a host, the method comprising:

during execution of a container instance on the host,

monitoring consumption of one or more hardware or software resources of the host consumed by the instantiated container instance on the host;

correlating the monitored consumption of the one or more hardware or software resources with a power consumption of the container instance; and

determining whether the correlated power consumption exceeds a power consumption threshold associated with the container instance; and

in response to determining that the correlated power consumption exceeds the power consumption threshold, reducing, from a current level, one or more of:

a number of processor cycles over time useable by the container instance;

an amount of storage input/output over time that can be performed for the container instance;

an amount of network traffic over time that can be sent or received for the container instance; or

a display setting available to the container instance, thereby reducing the power consumption of the container instance to be below the power consumption threshold.

17. The method of claim 16 , further comprising:

in response to determining that the correlated power consumption exceeds the obtained power consumption threshold, performing one or more of:

destroying the container instance;

a diagnostic action to determine a reason the container instance exceeds the power consumption threshold;

offloading one or more operations performed for the container instance to a remote service and streaming results of the offloaded operations to the container instance; or

closing one or more applications executed in the container instance.

18. The method of claim 16 wherein correlating the monitored consumption includes aggregating power consumption of the container instance over time or correlating the monitored consumption of the one or more hardware or software resources to an instantaneous rate of power consumption.

19. The method of claim 16 wherein correlating the monitored consumption of the one or more hardware or software resources with the power consumption of the container instance includes:

monitoring one or more of:

a number of processor cycles over time used by the container instance;

an amount of storage input/output over time performed for the container instance; or

an amount of network traffic over time sent or received for the container instance;

monitoring an overall power consumption of the host; and

attributing a portion of the monitored overall power consumption to the container instance based on the monitored one or more of:

the number of processor cycles over time used by the container instance;

the amount of storage input/output over time performed for the container instance; or

the amount of network traffic over time sent or received for the container instance.

20. The method of claim 16 wherein correlating the monitored consumption of the one or more hardware or software resources with the power consumption of the container instance includes:

monitoring a power consumption by an application executed in the container instance, including:

determining a baseline power consumption of the container before the application is launched;

measuring a new power consumption when the application is launched in the container instance; and

setting a difference between the new power consumption and the baseline power consumption as the monitored power consumption by the application.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2018
From: CHENCHEV, MARGARIT SIMEONOV; SCHULTZ, BENJAMIN M.; MAISURIA, PARESH; PULAPAKA, HARI R.; SRIVASTAVA, ANKIT; WONG, GRAHAM
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 044759/0860 →
Continuity (1)
Related Publication 20190235605A1 · Aug 1, 2019
Cited By (1)
US 12,430,108