书签 分享 收藏 举报 版权申诉 / 20

分布式功率做预算.pdf

  • 上传人:54
  • 文档编号:6147211
  • 上传时间:2019-04-19
  • 格式:PDF
  • 页数:20
  • 大小:3.39MB
  • 摘要
    申请专利号:

    CN201310594629.9

    申请日:

    2013.11.21

    公开号:

    CN103838351A

    公开日:

    2014.06.04

    当前法律状态:

    授权

    有效性:

    有权

    法律详情:

    授权|||实质审查的生效IPC(主分类):G06F 1/32申请日:20131121|||公开

    IPC分类号:

    G06F1/32; G06F13/16

    主分类号:

    G06F1/32

    申请人:

    国际商业机器公司

    发明人:

    A·德拉克; G·J·席尔瓦; T·G·哈莱特; H·L·汉森; J·柯塞曼; C·R·勒夫吉; K·拉加玛尼; T·J·罗斯达尔; M·S·艾伦-韦尔

    地址:

    美国纽约阿芒克

    优先权:

    2012.11.27 US 13/686,333

    专利代理机构:

    北京市金杜律师事务所 11256

    代理人:

    酆迅;陈颖

    PDF完整版下载: PDF下载
    内容摘要

    实施例包括从具有多个部件的节点的多个控制器中的每个控制器收集部件功率消耗。多个控制器中的每个控制器与多个部件中的一个或者多个部件关联。向控制器提供部件功率消耗。至少部分地基于部件功率消耗确定用于节点的节点功率消耗。为多个部件确定功率上限。将功率差确定为节点功率消耗与用于多个部件的功率上限之差。基于部件的部件功率消耗确定节点功率消耗中由部件消耗的比例。至少部分地基于功率差和节点功率消耗中由部件消耗的比例而为部件计算本地功率预算。

    权利要求书

    权利要求书
    1.  一种方法,包括:
    从具有多个部件的节点的多个控制器中的每个控制器收集部件功率消耗,其中所述多个控制器中的每个控制器与所述多个部件中的相应部件相关联;
    向所述多个控制器中的每个控制器提供所述部件功率消耗;
    针对所述多个部件中的每个部件,
    至少部分地基于所述部件功率消耗而为所述节点确定节点功率消耗;
    将功率差确定为所述节点功率消耗与用于所述多个部件的功率上限之差;
    基于所述部件的所述部件功率消耗确定所述节点功率消耗中由所述部件消耗的比例;以及
    至少部分地基于所述功率差和所述节点功率消耗中由所述部件消耗的所述比例而为所述部件计算本地功率预算。

    2.  根据权利要求1所述的方法,还包括为所述多个部件确定所述功率上限。

    3.  根据权利要求1所述的方法,其中所述向所述系统的所述多个控制器中的每个控制器提供所述部件功率消耗包括:
    在位置中存储所述部件功率消耗;以及
    向所述多个控制器提供提醒,其中所述提醒包括关于已经存储了所述部件功率消耗的指示和关于已经在其存储了所述部件功率消耗的所述位置的指示。

    4.  根据权利要求1所述的方法,其中所述向所述系统的所述多个控制器中的每个控制器提供所述部件功率消耗包括向所述多个控制器广播所述部件功率消耗。

    5.  根据权利要求1所述的方法,其中所述至少部分地基于所述总功率消耗的所述本地比例为所述部件计算所述本地功率预算包 括:基于所述节点功率消耗中由所述部件消耗的所述比例和所述功率差代表的功率的过量消耗而从当前本地功率预算减少所述本地功率预算。

    6.  根据权利要求1所述的方法,其中所述至少部分地基于所述总功率消耗的所述本地比例而为所述部件计算所述本地功率预算包括:基于所述本地比例和所述功率差代表的功率的消耗不足而从当前本地功率预算增加所述本地功率预算。

    7.  根据权利要求1所述的方法,其中所述多个部件包括处理器部件和存储器部件。

    8.  根据权利要求1所述的方法,还包括针对所述多个部件中的每个部件,控制所述部件以根据所述本地功率预算而操作。

    9.  一种装置,包括:
    多个部件;
    功率子系统,被配置用于从所述多个部件中的每个部件收集功率消耗,并且收集后台功率消耗;
    分发器,与所述功率子系统和所述多个部件耦合,所述分发器被配置用于至少部分地基于所述功率子系统从所述多个部件收集的所述功率消耗和所述后台功率消耗而向多个控制器中的每个控制器提供关于用于所述装置的功率消耗的指示;
    所述多个控制器中的每个控制器与所述多个部件中的相应部件相关联并且被配置用于:
    至少部分地基于所述功率子系统从所述多个控制器中的每个控制器收集的所述功率消耗和所述后台功率消耗而确定功率差为用于所述装置的功率上限与用于所述装置的总功率消耗之差;
    确定所述总功率消耗中与所述控制器相关联的所述多个部件中的所述相应部件对应的比例;以及
    至少部分地基于所述功率差和所述总功率消耗中与所述多个部件中的所述相应部件对应的所述比例来为所述多个部件中 的所述相应部件计算本地功率预算。

    10.  根据权利要求9所述的装置,其中所述多个控制器中的每个控制器还被配置用于确定确定用于所述装置的所述总功率消耗。

    11.  根据权利要求9所述的装置,其中所述分发器被配置用于向所述多个控制器中的每个控制器提供关于用于所述装置的功率消耗的所述指示包括所述分发器被配置用于:
    在能被所述多个控制器访问的存储器位置中存储关于用于所述装置的功率消耗的所述指示;以及
    向所述多个控制器通报已经在所述存储器位置处存储关于用于所述装置的功率消耗的所述指示。

    12.  根据权利要求9所述的装置,其中所述分发器被配置用于向所述多个控制器中的每个控制器提供用于所述装置的功率消耗的所述指示包括:所述分发器被配置用于向所述多个控制器广播关于用于所述装置的功率消耗的所述指示。

    13.  根据权利要求9所述的装置,其中所述多个控制器中的每个控制器还被配置用于基于所述总功率消耗中与所述多个部件中的所述相应部件对应的所述比例和所述功率差代表的功率的过量消耗而从当前本地功率预算减少所述本地功率预算。

    14.  根据权利要求9所述的装置,其中所述多个控制器中的每个控制器还被配置用于基于所述总功率消耗中与所述多个部件中的所述相应部件对应的所述比例和所述功率差代表的功率的消耗不足而从当前本地功率预算增加所述本地功率预算。

    15.  根据权利要求9所述的装置,其中所述多个部件包括处理器部件和存储器部件。

    16.  根据权利要求9所述的装置,其中所述多个控制器中的每个控制器被配置用于控制关联的所述部件以根据所述本地功率预算进行操作。

    17.  一种装置,包括:
    多个处理部件;
    分发器,被配置用于至少部分地基于所述多个处理部件的部件功率消耗而向多个控制器中的每个控制器提供关于用于所述装置的功率消耗的指示;
    多个控制器,每个所述控制器与所述多个处理部件中的相应处理部件相关联,所述多个控制器中的每个控制器被配置用于:
    至少部分地基于所述部件功率消耗将功率差确定为用于所述装置的功率上限与功率消耗总和之差;
    确定所述功率消耗总和中归因于与所述控制器相关联的所述多个处理部件中的所述相应处理部件的比例;
    至少部分地基于所述功率差和所述功率消耗总和中归因于与所述控制器相关联的所述多个处理部件中的所述相应处理部件的所述比例而为与所述控制器相关联的所述多个处理部件中的所述相应处理部件计算本地功率预算。

    18.  根据权利要求17所述的装置,其中所述功率消耗总和包括后台功率消耗。

    19.  根据权利要求17所述的装置,还包括存储器,其中所述分发器被配置用于向所述存储器写入关于用于所述装置的功率消耗的所述指示,并且被配置用于向所述多个控制器通报关于已经向所述存储器写入功率消耗的所述指示。

    说明书

    说明书分布式功率做预算
    技术领域
    本发明主题内容的实施例总体涉及计算机系统功率管理领域,并且更具体地涉及用全局功率消耗信息通知的分布式功率管理。
    背景技术
    已经使用各种技术尝试来减少功率消耗而又维持系统性能。例如一些系统使用动态电压和频率缩放(DVFS)。DVFS修改向系统供应的电压和处理器操作的频率。DVFS可以允许系统在低功率状态中操作并且仅在必要时具有增加的功率消耗。例如在高工作负载时段期间,向系统供应的电压和处理器操作的频率可以是高的。在低工作负载时段期间,DVFS可以减少向系统供应的电压并且减少处理器操作的频率。除了DVFS之外,一些系统利用功率上限设定机制(capping mechnisam)。这样的机制对系统的功率消耗施加上限或者设定上限。
    发明内容
    本发明主题内容的实施例包括从具有多个部件的节点的多个控制器中的每个控制器收集部件功率消耗。多个控制器中的每个控制器与多个部件中的相应部件相关联。向多个控制器中的每个控制器提供部件功率消耗。至少部分地基于部件功率消耗确定用于节点的节点功率消耗。为多个部件确定功率上限。将功率差确定为节点功率消耗与用于多个部件的功率上限之差。基于部件的部件功率消耗确定节点功率消耗中由部件消耗的比例。至少部分地基于功率差和节点功率消耗中由部件消耗的比例而为部件计算本地功率预算。
    本发明主题内容的实施例包括一种包括多个处理部件的装置。 分发器用于至少部分地基于多个处理部件的部件功率消耗而向多个控制器中的每个控制器提供关于用于装置的功率消耗的指示。多个控制器,每个控制器与多个处理部件中的相应处理部件相关联。多个控制器至少部分地基于部件功率消耗而将功率差确定为用于装置的功率上限与功率消耗总和之差。多个控制器中的相应控制器确定功率消耗总和中可归于与控制器关联的多个处理部件中的相应处理部件的比例。至少部分地基于功率差和功率消耗求和中可归于与控制器相关联的多个处理部件中的相应处理部件的比例来计算用于与控制器相关联的多个处理部件中的相应处理部件的本地功率预算。
    附图说明
    可以通过参照附图更好地理解本实施例并且使许多目的、特征和优点为本领域技术人员所清楚。
    图1描绘具有分布式本地功率做预算的示例节点的概念图,该分布式本地功率做预算基于功率消耗的节点级可见性。
    图2是用于基于在给定的时间段中的节点功率消耗的可见性本地更新部件功率做预算的示例操作的流程图。
    图3描绘具有分布式本地功率做预算的示例节点的概念图,该分布式本地功率做预算基于用通报技术传达的功率消耗的节点级可见性。
    图4是用于用通报技术基于在给定的时间间隔中的节点功率消耗的可见性本地更新部件功率预算的示例操作的流程图。
    图5描绘示例计算机系统500。
    具体实施方式
    以下描述包括具体化本发明主题内容的技术的示例系统、方法、技术、指令序列和计算机程序产品。然而理解无这些具体细节仍然可以实现描述的实施例。例如虽然示例建议在部件控制器与部件之间的1:1关系,但是部件控制器可以与多个部件关联。在其它 实例中,尚未具体示出公知指令实例、协议、结构和技术以免模糊该描述。
    功率管理机制经常为集中式——也就是说,中央控制器或者微处理器管理向系统的每个部件供应的功率。集中式功率管理可以有效控制系统的功率消耗、但是从性能观点来看也可能开销大。由于中央控制器或者微处理器为每个部件管理功率分配,所以为系统的多个部件管理功率消耗繁重地占用中央控制器或者微处理器。在频繁修改功率分配的系统中,功率管理花费资源为部件计算功率分配并且带来用于在整个系统内传达功率分配的通信开销。
    分散用于部件的功率预算的控制和管理允许具有多个部件的复杂系统中的可缩放性以及减少处理开销。收集关于系统中的多个部件的功率消耗的信息,然后向用于部件中的每个部件的控制器分发该信息。系统范围的功率消耗信息的这一分布向部件的控制器提供功率消耗的节点集视图。对于这一描述,节点包括一组部件。节点的示例包括服务器、架服务器、具有多个微处理器的板、刀片服务器、多核处理器等。部件的示例包括处理器、存储器模块、输入/输出中枢控制器、处理器核、核存储器等。利用功率消耗信息,用于部件的控制器(“部件控制器”)可以基于节点功率消耗的可归于部件的比例为部件计算功率预算。这一部件级比例功率做预算允许一致性能。将向使用更大量功率的部件给予更大部件功率预算,并且将向消耗更少量功率的部件(例如空闲部件)给予更小部件功率预算。更大功率预算允许工作部件消耗在可用时的更大量功率并且减少在节点功率消耗超过节点功率上限时的减少影响。分散确定部件功率预算的任务避免功率管理中的单个故障点。安排处理器分发功率消耗信息而不是计算若干功率预算释放资源(例如周期)用于其它任务。或者可以安排更少资源密集的部件分发功率消耗信息。
    图1描绘具有分布式本地功率做预算的示例节点的概念图,该分布式本地功率做预算基于功率消耗的节点级可见性。图1的节点包括功率子系统104、多个部件和分发器。图1仅描绘三个部件102、 110和112以避免向该图添加不必要的复杂性。部件102、110和112中的每个部件具有相应部件控制器108、114和116。可以用比例控制器、比例-积分控制器和比例-积分-微分控制器中的任何控制器实施部件控制器。图1描绘在阶段A-D的示例操作。这些阶段为示例,并且未必随时间而离散出现(例如不同阶段的操作可以重叠)。
    在阶段A,功率子系统104以周期性间隔从部件控制器108、114和116中的每个部件控制器收集部件功率消耗数据。例如功率子系统104在时间段x内从部件控制器108、114和116中的所有部件控制器收集功率消耗数据。功率消耗数据指示可以归于单个部件的功率消耗。但是功率可以被部件和子部件和/或其它耦合的部件消耗。例如功率消耗数据可以指示可归于处理器部件的功率消耗数量。但是功率实际上被处理器部件、处理器部件的片外高速缓存和由处理器部件使用的随机存取存储器消耗。收集功率消耗数据可以根据推送方法、拉取方法或者二者的组合。部件102、110和112可以被配置用于以周期性间隔向功率子系统104自动发送部件功率消耗数据。功率子系统104可以以周期性间隔主动从部件102、110和112请求部件功率消耗数据。功率子系统104也收集后台功率(background power)消耗数据(例如风扇功率消耗)。除了收集功率消耗数据之外,功率子系统104过滤功率消耗数据以去除可以在功率消耗数据中出现的电噪声。
    在阶段B,功率子系统104向分发器106供应收集的功率消耗数据。同样,拉取方法、推送方法或者推送与拉取的组合可以用来从功率子系统104向分发器106输送收集的功率消耗数据。例如分发器106可以在每个周期性间隔到期时向功率子系统104轮询收集的功率消耗数据。作为另一示例,功率子系统104可以响应于从部件收集功率消耗数据并且收集后台功率消耗数据向分发器106发送消息(例如中断)。在阶段C,分发器106向部件控制器108、114和116分发部件功率消耗数据的收集。如果用于节点的上限功率消耗阈值(“节点功率上限”)尚未已知或者不易于被每个控制器访问 (例如在控制器可用的存储器中在引导时设置节点功率上限),则分发器106也向部件控制器108、114和116中的每个部件控制器传达节点功率上限。
    在阶段D,部件控制器108、114和116中的每个部件控制器为它们的关联部件102、110和112计算比例部件功率预算。下表举例说明基于节点功率消耗的比例部件功率预算。

    表1
    表1指示用于节点的部件功率消耗。节点具有四个核和八个部件(每核有两个部件——处理器部件和存储器部件)。在“T0”列中指示每个部件在时间段0期间的功率消耗(以瓦特为单位)。在时间段0期间,核0消耗共计260W(处理器部件:170W,存储器部件90W)。如“工作负载”列所示,核0在时间段0期间工作而未处于空闲状态。然而核1-3在时间段0期间未处于空闲状态并且消耗比核0更少的功率(每核160W——核1-3的每个处理器部件:110W,核1-3的每个存储器部件50W)。表1也包括在时间段0期间消耗的后台功率。节点功率消耗在时间段0期间为840W(包括100W的后台功率消耗)。
    假设节点具有节点功率上限1000W,节点在时间段0期间未充分利用总功率容量160W。在接收到(在表1中描绘的)功率消耗数据之后,节点的部件控制器中的每个部件控制器为时间段1计算部 件功率预算。表2示出基于按比例地计算的比例部件功率预算。

    表2
    如先前讨论的那样,将为时间段1分配的过量功率为160W。在时间段0期间,核0的处理器部件消耗170W。这代表在时间段0期间消耗的节点功率的大约20%。因此,将为核0的处理器部件做预算为在时间段1期间的过量功率160W的大约20%或者过量功率中的大约32W。将为核0的处理器部件做预算为用于时间段1大约202W。
    以上示例举例说明本地计算功率预算计算相对于集中方式的效率。取代使核之一或者另一处理承担为4个核(即8个部件)计算功率预算的是,每个部件控制器为仅两个部件计算功率预算。因而每个部件控制器每时间段仅进行五个功率做预算计算:
    1.确定节点功率消耗的倒数(“1/节点”)
    2.通过将处理器部件用于时间段0的功率消耗乘以1/节点来确定处理器部件用于时间段0的分数功率消耗(“分数p”)
    3.通过将可用于时间段0的过量功率乘以分数p来确定用于时间段1的过量功率的处理器部件比例。
    4.通过将存储器部件用于时间段0的功率消耗乘以1/节点来确定存储器部件用于时间段0的分数功率消耗(“分数m”)。
    5.通过将可用于时间段0的过量功率乘以分数m来确定用于 时间段1的过量功率的处理器部件比例。
    估计这五个计算消耗少于100个周期。假设每周期为2ns,需要100个周期的过程所消耗的时间为200ns。例如如果每个时间段为少于100个周期的250μs,则用于每个部件控制器计算功率预算的处理时间少于250μs时间段的百分之一(<200ns/250μs→或者<0.8%)。这在每秒的部件控制器指令方面产生少于1%的处理消耗。
    在一些情况下,节点可以消耗比为节点定义或者设置的给定的总功率容量更多的功率。实施例可以使用比例部件功率预算的分布式计算以跨越部件用比例方式节制功率消耗。在表3和表4中描绘这一点的示例。

    表3
    表3指示在时间段2期间用于节点的部件功率消耗。同样。节点具有四个核和八个部件(每核有两个部件——处理器部件和存储器部件)。不同于表1,表3指示核0和核1二者在时间段2期间工作而不处于空闲状态。在时间段2期间,核0和核1各自消耗共计340W(每个处理器部件:220W,每个存储器部件:120W)。如在表1中那样,核2和核3二者在时间段2期间处于空闲状态并且消耗比核0和核1更少的功率(每核160W——核2-3的每个处理器部件:110W,核2-3的每个存储器部件:50W)。节点功率消耗在时间段2期间为1100W(包括后台功率消耗100W)。
    同样假设节点具有定义的节点功率上限1000W,节点在时间段2期间比节点功率上限超过100W。在接收(在表3中描绘的)功率消耗数据之后,节点的个别计算部件为时间段3计算部件功率预算。表4示出基于按比例地计算比例部件功率预算。应当注意未减少后台功率。因而,为了使得节点功率消耗在1000W节点功率上限内,必须使得排除后台功率消耗的节点功率消耗在900W以下。换而言之,每个部件用于时间段3的部件功率预算将被减少基于它们在时间段2期间的功率消耗而使用的过量功率100W的部分。

    表4
    如先前讨论的那样,节点在时间段2期间消耗的过量功率为100W。因而,用于时间段3的节点功率消耗将被减少100W。在时间段2期间,核0的处理器部件消耗220W。这代表在时间段2期间消耗的节点功率的大约20%。核0的处理器部件用于时间段3的功率预算将被减少在时间段2期间消耗的过量功率100W的大约20%或者大约20W。核0的处理器部件将被做预算为针对时间段3大约200W。
    讨论的功率做预算可以在若干场景中节约资源。在第一场景中,部件消耗相对少的功率,并且节点功率消耗在节点功率上限以下。由于节点功率在节点功率上限以下,所以控制系统不必参与。因此,部件能够以其最大性能运行。
    在第二场景中,部件消耗相对更大功率,并且节点功率消耗在节点功率上限以下。由于节点功率消耗在节点功率上限以下,所以控制系统不必参与。因此,部件能够以其最大性能运行。
    在第三场景中,部件消耗相对少的功率,并且节点功率消耗在节点功率上限以上。由于节点功率消耗在节点功率上限以上,所以控制系统将参与并且将减少节点功率消耗。在这一场景中,与消耗相对少的功率的部件关联的部件控制器可以在后续时间段期间为部件减少功率预算,从而辅助将节点功率消耗带到节点功率上限以下。此外,如果消耗相对少的功率的部件经历工作负载骤增,则可以基于在更低工作负载时段期间向该部件给予的预算未违反节点功率上限。这可以防止节点功率消耗在部件经历工作负载骤增时违反节点功率上限。
    在第四场景中。部件消耗相对更大功率,并且节点功率消耗在节点功率上限以上。由于节点功率消耗在节点功率上限以上,则控制系统将参与并且将减少节点功率消耗。在这一场景中,与消耗相对更大功率的部件关联的部件控制器可以在后续时间段内减少向部件的功率预算从而辅助将节点功率消耗带到节点功率上限以下。由于功率做预算有比例,所以仍然将相对于其它部件为消耗相对大功率的部件做预算为功率的大部分。一旦在节点功率上限以下,可以增加消耗相对大功率的部件的功率预算以增加性能。如果再次违反节点功率上限,该过程可以重复本身。
    图2是用于基于在给定的时间段中的节点功率消耗的可见性本地更新部件功率做预算的示例操作的流程图。该流程始于块202。
    在块202,分发器从功率子系统获得包括部件功率消耗和后台功率消耗的节点功率消耗数据。多种实现方式有可能用于分发器获得节点功率消耗数据。例如功率子系统可以在给定的时间段的所有节点功率消耗数据可用于由分发器读取时向分发器发信号。备选地,功率子系统可以向分发器可访问的存储器位置或者作为分发器的部分的存储器位置成批或者递增地(在从每个部件控制器接收数据时 写入数据)写入节点功率消耗数据。该流程在块204继续。
    在块204,分发器计算节点功率消耗。分发器计算部件功率消耗与后台功率消耗之和。该流程在块206继续。
    在块206,分发器确定为节点定义的节点功率上限。可以用许多方式设置节点功率上限。例如可以设置节点的物理约束设置节点功率上限。可以根据策略或者固件设置节点功率上限。该流程在块208继续。
    在块208,分发器向部件控制器中的每个部件控制器提供节点功率消耗和节点功率上限。分发器可以向部件控制器中的每个部件控制器广播节点功率消耗和节点功率容量。例如分发器向部件控制器发送携带节点功率消耗和节点功率上限的消息或者分组。作为另一示例,分发器向部件控制器中的每个部件控制器中写入节点功率消耗和节点功率上限。该流程在块210继续。
    从块210的和在块210之后的操作代表部件控制器之一的操作。在块210,部件控制器从分发器获得节点功率消耗和节点功率上限。如关于块208陈述的那样,部件控制器可以通过总线接收节点功率消耗和节点功率上限、从本地寄存器读取节点功率消耗和节点功率上限等。该流程在块212继续。
    在块212,部件控制器为与部件控制器关联的部件计算用于下一时间段的部件功率预算。基于用于给定的时间段的节点功率消耗和节点功率消耗的在给定的时间段期间由部件使用的比例执行这一计算。该流程在块214继续。
    在块214,为关联部件计算用于下一时间段的计算的部件功率预算。例如控制器激活致动器以根据用于后继时间段的计算的部件功率预算修改部件的操作。控制器本身可以致动功率消耗改变,或者控制器可以向另一设备传递计算的部件功率预算的指示,该另一设备相应地修改关联部件的操作。
    图3描绘具有分布式本地功率做预算的示例节点的概念图,该分布式本地功率做预算基于用通报技术传达的功率消耗的节点级可 见性。图3的节点包括功率子系统304、多个部件302、312和314、分发器306以及存储器310。可以跨越部件302、312和314共享存储器310。存储器310可以是部件中的个别部件以及分发器306可访问的不同存储器。图3仅描绘三个部件302、312和314以避免向该图添加不必要的复杂性。部件中的每个部件具有相应部件控制器308、316和318。图3描绘示例操作,这些操作被描绘为在阶段A-F内出现。阶段为示例而未必是随时间的离散出现(例如不同阶段的操作可以重叠)。
    在阶段A,功率子系统304以周期性间隔从部件控制器308、316和318中的每个部件控制器收集部件功率消耗数据并且收集后台功率消耗。未必从部件控制器308、316和318收集后台功率消耗。功率消耗数据指示可以归于单个部件的功率消耗。但是功率可以被部件和/或子部件和/或其它耦合的部件消耗。例如功率消耗数据可以指示可归于处理器的功率消耗数量。但是功率实际上被处理器、处理器的片外高速缓存和由处理器使用的随机存储器消耗。收集功率消耗数据可以是推送方法、拉取方法或者二者的组合。部件302、312和314可以被配置用于以周期性间隔向功率子系统304自动发送部件功率消耗数据。功率子系统304可以以周期性间隔主动请求来自部件302、312和314的部件功率消耗数据。功率子系统304也收集后台功率消耗数据(例如风扇功率消耗)。除了收集功率消耗数据之外,功率子系统304也过滤功率消耗数据以去除电噪声。
    在阶段B,功率子系统304向分发器306供应收集的功率消耗数据。同样,拉取方法、推送方法或者推送与拉取的组合可以用来从功率子系统304向分发器306传送收集的功率消耗数据。例如分发器306可以在每个周期性间隔到期时向功率子系统304轮询收集的功率消耗数据。作为另一示例,功率子系统304可以响应于收集包括后台功率消耗数据的功率消耗数据向分发器306发送消息(例如中断)。
    在阶段C,分发器306向存储器310写入功率消耗数据的收集。 例如分发器306向存储器310的保留节段写入功率消耗数据的收集。或者分发器306向存储器310中的可用自由空间写入功率消耗的收集。
    在阶段D,分发器306向部件控制器302、312和314通报已经向存储器310写入功率消耗数据的收集。该通报指示存储器310的其中已经写入数据的一个或者多个地址。如果每个控制器未知用于节点的功率上限(例如在控制器可访问的存储器中在引导时设置功率上限、固件在寄存器中定义功率上限等),则分发器306也向存储器310写入节点功率上限并且向部件控制器302、312和314通报存储器中的其中已经写入节点功率上限的位置。
    在阶段E,部件控制器308、316和318访问存储器310并且取回功率消耗数据和节点功率上限的收集。例如部件控制器308、316和318用分发器306提供的地址访问存储器310。作为另一示例,部件控制器308、316和318用存储于本地寄存器中的用于存储器310的保留节段的地址访问存储器310。
    在阶段F,部件控制器308、316和318中的每个部件控制器为它们的关联部件302、312和314计算比例部件功率预算。如先前讨论的那样(见图1和表1-4的讨论),部件功率预算基于在部件级的节点功率消耗认知。
    图4是用于用通报技术基于在给定的时间间隔中的节点功率消耗的可见性本地更新部件功率预算的示例操作的流程图。该流程始于块402。
    在块402,分发器从功率子系统获得用于给定的时间段的包括部件功率消耗和后台功率消耗的节点功率消耗数据。多种实现方式有可能用于分发器获得节点功率消耗数据。例如功率子系统可以在给定的时间段的所有节点功率消耗数据可用于由分发器读取时向分发器发信号。备选地,功率子系统可以向分发器可访问的存储器位置或者作为分发器的部分的存储器位置成批或者递增地(在从每个部件控制器接收数据时写入数据)写入节点功率消耗数据。该流程 在块404继续。
    在块404,分发器为节点确定节点功率上限。可以根据如关于图2提到的不同技术设置节点功率上限。该流程在块406继续。
    在块406,分发器向存储器写入节点功率消耗数据和节点功率上限。分发器可以向存储器的为功率消耗保留的分段写入部件功率消耗的收集、向存储器的另一保留分段写入后台功率消耗并且向存储器的不同保留分段写入节点功率上限。该流程在块408继续。
    在块408,分发器向部件控制器通报已经向存储器写入用于给定的时间段的部件功率消耗并且写入总功率容量。通报可以是中断的形式,该中断向部件控制器提醒已经向存储器写入用于给定的时间段的部件功率消耗并且写入总功率容量。通报包括存储器中的位置,部件控制器可以从该位置取回用于第一给定的时间段的部件功率消耗并且取回节点功率上限。一些实施例保留存储器的x个段以保留跨越x个时间间隔的功率消耗数据。直至填充了x个段才改写用于时间间隔的功率消耗数据。一些实施例随着功率消耗数据写入时间戳。该流程在块410继续。
    从块410的和在块410之后的操作代表部件控制器之一的操作。部件控制器异步访问存储器。在块410,部件控制器从存储器获得节点功率消耗数据和节点功率上限。该流程在块412继续。
    在块412,部件控制器为给定的时间段计算节点功率消耗。部件控制器为给定的时间段计算部件功率消耗与后台功率消耗之和。该流程在块414继续。
    在块414,部件控制器为与部件控制器关联的部件计算用于下一时间段的部件功率预算。基于用于给定的时间段的节点功率消耗和节点功率消耗的在给定的时间段期间可归于与部件控制器关联的部件的比例执行这一计算。该流程在块416继续。
    在块416,为关联的部件将计算的部件功率预算用于下一时间段。例如部件控制器激活致动器以根据用于下一时间段的计算的功率预算修改关联部件的操作。控制器本身可以致动功率消耗改变, 或者控制器可以向另一设备传递计算的部件功率预算的指示,该另一设备相应地修改关联部件的操作。
    提供流程图作为示例而未旨在于限制权利要求的范围。例如实施例可以通过加法器从分发器向存储器位置传递功率消耗数据,该加法器向为节点功率消耗而定义的存储器空间中生成部件功率消耗与后台功率消耗之和。实施例可以写入个别功率消耗或者向部件控制器仅传达节点功率消耗而无部件功率消耗的粒度。此外,实施例可以配置部件控制器以基于比例节点功率消耗而无后台功率消耗来计算部件功率预算。例如可以为非后台功率消耗定义功率上限。
    虽然在这一描述中的示例仅描绘节点中的一个分发器,但是实施例可以运用一个或者多个附加分发器。例如可以指明另一处理器作为用于故障保护场景的备用分发器。作为另一示例,可以将节点的部件逻辑地划分成多组部件,并且可以向不同分发器指派负责每个逻辑部件分组。
    虽然在这一描述中的示例描绘基于以往功率消耗的功率做预算,但是实施例可以在过量预订场景中运用功率做预算。例如具有多个功率供应的系统可以失去功率供应中的一个或者多个功率供应。在这样的场景中,部件控制器可以接收中断请求(“IRQ”)。在接收IRQ时,部件控制器可以立即节制它们的关联部件从而减少它们的关联部件消耗的功率并且因此减少节点功率消耗。在从分发器接收反映功率供应故障的节点功率上限之后,部件控制器可以基于反映功率供应故障的节点功率上限为它们的关联部件计算新功率预算。
    以上示例也描述向部件主控器供应收集的功率消耗数据的分发器。在一些实施例中,分发器可以向部件控制器发送节点功率消耗(即节点的总功率消耗)而未跨越控制器细分功率消耗。在其它实施例中,分发器向部件控制器发送节点功率消耗和部件功率消耗的收集二者。
    虽然以上示例描述过量功率以按比例方式的比例功率做预算, 但是实施例可以运用未严格按比例的比例做预算。例如可以向某些部件分配过量功率的预定百分比或者可以除了它们的按比例份额之外还向它们分配预定百分比。在其它实施例中,可以向某些部件分配预定功率电平或者可以除了它们按比例份额之外还向它们分配预定功率电平。
    图5描绘示例计算机系统500。计算机系统500包括具有多个核502和512(可能包括其它处理器、附加核等)的处理器。计算机系统包括存储器526。存储器526可以是系统存储器(例如高速缓存、SRAM、DRAM、零电容器RAM、双晶体管RAM、eDRAM、EDO RAM、DDR RAM、EEPROM、NRAM、RRAM、SONOS、PRAM等中的一项或者多项)或者机器可读存储介质的以上已经描述的可能实现中的任何一个或者多个实现。计算机系统也包括总线504、网络接口522(例如ATM接口、以太网接口、帧中继接口、SONET接口、无线接口等)和存储设备528(例如光学存储装置、磁存储装置等)。计算机系统500包括多个核502和512。每个核502和512分别具有处理器部件506和514、存储器部件508和516以及部件控制器510和518。计算机系统500也包括分发器520和功率子系统524。功率子系统524从部件控制器510和518收集部件功率消耗数据以及用于计算机系统500的后台功率消耗数据。功率子系统524向分发器520传达部件功率消耗和后台功率。在一些实施例中,分发器计算节点功率消耗并且向部件控制器510和518分发节点功率消耗。部件控制器510和518然后为它们关联的部件506、508、514和516计算和更新功率预算。另外,实现可以包括图5中未图示的更少或者附加部件(例如视频卡、音频卡、附加网络接口、外围设备等)。核502和512、存储设备528以及网络接口522耦合到总线504。虽然图示为耦合到总线504,但是存储器526可以耦合到核502和512。
    所属技术领域的技术人员知道,本发明的各个方面可以实现为系统、方法或计算机程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式 (包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明的各个方面还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
    可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
    计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
    计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
    可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++等,还包括常规的过程式 程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
    下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
    也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其他设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(article of manufacture)。
    也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令提供实现流程图和/或框图中的一个或多个方框中规定的功能/动作的过程。
    尽管参照各种实现方式和运用来描述实施例,但是将理解这些实施例为示例并且本发明主题内容的范围不限于此。一般而言,可以用与任何硬件系统一致的设施或者硬件系统实施如这里描述的用于基于比例功率消耗的分布式部件功率预算计算的技术。许多变化、 修改、添加和改进是可能的。
    可以为这里描述为单个实例的部件、操作或者结构提供多个实例。最后,在各种部件、操作和数据存储库之间的边界有些任意,并且在具体示例配置的背景中举例说明特定操作。其它功能分配被设想并且可以落入本发明主题内容的范围内。一般而言,可以实施在示例配置中呈现为单独部件的结构和功能为组合结构或者部件。类似地,可以实施呈现为单个部件的结构和功能为单独部件。这些和其它变化、修改、添加和改进可以落入本发明主题内容的范围内。

    关 键  词:
    分布式 功率 预算
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:分布式功率做预算.pdf
    链接地址:https://www.zhuanlichaxun.net/p-6147211.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1