能耗模型从多个角度建立,大致分为硬件和软件两个角度。
从电路级别建立能耗模型,主要考虑半导体、电容开关的漏电、短路损失的电荷等。
服务器的功耗模型可以建立为若干硬件功耗模型相加:
由于CPU、内存、硬盘、网卡的功耗和相应的利用率有关,所以功率模型可以表示为:
其中,u表示相应资源的利用率水平,C是系数。在多数情况下,由于内存读写和CPU负载高度相关,内存的功耗的表示可以用CPU功耗代替。
服务器的功率还可以用虚机功率叠加建立功耗模型:
资源利用率与功耗密切相关,并且CPU利用率是其中最重要的因素。在使用资源利用率建模功耗的模型中,基于CPU使用率的线性模型,最常见,包括LEAF、CloudSim等模拟器中都使用该模型:
其中,u是当前服务器的cpu利用率,P_max是最大功率即CPU满载时候的功率,P_idle是CPU完全空闲时候的功率。CPU空闲时功耗与Pmax的比例,这个比值比较大,比如大约为70%,这也是关掉空闲时的机器能省电的原因。
该模型后来为了增加准确性和表达能力被拓展为非线性模型:
类似的模型还有:
其中,x是服务器。
除了将功率表达为资源利用率的函数,有的工作还将其表达为web收到的请求频率、服务器温度等的函数。