功率管理方法和设备与流程

文档序号:30059479发布日期:2022-05-17 20:51阅读:70来源:国知局
功率管理方法和设备与流程

1.本公开涉及功率管理的领域,并且更具体地,涉及用于计算系统的功率管理的方法和设备。


背景技术:

2.功率封顶是现代数据中心(dc)中广泛地用于提高机架上服务器部署密度并避免停电的技术。然而,在由供应商提供的硬件和固件所支持的功率封顶期间,由于功率封顶,不同类型的处理组件(例如cpu和gpu)的性能一致地降低了。因此,高优先级的实例/应用的性能在功率封顶期间可能受到负面影响。
3.通常,cpu制造商和gpu制造商给cpu和gpu提供功率封顶能力。然而,由制造商提供的功率封顶控制逻辑简单地使整个系统的功耗节流,直到达到功率封顶目标为止。然而,制造商未考虑到在系统上运行的性能重要的实例/应用由于功率封顶而受到影响。
4.当前,gpu服务器是昂贵的,并且性能重要的实例/应用如在其上运行的ai训练和推理作业是重要的。因此,云服务提供商不想gpu服务器的性能降级。另一方面,gpu服务器的功耗高。例如,可以将8卡gpu服务器的热设计功率(tdp)定额在3000w。高tdp使得难以将gpu服务器装配到功率紧凑机架中而不增加跳闸风险。因此,从互联网数据中心(idc)的总拥有成本(tco)的成本优化的角度来看,功率封顶是必要的。因此,出现困境—不能使由gpu服务器运行的性能重要的实例/应用慢下来,然而idc需要使用功率封顶来降低成本并避免跳闸风险。
5.因此,期望在不显著地损害性能重要的实例/应用的情况下对计算系统执行功率封顶。


技术实现要素:

6.本发明内容不旨在标识所要求保护的主题的必要特征,也不意在供在限制所要求保护的主题的范围时使用。
7.下文描述功率管理方法和设备的示例实现方式。在实现方式中,功率管理组件接收计算系统的功率封顶命令。计算系统包括多个处理组件。计算系统包括分布在多个处理组件当中的多个功率域。功率管理组件将在第一组功率域上运行的一个或多个实例合并到第二组功率域上。功率管理组件基于功率域的类型不同地执行功率封顶。第二组功率域是重要功率域,然而其他功率域是非重要功率域。在实现方式中,功率管理组件对非重要功率域执行功率封顶而不对重要功率域执行功率封顶。附加地或可替代地,功率管理组件对非重要功率域执行第一功率封顶过程而对重要功率域执行第二功率封顶过程,其中第二功率封顶过程对重要功率域的性能的影响小于第一功率封顶过程对非重要功率域的性能的影响。
8.在合并之后,可以不同地管理重要功率域和非重要功率域的功耗。在功率封顶期间,性能重要的实例/应用在其上运行的重要功率域的性能可以不经历降级或比非重要功
率域降级更少。因为重要功率域的性能被保证,所以能够降低功率封顶对计算系统的整体性能的影响。因此,减轻了功率封顶期间的性能影响。
附图说明
9.参考附图阐述详细描述。在各图中,附图标记的最左边数字标识附图标记首次出现在其中的图。在不同的图中使用相同的附图标记指示类似或相同的项目或特征。
10.图1a图示计算系统的示例框图。
11.图1b图示合并/组合之后的计算系统的示例框图。
12.图2图示用于在计算系统中合并/组合性能重要的实例/应用的过程的示例流程图。
13.图3a图示处于初始状态的计算系统的示例框图。
14.图3b图示合并/组合之后的计算系统的示例框图。
15.图4图示用于合并/组合性能重要的实例/应用并且基于重要功率域和非重要功率域执行功率封顶的过程的示例流程图。
16.图5图示示出了与全局调度器进行通信的计算系统的示例框图。
17.图6图示用于实现上述过程和方法的示例系统。
具体实施方式
18.本文使用的术语被表示如下。功率封顶是指将系统、组件、资源等的功耗限制为不超过功率上限的做法。功率上限是指系统、组件、资源等的功耗不能超过的功率极限。调度器是指分配并迁移实例的中央或分布式控制器。实例/应用是指进程、虚拟机(vm)、容器、作业、线程等。
19.图1a图示计算系统100的示例框图。计算系统100被实现在分布式系统中。
20.参考图1a,计算系统100包括不同类型的处理组件,例如m个cpu和p个gpu,其中m和p是正整数。m个cpu包括cpu插槽_0102、

cpu插槽_m-1 104。p个gpu包括gpu_0 106、

、gpu_p-1 108。相应的cpu或gpu包括一个或多个功率域,其功耗能够被单独地控制。相应的功率域包括一个或多个核心和/或非核心切片。例如,cpu插槽_0 102包括n个功率域,即功率域_0 110、功率域_1 112、

、功率域_n-1 114,其中n是正整数。cpu插槽_m-1 104包括n个功率域,即功率域_0 116、功率域_1 118、...、功率域_n-1 120。gpu_0 106包括q个功率域,即功率域_0 122、功率域_1 124、...、功率域_q-1 126,其中q是正整数。gpu_1 108包括q个功率域,即功率域_0 128、功率域_1 130、

、功率域_q-1 132。
21.可以存在不同类型的功率域。例如,功率域可以是重要功率域或非重要功率域。重要功率域是一个或多个性能重要的实例/应用在其上运行的功率域。在功率封顶期间不应该降低重要功率域的功率预算,并且重要功率域不会由于功率封顶而以较低速度运行。非重要功率域是性能重要的实例/应用不在其上运行的功率域。在功率封顶期间能够降低非重要功率域的功率预算,并且由于功率封顶,非重要功率域能够以较低速度运行。
22.在实现方式中,性能重要的实例/应用被定义为运行该实例/应用的资源的性能对该实例/应用至关重要或者具有显著影响的实例/应用。例如,性能重要的实例/应用是ai训练或推理作业。在实现方式中,性能重要的实例可以是时延敏感的实例。时延敏感的实例需
要低于第一阈值例如10μs、5μs等的时延。附加地或可替代地,性能重要的实例可以是吞吐量敏感的实例。吞吐量敏感的实例需要高于第二阈值例如每秒200万条指令、每秒500万条指令等的指令执行速率。可以基于实际需要动态地设置和/或调整第一阈值和第二阈值。
23.作为示例,图1a示出4个重要功率域,即,cpu插槽_0 102中的功率域_1 112、cpu插槽_m-1 104中的功率域_0 116、gpu_0 106中的功率域_0 122和gpu_p-1 108中的功率域_q-1 132。其他功率域是非重要功率域。重要功率域以虚线框示出,然而非重要功率域以实心框示出。
24.图1b图示合并/组合之后的计算系统100’的示例框图,其中重要功率域以虚线框示出,然而非重要功率域以实心框示出。
25.参考图1b,所有cpu性能重要的实例/应用都被合并/组合到cpu插槽_0 102中的功率域_0 110和功率域_1 112上,并且所有gpu性能重要的实例/应用都被合并/组合到gpu_0 106中的功率域_0 122和功率域_1 124上。其他功率域是非重要功率域。在合并/组合之前,重要功率域分布在2个cpu插槽和2个gpu中。在合并/组合之后,重要功率域分布在1个cpu插槽和1个gpu中。因此,所有性能重要的实例/应用都被合并/组合到较少数目的处理组件(cpu插槽或gpu)上。
26.如上面参考图1a和图1b所描述的,能够在不同类型的处理组件(例如,cpu和gpu)之间划分功率封顶以确保性能重要的实例/应用的性能。实例/应用的合并/组合能够促进节电并且对非重要功率域产生较少的性能损失。
27.在实现方式中,当发生功率封顶时,能够基于功率域的类型不同地执行功率封顶。例如,重要功率域的功耗未被封顶/限制,然而非重要功率域的功耗被封顶/限制。附加地或可替代地,重要功率域的功耗被相对轻微地封顶/限制,然而非重要功率域的功耗被相对深地封顶/限制。诸如图1b中仅包括非重要功率域的cpu插槽_m-1 104和gpu_p-1 108的处理组件能够有更好的机会呆在深度空闲状态下并吸收断电以实现整个计算系统的功率封顶目标。因为重要功率域的功耗未被封顶/限制或者相对轻微地封顶/限制,所以重要功率域的性能可以不经历降级或比非重要功率域降级更少,因此能够保证重要功率域的性能。因为在非重要功率域上不运行性能重要的实例/应用,所以能够减轻对非重要功率域的性能惩罚。在功率封顶期间,非重要功率域可以经历较少的痛苦。因此,改进了功率封顶期间的功率管理。
28.附加地或可替代地,能够减少放置在机架上的gpu服务器的数目。附加地或可替代地,可以避免机架上的gpu服务器和cpu服务器的混合。附加地或可替代地,可以为gpu服务器提供专用电源。
29.尽管在图1a和图1b中,计算系统100(100’)包括两种类型的处理组件,即cpu和gpu,但是计算系统可以包括其他类型的处理组件,例如现场可编程门阵列(fpga)、专用集成电路(“asic”)、数字信号处理器(dsp)等。
30.图2图示用于在计算系统中合并/组合性能重要的实例/应用的过程200的示例流程图。
31.在框202,功率管理组件接收计算系统的功率封顶命令。计算系统包括多个处理组件。多个组件中的相应的处理组件包括多个功率域。计算系统的功率封顶命令包括计算系统的功率封顶目标。
32.在实现方式中,功率管理组件是监测并管理计算系统的功耗的组件。功率管理组件可以用软件、硬件、固件或其任何组合来实现。功率管理组件对计算系统执行功率封顶过程,使得计算系统的功耗不超过功率极限/上限。可以基于实际需要动态地设置和/或调整功率极限/上限。
33.在实现方式中,第一组功率域分布在第一数目的处理组件当中。第二组功率域分布在第二数目的处理组件当中。第二数目小于第一数目。
34.在实现方式中,多个处理组件包括多个中央处理单元(cpu)和/或多个图形处理单元(gpu)。
35.在实现方式中,多个功率域中的相应的功率域的功率上限被单独地控制。
36.在框204,功率管理组件将在第一组功率域上运行的一个或多个实例合并/组合到第二组功率域上。
37.在实现方式中,功率管理组件检查一个或多个合并规则,基于一个或多个合并规则确定一个或多个实例被允许合并,并且将在第一组功率域上运行的一个或多个实例合并到第二组功率域上。
38.在实现方式中,可以基于实例/应用的优先级等级配置一个或多个合并规则,可以基于客户的要求确定所述优先级等级。在一些实施例中,不允许合并/组合相对高优先级的实例/应用,并且允许合并/组合相对低优先级的实例/应用。作为示例,存在同时在功率域上运行的高优先级的实例/应用和低优先级的实例/应用。合并规则可以允许将低优先级的实例/应用合并到另一个功率域上,使得高优先级的实例/应用可以支配地占用资源,使得能够确保高优先级客户的要求。附加地或可替代地,一个或多个合并规则可以由服务提供商基于诸如负载特性、成本控制等的因素来配置。可以动态地配置和/或调整一个或多个合并规则。
39.附加地或可替代地,功率管理组件与调度器进行通信并且从调度器接收信息。功率管理组件基于来自调度器的信息确定该组实例被允许合并并且将在第一组功率域上运行的一个或多个实例合并到第二组功率域上。
40.在实现方式中,一个或多个实例是一个或多个性能重要的实例。性能重要的实例/应用被定义为运行该实例/应用的资源的性能对该实例/应用至关重要的实例/应用。例如,性能重要的实例/应用是人工智能(ai)训练作业。在实现方式中,一个或多个性能重要的实例需要低于第一阈值的时延。附加地或可替代地,一个或多个性能重要的实例需要高于第二阈值的指令执行速率。可以基于实际需要动态地设置和/或调整第一阈值和第二阈值。
41.在框206,功率管理组件对计算系统中排除第二组功率域的多个功率域执行功率封顶。
42.在实现方式中,功率管理组件设置计算系统中排除第二组功率域的多个功率域中的相应的功率域的相应的功率上限。功率管理组件基于相应的功率上限对计算系统中排除第二组功率域的多个功率域中的相应的功率域执行功率封顶。
43.在框208,功率管理组件对排除第二组功率域的多个功率域执行第一功率封顶过程,并且对第二组功率域执行第二功率封顶过程。
44.在实现方式中,功率管理组件为相应的重要功率域设置相应的功率上限,并且为相应的非重要功率域设置相应的功率上限。功率上限对重要功率域的性能的影响可以小于
功率上限对非重要功率域的性能的影响。用于非重要功率域的功率上限可以显著地降低非重要功率域的功耗。可以基于实际需要动态地设置和/或调整相应的功率上限。功率管理组件对排除第二组功率域的多个功率域执行第一功率封顶过程,并且基于功率上限对第二组功率域执行第二功率封顶过程。第二功率封顶过程对第二组功率域的性能的影响可以小于第一功率封顶过程对排除第二组功率域的多个功率域的性能的影响。
45.在实现方式中,第一功率封顶过程可以包括若干功率封顶子模式,所述若干功率封顶子模式可以基于在重要功率域上运行的实例/应用的优先级被应用于重要功率域。例如,贵宾(vip)客户可以具有高要求的服务和第一优先级等级的实例/应用。可以对运行具有第一优先级等级的实例/应用的重要功率域执行第一功率封顶子模式,使得此类重要功率域的性能在功率封顶期间不受影响。例如,相对低优先级客户可以具有相对较低要求的服务并且具有第二优先级等级的实例/应用。可以对运行第二优先级等级的实例/应用的重要功率域执行第二功率封顶子模式,使得此类重要功率域的性能在功率封顶期间不显著地降级。可以基于实际需要动态地配置和/或调整功率封顶子模式。
46.在实现方式中,第二功率封顶过程可以包括若干功率封顶子模式,所述若干功率封顶子模式可以基于在非重要功率域上运行的实例/应用的优先级等级被应用于非重要功率域。例如,客户可以具有第三优先级等级的实例/应用。可以对运行具有第三优先级等级的实例/应用的非重要功率域执行第三功率封顶子模式,使得此类非重要功率域的性能显著地降低以适应功率封顶。例如,另一客户可以具有第四优先级等级的实例/应用。可以对运行第四优先级等级的实例/应用的非重要功率域执行第四功率封顶子模式,使得此类非重要功率域的功耗尽可能降低以吸收断电。可以基于实际需要动态地配置和/或调整功率封顶子模式。
47.在实现方式中,可以基于客户的选择执行功率封顶过程/子模式。例如,具有第四优先级等级的客户可能对服务感到不满意。服务提供商可以向客户提供不同的优先级等级选择。客户可以出于选择升级他/她的优先级等级。在那种情况下,可以在更新之后对运行客户的实例/应用的功率域执行更高等级的功率封顶过程/子模式。客户可以体验到更高等级的服务。可以动态地设置和/或调整优先级等级。
48.利用上述示例过程200,功率管理组件将性能重要的实例/应用合并/组合到更少的处理组件上。能够对重要功率域和非重要功率域不同地执行功率封顶,使得功率封顶对重要功率域的性能的影响小于功率封顶对非重要功率域的性能的影响。仅包括非重要功率域的处理组件能够具有更好的机会呆在深度空闲状态下并吸收断电以实现整个计算系统的功率封顶目标。因为重要功率域的功耗未被封顶/限制或者相对轻微地封顶/限制,所以重要功率域的性能可以不经历显著降级。因此,改进了功率封顶期间的功率管理。
49.图3a图示处于初始状态的计算系统300的示例框图。初始状态是指不执行功率封顶的计算系统的状态。
50.参考图3a,计算系统300包括cpu插槽_0 302、cpu插槽_1 304、gpu_0 306和gpu_1 308。cpu插槽_0 302包括以下功率域,即核心_0-3 310、核心_4-7 312、非核心切片#0 314、核心_8-27 316和非核心切片#1 318。cpu插槽_1 304包括以下功率域,即核心_0-3 320、核心_4-7 322、非核心切片#0324、核心_8-27 326和非核心切片#1 328。gpu_0 306包括以下功率域,即核心_0-511 330、核心_512-1023 332和核心_1024-4095 334。gpu_1 308包括以
下功率域,即核心_0-511 336、核心_512-1023 338和核心_1024-4095 340。
51.因为计算系统300处于不执行功率封顶的初始状态,所以每个功率域的功耗未被限制/封顶。例如,在cpu插槽_0 302中,核心_0-3 310消耗5w功率;核心_4-7 312消耗5w功率;非核心切片#0 314消耗7w功率;核心_8-27 316消耗28w功率;并且非核心切片#1 318消耗7w功率。在cpu插槽_1 304中,核心_0-3 320消耗5w功率;核心_4-7 322消耗5w功率;非核心切片#0 324消耗7w功率;核心_8-27 326消耗28w功率;并且非核心切片#1 328消耗7w功率。在gpu_0 306中核心_0-511 330消耗25w功率;核心_512-1023 332消耗25w功率;并且核心_1024-4095 334消耗150w功率。在gpu_1 308中,核心_0-511 336消耗25w功率;核心_512-1023 338消耗25w功率;并且核心_1024-4095 340消耗150w功率。
52.因为未发生功率封顶,所以每个功率域的功率预算未被限制,并且因此每个功率域(核心和/或非核心切片)的性能不会下降或降低。虚线框310至340指示这些功率域是消耗功率的重要功率域。
53.图3b图示合并/组合之后的计算系统300’的示例框图。重要功率域以虚线框示出,而非重要功率域以实心框示出。
54.参考图3b,在合并/组合之后,所有cpu性能重要的实例/应用都被合并/组合在cpu插槽_302中的核心_0-3 310、核心_4-7 312和非核心切片#0 314上,并且所有gpu性能重要的实例/应用都被合并/组合在gpu_0 306中的核心_0-511 330和核心_512-1023 332上。
55.作为示例,在cpu插槽_0 302中,核心_0-3 310消耗5w功率,其与合并/组合之前的功耗相同。核心_4-7 312消耗5w功率,其与合并/组合之前的功耗相同。非核心切片#0 314消耗7w功率,其与合并/组合之前的功耗相同。核心_8-27 316消耗18w功率,其低于合并/组合之前28w的功耗。非核心切片#1 318消耗5w功率,其低于合并/组合之前7w的功耗。
56.在cpu插槽_1 304中,核心_0-3 320消耗4w功率,其低于合并/组合之前5w的功耗。核心_4-7 322消耗4w功率,其低于合并/组合之前5w的功耗。非核心切片#0 324消耗5w功率,其低于合并/组合之前7w的功耗。核心_8-27 326消耗18w功率,其低于合并/组合之前28w的功耗。非核心切片#1 328消耗5w功率,其低于合并/组合之前7w的功耗。
57.在gpu_0 306中,核心_0-511 330消耗25w功率,其与合并/组合之前的功耗相同。核心_512-1023 332消耗25w功率,其与合并/组合之前的功耗相同。核心_1024-4095 334消耗100w功率,其低于合并/组合之前150w的功耗。
58.在gpu_1 308中,核心_0-511 336消耗15w功率,其低于合并/组合之前25w的功耗。核心_512-1023 338消耗15w功率,其低于合并/组合之前25w的功耗。核心_1024-4095 340消耗100w功率,其低于合并/组合之前150w的功耗。
59.尽管在图3a和图3b中,计算系统300(300’)包括两种类型的处理组件,即cpu和gpu,但是计算系统可以包括其他类型的处理组件,例如现场可编程门阵列(fpga)、专用集成电路(“asic”)、数字信号处理器(dsp)等。
60.在上述示例中,基于重要功率域和非重要功率域执行功率封顶。在合并/组合之后,当发生功率封顶时,重要功率域的功耗不受影响,然而非重要功率域的功耗降低了。性能重要的实例/应用在其上运行的重要功率域的性能不受功率封顶影响。由于功率封顶,在非重要功率域中可能发生一定程度的性能降级。因为重要功率域的性能被保证,所以能够限制功率封顶对计算系统的整体性能的影响。因此,改进了功率封顶期间的功率管理。
61.附加地或可替代地,重要功率域的功耗可以被相对轻微地封顶/限制,非重要功率域的功耗可以被相对深地降低。在那种情况下,重要功率域的性能可能经历比非重要功率域更少的降级,并且非重要功率域可以呆在空闲状态下以吸收断电以实现整个计算系统的功率封顶目标。
62.图4图示用于合并/组合性能重要的实例/应用并且基于重要功率域和非重要功率域执行功率封顶的过程400的示例流程图。
63.在框402,功率管理组件接收计算系统的功率封顶命令。功率封顶命令包括计算系统的功率封顶目标。能够基于实际需要动态地设置/调整功率封顶目标。功率管理组件是监测并管理计算系统的功耗的组件。功率管理组件能够用软件、硬件、固件或其任何组合来实现。
64.在框404,功率管理组件标识在计算系统上运行的性能重要的实例/应用。
65.在实现方式中,功率管理组件遍历计算系统的proc tree(过程树)以标识在计算系统上运行的所有性能重要的实例/应用。
66.在框406,功率管理组件将性能重要的实例/应用正在上面运行的功率域标记为重要功率域。例如,功率管理组件将x个功率域标记为重要功率域,其中x是正整数。
67.在框408,功率管理组件检查一个或多个合并规则或者与调度器进行通信。
68.在实现方式中,一个或多个合并规则调节实例/应用是否被允许合并/组合。
69.在实现方式中,功率管理组件与调度器进行通信并且从调度器接收指示实例/应用是否被允许合并/组合的信息。
70.在实现方式中,调度器负责在计算环境中分配并迁移实例/应用。调度器保持每个实例/应用的有关该实例/应用是否重要并且该实例/应用是否被允许合并/组合的信息,这能够基于服务提供商与客户之间的服务等级协定(sla)被确定。调度器能够使用本机或虚拟化通信方法来与功率管理组件进行通信以将信息发送到功率管理组件。在实现方式中,调度器可以是全局调度器或本地调度器。全局调度器和本地调度器的更多细节被图示在图5中。
71.在框410,功率管理组件确定性能重要的实例/应用是否被允许合并/组合。
72.在实现方式中,功率管理组件基于一个或多个合并规则确定性能重要的实例/应用是否被允许合并/组合。在实现方式中,可以基于实例/应用的优先级等级配置一个或多个合并规则,可以基于客户的要求确定所述优先级等级。在一些实施例中,不允许合并/组合相对高优先级的实例/应用,并且允许合并/组合相对低优先级的实例/应用。作为示例,存在同时在功率域上运行的高优先级的实例/应用和低优先级的实例/应用。合并规则可以允许将低优先级的实例/应用合并到另一功率域上,使得高优先级的实例/应用可以支配地占用资源,使得能够确保高优先级客户的要求。附加地或可替代地,一个或多个合并规则可以由服务提供商基于诸如负载特性、成本控制等的因素来配置。可以动态地配置和/或调整一个或多个合并规则。
73.在实现方式中,功率管理组件可以基于来自调度器的信息确定性能重要的实例/应用是否被允许合并/组合。
74.如果功率管理组件在框410确定实例/应用被允许合并/组合,则功率管理组件在框412合并/组合实例/应用。
75.在实现方式中,功率管理组件将在x个功率域上运行的性能重要的实例/应用合并/组合到y个功率域上,其中y是正整数,并且y《=x。
76.在实现方式中,功率管理组件将性能重要的实例/应用合并/组合到更少的处理组件上。例如,在合并/组合之前,x个重要功率域分布在i个处理组件当中,其中i是正整数。在合并/组合之后,y个重要功率域分布在j个处理组件当中,其中j是正整数,并且i》j。因此,性能重要的实例/应用被合并/组合到更少的处理组件上。
77.在功率管理组件在框412合并实例/应用之后,功率管理组件在框414更新并标记新的重要功率域。
78.在实现方式中,在将在x个重要功率域上运行的性能重要的实例合并/组合到y个重要功率域上之后,y个重要功率域被标记为重要功率域。
79.如果功率管理组件在框410或在框414之后确定性能重要的实例/应用未被允许合并/组合,则功率管理组件在框416基于功率域的类型设置功率上限。
80.在实现方式中,功率管理组件可以为非重要功率域设置功率上限,而不用为重要功率域设置功率上限。
81.附加地或可替代地,功率管理组件可以为相应的重要功率域设置相应的功率上限,并且为相应的非重要功率域设置相应的功率上限。可以基于实际需要动态地设置和/或调整相应的功率上限。用于非重要功率域的功率上限可以显著地降低非重要功率域的功耗。
82.在框418,功率管理组件基于功率域的类型执行功率封顶。
83.在实现方式中,功率管理组件开始对非重要功率域调节功率上限,而不对重要功率域执行功率封顶。在那种情况下,重要功率域的功耗未被封顶/限制,然而非重要功率域的功耗被封顶/限制。因此,重要功率域的性能不会由于功率封顶而降级。非重要功率域可以具有更好的机会呆在深度空闲状态下以吸收断电以实现整个计算系统的功率封顶目标。
84.附加地或可替代地,功率管理组件可以基于在框416设置的功率上限对重要功率域执行第一功率封顶过程,并且基于在框416设置的功率上限对非重要功率域执行第二功率封顶过程。第二功率封顶过程对重要功率域的性能的影响可以小于第一功率封顶过程对非重要功率域的性能的影响。
85.在实现方式中,第一功率封顶过程可以包括若干功率封顶子模式,所述若干功率封顶子模式可以基于在重要功率域上运行的实例/应用的优先级等级被应用于重要功率域。例如,贵宾(vip)客户可以具有高要求的服务和第一优先级等级的实例/应用。可以对运行具有第一优先级等级的实例/应用的重要功率域执行第一功率封顶子模式,使得此类重要功率域的性能在功率封顶期间不受影响。例如,相对低优先级客户可以具有相对较低要求的服务并且具有第二优先级等级的实例/应用。可以对运行第二优先级等级的实例/应用的重要功率域执行第二功率封顶子模式,使得此类重要功率域的性能在功率封顶期间不显著地降级。可以基于实际需要动态地配置和/或调整功率封顶子模式。
86.在实现方式中,第二功率封顶过程可以包括若干功率封顶子模式,所述若干功率封顶子模式可以基于在非重要功率域上运行的实例/应用的优先级等级被应用于非重要功率域。例如,客户可以具有第三优先级等级的实例/应用。可以对运行具有第三优先级等级的实例/应用的非重要功率域执行第三功率封顶子模式,使得此类非重要功率域的性能显
著地降低以适应功率封顶。例如,另一客户可以具有第四优先级等级的实例/应用。可以对运行第四优先级等级的实例/应用的非重要功率域执行第四功率封顶子模式,使得此类非重要功率域的功耗尽可能降低以吸收断电。可以基于实际需要动态地配置和/或调整功率封顶子模式。
87.在实现方式中,可以根据客户的选择执行功率封顶过程/子模式。例如,具有第四优先级等级的客户可能对服务感到不满意。服务提供商可以向客户提供不同的优先级等级选择。客户可以出于选择升级他/她的优先级等级。在那种情况下,可以在更新之后对运行客户的实例/应用的功率域执行更高等级的功率封顶过程/子模式。客户可以体验到更高等级的服务。可以动态地设置和/或调整优先级等级。
88.利用示例过程400,功率管理组件将性能重要的实例/应用合并/组合到更少的处理组件上。对重要功率域和非重要功率域不同地执行功率封顶。仅包括非重要功率域的处理组件能够具有更好的机会呆在深度空闲状态下并吸收断电以实现整个计算系统的功率封顶目标。因为重要功率域的功耗未被封顶/限制或者相对轻微地封顶/限制,所以重要功率域的性能被保证。因此,改进了功率封顶期间的功率管理。
89.图5图示示出了计算系统500与全局调度器502进行通信的示例框图。
90.参考图5,计算系统500与全局调度器502进行通信。计算系统500包括功率管理组件504和本地调度器506。功率管理组件504与本地调度器506进行通信。
91.在实现方式中,全局调度器502是在计算系统500与其他计算系统(未示出)之间分配并迁移实例/应用的中央控制器。全局调度器502保持在控制下在所有计算系统上运行的每个实例/应用的有关该实例/应用是否重要并且该实例/应用是否被允许合并/组合的信息,这能够基于服务提供商与客户之间的sla被确定。全局调度器502使用本机或虚拟化通信方法来与计算系统500进行通信以发送信息。
92.在实现方式中,功率管理组件504是监视并管理计算系统500的功耗的组件。
93.在实现方式中,本地调度器506是在计算系统500内分配并迁移实例/应用的分布式控制器。本地调度器506保持在计算系统上运行的每个实例/应用的有关该实例/应用是否重要并且该实例/应用是否被允许合并/组合的信息,这能够基于服务提供商与客户之间的sla被确定。全局调度器502使用本机或虚拟化通信方法来与功率管理组件504进行通信以将信息发送到功率管理组件504。
94.图6图示用于实现上述过程和方法的示例系统600。
95.设备600包括一个或多个处理器602和通信地耦合到处理器602的存储器604。处理器602执行一个或多个模块和/或过程以使处理器602执行各种功能。附加地,每一个处理器602可以拥有它自己的本地存储器,其还可以存储程序模块、程序数据和/或一个或多个操作系统。在实现方式中,存储器604可以是易失性的,诸如ram,非易失性的,诸如rom、闪速存储器、微型硬盘驱动器、存储卡等,或其某种组合。
96.设备600可以附加地包括用于接收和输出数据的输入/输出(i/o)接口606。设备600还可以包括允许设备600通过网络(未示出)与其他装置(未示出)进行通信的通信模块608。网络可以包括互联网、诸如有线网络或直接有线连接的有线介质以及诸如声学、射频(rf)、红外和其他无线媒体的无线介质。
97.存储器604可以包括可由处理器602执行的一个或多个计算机可执行模块(模块)。
在实现方式中,存储器604可以包括但不限于接收模块610、合并模块612和功率封顶模块614。
98.接收模块610被配置为接收计算系统的功率封顶命令。计算系统包括多个处理组件。计算系统包括分布在多个处理组件当中的多个功率域。
99.在实现方式中,多个功率域中的相应的功率域的功率上限被单独地控制。
100.合并模块612被配置为将在第一组功率域上运行的一个或多个实例合并到第二组功率域上。
101.合并模块612被进一步配置为检查一个或多个合并规则,基于一个或多个合并规则确定一个或多个实例被允许合并,并且将在第一组功率域上运行的一个或多个实例合并到第二组功率域上。
102.在实现方式中,可以基于实例/应用的优先级等级配置一个或多个合并规则,可以基于客户的要求确定所述优先级等级。在一些实施例中,不允许合并/组合相对高优先级的实例/应用,并且允许合并/组合相对低优先级的实例/应用。作为示例,存在同时在功率域上运行的高优先级的实例/应用和低优先级的实例/应用。合并规则可以允许将低优先级的实例/应用合并到另一功率域上,使得高优先级的实例/应用可以支配地占用资源,使得能够确保高优先级客户的要求。附加地或可替代地,一个或多个合并规则可以由服务提供商基于诸如负载特性、成本控制等的因素来配置。可以动态地配置和/或调整一个或多个合并规则。
103.合并模块612被进一步配置为与调度器进行通信,从调度器接收信息,基于来自调度器的信息确定一个或多个实例被允许合并,并且将在第一组功率域上运行的一个或多个实例合并到第二组功率域上。在实现方式中,调度器可以是全局调度器或本地调度器。
104.在实现方式中,第一组功率域分布在第一数目的处理组件当中。第二组功率域分布在第二数目的处理组件当中。第二数目小于第一数目。
105.在实现方式中,多个处理组件包括多个cpu和/或多个gpu。
106.在实现方式中,一个或多个实例包括一个或多个性能重要的实例。性能重要的实例可以是时延敏感的实例。时延敏感的实例需要低于第一阈值例如10μs、5μs等的时延。附加地或可替代地,性能重要的实例可以是吞吐量敏感的实例。吞吐量敏感的实例需要高于第二阈值例如每秒200万条指令、每秒500万条指令等的指令执行速率。可以基于实际需要动态地设置和/或调整第一阈值和第二阈值。
107.功率封顶模块614被配置为对计算系统中排除第二组功率域的多个功率域执行功率封顶。
108.功率封顶模块614被进一步配置为设置计算系统中排除第二组功率域的多个功率域中的相应的功率域的相应的功率上限,并且基于相应的功率上限对计算系统中排除第二组功率域的多个功率域中的相应的功率域执行功率封顶。
109.附加地或可替代地,功率封顶模块614被配置为基于功率域的类型不同地执行功率封顶。功率封顶模块614可以为相应的重要功率域设置相应的功率上限,并且为相应的非重要功率域设置相应的功率上限。用于非重要功率域的功率上限可以显著地降低非重要功率域的功耗。功率封顶模块614被进一步配置为对排除第二组功率域的多个功率域执行第一功率封顶过程,并且对第二组功率域执行第二功率封顶过程。第二功率封顶过程对重要
功率域的性能的影响小于第一功率封顶过程对非重要功率域的性能的影响。
110.在实现方式中,第一功率封顶过程可以包括若干功率封顶子模式,所述若干功率封顶子模式可以基于在重要功率域上运行的实例/应用的优先级等级被应用于重要功率域。例如,贵宾(vip)客户可以具有高要求的服务和第一优先级等级的实例/应用。可以对运行具有第一优先级等级的实例/应用的重要功率域执行第一功率封顶子模式,使得此类重要功率域的性能在功率封顶期间不受影响。例如,相对低优先级客户可以具有相对较低要求的服务并且具有第二优先级等级的实例/应用。可以对运行第二优先级等级的实例/应用的重要功率域执行第二功率封顶子模式,使得此类重要功率域的性能在功率封顶期间不显著地降级。可以基于实际需要动态地配置和/或调整功率封顶子模式。
111.在实现方式中,第二功率封顶过程可以包括若干功率封顶子模式,所述若干功率封顶子模式可以基于在非重要功率域上运行的实例/应用的优先级等级被应用于非重要功率域。例如,客户可以具有第三优先级等级的实例/应用。可以对运行具有第三优先级等级的实例/应用的非重要功率域执行第三功率封顶子模式,使得此类非重要功率域的性能显著地降低以适应功率封顶。例如,另一客户可以具有第四优先级等级的实例/应用。可以对运行第四优先级等级的实例/应用的非重要功率域执行第四功率封顶子模式,使得此类非重要功率域的功耗尽可能降低以吸收断电。可以基于实际需要动态地配置和/或调整功率封顶子模式。
112.在实现方式中,可以基于客户的选择执行功率封顶过程/子模式。例如,具有第四优先级等级的客户可能对服务感到不满意。服务提供商可以向客户提供不同的优先级等级选择。客户可以出于选择升级他/她的优先级等级。在那种情况下,可以在更新之后对运行客户的实例/应用的功率域执行更高等级的功率封顶过程/子模式。客户可以体验到更高等级的服务。可以动态地设置和/或调整优先级。
113.利用上述示例设备600,功率管理组件将性能重要的实例/应用合并/组合到更少的处理组件上。对重要功率域和非重要功率域不同地执行功率封顶。仅包括非重要功率域的处理组件可以具有更好的机会呆在深度空闲状态下并吸收断电以实现整个计算系统的功率封顶目标。因为重要功率域的功耗未被封顶/限制或者相对轻微地封顶/限制,所以重要功率域的性能被保证。因此,改进了功率封顶期间的功率管理。
114.可以在但不限于分布式计算环境、并行计算环境、集群计算环境、网格计算环境、云计算环境、电动车辆、电力设施等中实现本文讨论的过程和系统。
115.能够通过运行如在下面定义的存储在计算机可读存储介质上的计算机可读指令来执行上述方法的一些或所有操作。如说明书和权利要求中使用的术语“计算机可读指令”包括例程、应用、应用模块、程序模块、程序、组件、数据结构、算法等。能够在各种系统配置上实现计算机可读指令,所述各种系统配置包括单处理器或多处理器系统、微型计算机、大型计算机、个人计算机、手持计算装置、基于微处理器的可编程消费者电子装置、其组合等。
116.计算机可读存储介质包括易失性存储器(诸如随机存取存储器(ram))和/或非易失性存储器(诸如只读存储器(rom)、闪速存储器等)。计算机可读存储介质还可以包括附加可移动存储装置和/或非可移动存储装置,包括但不限于可以提供计算机可读指令、数据结构、程序模块等的非易失性存储的闪速存储器、磁存储器、光学存储装置和/或磁带存储装置。
117.非暂时性计算机可读存储介质是计算机可读介质的示例。计算机可读介质包括至少两种类型的计算机可读介质,即计算机可读存储介质和通信介质。计算机可读存储介质包括在任何过程或技术中实现以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据的信息的易失性和非易失性、可移动和非可移动介质。计算机可读存储介质包括但不限于相变存储器(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦可编程只读存储器(eeprom)、闪速存储器或其他存储器技术、紧致盘只读存储器(cd-rom)、数字通用盘(dvd)或其他光学存储装置、磁盒、磁带、磁盘存储装置或其他磁存储装置,或能够用于存储信息以供由计算装置访问的任何其他非传输介质。相比之下,通信介质可以在诸如载波或其他传输机制的调制数据信号中体现计算机可读指令、数据结构、程序模块或其他数据。如本文所定义的,计算机可读存储介质不包括通信介质。
118.存储在一个或多个非暂时性计算机可读存储介质上的计算机可读指令当由一个或多个处理器执行时,可以执行上面参考图1-6描述的操作。通常,计算机可读指令包括执行特定功能或者实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。描述操作的次序不旨在被解释为限制,并且能够以任何次序和/或并行地组合任何数目的所描述的操作以实现这些过程。示例条款
119.条款1.一种方法,所述方法包括:接收计算系统的功率封顶命令,所述计算系统包括多个处理组件,所述计算系统包括分布在所述多个处理组件当中的多个功率域;将在第一组功率域上运行的一个或多个实例合并到第二组功率域上;以及对所述计算系统中排除所述第二组功率域的所述多个功率域执行功率封顶。
120.条款2.根据条款1所述的方法,其中所述第一组功率域分布在第一数目的处理组件当中,而所述第二组功率域分布在第二数目的处理组件当中,并且所述第二数目小于所述第一数目。
121.条款3.根据条款1所述的方法,其中所述多个功率域中的相应的功率域的功率上限被单独地控制。
122.条款4.根据条款1所述的方法,其中将在所述第一组功率域上运行的所述一个或多个实例合并到所述第二组功率域上包括:检查一个或多个合并规则;基于所述一个或多个合并规则确定所述一个或多个实例被允许合并;以及将在所述第一组功率域上运行的所述一个或多个实例合并到所述第二组功率域上。
123.条款5.根据条款1所述的方法,其中将在所述第一组功率域上运行的所述一个或多个实例合并到所述第二组功率域上包括:与调度器进行通信;从所述调度器接收信息;基于来自所述调度器的所述信息确定所述一个或多个实例被允许合并;以及将在所述第一组功率域上运行的所述一个或多个实例合并到所述第二组功率域上。
124.条款6.根据条款1所述的方法,其中对所述计算系统中排除所述第二组功率域的所述多个功率域执行功率封顶包括:设置所述计算系统中排除所述第二组功率域的所述多个功率域中的相应的功率域的相应的功率上限;以及基于所述相应的功率上限对所述计算系统中排除所述第二组功率域的所述多个功率域中的所述相应的功率域执行功率封顶。
125.条款7.根据条款1所述的方法,其中所述一个或多个实例包括一个或多个性能重
要的实例。
126.条款8.根据条款7所述的方法,其中所述一个或多个性能重要的实例需要低于第一阈值的时延。
127.条款9.根据条款7所述的方法,其中所述一个或多个性能重要的实例需要高于第二阈值的指令执行速率。
128.条款10.一种计算机可读存储介质,所述计算机可读存储介质存储可由一个或多个处理器执行的计算机可读指令,当由所述一个或多个处理器执行时,所述计算机可读指令使所述一个或多个处理器执行操作,所述操作包括:接收计算的功率封顶命令系统,所述计算系统包括多个处理组件,所述计算系统包括分布在多个处理组件当中的多个功率域;将在第一组功率域上运行的一个或多个实例合并到第二组功率域上;以及对所述计算系统中排除所述第二组功率域的所述多个功率域执行功率封顶。
129.条款11.根据条款11所述的计算机可读存储介质,其中所述第一组功率域分布在第一数目的处理组件当中,而所述第二组功率域分布在第二数目的处理组件当中,并且所述第二数目小于所述第一数目。
130.条款12.根据条款10所述的计算机可读存储介质,其中所述多个处理组件包括多个cpu和/或多个gpu。
131.条款13.根据条款10所述的计算机可读存储介质,其中所述多个功率域中的相应的功率域的功率上限被单独地控制。
132.条款14.根据条款10所述的计算机可读存储介质,其中将在所述第一组功率域上运行的所述一个或多个实例合并到所述第二组功率域上包括:检查一个或多个合并规则;基于所述一个或多个合并规则确定所述一个或多个实例被允许合并;以及将在所述第一组功率域上运行的所述一个或多个实例合并到所述第二组功率域上。
133.条款15.根据条款10所述的计算机可读存储介质,其中将在所述第一组功率域上运行的所述一个或多个实例合并到所述第二组功率域上包括:与调度器进行通信;从所述调度器接收信息;基于来自所述调度器的所述信息确定所述一个或多个实例被允许合并;以及将在所述第一组功率域上运行的所述一个或多个实例合并到所述第二组功率域上。
134.条款16.根据条款10所述的计算机可读存储介质,其中对所述计算系统中排除所述第二组功率域的所述多个功率域执行功率封顶包括:设置所述计算系统中排除所述第二组功率域的所述多个功率域中的相应的功率域的相应的功率上限;以及基于所述相应的功率上限对所述计算系统中排除所述第二组功率域的所述多个功率域中的所述相应的功率域执行功率封顶。
135.条款17.根据条款10所述的计算机可读存储介质,其中所述一个或多个实例包括一个或多个性能重要的实例。
136.条款18.根据条款17所述的计算机可读存储介质,其中所述一个或多个性能重要的实例需要低于第一阈值的时延。
137.条款19.根据条款17所述的计算机可读存储介质,其中所述一个或多个性能重要的实例需要高于第二阈值的指令执行速率。
138.条款20.一种设备,所述设备包括:一个或多个处理器;以及存储器,所述存储器通信地耦合到所述一个或多个处理器,所述存储器存储可由所述一个或多个处理器执行的计
算机可执行模块,所述计算机可执行模块包括:接收模块,所述接收模块被配置为接收计算系统的功率封顶命令,所述计算系统包括多个处理组件,所述计算系统包括分布在所述多个处理组件当中的多个功率域;合并模块,所述合并模块被配置为将在第一组功率域上运行的一个或多个实例合并到第二组功率域上;以及功率封顶模块,所述功率封顶模块被配置为对所述计算系统中排除所述第二组功率域的所述多个功率域执行功率封顶。
139.条款21.根据条款20所述的设备,其中所述第一组功率域分布在第一数目的处理组件当中,而所述第二组功率域分布在第二数目的处理组件当中,并且所述第二数目小于所述第一数目。
140.条款22.根据条款20所述的设备,其中所述多个功率域中的相应的功率域的功率上限被单独地控制。
141.条款23.根据条款20所述的设备,其中所述合并模块被进一步配置为:检查一个或多个合并规则;基于所述一个或多个合并规则确定所述一个或多个实例被允许合并;以及将在所述第一组功率域上运行的所述一个或多个实例合并到所述第二组功率域上。
142.条款24.根据条款20所述的设备,其中所述合并模块被进一步配置为:与调度器进行通信;从所述调度器接收信息;基于来自所述调度程序的所述信息确定所述一个或多个实例被允许合并;以及将在所述第一组功率域上运行的所述一个或多个实例合并到所述第二组功率域上。
143.条款25.根据条款20所述的设备,其中所述功率封顶模块被进一步配置为:设置所述计算系统中排除所述第二组功率域的所述多个功率域中的相应的功率域的相应的功率上限;以及基于所述相应的功率上限对所述计算系统中排除所述第二组功率域的所述多个功率域中的所述相应的功率域执行功率封顶。
144.条款26.根据条款20所述的设备,其中所述一个或多个实例包括一个或多个性能重要的实例。
145.条款27.根据条款26所述的设备,其中所述一个或多个性能重要的实例需要低于第一阈值的时延。
146.条款28.根据条款26所述的设备,其中所述一个或多个性能重要的实例需要高于第二阈值的指令执行速率。
147.条款29.一种方法,所述方法包括:接收计算系统的功率封顶命令,所述计算系统包括多个处理组件,所述计算系统包括分布在所述多个处理组件当中的多个功率域;将在第一组功率域上运行的一个或多个实例合并到第二组功率域上;对排除所述第二组功率域的所述多个功率域执行第一功率封顶过程;以及对所述第二组功率域执行第二功率封顶过程。
148.条款30.根据条款29所述的方法,其中所述第二功率封顶过程对所述第二组功率域的性能的影响小于所述第一功率封顶过程对排除所述第二组功率域的所述多个功率域的性能的影响。
149.条款31.根据权利要求29所述的方法,其中所述第一组功率域分布在第一数目的处理组件当中,而所述第二组功率域分布在第二数目的处理组件当中,并且所述第二数目小于所述第一数目。
150.条款32.根据条款29所述的方法,其中所述多个功率域中的相应的功率域的功率
上限被单独地控制。
151.条款33.根据条款29所述的方法,其中将在所述第一组功率域上运行的所述一个或多个实例合并到所述第二组功率域上包括:检查一个或多个合并规则;基于所述一个或多个合并规则确定所述一个或多个实例被允许合并;以及将在所述第一组功率域上运行的所述一个或多个实例合并到所述第二组功率域上。
152.条款34.根据条款29所述的方法,其中将在所述第一组功率域上运行的所述一个或多个实例合并到所述第二组功率域上包括:与调度器进行通信;从所述调度器接收信息;基于来自所述调度器的所述信息确定所述一个或多个实例被允许合并;以及将在所述第一组功率域上运行的所述一个或多个实例合并到所述第二组功率域上。
153.条款35.根据条款29所述的方法,其中对排除所述第二组功率域的所述多个功率域执行所述第一功率封顶过程包括:设置排除所述第二组功率域的所述多个功率域中的相应的功率域的相应的功率上限;以及基于所述相应的功率上限对所述相应的功率域执行所述第一功率封顶过程。
154.条款36.根据条款29所述的方法,其中对所述第二组功率域执行所述第二功率封顶过程包括:设置所述第二组功率域中的相应的功率域的相应的功率上限;以及基于所述相应的功率上限对所述相应的功率域执行所述第二功率封顶过程。
155.条款37.根据条款29所述的方法,其中所述一个或多个实例包括一个或多个性能重要的实例。
156.条款38.根据条款37所述的方法,其中所述一个或多个性能重要的实例需要低于第一阈值的时延。
157.条款39.根据条款37所述的方法,其中所述一个或多个性能重要的实例需要高于第二阈值的指令执行速率。结论
158.尽管已经用特定于结构特征和/或方法学行为的语言描述了主题,但是应当理解,所附权利要求中限定的主题不一定限于所描述的特定特征或行为。相反,特定特征和行为作为实现权利要求的示例性形式被公开。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1