《分布式功率做预算.pdf》由会员分享,可在线阅读,更多相关《分布式功率做预算.pdf(20页完整版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103838351 A (43)申请公布日 2014.06.04 CN 103838351 A (21)申请号 201310594629.9 (22)申请日 2013.11.21 13/686,333 2012.11.27 US G06F 1/32(2006.01) G06F 13/16(2006.01) (71)申请人 国际商业机器公司 地址 美国纽约阿芒克 (72)发明人 A德拉克 GJ席尔瓦 TG哈莱特 HL汉森 J柯塞曼 CR勒夫吉 K拉加玛尼 TJ罗斯达尔 MS艾伦 - 韦尔 (74)专利代理机构 北京市金杜律师事务所 11256 代理人 酆迅 陈颖 (54。
2、) 发明名称 分布式功率做预算 (57) 摘要 实施例包括从具有多个部件的节点的多个控 制器中的每个控制器收集部件功率消耗。多个控 制器中的每个控制器与多个部件中的一个或者多 个部件关联。向控制器提供部件功率消耗。至少 部分地基于部件功率消耗确定用于节点的节点功 率消耗。为多个部件确定功率上限。将功率差确 定为节点功率消耗与用于多个部件的功率上限之 差。基于部件的部件功率消耗确定节点功率消耗 中由部件消耗的比例。至少部分地基于功率差和 节点功率消耗中由部件消耗的比例而为部件计算 本地功率预算。 (30)优先权数据 (51)Int.Cl. 权利要求书 3 页 说明书 11 页 附图 5 页 (1。
3、9)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书3页 说明书11页 附图5页 (10)申请公布号 CN 103838351 A CN 103838351 A 1/3 页 2 1. 一种方法, 包括 : 从具有多个部件的节点的多个控制器中的每个控制器收集部件功率消耗, 其中所述多 个控制器中的每个控制器与所述多个部件中的相应部件相关联 ; 向所述多个控制器中的每个控制器提供所述部件功率消耗 ; 针对所述多个部件中的每个部件, 至少部分地基于所述部件功率消耗而为所述节点确定节点功率消耗 ; 将功率差确定为所述节点功率消耗与用于所述多个部件的功率上限之差 ; 基于所述部件的所述部件。
4、功率消耗确定所述节点功率消耗中由所述部件消耗的比例 ; 以及 至少部分地基于所述功率差和所述节点功率消耗中由所述部件消耗的所述比例而为 所述部件计算本地功率预算。 2. 根据权利要求 1 所述的方法, 还包括为所述多个部件确定所述功率上限。 3. 根据权利要求 1 所述的方法, 其中所述向所述系统的所述多个控制器中的每个控制 器提供所述部件功率消耗包括 : 在位置中存储所述部件功率消耗 ; 以及 向所述多个控制器提供提醒, 其中所述提醒包括关于已经存储了所述部件功率消耗的 指示和关于已经在其存储了所述部件功率消耗的所述位置的指示。 4. 根据权利要求 1 所述的方法, 其中所述向所述系统的所述。
5、多个控制器中的每个控制 器提供所述部件功率消耗包括向所述多个控制器广播所述部件功率消耗。 5. 根据权利要求 1 所述的方法, 其中所述至少部分地基于所述总功率消耗的所述本地 比例为所述部件计算所述本地功率预算包括 : 基于所述节点功率消耗中由所述部件消耗的 所述比例和所述功率差代表的功率的过量消耗而从当前本地功率预算减少所述本地功率 预算。 6. 根据权利要求 1 所述的方法, 其中所述至少部分地基于所述总功率消耗的所述本地 比例而为所述部件计算所述本地功率预算包括 : 基于所述本地比例和所述功率差代表的功 率的消耗不足而从当前本地功率预算增加所述本地功率预算。 7. 根据权利要求 1 所述。
6、的方法, 其中所述多个部件包括处理器部件和存储器部件。 8. 根据权利要求 1 所述的方法, 还包括针对所述多个部件中的每个部件, 控制所述部 件以根据所述本地功率预算而操作。 9. 一种装置, 包括 : 多个部件 ; 功率子系统, 被配置用于从所述多个部件中的每个部件收集功率消耗, 并且收集后台 功率消耗 ; 分发器, 与所述功率子系统和所述多个部件耦合, 所述分发器被配置用于至少部分地 基于所述功率子系统从所述多个部件收集的所述功率消耗和所述后台功率消耗而向多个 控制器中的每个控制器提供关于用于所述装置的功率消耗的指示 ; 所述多个控制器中的每个控制器与所述多个部件中的相应部件相关联并且被。
7、配置用 于 : 至少部分地基于所述功率子系统从所述多个控制器中的每个控制器收集的所述功率 权 利 要 求 书 CN 103838351 A 2 2/3 页 3 消耗和所述后台功率消耗而确定功率差为用于所述装置的功率上限与用于所述装置的总 功率消耗之差 ; 确定所述总功率消耗中与所述控制器相关联的所述多个部件中的所述相应部件对应 的比例 ; 以及 至少部分地基于所述功率差和所述总功率消耗中与所述多个部件中的所述相应部件 对应的所述比例来为所述多个部件中的所述相应部件计算本地功率预算。 10. 根据权利要求 9 所述的装置, 其中所述多个控制器中的每个控制器还被配置用于 确定确定用于所述装置的所述。
8、总功率消耗。 11. 根据权利要求 9 所述的装置, 其中所述分发器被配置用于向所述多个控制器中的 每个控制器提供关于用于所述装置的功率消耗的所述指示包括所述分发器被配置用于 : 在能被所述多个控制器访问的存储器位置中存储关于用于所述装置的功率消耗的所 述指示 ; 以及 向所述多个控制器通报已经在所述存储器位置处存储关于用于所述装置的功率消耗 的所述指示。 12. 根据权利要求 9 所述的装置, 其中所述分发器被配置用于向所述多个控制器中的 每个控制器提供用于所述装置的功率消耗的所述指示包括 : 所述分发器被配置用于向所述 多个控制器广播关于用于所述装置的功率消耗的所述指示。 13. 根据权利。
9、要求 9 所述的装置, 其中所述多个控制器中的每个控制器还被配置用于 基于所述总功率消耗中与所述多个部件中的所述相应部件对应的所述比例和所述功率差 代表的功率的过量消耗而从当前本地功率预算减少所述本地功率预算。 14. 根据权利要求 9 所述的装置, 其中所述多个控制器中的每个控制器还被配置用于 基于所述总功率消耗中与所述多个部件中的所述相应部件对应的所述比例和所述功率差 代表的功率的消耗不足而从当前本地功率预算增加所述本地功率预算。 15. 根据权利要求 9 所述的装置, 其中所述多个部件包括处理器部件和存储器部件。 16. 根据权利要求 9 所述的装置, 其中所述多个控制器中的每个控制器被。
10、配置用于控 制关联的所述部件以根据所述本地功率预算进行操作。 17. 一种装置, 包括 : 多个处理部件 ; 分发器, 被配置用于至少部分地基于所述多个处理部件的部件功率消耗而向多个控制 器中的每个控制器提供关于用于所述装置的功率消耗的指示 ; 多个控制器, 每个所述控制器与所述多个处理部件中的相应处理部件相关联, 所述多 个控制器中的每个控制器被配置用于 : 至少部分地基于所述部件功率消耗将功率差确定为用于所述装置的功率上限与功率 消耗总和之差 ; 确定所述功率消耗总和中归因于与所述控制器相关联的所述多个处理部件中的所述 相应处理部件的比例 ; 至少部分地基于所述功率差和所述功率消耗总和中归。
11、因于与所述控制器相关联的所 述多个处理部件中的所述相应处理部件的所述比例而为与所述控制器相关联的所述多个 处理部件中的所述相应处理部件计算本地功率预算。 权 利 要 求 书 CN 103838351 A 3 3/3 页 4 18. 根据权利要求 17 所述的装置, 其中所述功率消耗总和包括后台功率消耗。 19. 根据权利要求 17 所述的装置, 还包括存储器, 其中所述分发器被配置用于向所述 存储器写入关于用于所述装置的功率消耗的所述指示, 并且被配置用于向所述多个控制器 通报关于已经向所述存储器写入功率消耗的所述指示。 权 利 要 求 书 CN 103838351 A 4 1/11 页 5 。
12、分布式功率做预算 技术领域 0001 本发明主题内容的实施例总体涉及计算机系统功率管理领域, 并且更具体地涉及 用全局功率消耗信息通知的分布式功率管理。 背景技术 0002 已经使用各种技术尝试来减少功率消耗而又维持系统性能。 例如一些系统使用动 态电压和频率缩放 (DVFS) 。DVFS 修改向系统供应的电压和处理器操作的频率。DVFS 可以 允许系统在低功率状态中操作并且仅在必要时具有增加的功率消耗。 例如在高工作负载时 段期间, 向系统供应的电压和处理器操作的频率可以是高的。 在低工作负载时段期间, DVFS 可以减少向系统供应的电压并且减少处理器操作的频率。除了 DVFS 之外, 一些。
13、系统利用功 率上限设定机制 (capping mechnisam) 。这样的机制对系统的功率消耗施加上限或者设定 上限。 发明内容 0003 本发明主题内容的实施例包括从具有多个部件的节点的多个控制器中的每个控 制器收集部件功率消耗。多个控制器中的每个控制器与多个部件中的相应部件相关联。向 多个控制器中的每个控制器提供部件功率消耗。 至少部分地基于部件功率消耗确定用于节 点的节点功率消耗。为多个部件确定功率上限。将功率差确定为节点功率消耗与用于多个 部件的功率上限之差。基于部件的部件功率消耗确定节点功率消耗中由部件消耗的比例。 至少部分地基于功率差和节点功率消耗中由部件消耗的比例而为部件计算本。
14、地功率预算。 0004 本发明主题内容的实施例包括一种包括多个处理部件的装置。 分发器用于至少部 分地基于多个处理部件的部件功率消耗而向多个控制器中的每个控制器提供关于用于装 置的功率消耗的指示。 多个控制器, 每个控制器与多个处理部件中的相应处理部件相关联。 多个控制器至少部分地基于部件功率消耗而将功率差确定为用于装置的功率上限与功率 消耗总和之差。 多个控制器中的相应控制器确定功率消耗总和中可归于与控制器关联的多 个处理部件中的相应处理部件的比例。 至少部分地基于功率差和功率消耗求和中可归于与 控制器相关联的多个处理部件中的相应处理部件的比例来计算用于与控制器相关联的多 个处理部件中的相应。
15、处理部件的本地功率预算。 附图说明 0005 可以通过参照附图更好地理解本实施例并且使许多目的、 特征和优点为本领域技 术人员所清楚。 0006 图 1 描绘具有分布式本地功率做预算的示例节点的概念图, 该分布式本地功率做 预算基于功率消耗的节点级可见性。 0007 图 2 是用于基于在给定的时间段中的节点功率消耗的可见性本地更新部件功率 做预算的示例操作的流程图。 说 明 书 CN 103838351 A 5 2/11 页 6 0008 图 3 描绘具有分布式本地功率做预算的示例节点的概念图, 该分布式本地功率做 预算基于用通报技术传达的功率消耗的节点级可见性。 0009 图 4 是用于用通。
16、报技术基于在给定的时间间隔中的节点功率消耗的可见性本地 更新部件功率预算的示例操作的流程图。 0010 图 5 描绘示例计算机系统 500。 具体实施方式 0011 以下描述包括具体化本发明主题内容的技术的示例系统、 方法、 技术、 指令序列和 计算机程序产品。然而理解无这些具体细节仍然可以实现描述的实施例。例如虽然示例建 议在部件控制器与部件之间的 1 : 1 关系, 但是部件控制器可以与多个部件关联。在其它实 例中, 尚未具体示出公知指令实例、 协议、 结构和技术以免模糊该描述。 0012 功率管理机制经常为集中式也就是说, 中央控制器或者微处理器管理向系统 的每个部件供应的功率。集中式功。
17、率管理可以有效控制系统的功率消耗、 但是从性能观点 来看也可能开销大。由于中央控制器或者微处理器为每个部件管理功率分配, 所以为系统 的多个部件管理功率消耗繁重地占用中央控制器或者微处理器。 在频繁修改功率分配的系 统中, 功率管理花费资源为部件计算功率分配并且带来用于在整个系统内传达功率分配的 通信开销。 0013 分散用于部件的功率预算的控制和管理允许具有多个部件的复杂系统中的可缩 放性以及减少处理开销。收集关于系统中的多个部件的功率消耗的信息, 然后向用于部件 中的每个部件的控制器分发该信息。 系统范围的功率消耗信息的这一分布向部件的控制器 提供功率消耗的节点集视图。对于这一描述, 节点。
18、包括一组部件。节点的示例包括服务器、 架服务器、 具有多个微处理器的板、 刀片服务器、 多核处理器等。 部件的示例包括处理器、 存 储器模块、 输入 / 输出中枢控制器、 处理器核、 核存储器等。利用功率消耗信息, 用于部件的 控制器 ( “部件控制器” ) 可以基于节点功率消耗的可归于部件的比例为部件计算功率预算。 这一部件级比例功率做预算允许一致性能。 将向使用更大量功率的部件给予更大部件功率 预算, 并且将向消耗更少量功率的部件 (例如空闲部件) 给予更小部件功率预算。更大功率 预算允许工作部件消耗在可用时的更大量功率并且减少在节点功率消耗超过节点功率上 限时的减少影响。分散确定部件功率。
19、预算的任务避免功率管理中的单个故障点。安排处理 器分发功率消耗信息而不是计算若干功率预算释放资源 (例如周期) 用于其它任务。或者可 以安排更少资源密集的部件分发功率消耗信息。 0014 图 1 描绘具有分布式本地功率做预算的示例节点的概念图, 该分布式本地功率做 预算基于功率消耗的节点级可见性。图 1 的节点包括功率子系统 104、 多个部件和分发器。 图 1 仅描绘三个部件 102、 110 和 112 以避免向该图添加不必要的复杂性。部件 102、 110 和 112 中的每个部件具有相应部件控制器 108、 114 和 116。可以用比例控制器、 比例 - 积分控 制器和比例 - 积分。
20、 - 微分控制器中的任何控制器实施部件控制器。图 1 描绘在阶段 A-D 的 示例操作。这些阶段为示例, 并且未必随时间而离散出现 (例如不同阶段的操作可以重叠) 。 0015 在阶段A, 功率子系统104以周期性间隔从部件控制器108、 114和116中的每个部 件控制器收集部件功率消耗数据。 例如功率子系统104在时间段x内从部件控制器108、 114 和 116 中的所有部件控制器收集功率消耗数据。功率消耗数据指示可以归于单个部件的功 说 明 书 CN 103838351 A 6 3/11 页 7 率消耗。但是功率可以被部件和子部件和 / 或其它耦合的部件消耗。例如功率消耗数据可 以指示。
21、可归于处理器部件的功率消耗数量。但是功率实际上被处理器部件、 处理器部件的 片外高速缓存和由处理器部件使用的随机存取存储器消耗。 收集功率消耗数据可以根据推 送方法、 拉取方法或者二者的组合。部件 102、 110 和 112 可以被配置用于以周期性间隔向 功率子系统 104 自动发送部件功率消耗数据。功率子系统 104 可以以周期性间隔主动从部 件 102、 110 和 112 请求部件功率消耗数据。功率子系统 104 也收集后台功率 (background power) 消耗数据 (例如风扇功率消耗) 。除了收集功率消耗数据之外, 功率子系统 104 过滤 功率消耗数据以去除可以在功率消耗。
22、数据中出现的电噪声。 0016 在阶段 B, 功率子系统 104 向分发器 106 供应收集的功率消耗数据。同样, 拉取方 法、 推送方法或者推送与拉取的组合可以用来从功率子系统 104 向分发器 106 输送收集的 功率消耗数据。例如分发器 106 可以在每个周期性间隔到期时向功率子系统 104 轮询收集 的功率消耗数据。作为另一示例, 功率子系统 104 可以响应于从部件收集功率消耗数据并 且收集后台功率消耗数据向分发器 106 发送消息 (例如中断) 。在阶段 C, 分发器 106 向部件 控制器 108、 114 和 116 分发部件功率消耗数据的收集。如果用于节点的上限功率消耗阈值 。
23、( “节点功率上限” ) 尚未已知或者不易于被每个控制器访问 (例如在控制器可用的存储器中 在引导时设置节点功率上限) , 则分发器 106 也向部件控制器 108、 114 和 116 中的每个部件 控制器传达节点功率上限。 0017 在阶段 D, 部件控制器 108、 114 和 116 中的每个部件控制器为它们的关联部件 102、 110 和 112 计算比例部件功率预算。下表举例说明基于节点功率消耗的比例部件功率 预算。 0018 0019 表 1 0020 表 1 指示用于节点的部件功率消耗。节点具有四个核和八个部件 (每核有两个部 件处理器部件和存储器部件) 。在 “T0” 列中指。
24、示每个部件在时间段 0 期间的功率消 耗 (以瓦特为单位) 。在时间段 0 期间, 核 0 消耗共计 260W(处理器部件 : 170W, 存储器部件 90W) 。如 “工作负载” 列所示, 核 0 在时间段 0 期间工作而未处于空闲状态。然而核 1-3 在 时间段 0 期间未处于空闲状态并且消耗比核 0 更少的功率 (每核 160W核 1-3 的每个处 说 明 书 CN 103838351 A 7 4/11 页 8 理器部件 : 110W, 核 1-3 的每个存储器部件 50W) 。表 1 也包括在时间段 0 期间消耗的后台 功率。节点功率消耗在时间段 0 期间为 840W(包括 100W 。
25、的后台功率消耗) 。 0021 假设节点具有节点功率上限 1000W, 节点在时间段 0 期间未充分利用总功率容量 160W。在接收到 (在表 1 中描绘的) 功率消耗数据之后, 节点的部件控制器中的每个部件控 制器为时间段 1 计算部件功率预算。表 2 示出基于按比例地计算的比例部件功率预算。 0022 0023 表 2 0024 如先前讨论的那样, 将为时间段 1 分配的过量功率为 160W。在时间段 0 期间, 核 0 的处理器部件消耗 170W。这代表在时间段 0 期间消耗的节点功率的大约 20%。因此, 将为 核 0 的处理器部件做预算为在时间段 1 期间的过量功率 160W 的大约。
26、 20% 或者过量功率中 的大约 32W。将为核 0 的处理器部件做预算为用于时间段 1 大约 202W。 0025 以上示例举例说明本地计算功率预算计算相对于集中方式的效率。 取代使核之一 或者另一处理承担为 4 个核 (即 8 个部件) 计算功率预算的是, 每个部件控制器为仅两个部 件计算功率预算。因而每个部件控制器每时间段仅进行五个功率做预算计算 : 0026 1. 确定节点功率消耗的倒数 ( “1/ 节点” ) 0027 2. 通过将处理器部件用于时间段 0 的功率消耗乘以 1/ 节点来确定处理器部件用 于时间段 0 的分数功率消耗 ( “分数 p” ) 0028 3.通过将可用于时间。
27、段0的过量功率乘以分数p来确定用于时间段1的过量功率 的处理器部件比例。 0029 4. 通过将存储器部件用于时间段 0 的功率消耗乘以 1/ 节点来确定存储器部件用 于时间段 0 的分数功率消耗 ( “分数 m” ) 。 0030 5.通过将可用于时间段0的过量功率乘以分数m来确定用于时间段1的过量功率 的处理器部件比例。 0031 估计这五个计算消耗少于100个周期。 假设每周期为2ns, 需要100个周期的过程 所消耗的时间为 200ns。例如如果每个时间段为少于 100 个周期的 250s, 则用于每个部 件控制器计算功率预算的处理时间少于 250s 时间段的百分之一 (200ns/2。
28、50s 或者 0.8%) 。这在每秒的部件控制器指令方面产生少于 1% 的处理消耗。 0032 在一些情况下, 节点可以消耗比为节点定义或者设置的给定的总功率容量更多的 说 明 书 CN 103838351 A 8 5/11 页 9 功率。 实施例可以使用比例部件功率预算的分布式计算以跨越部件用比例方式节制功率消 耗。在表 3 和表 4 中描绘这一点的示例。 0033 0034 表 3 0035 表 3 指示在时间段 2 期间用于节点的部件功率消耗。同样。节点具有四个核和八 个部件 (每核有两个部件处理器部件和存储器部件) 。不同于表 1, 表 3 指示核 0 和核 1 二者在时间段 2 期间。
29、工作而不处于空闲状态。在时间段 2 期间, 核 0 和核 1 各自消耗共计 340W(每个处理器部件 : 220W, 每个存储器部件 : 120W) 。如在表 1 中那样, 核 2 和核 3 二者 在时间段 2 期间处于空闲状态并且消耗比核 0 和核 1 更少的功率 (每核 160W核 2-3 的 每个处理器部件 : 110W, 核 2-3 的每个存储器部件 : 50W) 。节点功率消耗在时间段 2 期间为 1100W(包括后台功率消耗 100W) 。 0036 同样假设节点具有定义的节点功率上限 1000W, 节点在时间段 2 期间比节点功率 上限超过 100W。在接收 (在表 3 中描绘的。
30、) 功率消耗数据之后, 节点的个别计算部件为时间 段 3 计算部件功率预算。表 4 示出基于按比例地计算比例部件功率预算。应当注意未减少 后台功率。因而, 为了使得节点功率消耗在 1000W 节点功率上限内, 必须使得排除后台功率 消耗的节点功率消耗在 900W 以下。换而言之, 每个部件用于时间段 3 的部件功率预算将被 减少基于它们在时间段 2 期间的功率消耗而使用的过量功率 100W 的部分。 说 明 书 CN 103838351 A 9 6/11 页 10 0037 0038 表 4 0039 如先前讨论的那样, 节点在时间段2期间消耗的过量功率为100W。 因而, 用于时间 段 3 。
31、的节点功率消耗将被减少 100W。在时间段 2 期间, 核 0 的处理器部件消耗 220W。这代 表在时间段 2 期间消耗的节点功率的大约 20%。核 0 的处理器部件用于时间段 3 的功率预 算将被减少在时间段 2 期间消耗的过量功率 100W 的大约 20% 或者大约 20W。核 0 的处理器 部件将被做预算为针对时间段 3 大约 200W。 0040 讨论的功率做预算可以在若干场景中节约资源。在第一场景中, 部件消耗相对少 的功率, 并且节点功率消耗在节点功率上限以下。 由于节点功率在节点功率上限以下, 所以 控制系统不必参与。因此, 部件能够以其最大性能运行。 0041 在第二场景中,。
32、 部件消耗相对更大功率, 并且节点功率消耗在节点功率上限以下。 由于节点功率消耗在节点功率上限以下, 所以控制系统不必参与。 因此, 部件能够以其最大 性能运行。 0042 在第三场景中, 部件消耗相对少的功率, 并且节点功率消耗在节点功率上限以上。 由于节点功率消耗在节点功率上限以上, 所以控制系统将参与并且将减少节点功率消耗。 在这一场景中, 与消耗相对少的功率的部件关联的部件控制器可以在后续时间段期间为部 件减少功率预算, 从而辅助将节点功率消耗带到节点功率上限以下。 此外, 如果消耗相对少 的功率的部件经历工作负载骤增, 则可以基于在更低工作负载时段期间向该部件给予的预 算未违反节点功。
33、率上限。 这可以防止节点功率消耗在部件经历工作负载骤增时违反节点功 率上限。 0043 在第四场景中。 部件消耗相对更大功率, 并且节点功率消耗在节点功率上限以上。 由于节点功率消耗在节点功率上限以上, 则控制系统将参与并且将减少节点功率消耗。在 这一场景中, 与消耗相对更大功率的部件关联的部件控制器可以在后续时间段内减少向部 件的功率预算从而辅助将节点功率消耗带到节点功率上限以下。由于功率做预算有比例, 所以仍然将相对于其它部件为消耗相对大功率的部件做预算为功率的大部分。 一旦在节点 功率上限以下, 可以增加消耗相对大功率的部件的功率预算以增加性能。如果再次违反节 点功率上限, 该过程可以重。
34、复本身。 说 明 书 CN 103838351 A 10 7/11 页 11 0044 图 2 是用于基于在给定的时间段中的节点功率消耗的可见性本地更新部件功率 做预算的示例操作的流程图。该流程始于块 202。 0045 在块 202, 分发器从功率子系统获得包括部件功率消耗和后台功率消耗的节点功 率消耗数据。多种实现方式有可能用于分发器获得节点功率消耗数据。例如功率子系统可 以在给定的时间段的所有节点功率消耗数据可用于由分发器读取时向分发器发信号。 备选 地, 功率子系统可以向分发器可访问的存储器位置或者作为分发器的部分的存储器位置成 批或者递增地 (在从每个部件控制器接收数据时写入数据) 。
35、写入节点功率消耗数据。该流程 在块 204 继续。 0046 在块204, 分发器计算节点功率消耗。 分发器计算部件功率消耗与后台功率消耗之 和。该流程在块 206 继续。 0047 在块206, 分发器确定为节点定义的节点功率上限。 可以用许多方式设置节点功率 上限。例如可以设置节点的物理约束设置节点功率上限。可以根据策略或者固件设置节点 功率上限。该流程在块 208 继续。 0048 在块 208, 分发器向部件控制器中的每个部件控制器提供节点功率消耗和节点功 率上限。分发器可以向部件控制器中的每个部件控制器广播节点功率消耗和节点功率容 量。例如分发器向部件控制器发送携带节点功率消耗和节点。
36、功率上限的消息或者分组。作 为另一示例, 分发器向部件控制器中的每个部件控制器中写入节点功率消耗和节点功率上 限。该流程在块 210 继续。 0049 从块210的和在块210之后的操作代表部件控制器之一的操作。 在块210, 部件控 制器从分发器获得节点功率消耗和节点功率上限。如关于块 208 陈述的那样, 部件控制器 可以通过总线接收节点功率消耗和节点功率上限、 从本地寄存器读取节点功率消耗和节点 功率上限等。该流程在块 212 继续。 0050 在块 212, 部件控制器为与部件控制器关联的部件计算用于下一时间段的部件功 率预算。 基于用于给定的时间段的节点功率消耗和节点功率消耗的在给定。
37、的时间段期间由 部件使用的比例执行这一计算。该流程在块 214 继续。 0051 在块214, 为关联部件计算用于下一时间段的计算的部件功率预算。 例如控制器激 活致动器以根据用于后继时间段的计算的部件功率预算修改部件的操作。 控制器本身可以 致动功率消耗改变, 或者控制器可以向另一设备传递计算的部件功率预算的指示, 该另一 设备相应地修改关联部件的操作。 0052 图 3 描绘具有分布式本地功率做预算的示例节点的概念图, 该分布式本地功率做 预算基于用通报技术传达的功率消耗的节点级可见性。 图3的节点包括功率子系统304、 多 个部件 302、 312 和 314、 分发器 306 以及存储。
38、器 310。可以跨越部件 302、 312 和 314 共享存 储器 310。存储器 310 可以是部件中的个别部件以及分发器 306 可访问的不同存储器。图 3 仅描绘三个部件 302、 312 和 314 以避免向该图添加不必要的复杂性。部件中的每个部件 具有相应部件控制器 308、 316 和 318。图 3 描绘示例操作, 这些操作被描绘为在阶段 A-F 内 出现。阶段为示例而未必是随时间的离散出现 (例如不同阶段的操作可以重叠) 。 0053 在阶段 A, 功率子系统 304 以周期性间隔从部件控制器 308、 316 和 318 中的每个 部件控制器收集部件功率消耗数据并且收集后台。
39、功率消耗。未必从部件控制器 308、 316 和 318 收集后台功率消耗。功率消耗数据指示可以归于单个部件的功率消耗。但是功率可以 说 明 书 CN 103838351 A 11 8/11 页 12 被部件和 / 或子部件和 / 或其它耦合的部件消耗。例如功率消耗数据可以指示可归于处 理器的功率消耗数量。但是功率实际上被处理器、 处理器的片外高速缓存和由处理器使用 的随机存储器消耗。收集功率消耗数据可以是推送方法、 拉取方法或者二者的组合。部件 302、 312 和 314 可以被配置用于以周期性间隔向功率子系统 304 自动发送部件功率消耗数 据。功率子系统 304 可以以周期性间隔主动请。
40、求来自部件 302、 312 和 314 的部件功率消耗 数据。功率子系统 304 也收集后台功率消耗数据 (例如风扇功率消耗) 。除了收集功率消耗 数据之外, 功率子系统 304 也过滤功率消耗数据以去除电噪声。 0054 在阶段 B, 功率子系统 304 向分发器 306 供应收集的功率消耗数据。同样, 拉取方 法、 推送方法或者推送与拉取的组合可以用来从功率子系统 304 向分发器 306 传送收集的 功率消耗数据。例如分发器 306 可以在每个周期性间隔到期时向功率子系统 304 轮询收集 的功率消耗数据。作为另一示例, 功率子系统 304 可以响应于收集包括后台功率消耗数据 的功率消。
41、耗数据向分发器 306 发送消息 (例如中断) 。 0055 在阶段 C, 分发器 306 向存储器 310 写入功率消耗数据的收集。例如分发器 306 向 存储器 310 的保留节段写入功率消耗数据的收集。或者分发器 306 向存储器 310 中的可用 自由空间写入功率消耗的收集。 0056 在阶段D, 分发器306向部件控制器302、 312和314通报已经向存储器310写入功 率消耗数据的收集。该通报指示存储器 310 的其中已经写入数据的一个或者多个地址。如 果每个控制器未知用于节点的功率上限 (例如在控制器可访问的存储器中在引导时设置功 率上限、 固件在寄存器中定义功率上限等) , 。
42、则分发器 306 也向存储器 310 写入节点功率上 限并且向部件控制器 302、 312 和 314 通报存储器中的其中已经写入节点功率上限的位置。 0057 在阶段E, 部件控制器308、 316和318访问存储器310并且取回功率消耗数据和节 点功率上限的收集。例如部件控制器 308、 316 和 318 用分发器 306 提供的地址访问存储器 310。作为另一示例, 部件控制器 308、 316 和 318 用存储于本地寄存器中的用于存储器 310 的保留节段的地址访问存储器 310。 0058 在阶段 F, 部件控制器 308、 316 和 318 中的每个部件控制器为它们的关联部件。
43、 302、 312 和 314 计算比例部件功率预算。如先前讨论的那样 (见图 1 和表 1-4 的讨论) , 部件 功率预算基于在部件级的节点功率消耗认知。 0059 图 4 是用于用通报技术基于在给定的时间间隔中的节点功率消耗的可见性本地 更新部件功率预算的示例操作的流程图。该流程始于块 402。 0060 在块 402, 分发器从功率子系统获得用于给定的时间段的包括部件功率消耗和后 台功率消耗的节点功率消耗数据。多种实现方式有可能用于分发器获得节点功率消耗数 据。 例如功率子系统可以在给定的时间段的所有节点功率消耗数据可用于由分发器读取时 向分发器发信号。备选地, 功率子系统可以向分发器。
44、可访问的存储器位置或者作为分发器 的部分的存储器位置成批或者递增地 (在从每个部件控制器接收数据时写入数据) 写入节 点功率消耗数据。该流程在块 404 继续。 0061 在块404, 分发器为节点确定节点功率上限。 可以根据如关于图2提到的不同技术 设置节点功率上限。该流程在块 406 继续。 0062 在块406, 分发器向存储器写入节点功率消耗数据和节点功率上限。 分发器可以向 存储器的为功率消耗保留的分段写入部件功率消耗的收集、 向存储器的另一保留分段写入 说 明 书 CN 103838351 A 12 9/11 页 13 后台功率消耗并且向存储器的不同保留分段写入节点功率上限。该流程。
45、在块 408 继续。 0063 在块 408, 分发器向部件控制器通报已经向存储器写入用于给定的时间段的部件 功率消耗并且写入总功率容量。通报可以是中断的形式, 该中断向部件控制器提醒已经向 存储器写入用于给定的时间段的部件功率消耗并且写入总功率容量。 通报包括存储器中的 位置, 部件控制器可以从该位置取回用于第一给定的时间段的部件功率消耗并且取回节点 功率上限。一些实施例保留存储器的 x 个段以保留跨越 x 个时间间隔的功率消耗数据。直 至填充了 x 个段才改写用于时间间隔的功率消耗数据。一些实施例随着功率消耗数据写入 时间戳。该流程在块 410 继续。 0064 从块 410 的和在块 4。
46、10 之后的操作代表部件控制器之一的操作。部件控制器异步 访问存储器。 在块410, 部件控制器从存储器获得节点功率消耗数据和节点功率上限。 该流 程在块 412 继续。 0065 在块412, 部件控制器为给定的时间段计算节点功率消耗。 部件控制器为给定的时 间段计算部件功率消耗与后台功率消耗之和。该流程在块 414 继续。 0066 在块 414, 部件控制器为与部件控制器关联的部件计算用于下一时间段的部件功 率预算。 基于用于给定的时间段的节点功率消耗和节点功率消耗的在给定的时间段期间可 归于与部件控制器关联的部件的比例执行这一计算。该流程在块 416 继续。 0067 在块416, 为。
47、关联的部件将计算的部件功率预算用于下一时间段。 例如部件控制器 激活致动器以根据用于下一时间段的计算的功率预算修改关联部件的操作。 控制器本身可 以致动功率消耗改变, 或者控制器可以向另一设备传递计算的部件功率预算的指示, 该另 一设备相应地修改关联部件的操作。 0068 提供流程图作为示例而未旨在于限制权利要求的范围。 例如实施例可以通过加法 器从分发器向存储器位置传递功率消耗数据, 该加法器向为节点功率消耗而定义的存储器 空间中生成部件功率消耗与后台功率消耗之和。 实施例可以写入个别功率消耗或者向部件 控制器仅传达节点功率消耗而无部件功率消耗的粒度。此外, 实施例可以配置部件控制器 以基于。
48、比例节点功率消耗而无后台功率消耗来计算部件功率预算。 例如可以为非后台功率 消耗定义功率上限。 0069 虽然在这一描述中的示例仅描绘节点中的一个分发器, 但是实施例可以运用一个 或者多个附加分发器。例如可以指明另一处理器作为用于故障保护场景的备用分发器。作 为另一示例, 可以将节点的部件逻辑地划分成多组部件, 并且可以向不同分发器指派负责 每个逻辑部件分组。 0070 虽然在这一描述中的示例描绘基于以往功率消耗的功率做预算, 但是实施例可以 在过量预订场景中运用功率做预算。 例如具有多个功率供应的系统可以失去功率供应中的 一个或者多个功率供应。在这样的场景中, 部件控制器可以接收中断请求 (。
49、 “IRQ” ) 。在接收 IRQ 时, 部件控制器可以立即节制它们的关联部件从而减少它们的关联部件消耗的功率并 且因此减少节点功率消耗。在从分发器接收反映功率供应故障的节点功率上限之后, 部件 控制器可以基于反映功率供应故障的节点功率上限为它们的关联部件计算新功率预算。 0071 以上示例也描述向部件主控器供应收集的功率消耗数据的分发器。 在一些实施例 中, 分发器可以向部件控制器发送节点功率消耗 (即节点的总功率消耗) 而未跨越控制器细 分功率消耗。在其它实施例中, 分发器向部件控制器发送节点功率消耗和部件功率消耗的 说 明 书 CN 103838351 A 13 10/11 页 14 收集二者。 0072 虽然以上示例描述过量功率以按比例方式的比例功率做预算, 但是实施例可以运 用未严格按比例的比例做预算。 例如可以向某些部件分配过量功率的预定百分比或者可以 除了它们的按比例份额之外还向它们分配预定百分比。在其它实施例中, 可以向某些部。