A Probabilistic Graphical Model-based Approach for Minimizing Energy Under Performance Constraints

这学期的一门课需要做一个presentation,我从老师提供的论文池中选择了这篇论文A Probabilistic Graphical Model-based Approach for
Minimizing Energy Under Performance Constraints
, 基本内容是如何在保证性能的前提下使整个系统尽可能地节能,看起来这是一个contrained optimiaztion problem,文章中也的确使用线性规划的方式表示了问题模型。之所以挑选这篇文章,是因为他采用了机器学习里面的方法,这么无聊的课程中可以挑选一个有点意思的文章也是不容易啊。。废话不多说,下面开始讲解这篇文章。

关键词:probabilistic graphical models, expectation-maximization algorithm, energy minimization.

背景:

在很多情况下,计算机系统并不需要使用到全部的资源就可以完成预想的performance,这个时候,就需要好好地计划一下,更加合理地利用资源,从而达到节能的效果。这里的计划一般体现为对系统进行不同的参数设置,找到一个最优的参数设置,使得其达到一定的performance的情况下能源消耗最小。 这篇文章的目的就是找到一种方法,可以有效地找到这个特定的configuration。文章提出了一个probabilistic graphical model-based learning system,命名为LEO,该系统将performance 和power consumption都建模为configuration的函数,constrain performance,最小化power consumption。作者将该系统与以下几种方法进行了对比

  1. offline learning: collect profiling data for known applications and use that to predict optimal behavior for unseen applications.显而易见,offline learning最大的问题就是完全没有利用目标程序的信息,如果训练样本与目标程序差异过大,这样的预测显然是不可信的。
  2. online learning:use information collected while an application is runing to quikly estimate the optimal configuration. online方法的缺点也挺明显,就是没有利用已有的经验知识,仅靠目标程序的样本(数量很少)来拟合预测,貌似也挺困难。(没有数据的预测都是耍流氓)
  3. a heuristic approach,这个方法采用的是race-to-idle的策略,就是我先把所有的资源尽可能的全都给你,比如你说要10s做完一个任务,我给你分了巨多资源,使得你只用了3s就做完了,剩下的7s系统就处于idle状态,但是经过研究,这种方法并不是最节能的。
  4. the true optimal solution 这种方法其实就是蛮力法 brute force,把所有的配置都跑一遍,记录对应的数据,因此这种方法出来的结果认为是真实值,也是文章判断预测准确率的依据所在。

clarify some concepts:
performance constraint 可以看做在一定的时间内必须做完的工作量
configuration: 比如cpu数目,内存大小,clockspeed等等。

于是,十分自然地,作者机智的想到了结合一下online和offline,提出了LEO,利用其他程序的大量数据信息,结合目标程序的部分observation,adapt出一个目标程序的模型出来。这个过程其实类似于说话人识别中的GMM-UBM,这里,其他程序的数据训练出来的模型就是一个UBM,自适应得到目标程序相关的模型,进行下面的预测工作。
不同的是,选取UBM训练数据的时候,LEO会只选择那些与目标程序相近的(怎么判断呢?我猜是用观测到的少量数据点去拟合其他程序的模型,看是不是匹配?This exploitation of similarity is the key to quickly producing a more accurate estimate than either strictly online or offline approaches )

Energy minimization

还记得本文的目的是energy minimization 吗,前面也说到这个问题可以表示为一个constraint optimization的问题,下面是这个问题的表示形式

mincCpctc(t0)subjecttocCrctc=WcCtcT

pc :系统运行在configuration c 上的时候的power consumption
rc :系统运行在configuration c 上的时候的performance rate。
W : 系统需要完成的任务
tc : 系统运行在configuration c 的时候的运行时间
T : 程序总的运行时间
在程序运行过程中是可以更改配置的。
直观地讲,就是系统要在规定的时间内完成规定的任务,这就是对performance的要求,在满足这个要求的条件下是的能源消耗最小化便是目标函数。可以看到最关键的是要知道 pc rc ,一旦确定了这两个值,便可以通过凸优化技术使得目标函数最小化了。关键就是不知道这两个值,如果知道了在所有configuration上的 pc rc ,直接就得到最优解了。最直观的解法就是brute force咯,肯定是不可取的嘛,要不还预测个啥嘛。

We can just run the application in small subset of configurations and use these measurements to estimate the behavior of unmeasured configurations.
显然,样本数越多,预测越准确(online learning),但是我们可以拿到的样本很少,这就是我们为什么需要其他程序的数据的原因了。

文章中提到了pareto frontier的概念,具体可参考Pareto efficiency

Statistical Modelling

本文的建模过程如图所示:
statistical modelling
这里的Graphical model代表的Bayesian networks 或者叫做有向图。

Bayesian networks

贝叶斯网络是一种graphical model,描述了随机变量之间的依赖关系,网络中的每一条边都代表了两个节点之间的条件依赖关系,中间没有边的两个顶点时independent 的。所有的边都是有向边,如果变量A

Hierarchical Bayesian Model

这里写图片描述

EM算法

又看到EM算法了,真是强大的算法,专治各种隐变量有木有!本来选这篇文章的原因就是因为他用到了EM算法,但是。。。作者并没有详细的解释EM具体如何应用的,也没有列出似然函数,所以只能大致的知道他做了什么,细节不是特别清楚。

实验设计

Experiment setup

Benchmark: 25 benchmarks from 3 different suites
Baseline heuristics:
- Online algorithm: Polynomial multivariate regression over configuration values on the observed dataset
- Offline algorithm:Average over the rest of the applications to estimate the power and performance of the given application.
- Race-to-idle: Allocates all resources to the application and once it is finished the system goes to idle.

Results

通过作者的系统预测出来的结果是惊人的高,几乎都接近于100%,我第一感觉就是20个数据来预测1024个配置上面的结果,而且是discrete variable,这个准确率怎么会这么高,就算用上了adaption,利用了一些先验知识,但是由于程序差异的问题,应该也不至于将accuracy改善的如此之好。

总结

论文无非两种,一是做理论研究有了新的进展,另外就是理论做了新的应用,本文就是一种应用,多观察,多实践,多思考,将理论真正的发挥出其价值,最好的方式就是用来解决实际问题了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值