和电路元件或设备在单位时间内吸收或发出的电能通常用瓦特(Watt)来衡量。
本文来衡量计算的能效采用 FLOPS/Watt 方式,它表示单位能效下的执行的浮点
运算次数。
FLOPS/Watt计算方法为:
FLOPS/Watt=(Operations/second)perWatt=Operations/Joule。
FLOPS/Watt 表示计算机在一定时间内完成的运算次数与消耗的能力之比,
Operations 表示执行浮点运算的次数,浮点数的值主要与 CPU 的主频、处理器处理浮点运算的流水线条数、 单精度浮点平均每次运算消耗的时钟周期等三个方面
有关。但是 CPU 的主频只代表处理器每秒处理加法运算的次数。所以,把 FLOPS
作为负载单位会导致能效数值过大,计算过于复杂等不良效果。因此,设计了一
种新的负载单位,采用主频为1GHz 的 CPU在 1s 中的运算量作为 1 负载单位即
1U,它用来衡量计算任务数量的大小。 但是各种 CPU 的运算能力是有很大差
异的,1GHz CPU 每秒的运量对于不同种类的 CPU 是不同的,不能全部定义为
1U。在实际测量中,CPU 完成的负载任务大小等于利用 CPU 频率乘以 CPU 使
用率再乘以CPU的λ系数来衡量。
即:CPU负载=CPU频率×CPU 使用率×λcpu。
设计此能效模型的主要目的是指导和优化能效的评判方式,U 表示负载单
位,U 的定义不会影响优化能效目的的实现。只要使用统一的负载单位,就能确
定衡量优化能效的规律效果。假设系数λ为 1。但是在实际测量比较时,可以根
据云系统中各种CPU的运算能力的差异来调整λ系数的值。
FLOPS 用 S 时间内的系统处理的任务 R(S) (单位 U)来代替,而能耗 N
(S) (单位用焦耳)代替 Watt。所以,T时刻内能效为:
其中,能效单位记为η,η=U/ Joule,1mη=10-3
η。在云计算系统中,假设存在 M 个运算节点,记为 aj(N≥j≥1) ,对于 aj运算
节点的CPU在 s 时刻频率为 fj(s),使用率为 uj(t),功率(Watt)为 qj(s),则:
由于云系统中的每个计算机都有额定的功率及CPU频率, 假设 CPU以满负
荷运行,则可以认为能效的理论值为 CPU频率与额定功率的比值。但是在云运
行环境中,CPU 的使用率取决于运行的算法特点,CPU 频率会随着任务量的大
小动态调整,功率随之也会发生改变。 云计算环境下基于能效的任务调度模型及其算法(2):http://www.751com.cn/jisuanji/lunwen_16847.html