用于功率测量和管理的方法和系统的制作方法

文档序号:6561326阅读:177来源:国知局
专利名称:用于功率测量和管理的方法和系统的制作方法
技术领域
本发明一般涉及处理系统中的功率/性能测量和管理,以及更具体地涉及一种功率/性能测量方案,其根据小的累积数据组、在多个及任意的间隔大小上,能够确定平均、最小和最大功率和/或性能。
背景技术
多处理器服务器及达到大规模处理系统的其它介质正日益结合精密复杂的功率测量和管理子系统。即使在单一处理器工作站系统内执行的操作系统,诸如采用可选择的或自动选择的功率保护模式的笔记本电脑,也可能从显示系统的功耗和/或性能历史的监控软件中获益。
外部监控器和内部执行应用程序中的功率和性能监控应用程序可能具有完整不同的信息更新速率的要求,并且多个应用程序可能同步地(例如,以重叠的间隔)要求数据。内部功率/性能监控子系统典型地必须以高于相应于监控器的最短功率/性能更新间隔的速率来存储数据,并且为了精确的结果,更新速率必须或者与每个所要求的数据输出速率相匹配或者就精确而言表现充分的过采样。尤其当使用服务处理器来累积数据且相关联的存储器有限时,这样的数据存储要求是不理想的。当监控应用程序在其存储器使用上可能没有这样的限制时,在功率/性能监控器和应用程序之间具有高更新带宽也是不理想的,因为服务处理器通信信道典型地用于其它应用程序并且是有限的资源。在无服务处理器的系统中,给系统处理器分派任务使其以高速率仅收集功率/性能数据是特别不理想的。
有必要提供一种用于收集和处理的功率使用/性能模式数据的方法和系统,其在不要求大的数据存储器的条件下为任意的更新速率而准备并且服务多个应用程序和/或外部监控器。

发明内容
在一个方法和系统中实现了为多个应用程序提供任意的更新速率,且为功率和性能监控提供低存储器要求的目的。
该方法和系统可以具体体现于构成计算机程序产品的程序指令中,以由单一或多处理器系统中的服务处理器和/或系统例程执行。
该方法和系统以直方图收集功率使用和/或性能模式数据,增加相应于在每个采样间隔的结尾数据值落于其中的数据值或范围的条形块。通过从监控应用程序以规则的间隔读取直方图数据,可支持多个测量速率。
监控应用程序从先前的直方图数据组中减去一个直方图数据组,以确定间隔差分直方图。能够从该差分直方图的最大和最小估值的非零条形块,来确定关于该间隔的最大和最小功率和/或性能模式,以及能够从该差分直方图的平均值来确定关于该间隔的平均值。
能够通过聚集关于每个子系统的间隔差分直方图,找到关于每个的最大和最小极值,将它们相加以在关于整个系统的每个间隔上提供最大和最小功率/性能的保守边界,来估计关于多个子系统的最大和最小边界。能够通过将所有的间隔差分直方图的平均值相加或者通过独立的能量计数器的使用,来估计关于整个系统的平均值。
从本发明的优选实施例的下列、更具体的描述,本发明的上述和其它目的、特征、和优点将会显而易见,如附图中所阐明。


本发明的新颖特征支持在从属权利要求中限定的特性。然而,当结合附图阅读时,通过参考下列解说性实施例的详细描述将更好地理解本发明本身、所使用的优选实施方式、进一步的目的及其优点,其中相同的参考数字指示相同的部件,且图1是根据本发明的实施例的计算系统的框图;图2是根据本发明的实施例的计算系统的软件组织图;图3是描述根据本发明的实施例的直方图差分方法的示意图;图4是描述根据本发明的实施例的方法的流程图。
具体实施例方式
本发明涉及支持可能同时要求功率历史数据且可能要求在不同的时间间隔上的测量的多个监控应用程序的功率使用测量技术。在不要求大量的存储器或高速率的功率测量装置轮询的条件下,该技术提供历史数据。该技术保持功率使用和/或性能水平(一般为功率节省模式水平)值的直方图,且因而所要求的存储器仅是用于计数器来为关于多个直方图条形块(bin)的测量的发生而计数。每个条形块相应于所测量的值的数值的离散值或范围,并且计数器有足够的大小以避免最长支持的轮询间隔的轮询之间的完整绕回。只要溢出是可探测的就可容许计数器溢出,就任何监控应用程序而言,只要从一个直方图读取到下一个中最大的计数器值不满足任何单独的数值计数,就可以完成上述溢出的检测。
为了通过减去所存储的直方图来确定间隔直方图,应用程序能够以任意的速率读取直方图数据组并存储先前的直方图。在由该任意速率所定义的间隔的开始重新检索直方图数据组并存储。在间隔的结尾,读取第二个直方图数据组,并从当前的数据组中减去先前所存储的直方图数据组。该相减得出关于直方图数据组的读取之间的任意间隔的精确直方图分布。然后,从该间隔直方图能够确定关于该间隔的最大、最小和平均功耗/功率模式值。
如果正被监控的系统包括具有累积局部直方图数据的功率测量设施的多个子系统,则能够关于子系统的每一个确定间隔直方图,以及能够通过将关于每个间隔的最大功率条形块和/或最小功率条形块的值相加而建立保守的最大和/或最小边界,以及能够通过将关于每个子系统的平均值相加而估计关于该系统的平均功率。
现在参考图1,根据本发明的一个实施例,描述一个处理系统。处理子系统12A-12D阐明整个系统(机架式服务器10)的相同的子单元,且未详细提供处理子系统12A-12D之间的互相连接,也未详细提供到外围装置的连接。然而,应该理解到,这样的连接和装置一般存在于处理系统中,且本发明的技术能够应用于处理系统内的外围装置和一般的电子系统。此外,本发明的技术能够应用于包含可能或可能不位于相同的设施中的多个机架式服务器10或其它计算系统组的大规模系统,只要功率使用信息能够传达到功率测量应用程序。此外,本发明的技术能够被“嵌套”。只要间隔就精确而言足够地重叠,就能够沿系统分层向上在每个层次获得间隔直方图并且能够组合该间隔直方图并提供给下一个更高的层次。
在处理子系统12A内,应用程序处理器(AP)14A耦合到应用程序存储器(AP Mem)13A上,其一般代表每一处理系统的处理器和存储器或者运行操作环境、虚拟机器、服务器实例和/或与计算系统的主要功能相关联的其它任务的“刀片”。同样在处理系统12A内,服务处理器(SP)16A提供对于包括在本发明的实施例中的处理系统12A的控制和监控功能,功耗和/或功率模式直方图数据的累积和准备。服务处理器16A耦合到服务处理器存储器(SPMem)15A上,该服务处理器存储器存储服务处理器程序指令和数据,包括本发明的直方图累积代码和直方图数据。既然服务处理器存储器15A一般是有限资源,本发明的优势在于功率使用历史能够以任意的间隔供应给多个应用程序而不增加服务处理器存储器15A所要求的存储器的大小。
轮询服务处理器16A及在其它子系统内的服务处理器并获得且处理直方图数据的监控应用程序可以是外部计算机系统或者是在处理系统12A-12D的一个或多个内的环境(虚拟机器或操作系统实例)内执行的应用程序。该监控应用程序可能包括用于产生系统功耗和/或功率模式历史的显示的纯监控应用程序,也可能包括通过控制处理子系统12A-12D的操作模式使用由本发明的技术所提供的数据来定制系统功耗的功率控制应用程序。
功率供给单元(PSU)19提供功率给处理子系统12A-12D,且可能包括不止一个一前一后操作的功率供给单元,或者可能供应功率给系统分离的部分。功率测量单元18A在处理子系统12A内示出,并且也出现在其它子系统12B-12D中。为了减少数据存储要求以及以任意的间隔提供功率使用数据给多个同时的监控应用程序,功率测量可以合并入PSU 19内且也可以合并本发明的技术。一般而言,本发明可以应用于期望或要求以任意的间隔提供功率使用数据的任何系统,和/或应用于一个监控应用程序的功率使用数据的读取不允许影响另一个应用程序所读取的数据的多个应用程序。通过观察子系统12A-12D内的处理器的操作模式,可选择地或共同地确定处理子系统12A-12D的功率使用。例如,XEON处理器(因特尔公司的产品)包括允许相应于最大频率的均等增加的8个不同的时钟节流功率控制模式的编程的多个功率水平操作模式。通过监控每个处理器的功率节省模式,能够累积关于每个子系统的功率使用的估计,并使用本发明的直方图技术来测量功率使用。(在XEON例子中,为了执行功率控制模式的累积,将仅需要8个条形块。)虽然绘图提供实现上文所描述的功率使用测量的结构体系的具体例子,但所描述的结构体系不应被认为是一个限制。例如,也可以控制单一处理器系统,正如在上文所描述的实施例中独立地控制每个子系统一样。
现在参考图2,阐明在图1的系统内实现本发明的方法的程序的组织。如上文所描述的功率测量/管理应用程序22轮询响应每个轮询而提供直方图数据组的功耗测量程序24和/或功耗模式控制程序26。功耗测量程序24提供数值计数的直方图。该数值相应于功耗的范围,每个具体的条形块中的计数代表自从最后一次条形块计数器翻转以来子系统的功耗落在相应于该具体的条形块的范围内的次数的数目。一个条形块计数器在每个采样间隔增加,其中采样间隔一般基本上比轮询直方图数据的轮询间隔短。为了提供也代表相关联的子系统的功率使用的直方图,功耗模式控制26能够提供类似的功耗模式的计数。尽管功率测量/管理应用程序22代表关于图1的系统的一个单一的实例,多个应用程序可以轮询关于特定的功能(诸如系统功率控制或功率使用显示)的直方图数据。功耗测量程序24和/或功耗模式控制程序26代表多个实例,一般关于每个子系统一个且由例如服务处理器16A的服务处理器执行。
现在参考图3,阐明根据本发明的实施例的有关直方图数据的操作和使用。在任意测量间隔的结尾,从子系统中读取直方图数据组32。然后从直方图数据组32中减去自该任意测量间隔开始先前所存储的直方图数据组34,以得出间隔差分直方图30。通过从所存储的直方图数据组中的相应条形块中减去关于该更加新的直方图数据组中的每个条形块的计数值,而执行相减操作。作为结果的间隔差分直方图30代表在关于轮询应用程序读取直方图数据组的时刻之间的间隔每个直方图范围内的值的频率的真实直方图。与最小的非零条形块36A相关联的值(保守地估计为范围的最小值)代表在间隔期间功率使用的最小值,且与最大的非零条形块值36B相关联的值(保守地估计为范围的最大值)得出功率使用最大值。能够通过用相关联的值与每个条形块计数相乘、将每个乘积相加然后用条形块的数目除而获得的直方图30的平均值代表关于该间隔的平均功耗。能够通过计算最大值36B和最小值36A的值的总和来估计关于在该间隔上整个系统的最大和最小功耗的保守边界,并且能够通过求直方图的平均值的和来估计系统平均功率。然而,通过在每个子系统中保持总的能量计数、在每个间隔的开始和结尾连同直方图数据一起读取总的能量计数并且减去该总的能量计数值以找到用于该间隔的能量,结合该直方图数据能够产生更加精确的子系统和整个系统的平均功率。能够通过除以该间隔期间所使用的能量而找到所消耗的功率。
只要输入值具有较高的分辨率,就可以通过增加条形块的数目而增加测量的分辨率。所采用的条形块的数目由所期望的直方图分辨率和关于相关联的子系统的最小和最大的可能功率和/或模式值而规定。每个条形块计数器的大小必须是使得完整的计数不可能在关于最慢的轮询应用程序的轮询之间发生。例如,以1秒的数据更新速率,2字节的计数器能够在18.2小时内产生完整的计数。(如果仅那个条形块增加,即,如果在整个18.2小时的间隔上,功率使用保持为常量,则那个计数器的完整绕回将仅发生在18.2小时内)。注意到仅仅是溢出不成为问题,因为计数差分的绝对值将得出适当的计数值,然而完整的绕回将引进不确定性,其能够将全计数值加上一掩码为零计数值。
本发明的整个系统值的精确性某种程度上依赖于能够从子系统中读取直方图数据的速率。具体来说,对于整个系统的最大/最小边界估计值和系统平均功率(如果通过将直方图平均值相加而估计),在对于每个子系统来说直方图数据关于其有效的间隔之间,将存在延迟。因而,最大/最小边界仅关于直方图间隔关于其重叠的间隔完全有效,且总平均可能偏离关于一间隔的真实的总平均功率。然而,因为功率测量应用程序一般能够存储大量的直方图并且能够存储关于每个子系统的直方图,所以能够通过在每个子系统上定位适当的间隔直方图并在所定位的间隔上将最小的和最大的功率水平组合从而找到关于时间上给定的时刻的精确的最小和最大功率边界。类似地,如果必须关于一个固定的间隔找到最大和最小边界且那个间隔跨越不止一个子系统直方图的有效间隔,则在跨越该间隔的直方图的所有全体和根据那些水平保守地估计的关于整个系统的边界之上能够找到最大和最小水平。
现在关于图4,在流程图中描述根据本发明的实施例的功率测量方法。首先(步骤40),每个服务处理器读取功耗指标(例如,所测量的功率或功率模式)(步骤40)。服务处理器确定该数值相应的条形块,并增加条形块计数(步骤42)。除非应用程序正需要功率数据(判决44),否则重复步骤40和42,更新直方图。当应用程序需要功率数据时(判决44),该应用程序轮询每个服务处理器,以获得完整当前的直方图计数值(步骤46)。应用程序从关于相应的子系统的先前的数据组中减去每个直方图数据组,以得到间隔差分直方图(步骤48)。该应用程序然后找到最大和最小的非零条形块以得到关于每个子系统的最大和最小值,并在子系统上将它们相加以得到关于整个系统的最大/最小边界(步骤50)。应用程序然后从计算直方图平均值中获得关于每个子系统的平均值,并将该平均值求和以估计关于整个系统的平均值(步骤52)。重复步骤40-54,直到系统关闭或者方案结束。
尽管已经参照其优选的实施例,具体地示出和描述了本发明,本领域技术人员将理解到,在其中可以作形式上的上述和其它改变和详述而不背离本发明的精神和范围。
权利要求
1.一种在电子系统中、在任意的间隔上测量功耗指标的方法,包括在相应于直方图的多个存储位置的相应的多个中,以预定的速率累积所述功耗指标的值的计数;在所述任意间隔的开始从所述存储位置第一读取第一直方图数据组;在所述任意间隔的结尾从所述存储位置第二读取第二直方图数据组;以及从所述第二直方图数据组中减去所述第一直方图数据组以形成间隔差分直方图。
2.如权利要求1所述的方法,进一步包括通过定位所述间隔差分直方图的最低估值的非零条形块,在所述任意间隔上找到所述功耗指标的最小值。
3.如权利要求1所述的方法,进一步包括通过定位所述间隔差分直方图的最高估值的非零条形块,在所述任意间隔上找到所述功耗指标的最大值。
4.如权利要求1所述的方法,进一步包括通过计算所述间隔差分直方图的平均值,在所述任意间隔上找到所述功耗指标的平均值。
5.如权利要求1所述的方法,其中所述功耗指标是关于所述电子系统的所测量的功耗值。
6.如权利要求1所述的方法,其中所述功耗指标是关于所述电子系统的功耗模式值。
7.如权利要求1所述的方法,其中所述电子系统包括多个子系统,其中关于所述子系统的每一个执行所述累积、所述第一读取、所述第二读取和相减。
8.如权利要求7所述的方法,进一步包括对于时间上一个给定的时刻通过如下步骤找到所述功耗指标的总量的最小边界通过关于所述子系统的每一个定位包含所述时间上给定的时刻的具体间隔,关于所述子系统的每一个在该具体间隔上找到所述功耗指标的最小值;对于所述子系统的每一个,找到相应于所述具体间隔的间隔差分直方图的最低估值的非零条形块,以确定关于每个子系统的最小值;以及将关于所述子系统的每一个的最小值相加,以确定所述最小边界。
9.如权利要求7所述的方法,进一步包括关于时间上一个给定的时刻,通过如下步骤找到所述功耗指标的总量的最大边界通过关于所述子系统的每一个定位包含所述时间上给定的时刻的具体间隔,关于所述子系统的每一个在具体间隔上找到所述功耗指标的最大值;对于所述子系统的每一个,找到相应于所述具体间隔的间隔差分直方图的最高估值的非零条形块,以确定关于每个子系统的最大值;以及将关于所述子系统的每一个的最大值相加,以确定所述最大边界。
10.一种系统,包括至少一个处理器,所述处理器耦合到用于存储由所述处理器执行的程序指令和相应于所述系统的功耗指标的直方图的数据的至少一个存储器上,所述数据包括多个分配到所述功耗指标的值的范围的计数值,且其中所述程序指令包括用于如下步骤的程序指令在相应于直方图的多个存储位置的相应的多个中,以预定的速率累积所述功耗指标的值的计数;在所述任意间隔的开始从所述存储位置读取第一直方图数据组,并在所述任意间隔的结尾读取第二直方图数据组;以及从所述第二直方图数据组中减去所述第一直方图数据组,以形成间隔差分直方图。
11.如权利要求10所述的系统,其中所述至少一个处理器包括耦合到服务处理器存储器的服务处理器和耦合到应用程序存储器的应用程序处理器,其中所述用于累积和读取的程序指令存储在所述服务处理器存储器中并由所述服务处理器执行,其中所述用于相减的程序指令存储在所述应用程序存储器中并由所述应用程序处理器执行,以及其中存储在所述应用程序存储器中的所述程序指令进一步包括用于轮询所述服务处理器以供应直方图数据的程序指令,其中所述应用程序处理器在所述任意间隔的开始和结尾执行所述用于轮询的程序指令以及其中所述服务处理器响应所述轮询执行所述用于读取的程序指令,由此所述服务处理器供应所述第一和第二直方图数据组给所述应用程序处理器。
12.如权利要求11所述的系统,其中所述服务处理器和所述应用程序处理器位于第一子系统中,且其中所述系统进一步包括至少一个具有至少一个其它服务处理器和至少一个其它应用程序处理器的其它子系统,以及其中所述应用程序处理器轮询所述服务处理器的每一个以获得多对所述第一和第二直方图数据组,对于所述子系统的每一个具有一对并在所述直方图数据组对的每一对上执行所述用于相减的程序指令。
13.如权利要求12所述的系统,其中所述应用程序存储器进一步包括由所述应用程序处理器所执行的用于找到关于时间上给定的时刻的所述功耗指标的总量的最小边界的附加的程序指令,且其中所述附加的程序指令包括用于如下步骤的程序指令通过关于所述子系统的每一个定位包含所述时间上给定的时刻的具体间隔,关于所述子系统的每一个在该具体间隔上找到所述功耗指标的最小值;对于所述子系统的每一个,找到相应于所述具体间隔的间隔差分直方图的最低估值的非零条形块,以确定关于每个子系统的最小值;以及将关于所述子系统的每一个的最小值相加以确定所述最小边界。
14.如权利要求12所述的系统,其中所述应用程序存储器进一步包括由所述应用程序处理器所执行的用于找到关于时间上给定的时刻的所述功耗指标的总量的最大边界的附加的程序指令,且其中所述附加的程序指令包括用于如下步骤的程序指令通过关于所述子系统的每一个定位包含所述时间上给定的时刻的具体间隔,关于所述子系统的每一个在具体间隔上找到所述功耗指标的最大值;对于所述子系统的每一个,找到相应于所述具体间隔的间隔差分直方图的最高估值的非零条形块,以确定关于每个子系统的最大值;以及将关于所述子系统的每一个的最大值相加以确定所述最大边界。
15.如权利要求10所述的系统,其中所述程序指令进一步包括用于通过定位所述间隔差分直方图的最低估值的非零条形块,在所述任意间隔上找到所述功耗指标的最小值的程序指令。
16.如权利要求10所述的系统,其中所述程序指令进一步包括用于通过定位所述间隔差分直方图的最高估值的非零条形块,在所述任意间隔上找到所述功耗指标的最大值的程序指令。
17.如权利要求10所述的系统,其中所述程序指令进一步包括用于通过计算所述间隔差分直方图的平均值,在所述任意间隔上找到所述功耗指标的平均值的程序指令。
18.如权利要求10所述的系统,其中所述功耗指标是关于所述电子系统的所测量的功耗值。
19.如权利要求10所述的系统,其中所述功耗指标是关于所述电子系统的功耗模式值。
20.一种包括由处理器执行的信号承载媒介编码程序指令的计算机程序产品,所述程序指令包括在任意间隔的开始,读取包括电子系统的功耗指标的值的累积计数的第一直方图数据组;在所述任意间隔的结尾,读取包括电子系统的功耗指标的值的进一步累积计数的第二直方图数据组;从所述第二直方图数据组减去所述第一直方图数据组,以确定间隔差分直方图;以及按照所述间隔差分直方图,确定所述电子系统的功率性能的指标。
全文摘要
一种关于功率/性能测量和管理的直方图差分方法和系统,具有低数据存储器要求,而支持具有不同的更新速率的多个监控应用程序。以预定的速率收集关于功率使用和/或性能模式的直方图数据,并由监控应用程序以周期的间隔读出该直方图数据。监控应用程序从先前所读取的直方图数据组中减去该直方图数据,以确定间隔差分直方图。关于该间隔的最小和最大值为具有大于零的计数的间隔差分直方图中的最低估值和最高估值的条形块。关于该间隔的平均值为间隔差分直方图的平均值。能够通过将关于系统中每个子系统所确定的最大和最小值的数值相加而确定关于该系统的最大和最小值的保守边界。
文档编号G06F11/34GK1975692SQ200610121660
公开日2007年6月6日 申请日期2006年8月28日 优先权日2005年11月29日
发明者查尔斯·R·莱富尔吉, 托马斯·M·布雷, 马尔科姆·S·韦尔, 马克·A·里纳尔蒂 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1