3. 当前和短期问题
3.1. 功耗问题
功耗与性能一样,比我们最初假设的情况更加多元化。在基于高性能微处理器的系统环境中,“功耗问题”包括:
- 通过众多超细针脚/焊点传送到芯片的大量电流。(注意:即使在同样的功耗水平下,随着电压下降,电流上升,针脚/焊点内的热阻也将升高。)
- 消除大量热量,以防止Die温度超过阈值,明显缩短产品寿命。
- “热点”问题:芯片局部区域中的功耗密度过高可能将导致局部故障。(注意:若为了保持同样的功耗水平,将晶圆上的处理器内核尺寸减少一半,同时提高频率,则内核中的功耗密度将提高一倍。)
- 为提供这些服务,需要提供大量电力——包括电力成本和用电升级成本。
- 消除保有这些服务器的设施所产生的大量热量——包括电力成本和机房冷却系统升级成本。
- 消除处理器芯片造成的大量热空气,这些热空气同样影响其他热敏组件(如内存、硬盘等)。
由此可以看出,功耗问题实际上至少与5、6个相互关联而性质截然不同的技术和经济问题有关。
3.2. 吞吐量Vs.功耗/核心Vs.核心数量
针对以同样的功耗水平提高性能这一问题,我们着重讨论一下如何使用越来越多的核心提供更高的吞吐量。
如果参数保持不变,功耗通常以 CPU 时钟频率的平方或立方倍率增长。但是,性能的增长速度是低于频率的线性增长速度的。对于能够利用多线程的工作负载来说,多核心能够显著提高每瓦吞吐量。但是,正如之前所见,这种吞吐量的增长除了等待光刻工艺的提高,使我们能够在一个芯片上放置更多核心之外,我们还可以创建更小的 CPU核心,使其外形更小巧,效能更高。就在前不久这种技术还很少见(除了 Sun T1 处理器芯片),这是因为我们假设单线程性能太重要了,不能牺牲它。
我们将在“长期预测”章节继续讨论这一问题,但是,之前描述的性能模型的直接应用说明,只要 CPU 内核功耗下降的速度大于峰值吞吐量的速度,则通过无限数量的极小快速核心,即可获得最佳吞吐量。显而易见,这种系统的单线程性能将非常低,从而直接影响对单一指标值的优化。为了解决这一问题,一种方法是可以定义一个可接受的最低单线程性能,然后对芯片进行优化,在面积和大功耗的限制条件下,尽可能加入更多的核心。
还有一种方法是将核心数量限制到一个合理的数量。在此处使用的单一吞吐量模型中,我们忽略了通信与同步这一因素。若用户希望在单一的并行/线程应用中使用更多的核心,将需要某种通信/同步,而且对于固定工作负载,还必须要保证通信/同步的开销将随着作业中使用的 CPU 核心数量而单向增长。

由此产生了对 Amdahl 定律的简单修改