考虑时间热耦合的功率预算方法与流程

文档序号:12362739阅读:163来源:国知局
考虑时间热耦合的功率预算方法与流程

本发明总体涉及处理器的性能优化。更具体地,本发明涉及用于改善处理器性能的功率预算方法和系统。



背景技术:

在计算机领域,改善处理器的性能是一个很重要的方面。处理器被设计为具有一定范围的运行频率。有多种因素限制提供至处理器的最大功率,例如温度、功率输送系统的功率提供能力、功率提供网络的电阻压降问题等等。如何使得处理器更快地执行应用或者程序以在其功率限制范围内实现更好的性能是一个具有挑战性的问题。

目前,提出了多种方法以在处理器的功能限制范围内优化处理器性能。例如,一种现有的方法是用于在加速处理单元系统中进行功率管理的协同提高方法。在该方法中,功率在CPU和GPU之间分配以通过考虑性能耦合和热耦合效应来实现优化的性能。

另一种提出的方法是一种功率表征平衡方法,该方法在多个并行的多线程工作负载之间分配功率预算,以改善性能,同时保持功率在该功率预算之内,即,降低施加至非关键线程的功率并应用到关键线程上。图1显示了这种方法的示意图,其中核心C1、C2、C3和C4中的每一个被分配相同数量的功率,例如图1中所显示的“10”。当核心2(C2)和核心3(C3)中的线程达到屏障并进入自旋状态时,它们仅消耗少量的功率(例如图1中所示的“4”),然后,其中的功率表征平衡单元(PTB)将多余的功率预算(即,图1中所显示的“6”)从核心2/核心3分配至核心1(C1)/核心4(C4),以加速核心1/核心4内的线程的执行,从而改善处理器的性能。



技术实现要素:

虽然现有技术中的上述方法能够改善执行性能,但是用于改善处理器性能的上述现有的方法是基于空间的功率分配并试图在给定的短的时间窗内优化性能。这些方法没有考虑时间上的温度耦合对处理器性能的影响,因此所得到的结果是次佳的。

为了克服现有的性能改善方法中的缺点,以进一步优化处理器性能,本发明提供了一种考虑时间热耦合的功率预算方法和系统,其考虑时间热耦合对处理器性能的影响。

在第一方面,提供了一种功率预算方法。该方法包括预测程序的频率不敏感阶段和频率敏感阶段;当被处理器执行的所述程序进入频率不敏感阶段时,减少施加至该处理器的功率;以及当被所述处理器执行的所述程序进入频率敏感阶段时,增加施加至该处理器的功率。所述频率敏感阶段可紧接在所述频率不敏感阶段之后,并且可施加所述功率而不超出所述处理器的最高允许温度。

在第二方面,提供了一种功率预算方法。该方法包括确定多个程序的频率不敏感线程和频率敏感线程;将该多个程序的所述频率不敏感线程和所述频率敏感线程交替地分配至同一个核心;当处理器执行所述频率不敏感线程时,减少施加至该处理器的功率;以及当处理器执行所述频率敏感线程时,增加施加至该处理器的功率。所述频率敏感线程可紧接在所述频率不敏感线程之后,并且可施加所述功率而不超出所述处理器的最高允许温度。

在第三方面,提供了一种功率预算系统。该系统包括装置,用于预测程序的频率不敏感阶段和频率敏感阶段;装置,用于当被处理器执行的所述程序进入频率不敏感阶段时,减少施加至该处理器的功率;以及装置,用于当被所述处理器执行的所述程序进入频率敏感阶段时,增加施加至该处理器的功率。所述频率敏感阶段可紧接在所述频率不敏感阶段之后,并且可施加所述功率而不超出所述处理器的最高允许温度。

在第四方面,提供了一种功率预算系统。该系统包括装置,用于确定多个程序的频率不敏感线程和频率敏感线程;装置,用于将该多个程序的所述频率不敏感线程和所述频率敏感线程交替地分配至同一个核心;装置,用于当处理器执行所述频率不敏感线程时,减少施加至该处理器的功 率;以及装置,用于当处理器执行所述频率敏感线程时,增加施加至该处理器的功率。所述频率敏感线程可紧接在所述频率不敏感线程之后,并且可施加所述功率而不超出所述处理器的最高允许温度。

通过提供上述方法的步骤以及上述的系统,本发明能够通过在时间上优化施加到处理器的功率来克服现有的功率管理方案中的缺陷,从而能够进一步改善处理器的性能。此外,本发明的功率预算方法和系统也考虑了温度,因而能够确保处理器的可靠性。

附图说明

附图以示例的方式图示了本发明,其并不构成对本发明的限制。在附图中相同的数字表示相同的部件,其中:

图1为现有技术中用于改善处理器性能的功率表征平衡方法的示意图;

图2为一示意图,其显示了(a)根据现有技术中的功率管理方案的在程序的不同执行阶段中的功率状态、温度和最高允许温度与(b)本发明的功率预算方法中的相应参数的比较。

图3为使用在执行单个程序的过程中的考虑时间热耦合的功率预算方法的示例性实施方式的流程图;以及

图4为使用在执行多个程序的过程中的考虑时间热耦合的功率预算方法的示例性实施方式的流程图;

具体实施方式

下面将参照附图中所示的一些方面具体描述本发明。在下文的描述中,描述了一些具体的细节以提供对本发明的更深的理解。然而,对于本领域的技术人员来说显而易见的是,即使不具有这些具体细节中的一些,本发明也可被实施。另一方面,一些公知的工艺步骤和/或结构没有被详细描述以避免不必要地使本发明变得难以理解。

除了受到例如架构、缓存大小等多种硬件特性的影响外,处理器的性能还受到执行于其上的工作负载或者程序的特性的影响。也就是说,程 序或者应用的特性也对处理器的执行性能具有影响。一些应用或程序是频率敏感的。当它们被处理器执行时,该处理器的执行性能能够随着该处理器的运行频率的提高而显著提高。一些应用或程序是频率不敏感的。当它们被处理器执行时,频率的变化对该处理器的执行性能的影响比较小。同时,对于单个程序或应用而言,频率敏感性在不同的执行阶段也是变化的。程序或应用的一些执行阶段可能是频率不敏感的,而其他执行阶段可能是频率敏感的,这也会影响处理器的执行性能。

图2为一示意图,其显示了根据现有技术中的功率管理方案(例如双向应用功率管理方案)的在程序的不同执行阶段中的功率状态、温度和最高允许温度与本发明的功率预算方法中的相应参数的比较。如图所示,图2包括两个图(a)和(b),其中图(a)显示了当程序由现有的功率管理方案(例如双向应用功率管理方案)执行时,在不同的执行阶段中的功率状态、温度和最高允许温度,图(b)显示了当程序由根据本发明的示例性实施方式的考虑时间热耦合的功率预算方法执行时,在程序的不同执行阶段的功率状态、温度和最高允许温度。

如图2所示,图(a)和(b)中的线M表示处理器允许达到的最高允许温度。线P表示当处理器根据现有的功率管理方案执行单个程序时,施加至该处理器的功率,而线P’表示当处理器根据本发明的功率预算方案执行单个程序时,施加至该处理器的功率。线T表示当处理器根据现有的功率管理方案执行单个程序时,处理器的温度,而线T’表示当处理器根据本发明的功率预算方案执行单个程序时,该处理器的温度。

如图2所示,在开始的时候,该示例性的程序处于频率不敏感阶段S1,这意味着处理器的执行性能受频率改变的影响较小。在这个阶段,如图(b)所示,能够使得施加至处理器的功率P’低于现有技术中的功率P(参见图(a)),以便降低处理器的温度,这能够使得在这个阶段在降低微小的性能的情况下获得更多的热余量。例如,能够降低处理器的运行频率以降低处理器的功率。然后,该程序进入了频率敏感阶段S2,在该阶段,处理器的执行性能会随着频率的提高而显著增加。在该阶段,如图(b)所示,通过利用在频率不敏感阶段S1获得的额外的热余量,施加至处理器的功 率P’能够在不超出该处理器的最高允许温度的情况下被增加到高于图(a)所示的在相同阶段施加至处理器的功率P。或者,也可以在不超出该处理器的最高允许温度M的情况下增加处理器的功率至小于P’的功率并且使处理器在更长的时间期间内以该功率运行。在一个方面,能够提高处理器的运行频率以增加处理器的功率。通过这种方法,执行程序的性能能够在更长的时间窗内被优化,从而在整体上获得了更高的性能。如图2所示,使用现有的功率管理方案(例如双向应用功率管理方案)完成程序的执行需要的时间T2,而相比之下,使用本发明的考虑时间热耦合的功率预算方法,该程序能够以更短的时间T1被完成。

在示例性的一个方面中,图3显示了使用在执行单个程序或应用的过程中的考虑时间热耦合的功率预算方法的示例性实施方式的流程图。该方法包括下述步骤,首先,在步骤30,预测程序的频率不敏感阶段和频率敏感阶段。然后,在步骤32,当被处理器执行的所述程序进入频率不敏感阶段时,减少施加至该处理器的功率。然后,在步骤34,该方法进一步包括当被所述处理器执行的所述程序进入频率敏感阶段时,增加施加至该处理器的功率。在一种实施方式中,该频率敏感阶段紧接在该频率不敏感阶段之后。在一种实施方式中,可通过增加或降低处理器的运行频率来增加或者降低施加至该处理器的功率。

在一个方面,在上述步骤32中,当前阶段的频率敏感性和下一个阶段的频率敏感性被用于确定当前阶段的最优的功率预算。也就是说,可利用当前阶段和下一个阶段的频率敏感水平之间的相对关系来确定步骤32中功率的下降程度。例如,在一个方面,如果在当前阶段,频率敏感水平非常低,而在下一个阶段,频率敏感水平非常高,则能将当前阶段施加的功率降低到最低的水平,由此,其不会显著降低当前阶段的程序执行性能,但是能够使得在所述下一个阶段获得最大的频率提高。如果当前阶段的频率敏感水平为中等程度的低,并且下一个阶段的频率敏感水平为中等程度的高,则可将当前阶段的频率敏感水平降低到与上述的情形相比相对较低的水平。在极端的情况下,当当前阶段和下一个阶段的频率敏感水平相似时,可不降低功率。

在一个方面中,所述程序的频率不敏感阶段可以是例如当与存储器相关的操作(例如存储操作、访问操作等等)被执行时的阶段。所述程序的频率敏感阶段可以是例如当与计算相关的操作(例如算术运算、逻辑运算等等)被执行时的阶段。

根据图3所示的上述方法,当程序进入频率不敏感阶段时,通过降低施加至处理器的功率,可以使得该处理器运行在更低的温度,这能够提供更多的温度余量(即,处理器的当前温度与最高允许温度之差),该温度余量转而能够被用来允许处理器在程序的频率敏感阶段以更高的功率运行。通过该方法,虽然在频率不敏感阶段,程序的执行性能会有轻微的降低,但是在频率敏感阶段,程序的执行性能会得到大幅的提高,其提高的幅度会超过在频率不敏感阶段所降低的性能。因此,总体来说,处理器执行程序的整体的性能是提高的。

在一个方面中,图4显示了用于执行多个程序的考虑时间热耦合的功率预算方法的示例性实施方式的流程图。该方法包括下述步骤:首先,在步骤40,确定多个程序的频率不敏感线程和频率敏感线程;然后在步骤42,将该多个程序的所述频率不敏感线程和所述频率敏感线程交替地分配至同一个核心;然后在步骤44,当处理器执行所述频率不敏感线程时,降低施加至该处理器的功率。以及在步骤46,该方法进一步包括当处理器执行所述频率敏感线程时,增加施加至该处理器的功率。在一个方面,当处理器执行紧接在频率不敏感线程之后的频率敏感线程时,可在不超出该处理器的最高允许温度的情况下增加该处理器的功率。在一个方面,可通过增加或者减小该处理器的运行频率来增加或减小施加至该处理器的功率。在一个方面,所述程序的频率不敏感线程可以是例如包括与存储器相关的操作(例如存储操作、访问操作等等)的线程。所述程序的频率敏感线程可以是例如包括与计算相关的操作(例如算术运算、逻辑运算等等)的线程。

在一个方面,在上述步骤44中,当前线程的频率敏感性和下一个线程的频率敏感性被用于确定当前线程的最优的功率预算。也就是说,可利用当前线程和下一个线程的频率敏感水平之间的相对关系来确定步骤44中功率的下降程度。例如,在一个方面,如果在当前线程,频率敏感水平非常 低,而在下一个线程,频率敏感水平非常高,则能将当前线程施加的功率降低到最低的水平,由此,其不会显著降低当前线程的程序执行性能,但是能够使得在所述下一个线程获得最大的频率提高。如果当前线程的频率敏感水平为中等程度的低,并且下一个线程的频率敏感水平为中等程度的高,则可将当前线程的频率敏感水平降低到与上述的情形相比相对较低的水平。在极端的情况下,当当前线程和下一个线程的频率敏感水平相似时,可不降低功率。

根据图4所示的上述方法,当程序执行频率不敏感线程时,通过降低施加至处理器的功率,可以使得该处理器运行在更低的温度,这能够提供更多的温度余量,该温度余量转而能够被用来允许处理器在执行程序的频率敏感线程时以更高的功率运行。通过该方法,即使在执行频率不敏感线程时,程序的执行性能会有轻微的降低,但是在执行频率敏感线程时,程序的执行性能会得到大幅的提高,其提高的幅度会超过在执行频率不敏感线程时所降低的性能。因此,总体来说,处理器执行程序的整体的性能是提高的。

除了改善执行程序的整体性能,上述描述的本发明的功率预算方法也能够产生其他的有益效果。例如,本发明的功率预算方法将温度考虑在内,因此,能确保处理器的可靠性。另外,本发明的功率预算方法是基于时间功率分配的功率预算方法,其能够与其它的空间功率预算方法结合以获得处理器的全面的空间和时间性能优化。

虽然在上文在具体的组合中描述了多个特征和元件,但是每个特征和元件能够被单独使用而不需要其它的特征和元件,或者在具有或不具有其它特征和元件的各种组合中使用。本文中提供的方法和流程图可通过通用的计算机或处理器以并入计算机可读介质的计算机程序、软件或者固件来实施。计算机可读介质的例子包括但不限于:磁介质,例如硬盘、软盘和磁带;光学介质,例如CD-ROM和全息存储装置;磁光介质,例如软磁光盘;以及被专门配置成存储和执行程序代码的硬件装置,例如专用集成电路(ASICs)、可编程逻辑装置、ROM和RAM装置。

对于本领域的技术人员来说显而易见的是,可以在不背离本发明的精神和权利要求的范围的情况下对本发明作不同的修改和变型。因此,如 果对本发明的修改和变型落入了权利要求和它们的等同物的范围内,那么应当认为本发明覆盖了对本发明所描述的不同实施例的修改和变型。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1