CN103324777A - 一种基于时间的Android应用程序能耗建模方法 - Google Patents
一种基于时间的Android应用程序能耗建模方法 Download PDFInfo
- Publication number
- CN103324777A CN103324777A CN 201310191613 CN201310191613A CN103324777A CN 103324777 A CN103324777 A CN 103324777A CN 201310191613 CN201310191613 CN 201310191613 CN 201310191613 A CN201310191613 A CN 201310191613A CN 103324777 A CN103324777 A CN 103324777A
- Authority
- CN
- China
- Prior art keywords
- energy consumption
- application program
- time
- android
- formula
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
本发明提出一种基于时间的Android应用程序能耗建模方法,使用时间变量刻画移动终端的能耗。由于运行时间容易精确测量和获取,故而能够快速地估算应用程序运行时移动终端产生的能耗。与Android操作系统提供的基于组件的能耗模型相比,在保证一定误差范围(0.54%~9.43%)的基础上,方便用户利用独立于硬件功耗特性的时间变量估算应用程序能耗。
Description
技术领域
本发明涉及智能移动终端能耗优化技术领域,尤其是涉及一种基于时间的Android应用程序能耗建模方法。
背景技术
智能移动终端上丰富的应用程序为用户提供视听享受的同时也消耗着大量的电池电能。2012年移动终端应用程序下载量将超过456亿次。但在这样繁荣的应用程序市场中却存在大量应用程序并未采用有效的节能技术为用户节能。因此为终端用户(如开发人员和普通用户)提供测量与估算应用程序能耗的原型工具与方法就显得十分重要。应用程序的执行驱动了相关底层硬件的电路活动,而硬件的电路活动直接导致了终端设备能耗的产生。因此应用程序能耗是指其执行过程中驱动的硬件(包括处理器、存储器和I/O设备)所产生的能耗总和。
对智能移动终端上应用程序能耗的度量是开展移动终端应用程序能耗分析与优化的基础性工作。度量应用程序能耗最直接和最可靠的方法是使用功率测量仪器(如功率计)进行测量。但专业功率测量工具存在成本高,使用难度大等问题,对于终端用户不方便直接,同时,也无法为用户日常使用终端获得实时的应用程序能耗值。另一种方法是基于应用程序能耗模型设计能耗监控器测量应用程序能耗,在应用程序执行的同时通过统计相关硬件能耗估算软件能耗。
近年来国际上已经对智能移动终端应用程序能耗模型进行了广泛研究。出现了基于组件利用率的功耗模型,基于函数、例程和服务的内核能耗估算模型,基于路径的体系结构级能耗分析评估模型,基于系统调用的能耗分析与建模方法等多种方法与模型。Kim M.等人基于多核智能手机不同组件的功耗特性提出了针对硬件组件的功耗模型;Zhang L.等人提出了一种在线功耗估算模型,同时为终端用户提供了PowerTutor能耗估算工具评价软件能耗;Jung W.等人提出一种在更新频率和组件控制间的同步技术,克服了使用电池管理单元的在线功耗模型的不足,并且为五种不同组件处理器,显示屏,Wi-Fi网络接口,蜂窝网络接口和GPS提出了一种自动化方法对组件功耗进行分析,获得组件功耗模型;Balasubramanian N.等人详细介绍了一种功耗测量方法,并提出了I/O设备(如3G和GSM接口)存在明显的尾部功耗特性,针对网络接口提出了一种能耗测量模型;Chen H.等人采用pTopW获取进程级实时能耗信息,并提出一种细粒度能耗感知策略(EnergyGuard),基于EnergyGuard可以帮助终端用户发现应用程序能耗异常;在上述能耗模型中,主要分析了终端设备各组件的功耗特性,分别为组件提出了功耗模型,统计了应用程序执行过程中各相关组件的能耗总和,不足之处在于通过能耗监控器实时统计组件能耗系统开销大,监控器自身能耗不可忽视。
本发明提出一种基于时间的Android应用程序能耗建模方法。与Android操作系统提供的基于组件的能耗模型相比,在保证一定误差范围(0.54%~9.43%)的基础上,方便用户利用独立于硬件功耗特性的时间变量估算应用程序能耗。由于使用时间变量去包含和刻画了硬件的复杂的功耗特性,加上时间变量容易获得,所以基于时间能耗模型的能耗监控器实现简单,系统开销小,自身的能耗明显降低。
发明内容
本发明的目的在于提供了一种基于时间的Android应用程序能耗建模方法。
本发明解决其技术难题所采用的技术方案的步骤如下:
1)根据智能终端设备的硬件组成,应用程序能耗可分为处理器能耗、存储器能耗、I/O设备能耗和其它硬件组件能耗,即:
其中,N表示终端设备包含的组件个数,K表示组件的功耗状态个数,E(t)表示应用程序在执行时间t内的能耗,Ei(t)表示第i个组件在时间t内的能耗,Pi j表示第i个组件在第j种功耗状态下的功率,ti j表示第i个组件在第j种功耗状态下工作的时间;
2)在步骤1)公式中的Pi j可以根据Android应用框架提供的能耗分析器配置文件(PowerProfile.xml)获得;
3)在步骤1)公式中的ti j可以根据Android应用程序框架的BatteryStats和BatteryStmsImpl提供的接口函数获得;
4)依据步骤1)公式对Android应用程序能耗进行统计测试与分析,发现应用程序与其运行时间之间存在近似线性关系。因此,在时间t内Android应用程序能耗E(t)可通过下式计算
E(t)=β1·t+β0
式中β1、β0为独立于设备特性的系数;
5)在步骤4)公式中的系数β1、β0通过采集N组包含应用程序能耗E(t)和时间t的训练数据,使用线性回归拟合确定;
6)获取步骤4)中的应用程序能耗E(t)的方法如下:
Android系统提供了对应用程序能耗进行分析和测量的能耗分析器,利用基于能耗分析器设计的能耗监控器收集应用程序能耗是现有Android平台提供的软件能耗在线测量方式。后台运行能耗监控器,让其每20s收集一次应用程序、硬件组件以及整个系统的能耗,并记录在日志文件中。为提高应用程序能耗测量的准确性,应用程序实际的总能耗E(t)需排除只运行能耗监控器时的系统基准能耗。测量过程是关闭移动终端的通信接口,使能耗监控器在后台运行,关闭显示屏,时间t后从日志文件获得一次系统基准能耗,迭代k次,对获取的k次系统基准能耗求均值计算出系统基准能耗均值Ebase(t)。然后开启移动终端的通信接口,打开显示屏,让应用程序在能耗监控器开启的情况下运行t时间,从日志文件获得一次系统总能耗,迭代k次,对获取的k次系统总能耗求均值,得到应用程序执行过程中整个系统的能耗均值Etotal(t)。应用程序能耗E(t)通过式子E(t)=Etotal(t)-Ebase(t)计算。
本发明与背景技术相比,具有的有益效果是:
1)精确性:利用时间能耗模型估算应用程序在执行时间t内的能耗值,并与测量值进行比较,发现时间能耗模型具有较高的准确性,平均误差在5%以内。
2)实用性:实用时间刻画硬件组件能耗特性,可以快速估算应用程序在智能移动终端上运行时的能耗值,为开展应用程序能耗优化研究和开发工作提供帮助。
附图说明
图1三种应用程序能耗与时间之间的关系比较
图2浏览器能耗预测值与测量值比较
图3视频播放器能耗预测值与测量值比较
图4Angry Bifds能耗预测值与测量值比较
图5能耗监控器的能耗
具体实施方式
下面结合实例对本发明作进一步说明。
选取Android浏览器、视频播放器、愤怒的小鸟游戏作为例子。
1)根据智能终端设备的硬件组成,应用程序能耗可分为处理器能耗、存储器能耗、I/O设备能耗和其它硬件组件能耗,即:
其中,N表示终端设备包含的组件个数,K表示组件的功耗状态个数,E(t)表示应用程序在执行时间t内的能耗,Ei(t)表示第i个组件在时间t内的能耗,Pi j表示第i个组件在第j种功耗状态下的功率,ti j表示第i个组件在第j种功耗状态下工作的时间;
2)设置移动终端设备为飞行模式,退出所有用户程序,关闭显示屏,根据步骤1)公式测量系统能耗,迭代k次,对获取的k次系统基准能耗求均值计算出系统基准能耗均值Ebase(t)。
3)Android浏览器:移动终端设备接入Wi-Fi无线网络,打开浏览器,访问新闻站点,15分钟后获取能耗监控器记录的日志文件,获得15分钟内系统能耗值,迭代k次,对获取的k次系统能耗求均值计算出Android浏览器15分钟执行过程中的系统能耗均值Etotal(t),使用E(t)=Etotal(t)-Ebase(t)计算Android应用程序在15分钟的执行过程中产生的能耗。迭代k次的能耗值与时间t进行线性拟合,得到时间能耗模型,即:
E(t)=0.49638·t+3011.47886
4)视频播放器:移动终端设备打开视频文件列表,连续播放4段视频片段,播放时间总计18分钟,18分钟后获取能耗监控器记录的日志文件,获得视频播放过程中的系统能耗值,迭代k次,对获取的k次系统能耗求均值计算出视频播放器执行过程中的系统能耗均值Etotal(t),使用E(t)=Etotal(t)-Ebase(t)计算视频播放器产生的能耗。迭代k次的能耗值与时间t进行线性拟合,得到视频播放器的时间能耗模型,即:
E(t)=0.37610·t-9.25696
5)愤怒的小鸟:移动终端设备接入Wi-Fi无线网络后,执行愤怒的小鸟15分钟,15分钟后获取能耗监控器记录的日志文件,获得15分钟内系统能耗值,迭代k次,对获取的k次系统能耗求均值计算出Angry Birds执行过程中的系统能耗均值Etotal(t),使用E(t)=Etotal(t)-Ebase(t)计算Angry Birds在15分钟的执行过程中产生的能耗。迭代k次的能耗值与时间t进行线性拟合,得到时间能耗模型,即:
E(t)=0.54660·t+7.59640
时间能耗模型得到的应用程序能耗估算值,与使用能耗监控器获得的测量值相比,平均误差接近5%。
Claims (1)
1.一种基于时间的Android应用程序能耗建模方法,其特征在于建立该方法的步骤如下:
1)根据智能终端设备的硬件组成,应用程序能耗可分为处理器能耗、存储器能耗、I/O设备能耗和其它硬件组件能耗,即:
其中,N表示终端设备包含的组件个数,K表示组件的功耗状态个数,E(t)表示应用程序在执行时间t内的能耗,Ei(t)表示第i个组件在时间t内的能耗,表示第i个组件在第j种功耗状态下的功率,表示第i个组件在第j种功耗状态下工作的时间;
4)依据步骤1)公式对Android应用程序能耗进行统计测试与分析,发现应用程序与其运行时间之间存在近似线性关系,因此在时间t内Android应用程序能耗E(t)可通过下式计算
E(t)=β1t+β0
式中β0、β1为独立于设备特性的系数;
5)步骤4)公式中的系数β0、β1通过采集N组包含应用程序能耗E(t)和时间t的训练数据,使用线性回归拟合确定;
6)获取步骤4)中的应用程序能耗E(t)的方法如下:
Android系统提供了对应用程序能耗进行分析和测量的能耗分析器,利用基于能耗分析器设计的能耗监控器收集应用程序能耗是现有Android平台提供的软件能耗在线测量方式,后台运行能耗监控器,让其每20s收集一次应用程序、硬件组件以及整个系统的能耗,并记录在日志文件中,为提高应用程序能耗测量的准确性,应用程序实际的总能耗E(t)需排除只运行能耗监控器时的系统基准能耗,测量过程是关闭Android移动终端的通信接口,使Android系统的能耗监控器在后台运行,关闭显示屏,时间t后从能耗监控器日志文件获得一次系统基准能耗,迭代K次,对获取的K次系统基准能耗求均值,计算出系统基准能耗均值Ebase(t),然后开启移动终端的通信接口,打开显示屏,让应用程序在能耗监控器开启的情况下运行t时间,从能耗监控器日志文件获得一次系统总能耗,迭代K次,对获取的K次系统总能耗求均值,得到应用程序执行过程中整个系统的能耗均值Etotal(t),应用程序能耗E(t)通过式子E(t)=Etotal(t)-Ebase(t)计算得到。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201310191613 CN103324777A (zh) | 2013-05-21 | 2013-05-21 | 一种基于时间的Android应用程序能耗建模方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201310191613 CN103324777A (zh) | 2013-05-21 | 2013-05-21 | 一种基于时间的Android应用程序能耗建模方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103324777A true CN103324777A (zh) | 2013-09-25 |
Family
ID=49193519
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201310191613 Pending CN103324777A (zh) | 2013-05-21 | 2013-05-21 | 一种基于时间的Android应用程序能耗建模方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103324777A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104601822A (zh) * | 2015-02-04 | 2015-05-06 | 上海斐讯数据通信技术有限公司 | 一种移动终端应用的功耗计算系统及方法 |
CN105404575A (zh) * | 2015-10-27 | 2016-03-16 | 国网智能电网研究院 | 一种移动终端应用能耗度量方法和装置 |
CN105653459A (zh) * | 2016-01-13 | 2016-06-08 | 中国石油集团东方地球物理勘探有限责任公司 | 应用功耗测量方法及装置 |
CN106776224A (zh) * | 2016-12-26 | 2017-05-31 | 东南大学 | 一种基于CPU控制的Android手机硬件组件的功耗测算系统及方法 |
CN112100910A (zh) * | 2020-09-07 | 2020-12-18 | 海光信息技术有限公司 | 一种处理器的功耗模型训练方法、功耗测试方法及装置 |
CN112184072A (zh) * | 2020-10-28 | 2021-01-05 | 中国联合网络通信集团有限公司 | 机房设备管理方法及装置 |
-
2013
- 2013-05-21 CN CN 201310191613 patent/CN103324777A/zh active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104601822A (zh) * | 2015-02-04 | 2015-05-06 | 上海斐讯数据通信技术有限公司 | 一种移动终端应用的功耗计算系统及方法 |
CN105404575A (zh) * | 2015-10-27 | 2016-03-16 | 国网智能电网研究院 | 一种移动终端应用能耗度量方法和装置 |
CN105653459A (zh) * | 2016-01-13 | 2016-06-08 | 中国石油集团东方地球物理勘探有限责任公司 | 应用功耗测量方法及装置 |
CN106776224A (zh) * | 2016-12-26 | 2017-05-31 | 东南大学 | 一种基于CPU控制的Android手机硬件组件的功耗测算系统及方法 |
CN106776224B (zh) * | 2016-12-26 | 2019-12-24 | 东南大学 | 一种基于CPU控制的Android手机硬件组件的功耗测算系统及方法 |
CN112100910A (zh) * | 2020-09-07 | 2020-12-18 | 海光信息技术有限公司 | 一种处理器的功耗模型训练方法、功耗测试方法及装置 |
CN112184072A (zh) * | 2020-10-28 | 2021-01-05 | 中国联合网络通信集团有限公司 | 机房设备管理方法及装置 |
CN112184072B (zh) * | 2020-10-28 | 2023-07-25 | 中国联合网络通信集团有限公司 | 机房设备管理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103324777A (zh) | 一种基于时间的Android应用程序能耗建模方法 | |
Zhang et al. | Accurate online power estimation and automatic battery behavior based power model generation for smartphones | |
Shnayder et al. | Simulating the power consumption of large-scale sensor network applications | |
Shin et al. | Online estimation of the remaining energy capacity in mobile systems considering system-wide power consumption and battery characteristics | |
Kim et al. | Enhancing online power estimation accuracy for smartphones | |
CN104461849B (zh) | 一种移动处理器上cpu与gpu软件功耗测量方法 | |
CN103198139B (zh) | 用户电力数据的用能分析方法 | |
Bornholt et al. | The model is not enough: Understanding energy consumption in mobile devices | |
Lee et al. | Smart phone power model generation using use pattern analysis | |
CN106019167B (zh) | 一种基于工况模拟的智能电能表时钟电池性能测试方法 | |
CN103455132A (zh) | 基于硬件性能计数器的嵌入式系统功耗估算方法 | |
Lajara et al. | A method for modeling the battery state of charge in wireless sensor networks | |
Chen et al. | Demystifying energy usage in smartphones | |
CN105225026A (zh) | 一种基于电能服务管理平台的住房空置率评估方法 | |
Milligan et al. | Assessment of simulated wind data requirements for wind integration studies | |
CN104954528A (zh) | 终端设备的耗电信息的检测方法和装置 | |
Duan et al. | Energy analysis and prediction for applications on smartphones | |
CN104394039B (zh) | 一种基于Sigmoid指数模型网络性能成熟度评价系统及其评价方法 | |
CN103428320B (zh) | 基于模型拟合的智能手机功耗评估方法 | |
Zandi et al. | Implementation and analysis of a novel low power and portable energy measurement tool for wireless sensor nodes | |
CN104299167A (zh) | 一种智能用能系统用户电力数据的用能分析方法 | |
CN117252436B (zh) | 一种土地利用变化生态风险分区的方法和系统 | |
US20230385490A1 (en) | Hydrological model considering uncertainty of runoff production structure and method for quantifying its impact on surface-subsurface hydrological process | |
JP7352385B2 (ja) | 電力管理システム、電力管理方法及び電力管理プログラム | |
Fischer et al. | Sema: An approach based on internal measurement to evaluate energy efficiency of android applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130925 |