原则:能源效率

已完成

视频中的内容仍然有效,但由于绿色软件基金会的主体重新编号,主体编号可能会有所不同。

电和碳

大多数人认为电是干净的。 当我们把插头插到墙上时,我们的手不会变脏,我们的笔记本电脑也不需要排气管。 然而,事实是,大多数电力是通过燃烧化石燃料产生的(通常指煤),而能源供应是导致碳排放的最大原因。

我们可以在电力和碳排放之间画一条直线,因此,可以将电力视为碳的代用指标之一。

从智能手机上运行的应用程序,到数据中心运行的机器学习模型的训练,所有软件在执行过程中都会消耗电力。 减少软件的电力消耗以及由此产生的碳污染排放的最佳方法之一就是让应用程序更具能源效率。

这就是为什么可持续软件工程的关键原则是构建具有能源效率的应用程序

作为可持续工程师,我们需要了解电力。 这一旅程并不是从计算机开始,而是从为计算机提供动力的电力是如何产生的开始。

能量与功率

能量是一种衡量用电量的指标,能量的标准单位是焦耳 (J)。不过,另一种常见的能源消耗方式是以千瓦时 (kWh) 为单位。

电量经常被报告为功率或能量,这是两个不同的概念:

能量 = 功率 ✕ 时间

  • 能量是指总用电量,能量的标准单位是焦耳 (J)。

  • 功率是指单位时间内消耗的电能率,功率的标准单位是瓦 或 W。1 瓦就是每秒 1 焦耳。

一种常见的能源消耗方式是单位时间内的功率,如瓦秒或千瓦时。 例如:

  • 20 瓦秒或 20 Ws 是指一件功率为 20 W 的电器运行一秒钟所消耗的能量。 因为 1 瓦是就每秒 1 焦耳,所以此值为 20 焦耳。

  • 20 千瓦时或 20 kWh 是指一件功率为 20,000 瓦的电器运行一小时所消耗的能量。

    Energy = 60 X 60 X 20,000 = 72,000,000 Joules = 72 Megajoules (72 MJ)

能量均衡

利用率用于衡量计算机资源使用量的指标,通常用百分比来表示。 闲置计算机的利用率百分比较低,即处于未利用状态。 以最大容量运行计算机的百分比很高,即处于充分利用状态。

能量均衡是衡量电脑系统的功耗与完成有用工作的速度(其利用率)之间关系的指标。 如果总体功耗与计算机的利用率成正比,则称其能量均衡。

在能量均衡系统中,能效是一个常数,无论利用率如何变化,能效都是不变的。 然而,硬件的能效并不是恒定的。 它因环境而异。 由于硬件设备的许多不同组件之间的交互很复杂,因此它可能是非线性的,这意味着功率和利用率之间的关系不成比例。

显示功率与利用率的关系的示意图。

利用率为 0% 时,计算机的功耗仍为 100 W;利用率为 50% 时,功耗为 180 W;利用率为 100% 时,功耗为 200 W。 功耗与利用率之间的关系不是线性的,它不在原点相交。

由于这种关系,你对电脑的利用率越高,它将电能转化为有用计算操作的效率就越高。 在尽可能少但利用率最高的服务器上运行你的工作,可以最大限度地提高其能源效率。

静态功耗

造成能量不均衡的原因有多种,其中之一就是静态功耗。

一台闲置计算机,即使利用率为零,也会消耗电能。 这种静态功耗因配置和硬件组件而异,但所有组件都有一定的静态功耗。 这种潜在功耗是电脑、笔记本电脑和移动设备提供节能模式的原因之一。 如果设备处于闲置状态,最终会触发休眠模式,这会导致磁盘和屏幕进入睡眠状态,甚至会更改 CPU 频率。 这些节能模式可以节省电力,但也有其他损失,比如设备唤醒时重启速度较慢。

服务器通常不会配置为激进节能模式,甚至不会配置为最低限度的节能模式。 许多服务器用例要求尽快满负荷运行,以应对快速变化的需求。 这种情况会使许多服务器在低需求期间处于闲置模式。 闲置的服务器需要付出内含碳和低效利用的代价。

时钟速度

时钟速度(频率)是指电脑或其微处理器的工作速度,以每秒循环数(兆赫)表示。 消费类设备经常动态调整计算设备的时钟速度,以使能量更均衡。

时钟速度表示电脑执行指令的速度。

微处理器的能效随时钟速度而变化,高时钟速度往往比低时钟速度更不节能。 例如,在 I7-3770K 系统中,3.5 GHz 运行速度的功率为 50 W5 GHz 运行速度的功率为 175 W 左右。 时钟速度增加大约 40%,需要增加 >3 倍的功率。

在利用率较低时降低时钟速度可以提高能源效率,从而最大程度地提高硬件的能源效率。