Analyzing power consumption in mobile computing devices
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06F-001/32
H04W-052/02
G06F-003/06
출원번호
US-0598665
(2015-01-16)
등록번호
US-9400541
(2016-07-26)
발명자
/ 주소
Zimmermann, Thomas Michael Josef
Bird, Christian Alma
Nagappan, Nachiappan
Emran, Syed Masum
Bhat, Thirumalesh
Gupta, Ashish
출원인 / 주소
Microsoft Technology Licensing,LLC
대리인 / 주소
Corie, Alin
인용정보
피인용 횟수 :
3인용 특허 :
9
초록▼
Techniques pertaining to analyzing power consumed by a processing unit in a mobile computing device caused by execution of certain modules are described herein. A power trace is generated that indicates an amount of power consumed by the processing unit over time, and the power trace is aligned with
Techniques pertaining to analyzing power consumed by a processing unit in a mobile computing device caused by execution of certain modules are described herein. A power trace is generated that indicates an amount of power consumed by the processing unit over time, and the power trace is aligned with an execution log. Spikes are extracted from the power trace, and computing operations are performed over the spikes to acquire data pertaining to power consumed by the processing unit that are attributable to modules in the execution log.
대표청구항▼
1. A method executed by a computing device, the method comprising: receiving a first estimate, the first estimate being an estimate of an amount of power consumed by a processor when the processor executes at least two modules concurrently;receiving a second estimate, the second estimate being an es
1. A method executed by a computing device, the method comprising: receiving a first estimate, the first estimate being an estimate of an amount of power consumed by a processor when the processor executes at least two modules concurrently;receiving a second estimate, the second estimate being an estimate of an amount of power consumed by the processor when the processor executes a first module in the at least two modules independently from a second module in the at least two modules;receiving a third estimate, the third estimate being an estimate of an amount of power consumed by the processor when the processor executes the second module independently from the first module;based upon the first estimate, the second estimate, and the third estimate, identifying that the least two modules, when the processor concurrently executes the at least two modules, cause the processor to consume an amount of energy that is larger than an aggregate of amounts of energies caused to be consumed by the processor when the processor executes the at least two modules separately; andpresenting graphical data on a display that indicates that the processor is caused to consume more energy when the processor concurrently executes the at least two modules compared to when the processor executes the at least two modules separately. 2. The method of claim 1, the processor being a mobile device processor. 3. The method of claim 2, the mobile device being a telephone. 4. The method of claim 1, wherein identifying the at least two modules comprises: analyzing at least one power trace, the at least one power trace comprises amounts of energy consumed by the processor with respect to time over a window of time, wherein the at least two modules are identified based upon the amounts of energy consumed by the processor with respect to time over the window of time indicated in the at least one power trace. 5. The method of claim 4, wherein identifying the at least two modules comprises: analyzing an execution log, the execution log identifies modules executed by the processor with respect to time over the window of time, wherein the at least two modules are identified based upon amounts of power in the power trace at times when the execution log indicates that at least one of the at least two modules was executed by the processor. 6. The method of claim 1, wherein identifying the at least two modules comprises: accessing a spike that is retained in a data repository, the spike being time-series data over a defined window of time, the spike comprising: an amount of electric power utilized by the processor at a plurality of time intervals in the defined window of time; andidentities of modules executed by the processor within the defined window of time; andperforming at least one computing operation on the spike, wherein the at least two modules are identified based upon the performing of the at least one computing operation on the spike. 7. The method of claim 6, wherein the at least one computing operation is a clustering operation that clusters spikes retained in the data repository, the at least two modules identified based upon clustering of the spikes into several clusters. 8. The method of claim 7, wherein the clustering operation clusters spikes based upon at least one of: shape of the spikes;identities of modules assigned to the spikes;duration of the spikes; oraverage power consumption indicated in the spikes. 9. The method of claim 6, wherein the at least one computing operation comprises computing estimates of energy consumed by the processor when executing modules identified in the spike by way of regression analysis. 10. The method of claim 1, wherein the at least one computing operation comprises learning a decision tree that is indicative of energy consumed by the processor that is attributable to various modules. 11. The method of claim 10, wherein the decision tree comprises a plurality of nodes, wherein each node is assigned a value that is indicative of an average amount of energy consumed by the processing unit when subsets of modules assigned to nodes are considered. 12. The method of claim 1, the graphical data comprises a table that indicates amounts of energy consumed by the processor that are attributable to the at least two modules when executed separately by the processor and the amount of energy consumed by the processor that is attributable to the at least two modules when executed concurrently by the processor. 13. The method of claim 1, the at least two modules being modules of an operation system of a mobile computing device. 14. A system comprising: at least one processor; andmemory that stores instructions that, when executed by the at least one processor, cause the at least one processor to perform acts comprising: receiving data that is indicative of: power consumed by a processor over a window of time; andidentities of modules executed by the processor over the window of time; andbased upon the data, generating an estimate of an amount of power consumed by the processor that is attributable to at least two modules in the modules when the processor executes the at least two modules concurrently; andbased upon the estimate, outputting graphical data on a display that indicates that the at least two modules cause the processor to consume more power when the processor concurrently executes the at least two modules compared to aggregates of amounts of power when the processor executes the at least two modules separately. 15. The system of claim 14, the processor being for a mobile telephone. 16. The system of claim 15, the modules being for an operating system of the mobile telephone. 17. The system of claim 15, the data comprising a plurality of spikes, each spike confined to a different time window in the window of time, each spike comprising: amounts of electric power consumed by the processor over sampling intervals in a time window of a spike; andidentities of modules executed by the processor in the time window of the spike. 18. The system of claim 17, wherein generating the estimate comprises executing a pattern recognition algorithm over the plurality of spikes and identifying a pattern therein based upon the pattern recognition algorithm, the estimate is generated based upon the pattern. 19. A computer-readable storage device comprising instructions that, when executed by at least one processor, cause the at least one processor to perform acts comprising: generating an estimate of an amount of power consumed by a processor that is attributable to at least two modules when the processor concurrently executes the at least two modules;generating estimates of amounts of power consumed by the processor that are respectively attributable to each module in the at least two modules when the processor executes each module separately; andbased upon the estimate and the estimates, identifying that the at least two modules cause the processor to consume more power when the processor concurrently executes the at least two modules compared to an aggregate of the amounts of power consumed by the processor when the processor executes each module separately. 20. The computer-readable storage device of claim 19, wherein identifying that the at least two modules cause the processor to consume more power when the processor concurrently executes the at least two modules compared to the aggregate of the amounts of power consumed by the processor when the processor executes each module separately comprises: analyzing a power trace, the power trace comprises amounts of energy consumed by the processor with respect to time over a window of time, wherein the at least two modules are identified as causing the processor to consume more power when the processor concurrently executes the at least two modules compared to the aggregate of the amounts of power consumed by the processor when the processor executes each module separately based upon the amounts of energy consumed by the processor with respect to time over the window of time indicated in the power trace.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (9)
Hogan, Michael T.; McDermott, Thomas, Adjusting threshold for software error reset attempts to be commensurate with reserve power.
Zimmermann, Thomas Michael Josef; Bird, Christian Alma; Nagappan, Nachiappan; Emran, Syed Masum; Bhat, Thirumalesh; Gupta, Ashish, Analyzing power consumption in mobile computing devices.
Noda, Shuhei; Baba, Kenji; Enohara, Takaaki; Nagata, Kazumi; Nishimura, Nobutaka, Energy consumption management system and energy consumption management apparatus.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.