系列文章目录
文章目录
【阅读笔记】【AI与可配置系统】Green Configuration: Can AI Help Reduce Energy Consumption of Configurable Software Systems?
阅读笔记,非全文翻译
问题
摘要
文章提供了:
- 一个概述,其概述的是用于估计在可配置软件系统的不同使用案例中能耗的不同ML技术
- 使用一系列学习算法的结果表明:需要处理不确定性和因果关系
- 开放式研究挑战:仅ML无法解决软件工程师在降低能耗方面的问题
ML现在能做到什么?
两个方面:用户角度黑盒;开发者角度白盒
用户角度:用于能耗优化的ML
- 软件的配置项太多了,被用户忽略了,留有大量的潜在优化空间尚未被发掘。
- 用户不知道配置项对能耗的影响(黑盒),所以ML技术有用。
准确性是关键
- 近年研究表明:最准确的模型是分类树和回归树,随机森林和神经网络
- 微小的配置变化可能导致能耗的突然变化(non-monotonically)
- 数学上支持阶跃函数的学习技术能够比依赖平滑线性函数的技术更好地建模能耗。
但不确定性是做决策的关键因素
- 最近研究转向贝叶斯相关的方法
- 贝叶斯方法可以给出置信度和置信区间
开发者角度:用于能源根本原因分析的ML
- 软件系统可能有bug导致能耗异常
- 了解“哪些代码区域在哪个配置下消耗什么能量”也是软件维护和代码优化的前提
- bug需要采样和测量才能观察到,无法用黑盒模型
- 因此只使用ML不够,需要引入程序分析等技术
Intermezzo:白盒性能模型
- SE方法:静态分析和动态分析,但Velez的研究表明,纯SE方法可能不适用于能耗问题
性能作为能耗的代理?
- 在分析现有文献的性能-能量相关性时,发现论文具有正相关性、负相关性或根本没有相关性。

AI的限制:能量特性
- 问题:为什么不直接用ML构建白盒能量模型。(三点原因)总结:会导致测量不准确,甚至产生误导性结果。

总结
- 我们提出了一个问题,即人工智能/多语言方法是否有助于减少可配置软件系统的能耗。
- 目前的答案是,只有在不需要深入了解的定量性质的情况下,我们才能使用ML技术找到更节能的软件配置。
- 只要我们想优化软件本身,ML本身是不够的。为此,我们需要建立从能量消耗行为到受配置选项影响的单个代码区域的跟踪,这样才能检测能量泄漏和低效代码。(需要将ML和SE结合)
本文探讨了机器学习(ML)如何应用于可配置软件系统的能耗优化。从用户和开发者角度分析,ML能帮助估计能耗并优化配置,但面临不确定性管理和因果关系挑战。贝叶斯方法为不确定性提供置信度,而程序分析则用于能源根本原因分析。尽管ML在黑盒优化中有用,但构建精确的白盒能量模型仍存在困难。结论是,结合ML和软件工程(SE)技术才能有效减少能耗,需要跟踪配置选项对代码区域能量消耗的影响。

349

被折叠的 条评论
为什么被折叠?



