功耗|既快又准并且低开销!一作亲解MICRO 2021最佳论文:一种自动化功耗模拟架构( 二 )


功耗|既快又准并且低开销!一作亲解MICRO 2021最佳论文:一种自动化功耗模拟架构
文章插图

运行管理中最常见问题在于peak power mitigation。最大功耗有一个阈值,如果超过了阈值,就需要进行管理,使功耗压降低,否则会出现一系列的问题。管理power的峰值通常要准确实时计算power。在CPU运行时,根据power的计算减少给定CPU的指令,随之功耗就会降低。
但现在在设计CPU时,很多情况下都是人工在芯片上找能够模拟功耗的信号,这种方式不仅困难而且非常不准确。
此外,更重要的一个问题是快速电流的变化(或者power的变化)会导致一个很快的电压降叫做voltage-droop。

功耗|既快又准并且低开销!一作亲解MICRO 2021最佳论文:一种自动化功耗模拟架构
文章插图
图注:电流的快速变化导致的电压的急剧变化
如图所示,起初电压保持不变,假设这一段时间CPU处于睡眠状态,没有执行任何指令。然后突然运行一个很大的程序,此时功耗和电流会突然增大。di/dt(即电流对时间求导)电流的变化量也会变得非常大。此时voltage-droop从1伏变成0.9伏,这会造成很多问题。要避免这个问题也并非容易,由于发生时间非常短暂,因此对应的处理策略也必须要在极短的时间内将其控制住。
既然输电上存在这么多问题,因此在芯片设计时,就要充分模拟芯片CPU上会遇到的各种问题。但如果要做到真实模拟代价是非常大。
功耗|既快又准并且低开销!一作亲解MICRO 2021最佳论文:一种自动化功耗模拟架构
文章插图
工业界标准的 Power模拟流程
上图所示的模式是非常准确的,但可能需要花费几周时间,并且非常昂贵,反复花几周时间进行模拟是非常困难的。即使花费了几周时间,拿到了准确的power,但得到的power是平均power,这中间可能存在几千甚至几百万个周期,一个平均power是不够用的。我们还关心最大power、一瞬间的最大power、快速变化时power的变化等等。
功耗|既快又准并且低开销!一作亲解MICRO 2021最佳论文:一种自动化功耗模拟架构
文章插图
不同类型的power simulation的方法
Netlist Simulation是上述介绍的最准确的,但可能需要花费几周时间。APOLLO位于蓝点位置,在保持速度快的同时,准确率很高(虽然不是最准确但准确率可达90%)。

2

APOLLO优异性质概括
  • 首先,它在设计和运行时,都能够对power进行既快又准地预测。在商业化的CPU上能够做到90%~95%的正确率,我们把它在Neoverse N1 CPU上进行实现,我们发现它面积的overhead只有0.2%。
  • 其次,对于任何一个设计该模型都可以自动生成。
  • 不仅如此,每个cycle都能得到一个准确的power,时间分辨率非常好。
  • 而且我们认为APOLLO模型可以延展到更高层次的模拟。
预测结果实例
功耗|既快又准并且低开销!一作亲解MICRO 2021最佳论文:一种自动化功耗模拟架构
文章插图

我们在Neoverse N1商业化的CPU上面,运行了一个workload。这个workload非常大,一共有1700万个时钟周期。我们对这1700万个时钟周期的每一个cycle都进行预测,上图展示的是4万个。在工业界用传统的方法可能需要两个星期的时间,而用我们的方法的,几分钟就可以做完。
准确率高、速度快的同时,对存储的要求减少了100倍以上,只需要存我们感兴趣的信号,这也是一个非常大的提升。保持这样的速度、准确度,得到每个周期的power这在之前的工作中几乎是做不到的。