【阅读笔记】【App能耗】An Empirical Study on the Impact of Deep Parameters on Mobile App Energy Usage

系列文章目录



【阅读笔记】【App能耗】An Empirical Study on the Impact of Deep Parameters on Mobile App Energy Usage

阅读笔记,非全文翻译


意图

  • 查看测量移动App的功耗的方法

摘要

  • 调查了开发者
  • 调查了手机APP的深度参数

1 引言

贡献:

  • 描述了移动应用程序开发人员在深度参数和能量优化方面的实践
  • 提出了一个Android中以参数为中心的分析框架,自动识别深度参数并测量其能量影响
  • 首次对Android应用程序中深度参数的能量影响进行了系统研究,描述了深度参数在这些应用程序中的作用,并确定了深度参数的三种能量类别
  • 代码开源

2 背景

  • 例如MySQL或者x265编码器这种软件系统,很方便来调优,因为程序提供了API方便地指定参数,这些参数也明确地定义了。
  • 安卓App的参数通常分布在源代码中,而不是在某个中心(如配置文件)存储的
  • deep configuration parameter:由开发者更改的,不影响功能性,即被调整时,不会让用户感知到变化的参数,比如图1所示的一些参数:缓存大小,超时时间,UI元素尺寸等。
    在这里插入图片描述

3 RQs

  • RQ1:在开发者眼中,参数对能量的影响是什么?
  • RQ2:开发人员如何选择参数值?
  • RQ3:深度参数导致的能源效率低下在应用程序中常见吗?
  • RQ4:深度参数什么时候、为什么或者为什么不影响应用程序的能耗?

RQ1-2:开发者调查问卷;RQ3-4:能耗测量实验。

4 开发者视角

在这里插入图片描述
结果

  • 重点1:粗粒度的电量统计(battery statistics)不足以用于性能调优(energy tuning)
  • 发现1:大约一半的移动应用开发者测量应用程序的能源使用。很少有开发人员(12%)对参数的能量影响有信心。
  • 发现2:只有8%的开发人员在选择参数值时经常考虑能耗。
  • 对于源文件中的参数,我们的受访者估计,大多数参数分散在代码库中;只有三分之一的受访者表示,他们的应用程序在配置文件等文件中有大量的参数集中。

5 深度参数测试框架

在这里插入图片描述

深度参数提取

深度参数突变

  • 如果我们选择的值太接近原始值,那么能量消耗可能不会改变,但如果我们选择的值太远,我们可能会导致应用崩溃。另一方面,新的值不需要是最优的,因为只要我们能观察到能量减少,我们就可以进行进一步的研究。

6 实验设计

在这里插入图片描述

  • 测试用例长30~60s
  • Pixel手机
  • 重点(测量方法)我们对CPU和GPU能量使用了成熟的基于利用率的功率模型,对WiFi使用了基于有限状态机的建模。我们通过使用ftrace收集相关数据(CPU/GPU的状态和频率信息;WiFi的传输日志)并将其输入功率模型来计算每个硬件组件的功率。

7 结果和发现

过滤出的深度参数的结果

在这里插入图片描述

验证RQ3

在这里插入图片描述

  • 发现3:参数导致的能源效率低下在应用程序中并不常见 。在16个应用程序的1644个深度参数中,只有2个在不破坏应用程序功能的情况下减少了能量消耗。
  • 两个参数分别是①Reddit客户端中;②P2P浏览器中对多个对等点的ping命令间隔

验证RQ4

  • Q: 为什么深度参数通常不影响能耗?
  • 发现4: 大多数深层参数要么没有能量效应,要么有有限的能量效应,或者只有极值下的能量效应。我们预计开发人员通常会根据其领域知识避免此类极值

8 讨论和未来工作

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值