是否有可以捕获功耗的抽象机?


13

当报告一种算法的算法复杂性时,人们假定底层计算是在某种近似现代CPU的抽象机器(例如RAM)上执行的。这种模型使我们能够报告算法的时间和空间复杂性。现在,随着GPGPU的普及,人们想知道是否存在众所周知的模型,其中也可以考虑功耗。

众所周知,GPU会消耗大量功率,并且某些指令会根据其复杂性和在复杂芯片上的位置而分为不同的功耗类别。因此,从能量的角度来看,指令不是单位(甚至是固定的)成本。一个简单的扩展将为操作成本分配权重,但是我正在寻找一个功能强大的模型,其中操作/指令可能会消耗非恒定单位的能量,例如多项式量(或更复杂的例如:自开始以来经过的时间的函数)的算法;或考虑到冷却系统发生故障的可能性,这将使芯片发热,并降低时钟频率等。)

是否存在可以纳入非平凡成本和错误的模型?


您是否有理由相信任何基本运营成本的能源量都会(复杂)变化?如果您有兴趣,我知道有关使用理论工具分析能耗的工作。
拉斐尔

Answers:


8

目前还没有一个成熟的模型,但这是一个活跃的研究领域。算法方面的专家之一是Kirk Pruhs。他的论文有更多信息,您也可以浏览此演示文稿


我不同意尚未建立模型这一事实:大多数论文都同意一个复杂的物理模型,它们只是关注此物理模型的不同部分。对于实例,柯克专注于动态能量。
Gopi 2012年

我想我的意思是没有建立的计算成本模型。
Suresh 2012年

7

能源消耗模型

考虑到能耗时,速度缩放是最近使用最多的模型之一。它包括修改电源电压。通过降低电源电压或处理器时钟频率,可以大大降低功耗。更快的速度可以加快执行速度,但同时也会导致更高的功耗(超线性)。

ss3s3×dd

但是,速度缩放不是唯一考虑的能量。这就是所谓的动态能量。的静态能量是认为是由于“接通”所述处理器的功率。通过在空闲时间关闭处理器,可以消除此静态功率。但是,这是有成本的。在这个问题上已经做了很多工作,这与滑雪租赁的问题非常接近。

通常,能耗是静态和动态功耗乘以执行时间的总和。但是,大多数论文集中于这些问题之一。

在此模型中引入故障

我认为这是速度缩放模型中最令人惊讶的部分。通常,人们会认为执行任务的速度越快,执行失败的可能性就越大。相反,事实表明,降低处理器速度会增加系统的瞬态故障率。故障的可能性呈指数增长,在大规模计算中不能忽略这一可能性。

λ

λ(f)=λ0edfmaxffmaxfmin,
f[fmin,fmax]λ0dwfR(f)=eλ(f)×wf

这是自引用,因此我不知道如果是在这里认识,但是如果你有兴趣,你可以找到在此更多信息文件上的动态能耗的一部分。


3

已经尝试从理论上分析算法的能耗(当然,使用每次操作的实际费用);参见例如[1]。虽然结果令人惊讶--最快的算法并不总是使用最少能量的算法-但仍然存在一些障碍。

尤其是,现代平台会关闭某些功能,以便在再次打开时会增加运行能耗。虽然原则上可以纳入严格的分析中,但从技术上来说(太难了)。此外,缓存未命中对总能耗的影响还没有得到很好的研究。

似乎平台之间的巨大差异反对严格的分析,后者不能(一次)不忽略细节,因为通用模型(即在插入具体常量/函数之前)的意义有限。


  1. 汉娜·拜耳(Hannah Bayer)和马库斯·内贝尔(Markus E. Nebel):根据能源消耗评估算法,欧洲可计算性,2009年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.