Estimating application energy usage in a target device
AssigneeMicrosoft Technology Licensing, LLC
InventorsAman Kansal, Ranveer Chandra, Jie Liu, Paramvir Bahl
Life of this patent
Estimating the term…
Abstract
Embodiments provide implementations for estimating a test application's energy usage on a target device based on execution of the test application. Resource usage associated with the execution of the test application is measured. The measured resource usage is input into a power model of the target device to estimate the energy that the test application uses when executed on the target device. An emulation system is configured to execute the test application in a virtual execution environment using resource scaling and simulated target device application programming interfaces to substantially simulate the corresponding capabilities of the target device.
Claims20
A method, comprising:
- simulating, by one or more processors of a test system, an operating state of a target device within a virtual execution environment;
- executing a test application within the virtual execution environment while the virtual execution environment simulates the operating state of the target device, wherein executing the test application includes using scaled access to a resource of the test system, thereby limiting a performance capability of the resource of the test system, to substantially simulate a performance capability of at least one hardware component of the target device;
- measuring, while the virtual execution environment simulates the operating state of the target device, resource usage of the resource of the test system, the resource usage associated with execution of the test application within the virtual execution environment;
- and
- estimating, based on a power model of a target device and the resource usage associated with the execution of the test application on the test system, energy usage associated with executing the test application on the target device, the target device different from the test system.
A system, comprising:
- a plurality of hardware components, including one or more processors;
- a virtual execution environment module executable by the one or more processors to:
- provide scaled access to at least one of the plurality of hardware components of the system to simulate a capability of a corresponding hardware component of a target device;
- simulate an operating state of the target device within a virtual execution environment;
- and
- execute a test application within the virtual execution environment while the virtual execution environment simulates the operating state of the target device, the virtual execution environment providing a plurality of simulated application programming interfaces of the target device that provides the test application with access to the plurality of hardware components of the system;
- a measurement module executable by the one or more processors to measure resource usage of the plurality of hardware components attributable to execution of the test application within the virtual execution environment while the virtual execution environment simulates the operating state of the target device;
- an estimation module executable by the one or more processors to estimate, based on a power model of the target device and the resource usage, energy usage associated with execution of the test application by the target device;
- and
- a reporting module executable by the one or more processors to report the estimated energy usage.
Computer-readable storage media including a plurality of programming instructions executable by one or more processors of a computer device to:
- simulate an operating state of a target device within a virtual execution environment, the simulation of the operating state of the target device including scaled access to a plurality of hardware components of the computer device, the scaled access limiting performance capabilities of the computer device to simulate performance capabilities of the target device;
- execute a test application within the virtual execution environment while the virtual execution environment simulates the operating state of the target device;
- measure resource usage of the plurality of hardware components attributable to the execution of the test application within the virtual execution environment while the virtual execution environment simulates the operating state of the target device;
- and
- estimate, based on a power model of the target device and the measured resource usage, an energy usage for executing the test application on the target device.
Dependencies are inferred from the claim text.