电源和能耗,一个系统的视角
系统架构师或用户应该如何考虑性能、功率和能源问题?从一个系统设计者的角度来看,有三个主要的关注点。
首先,一个处理器需要的最大功率是多少?满足这一需求对确保正确的操作是很重要的。例如,如果一个处理器试图吸取超过电源系统所能提供的功率(通过吸取超过系统所能提供的电流),其结果通常是电压下降,这可能导致设备发生故障。现代处理器在峰值电流较高的情况下,功耗会有很大的变化;因此,它们提供了电压指数方法(voltage indexing methods),允许处理器放慢速度并在较宽的范围内并调节电压。很明显,这样做会降低性能。
第二,什么是持续功耗?这个指标被广泛称为热设计功率(Thermal Design Power ,TDP),因为它决定了冷却要求。TDP既不是峰值功率,它通常是1.5倍,也不是在某次计算中实际消耗的平均功率,它可能更低。一个系统的典型电源的尺寸通常要超过TDP,而冷却系统的设计通常要符合或超过TDP。如果不能提供足够的冷却,将使处理器的结温超过其最大值,导致设备故障,并可能造成永久性损坏。因为最高功率(因此热量和温升)可能超过TDP规定的长期平均值,现代处理器提供了两个功能来协助管理过热:首先,当热温度接近极限时,电路会降低时钟速率,从而降低功率。如果这种技术不成功,第二个热过载陷阱(trap)就会被激活,使芯片断电。
设计师和用户需要考虑的第三个因素是能耗和能效。回顾一下,功率只是每单位时间的能量:1瓦=1焦耳/秒。哪一个指标是比较处理器的正确指标:能量还是功率?一般来说,能量总是一个更好的指标,因为它与特定的任务和该任务所需的时间相联系。特别是,完成一项工作负载的能量等于平均功率乘以工作负载的执行时间。
因此,如果我们想知道两个处理器中哪一个对给定的任务更有效,我们需要比较执行任务的能量消耗(而不是功率)。例如,处理器A的平均功耗可能比处理器B高20%,但如果A执行任务的时间仅为B所需时间的70%,其能耗将是1.2×0.7=0.84,这显然是更好。
有人可能会说,在大型服务器或云中,考虑平均功率就足够了,因为工作负载通常被假定为无限大,但这是一种误导。如果我们的云端都是处理器B,而不是A,那么在消耗相同能量的情况下,云所做的工作会更少。使用能量来比较替代方案可以避免这个陷阱。只要我们有一个固定的工作负载,无论是仓库规模的云还是智能手机,比较能量将是比较计算机替代品的正确方式,因为云的电费和智能手机的电池寿命都是由消耗的能量决定的。
什么时候耗电量是一个有用的衡量标准?主要的合法用途是作为一种约束:例如,一个依靠空气散热的芯片可能被限制在100W。如果工作负载是固定的,它可以作为一个指标,但那时它只是每个任务的能量的真正指标变化。
Last updated