CN113312235A - 吞吐量优化的服务质量预警功率封顶系统 - Google Patents
吞吐量优化的服务质量预警功率封顶系统 Download PDFInfo
- Publication number
- CN113312235A CN113312235A CN202110586000.4A CN202110586000A CN113312235A CN 113312235 A CN113312235 A CN 113312235A CN 202110586000 A CN202110586000 A CN 202110586000A CN 113312235 A CN113312235 A CN 113312235A
- Authority
- CN
- China
- Prior art keywords
- power
- machines
- threshold
- tasks
- limits
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/329—Power saving characterised by the action undertaken by task scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/28—Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4893—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues taking into account power or heat criteria
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5094—Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5021—Priority
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Power Sources (AREA)
Abstract
本公开涉及吞吐量优化的服务质量预警功率封顶系统。描述了一种通过动态控制来使功率超额订用服务中的面向吞吐量的作业的中断最小化的方法。该机制以与硬件无关的方式控制功率,并且该策略采用了多阈值方法,可以在功率安全和工作负载影响之间取得平衡。此外,当功率测量不可用时,替代的控制机制可以确保系统正常运行。
Description
相关申请的交叉引用
本申请要求2020年5月27日提交的美国临时专利申请No.63/030,639的提交日期的权益,其公开内容通过引用合并于此。
技术领域
本公开涉及吞吐量优化的服务质量预警功率封顶系统。
背景技术
数据中心形成了流行的在线服务(诸如搜索、流传输视频、电子邮件、社交网络、在线购物和云)的骨干。对在线服务的需求的不断增长迫使超大规模提供商投入大量资金来不断扩展其数据中心舰队。这些投资的大部分被分配用于购买和构建基础设施,例如建筑物、电力输送和制冷,以托管组成仓库级计算机的服务器。
如果所有服务器均被100%利用,功率超额订用是在数据中心中部署比数据中心名义上支持的更多的服务器的做法。它可以就地增加现有数据中心的功率容量,并减少未来数据中心构建。另一方面,功率超额订用会在功率峰值期间出现过载的风险,因此通常会附带诸如功率封顶之类的保护系统。功率封顶系统通过防止功率应急期间的过载来实现安全的功率超额订用。功率封顶动作包括暂停低优先级任务,使用诸如动态电压和频率缩放(DVFS)和运行平均功率极限(RAPL)之类的技术节流(throttle)CPU电压和频率,或者打包可用内核子集中的线程。该动作需要与工作负载兼容并满足服务级目标(SLO)。但是,这对于面向吞吐量的工作负载与对延迟敏感的工作负载共置的集群而言是一个挑战。
面向吞吐量的任务代表一类重要的计算工作负载。示例包括Web索引、日志处理和机器学习模型训练。这些工作负载对需要何时完成计算,最后期限通常是以小时为单位,这使得当集群由于功率超额订用面临功率应急时,它们成为性能节流的理想候选。但是,错过最后期限可能会导致严重的后果,诸如收入损失和质量下降,从而使它们不太容易被中断。
延迟敏感的工作负载是另一类。他们需要在毫秒至几秒内完成请求的计算。一个典型的示例是处置用户请求的作业。高延迟会导致不良的用户体验,最终导致用户和收入的损失。与面向吞吐量的流水线不同,此类作业不适合性能节流。它们通常被认为是高优先级,并且需要免于功率封顶。面向吞吐量和延迟敏感的作业通常被共置于同一服务器上,以提高资源利用率。由于需要细粒度的功率封顶机制,因此这对功率封顶提出了巨大挑战。
发明内容
本公开的一个方面提供一种方法,包括:由一个或多个处理器接收对数据中心中的多个机器的功率测量,多个机器实行一个或多个任务;识别多个机器的功率限度;由一个或多个处理器将所接收到的功率测量与多个机器的功率限度进行比较;基于比较,确定是否撤除(shed)由多个机器所消耗的功率;以及由一个或多个处理器命令多个机器根据一个或多个限制进行操作以降低功率消耗。
根据一些示例,该方法可以进一步包括:识别第一阈值;以及识别高于第一阈值的第二阈值;其中,确定是否撤除功率包括确定所接收的功率测量是否满足或超过第二阈值,以及其中,命令多个机器根据一个或多个限制进行操作包括发送命令以使功率消耗降低第一预定百分比。确定是否撤除功率可以包括仅在已经满足或超过第二阈值之后的预定时间段期间,确定所接收的功率测量是否超过第一阈值。当在预定时间段期间满足或超过第一阈值时,该方法进一步可以进一步包括向多个机器发送第二命令,以使功率消耗降低第二预定百分比,该第二预定百分比低于第一预定百分比。
根据一些示例,可以从耦合到多个机器的一个或多个功率计接收测量。
命令多个机器根据一个或多个限制进行操作可以包括:对功率域中的所有机器,限定机器级调度器内的任务的处理时间。限定处理时间可以包括对低优先级任务应用第一乘数,其中,选择第一乘数以阻止低优先级任务运行并且消耗功率。在一些示例中,该方法可以进一步包括对低优先级任务应用第二乘数。可以使一个或多个高优先级任务免于限度。
根据一些示例,该方法可以进一步包括当功率测量变得不可用时,限制多个可用可调度处理器实体以控制功率。
命令多个机器根据一个或多个限制进行操作可以包括使多个机器中的每个的处理组件的一部分不可用于任务。
本公开的另一方面提供一种系统,包括与实行一个或多个任务的多个机器通信的一个或多个处理器。该一个或多个处理器可以被配置为接收对多个机器的功率测量;识别多个机器的功率限度;将所接收到的功率测量与多个机器的功率限度进行比较;基于比较,确定是否撤除由多个机器所消耗的功率;以及由一个或多个处理器命令多个机器根据一个或多个限制进行操作以降低功率消耗。
一个或多个处理器可以进一步被配置为:识别第一阈值;以及识别高于第一阈值的第二阈值;其中,确定是否撤除功率包括确定所接收的功率测量是否满足或超过第二阈值,以及其中,命令多个机器根据一个或多个限制进行操作包括发送命令以使功率消耗降低第一预定百分比。确定是否撤除功率可以包括仅在已经满足或超过第二阈值之后的预定时间段期间,确定所接收的功率测量是否超过第一阈值。当在预定时间段期间满足或超过第一阈值时,一个或多个处理器可以被进一步配置为向多个机器发送第二命令,以使功率消耗降低第二预定百分比,该第二预定百分比低于第一预定百分比。
根据一些示例,可以从耦合到多个机器的一个或多个功率计接收测量。
命令多个机器根据一个或多个限制进行操作可以包括:对功率域中的所有机器,限定机器级调度器内的任务的处理时间。在限定处理时间中,一个或多个处理器可以被配置为对低优先级任务应用第一乘数,其中,选择第一乘数以阻止低优先级任务运行并且消耗功率。一个或多个处理器可以被配置为使一个或多个高优先级任务免于限度。
在一些示例中,命令多个机器根据一个或多个限制进行操作可以包括使多个机器中的每个的处理组件的一部分不可用于任务。
本公开的又一方面提供一种非暂时性计算机可读介质,其存储由一个或多个处理器可实行以执行一种方法的指令,包括:接收对数据中心中的多个机器的功率测量,多个机器实行一个或多个任务;识别多个机器的功率限度;将所接收到的功率测量与多个机器的功率限度进行比较;基于比较,确定是否撤除由多个机器所消耗的功率;以及命令多个机器根据一个或多个限制进行操作以降低功率消耗。
附图说明
图1A是图示根据本公开的方面的系统的示例性软件架构的框图。
图1B是图示根据本公开的方面的示例性系统的框图。
图2A-B是图示根据本公开的方面的示例性负载整形策略的图表。
图3A-C图示根据本公开的方面的运行工作负载的示例性结果。
图4提供了图示根据本公开的方面,由参数的各种组合触发节流的图表。
图5提供了图示根据本公开的各方面的总功率消耗和CPU使用率的图表。
图6是图示根据本公开的方面的示例性方法的流程图。
具体实施方式
本公开提供了一种用于节流面向吞吐量的工作负载的CPU份额,以使它们减慢到足以使功率保持在指定的预算之下,同时不影响延迟敏感的作业的系统和方法。该系统架构使得能够在大的功率域上实现超额订用(oversubscription)。大的功率域中跨机器的功率池化(pooling)和统计多路复用使功率超额订用的可能性最大化。而且,该系统实现了具有广泛适用性的、用于功率节流的机制和策略。该系统可以被设计为仅依赖于已建立的Linux内核功能,因此与硬件平台无关。这样可以灵活地将各种平台引入数据中心,而不会妥协功率封顶的效率。
任务级机制允许差异化的服务质量(QoS)。具体来说,系统不会影响服务于与面向吞吐量的工作负载并置的对延迟敏感的工作负载,并且有能力对具有不同SLO的工作负载应用不同的CPU封顶。平台无关性和QoS预警特性使系统可以针对广泛的硬件平台和软件应用进行定制。
该系统的优势在于,它在实现功率安全的同时最小化性能影响。两阈值方案使能最低性能影响,同时确保可以撤除大量功率,以避免紧急情况下的功率过载。该系统着重于可用性,引入了故障转移子系统,以在面对功率遥测故障时维持功率安全保证。
该系统能够执行针对面向吞吐量的工作负载定制的两种端到端功率封顶致动:称为反应式(reactive)封顶的主机制,以及称为主动式(proactive)封顶的故障转移机制。反应式封顶监视从功率计读取的实时功率信号,并且通过节流工作负载来对高功率测量做出反应。当功率信号变得不可用时(例如,由于仪表停机时间),主动式封顶将接管并且评估断路器跳闸的风险。该评估基于诸如最近的功率以及信号不可用多长时间之类的因素。如果认为风险很高,它会主动地节流任务。
架构与实施方式
图1A图示了系统的示例性软件架构。如所示,该架构包括仪表观察器模块124、功率通知器模块126、风险评估器模块122和机器管理器模块128。仪表观察器模块144轮询来自仪表114的功率读数。例如,仪表观察器模块144可以以每秒一个读数、每秒多个读数、每几秒钟一个读数等的速率进行轮询。仪表观察器模块144将读数传递到功率通知器模块126,并且还将副本存储在功率历史数据库112中。
功率通知器126是实现反应式和主动式封顶的控制逻辑的中央模块。当功率读数可用时,它将读数用于反应式封顶逻辑。当读数不可用时,它向风险评估器模块122查询主动式封顶逻辑。
风险评估器122使用来自功率历史数据库112的历史功率信息来评估断路器跳闸的风险。如果任一逻辑判定封顶,则功率通知器126将适当的封顶参数传递给机器管理器模块128。例如,可以从功率极限数据库116接收功率封顶参数。作为响应,机器管理器模块128将负载整形请求发送到与各个机器相关联的一个或多个节点控制器130。可以以远程进程调用(RPC)或任何其他消息或通信格式的形式发送负载整形请求。根据一些示例,RPC可以被同时发送到多个节点控制器130。RPC可以包括使得各个机器降低功率的命令。
根据一些示例,负载整形请求可以包括诸如要被节流的作业的最大优先级、用于硬封顶(hardcap)较低优先级作业的使用的乘数、以及用于封顶作业的持续时间的字段。该请求还可以包括该乘数应当仅应用于CPU极限,还是应当应用于持续的CPU速率的指令。
当接收到新的负载整形请求时,节点控制器130检查是否已经存在进行中的负载整形事件。如果还没有正在进行的事件,则可以接受新的请求。如果已经存在正在进行的事件,那么如果该新请求就其功率降低效果而言更有攻击性,则可以接受该新请求。例如,如果新的RPC具有更高的最大节流优先级或更低的硬封顶乘数,或者如果从仅从CPU极限应用乘数切换到应用于持续的CPU速率,则该新PRC可能更有攻击性。
功率域的规模可能从几兆瓦到几十兆瓦不等,取决于数据中心的功率架构。可以为每个受保护的功率域部署该系统的一个实例。为了容错,可以复制该实例。例如,在2主控、2从属配置中有4个副本(replicas)。主控副本可以读取功率计并发出功率撤除RPC。功率撤除RPC服务被设计为幂等的,并且可以处置来自不同主控副本的重复RPC。可以使用两个相同的主控副本,以确保即使在主控选举期间功率撤除也可用。当主控变得不可用时,从属接管。
图1B图示了示例性系统,该示例系统包括可以在其上实现该系统的服务器设备(诸如控制器190)。控制器190可以包括被配置为管理数据中心180中的设备的负载整形和节流的硬件。根据一个示例,控制器190可以驻留在特定数据中心内并控制该特定数据中心。根据其他示例,控制器190可以诸如通过网络耦合到一个或多个数据中心180,并且可以管理多个数据中心的操作。
数据中心180可以被定位成距控制器190和/或其他数据中心(未示出)相当远的距离。数据中心180可以包括一个或多个计算设备,诸如处理器、服务器、分片、单元等。在一些示例中,数据中心中的计算设备可以具有不同的能力。例如,不同的计算设备可以具有不同的处理速度、工作负载等。虽然仅示出了这些计算设备中的几个,但是应当理解到,每个数据中心180可以包括任何数量的计算设备,并且第一数据中心中的计算设备的数量可以不同于第二数据中心中的计算设备的数量。此外,应当理解到,每个数据中心180中的计算设备的数量可以随时间变化,例如,如硬件被移除、替换、升级或扩展。
在一些示例中,控制器190可以与数据中心180中的计算设备通信,并且可以促进程序的执行。例如,控制器190可以跟踪每个计算设备的能力、状态、工作负载或其他信息,并且使用这样的信息来指配任务。控制器190可以包括处理器198和存储器192,包括数据194和指令196。在其他示例中,这样的操作可以由数据中心180中的一个或多个计算设备执行,并且可以从该系统中省略独立的控制器。
控制器190可以包含处理器198、存储器192和通常存在于服务器计算设备中的其他组件。存储器192可以存储由处理器198可访问的信息,包括可以由处理器198执行的指令196。存储器还可以包括可以由处理器198检索、操纵或存储的数据194。存储器192可以是能够存储可由处理器198访问的信息的一种非暂时性计算机可读介质,诸如硬盘驱动器、固态驱动器、磁带驱动器、光学存储、存储器卡、ROM、RAM、DVD、CD-ROM、可写入以及只读存储器。处理器198可以是非常公知的处理器或其他鲜为人知的类型的处理器。可替代地,处理器198可以是专用控制器,诸如ASIC。
指令196可以是由处理器198直接执行的指令集(诸如机器代码)或由处理器198间接执行的指令集(诸如脚本)。就此而言,术语“指令”、“步骤”和“程序”在本文中可以互换地使用。指令196可以以目标代码格式存储,以供处理器198直接处理,或者以其他类型的计算机语言(包括按需解释或预先编译的脚本或独立源代码模块的集合)存储。
数据194可以由处理器198根据指令196进行检索、存储或修改。例如,尽管系统和方法不受特定数据结构的限制,但数据194可以被存储在计算机寄存器中、关系数据库中,作为具有多个不同字段和记录的表或XML文档。数据194还可以以计算机可读格式来格式化,诸如但不限于二进制值、ASCII或Unicode。此外,数据194可以包括足以识别相关信息的信息,诸如数字、描述性文本、专有代码、指针、对存储在其他存储器中的数据的引用,包括其他网络位置,或者由计算相关数据的函数使用的信息。
尽管图1B在功能上将处理器198和存储器192示为在同一块内,但是处理器198和存储器192实际上可以包括多个处理器和存储器,它们可以存储在或可以不存储在同一物理壳体内。例如,一些指令196和数据194可以被存储在可移动CD-ROM上,而其他指令可以被存储在只读计算机芯片内。一些或全部指令和数据可以被存储在物理上远离处理器198但仍可被处理器198访问的位置中。类似地,处理器198实际上可以包括处理器的集合,其可以并行地操作或可以不并行地操作。
利用CPU带宽控制的反应式封顶
CPU使用率是正在运行的任务消耗的CPU功率的很好的代理。根据一些示例,Linux(R)完全公平调度器(CFS)内核调度器的CPU带宽控制功能可以被用来精确控制节点中运行的任务的CPU使用率,从而允许控制由该节点消耗的功率。
各个任务可能正在其自己的控制组(cgroup)中运行。调度器在cgroup中提供两个参数,即quota(配额)和period(时段)。quota控制工作负载得到的以在一段时间期间运行的CPU时间量。它在系统中的CPU之间共享。可以为每个cgroup设置quota和period,通常以毫秒粒度指定。单独的(每个cgroup和每个CPU)、累积的runtime_remaining变量被保存在内核中。当线程正在运行时,将消耗累积的runtime_remaining。当它达到零时,将取消调度(descheduled)正在运行的线程,并且直到下一个时段开始时补充运行时间之前,cgroup中的任何线程都无法运行。可以跟踪机器中运行的所有工作负载的历史CPU使用率。在功率事件期间,功率域中的每个节点可能会接收到RPC调用,以节流面向吞吐量的工作负载。
RPC调用包含有关应当减少多少任务的CPU使用率的参数。接收RPC调用的节点控制器使用所有面向吞吐量的工作负载的历史CPU使用率来确定节流的CPU时间。然后,对每个cgroup计算新的quota和period值,并将其写入机器中的cgroup。通过将不同优先级的任务分组成不同的cgroup来实现QoS区分。在我们的实施方式中,对面向吞吐量的任务指配较低优先级,而对延迟敏感的任务指配较高优先级。CPU带宽控制被应用于低优先级任务的cgroup,免除了高优先级任务的cgroup。
与DVFS和RAPL相比,CPU带宽控制的有利之处在于它是平台无关的,并且具有按cgroup的控制。为确保CPU带宽控制达到预期的功率降低,可以将其与功率计量和负反馈协同使用。CPU带宽节流与功率消耗之间的关系仍然是单调的,因此可以使反馈环路稳定。CPU监禁(jailing)是另一种机制,其可被用来限制在功率计断电期间的功率消耗。CPU监禁具有适用于开环控制的更可预测的节流功率关系。
控制策略:负载整形
多种不同的负载整形控制策略是可用的。根据图2A所示的第一策略,当对低阈值和高阈值均达到阈值时,应用乘数。例如,当功率达到低阈值时,将应用软乘数。如果功率持续增加并达到高阈值,则将应用硬乘数。
乘数可以是例如0到1之间的数字,应用该数字以降低单个机器消耗的功率,诸如通过在给定时间减少由单个机器执行的作业的数量。例如,接近0的乘数(诸如0.01)可以通过在给定时间处减少单个机器上的99%的任务来快速地降低功率。这样的乘数可以被称为“硬”或“高影响”乘数。相反,接近1的乘数(诸如0.9或0.75)可以降低功率,并且还通过减少由单个机器执行的任务的较低百分比来最小化性能影响。这样的乘数可以被称为“软”或“低影响”乘数。
乘数可以被应用于CPU极限、持续的CPU速率、低优先级作业的数量等。例如,乘数可以针对功率域中的所有机器限定机器级调度器内部的任务的处理时间。例如,乘数可能会限定在其期间任务可以访问CPU的时间。乘数可以仅应用于较低优先级的任务,而较高优先级的任务可以免除。
图2B图示了第二负载整形控制策略,该策略将功率计读数用作确定何时节流工作负载以及节流多少工作负载的输入。为节流动作预定乘数参数。节流开始时,节点控制器接收包含该乘数的RPC调用,并且为每个受影响的任务设置CPU封顶,其由下述公式计算:
封顶=乘数*CPUavg
其中,CPUavg是在过去10秒内的任务的平均CPU使用率。在节流处于活动状态的整个时段内,每秒更新该封顶一次。效果是,如果任务消耗CPU达到封顶,则任务的CPU封顶以大致等于该乘数的速率随时间呈指数降低。这与它们的CPU使用率成正比,公平地不利于任务。
该策略旨在在功率安全和性能影响之间取得平衡。它通过维持两个功率阈值来实现,较高阈值接近系统保护的设备极限,诸如极限的98%,而较低阈值诸如处于极限的96%。较高阈值与接近0(诸如0.01)的“硬”或“高影响”乘数相关联,旨在快速地降低功率消耗以确保安全。较低阈值与接近1的“软”或“低影响”乘数相关联,诸如0.9或0.75,旨在即使功率可能临时超过较低阈值,也可以最小化性能影响。
根据一些示例,较低阈值在触发节流之前不被激活,并且在节流为活动一段时间时被停用。这样,允许功率达到两个阈值之间的范围而不会节流。更具体地,在任何节流发生之前,较高阈值是活动的,而较低阈值不是活动的。仅在功率达到较高阈值时才会发生第一节流事件。一旦功率达到较高阈值,就会激活较低阈值,并且当功率低于较低阈值且没有节流发生时,在指定的持续时间后该阈值期满。
当功率降低到低于最低活动阈值时,节流停止。如果同时取消所有任务的节流,则功率可能会激增并且再次快速地达到阈值,从而导致不必要的振荡,或甚至在负载整形生效之前达到危险水平。为了避免这些不期望的效果,系统被设计为以渐进的方式停止。每个机器被指配了在[timeout_min,timeout_max]范围内的随机的节流超时。当节流停止时,机器将根据其超时渐进地取消节流。这使得功率上升曲线平滑。在一个示例性实施方式中,可以每秒发送RPC调用以延长超时,直到功率低于该阈值为止。可以使用反复刷新的超时来代替停止节流RPC,因为RPC可能会被丢失而无法到达机器。
可以预先确定负载整形参数(诸如较高阈值和相关联的硬乘数、较低阈值和相关联的软乘数、较低阈值期满以及节流超时范围)。可以选择阈值和乘数以平衡功率安全和性能影响。较高阈值可能接近受保护的极限,使得不会太频繁触发节流,但是不会太接近,使得系统有足够的时间对事件做出反应。硬乘数可以接近于0,以快速降低大量功率。可以将较低阈值类似地设置为具有节流频率和用于可能的功率高峰的足够的保护带之间的平衡。软乘数可以接近1,以最小化性能影响。较低阈值期满可以足够长,以使较低阈值有用,但又不会太长以至于显著地增加节流频率。可以为合理的振荡模式设置节流超时范围。例如,节流超时范围可以是大约1-20秒。
因此,在实施方式中,随着功率增加,将更频率地越过低阈值。由于对于移动窗口中的任务,对所测量的CPU利用率应用了乘数,因此频繁激活加重。保持在较低阈值之上将导致CPU时间限定在对应于软/低影响乘数的百分比。这样,随着负载的功率波动,软乘数会根据需要收敛到高乘数的影响。高阈值用作软乘数的激活点。只要负载不超过高阈值,就允许负载无限期地保持在或接近软乘数区域。高阈值进一步用于消除在低阈值处于有效状态时可能发生的突然功率尖峰。
负载整形控制策略确定致动器应当何时节流CPU使用率以及节流多少以便控制功率。形式上,功率域的功耗可以被写成:
其中,t是(离散)时间,p是总功耗,N是机器数量,fi是作为归一化机器CPU利用率的单调函数的由机器i的消耗的功率(在[0,1]范围内),ci是由可控任务使用的CPU,ui是由免除任务和Linux内核使用的不可控CPU,以及n是非机器设备消耗的功率。可以封顶可控任务使用的CPU(ci),使得对于功率极限l,p<l。可以优先防止过载(p>l),同时当p<l时保持p接近l可能会提高效率。
根据一些示例,可以使用随机无节流/积式减少(RUMD)算法。如果p(t)>l,则对每个可控任务的CPU使用率应用封顶。封顶等于任务的先前使用率乘以在范围(0,1)中的乘数m。然后,下一个时间步骤的功耗为:
可以频繁更新该封顶,诸如每秒更新一次,并且ci会随着时间呈指数下降,直到p<l。由于ui和n项,因此无法确保p(t+1)<p(t)。然而,实施方式可以提供高置信度使得不可撤除的功率小于功率极限,即
因此,功率最终将降低到该极限以下。例如,如果系统被配置为在5秒内完全取消所有机器的节流,则将每秒取消20%的机器的随机不重叠集的节流。
在一些示例中,可以同时针对每个机器以累加的方式渐进地提升封顶,导致和式增加/积式减少(AIMD)算法。与AIMD相似,RUMD算法也具有部分分布的期望特性。存在主要独立起作用的中央组件和分布式组件。除了总功率外,中央策略控制器不需要详细的系统状态,诸如每个机器的CPU使用率和任务分配。分布式节点控制器可以仅基于策略控制器发送给所有节点控制器的一些参数来做出独立的决策。
故障转移机制:主动式封顶
反应式封顶系统取决于安装在受保护功率设备(如断路器)附近的功率计提供的功率信号。这不同于更广泛采用的从各个计算节点收集功率测量并在较高层进行聚合的方法。它具有简单的优点,避免了聚合和相关的挑战,诸如时间不对齐和部分收集失败,并且避免了需要估算不提供功率测量的非计算设备(诸如数据中心空调)的功率消耗。
瞬态网络问题可能会导致数秒至数分钟的功率信号中断,而仪表的停机时间在被修复前则可能长达数天到数周。没有功率信号,负载整形单元就无法判定在强功率保证下每个任务节流多少。一种后备方法(在本文中被称为CPU监禁)可以在没有功率测量的情况下操作。
根据一些示例,也可以从辅助源(诸如机器的电源单元)或从功率模型中收集信号。
CPU监禁的节点级机制
CPU监禁通过修改CPU亲和掩码来减少可用于任务的机器的CPU运行。预先确定了参数jailing_fraction,该参数是“被监禁”的CPU的分数,以使它们不可用于任务。jailing_fraction可以是使得不可用于任务的每个机器的CPU的分数。
可能发生集群操作员故意过量使用资源并抬高机器利用率。当资源过量使用与CPU监禁复合时,预计会出现密集的CPU资源争用。每个任务具有CPU极限请求,该请求转换为Linux CFS中的份额值。当由于监禁而可用CPU减少时,可以利用CFS来维护任务之间的CPU比例。某些特权进程(诸如关键系统守护程序)被明确免除监禁,并且仍然可以在被监禁的CPU上运行。这是因为与常规任务相比,它们的CPU使用率非常低,但是特权系统进程由于CPU匮乏而导致的风险和后果非常高。例如,风险和后果可能是机器无法正确运行。
根据一些示例,每个监禁请求都带有持续时间,并且可以通过请求进行更新。监禁期满后,先前不可用的CPU会立即变为对所有任务可用。
CPU监禁会立即封顶峰值功率消耗,因为它有效地将每单个机器上的最大CPU利用率限制为(1-jailing_fraction)。因此,它为功率消耗设置了上限,从而可以在没有功率信号的情况下长时间安全运行。
jailing_fraction可以被均匀地应用于单个机器,而不管它们的CPU使用率如何。因此,利用率低的机器不太受影响,而利用率高的机器很受影响。当机器CPU使用率大大低于(1-jailing_fraction)时,CPU监禁实质上不会影响这些机器上的任务。第二个效果是,由于空闲增加,被监禁的CPU更有可能进入深度睡眠状态,这有助于进一步降低功率。请注意,并非所有监禁的CPU都会一直进入深度睡眠状态,因为免除的特权进程和内核线程可能仍然会不时地使用它们。
在一些实例中,CPU监禁可能会导致宽松的区分QoS的能力。例如,与批处理任务的吞吐量相比,服务任务的延迟可能受到不成比例的影响。延迟敏感的任务以较高的优先级运行并且可以抢占较低优先级的面向吞吐量的任务这一事实可能会减弱这种影响。在一些实施方式中,仅在不适用负载整形的情况下才可以使用CPU监禁。
可以根据一个或多个因素(例如工作负载的性能SLO、CPU功率关系和功率超额订用)来确定jailing_fraction。因为CPU监禁不区分工作负载的QoS,因此存在高优先级的延迟敏感的作业在高CPU争用的情况下遭受性能劣化的可能。在由控制策略规定的预期频率下应用jailing_fraction不应当损害这些作业的SLO。
为了功率安全,应当在监禁核的某些部分之后,使功率降低到安全水平。可以根据功率超额订用等级和功率域中给定硬件集合的CPU-功率关系来计算该jailing_fraction的值。
J=1-Ucpu=1-fpower cpu(1/(1+osr))
其中,J是jailing_fraction,Ucpu是最高容许CPU利用率,fpower cpu是将功率利用率转换为CPU利用率的函数,而osr是由额外的超额订用功率容量(作为标称容量的分数)定义的超额订用比率。1/(1+osr)给出最大的安全功率利用率,假定CPU功率关系是单调的,可以将其转换为Ucpu。示例性jailing_fraction可以是20%-50%。
作为一种备用方法,当来自仪表的功率测量丢失并且功率过载的风险很高时,可能会触发CPU监禁。风险由两个因素(即预测的功率消耗和仪表不可用持续时间)确定。较高的预测功率消耗和较长的仪表不可用性意指较高的风险。给定最近的功率消耗,可以基于历史数据来预测在某些仪表停机期间,功率达到受保护设备极限的可能性。如果由于最近的高功率消耗和足够长的停机时间而导致可能性很高,则可能触发CPU监禁。
节点级机制的比较
图3A-C图示了运行工作负载的示例性结果,该工作负载给CPU和存储器施加压力以使功率消耗最大化。图3A图示了使用CPU带宽控制的结果,图3B图示了使用DVFS的结果,以及图3C图示了使用RAPL来限制CPU功率的结果。CPU功率被归一化为当未使能任何功率管理机制时观察到的最高功率。图3A示出利用CPU带宽控制,由于带宽控制的相当大的CPU空闲时间,能够将CPU功率降低到最大功率的34%。相比之下,图3B示出利用DVFS,当应用最低频率极限时,功率消耗仍然相对较高,为57%。时钟频率被归一化为处理器的基本频率。归一化频率可以高于1.0,因为当热量和其他条件允许的情况下,CPU时钟频率可以高于基本频率。在该图表中仅示出了可能的频率范围的一部分。由于工作负载的压力测试性质,在不施加限制的情况下,观察到的最高时钟频率接近于基本频率。该图表的右上角反映出频率极限必须降低到实际时钟频率以下才能降低功率消耗。
图3C示出了在这三个中,RAPL具有最广的功率降低范围。它能够将功率降低到最大功率的22%。但是,我们注意到当RAPL趋近于最低功率极限时,系统管理任务反应迟钝,这表明如果实际使用这些极限,则机器超时风险会更高。相比之下,CPU带宽控制仅节流面向吞吐量的作业,而不影响系统管理任务。
示例性应用:负载整形结果
图4图示了在运行生产工作负载的仓库大小的数据中心中执行的实验的结果。利用各种参数组合手动地触发节流。从数据中心功率计收集功率数据,这恰好是系统也读取的数据。从各个机器中采样其他指标,并且在与功率读数相对应的同一功率域级上进行汇总。功率测量数据被归一化为功率域的设备极限。除非另有说明,否则将诸如CPU使用率之类的机器指标归一化为功率域中所有机器的总容量。将任务故障归一化为受影响的任务的总数。
通过手动地将较高功率阈值降低到刚好低于功率域的进行中的功率消耗来触发负载整形。图4(a1)示出了功率在较低阈值附近振荡的典型负载整形模式。触发节流后的几秒钟内,由于硬乘数,功率被大大降低。同时激活较低阈值。当功率下降到较低阈值以下时,逐步提高节流,然后功率回升直至达到较低阈值。然后,再次降低功率,但是由于软乘数而较小余度地降低。随着重复地开关节流阀,该过程继续,导致功率在较低阈值附近振荡。与(a1)相比,图4(b1)示出接近于1.0的软乘数如预期的那样,导致了较小幅度的振荡。从负载整形触发到大幅功率降低的延迟不到5秒。图4(a2)和(b2)分别示出了与(a1)和(b1)相对应的CPU利用率。在所示的CPU利用率水平上,需要将CPU利用率降低10%左右才能减少2%的功率。
当任务变慢时,它们不应当因为CPU匮乏或意外的副作用而失败。
与DVFS相比,负载整形的一个主要优点是可以以cgroup级别区分服务质量,允许具有不同SLO的作业在相同机器上运行。可以根据作业的优先级将其分为几组,并且在免除高优先级组的情况下对低优先级组进行负载整形。
图5示出了事件期间两组作业的总功率消耗和CPU使用率。整形组和免除组的CPU使用率分别降低了约10%和3%。免除组受到间接影响,因为两组中的作业是具有复杂交互作用的生产作业。一个示例是免除组中的高优先级主作业会协调整形组中的低优先级工作者,而主作业的工作量较少,并且在节流工作者时消耗较低的CPU。但是,负载整形以区分作业的能力是显而易见的。
负载整形将功率降低到刚好低于阈值的安全水平,并且允许功率在该阈值附近振荡。但是,在功率仍然超过阈值的极端情况下,系统将需要持续减少作业的CPU带宽,最终使作业无法运行。例如,由于连续地调度新的计算密集型作业,或者免除了该机制的许多高优先级作业在它们的CPU使用率中突增,在触发节流后,功率可能仍然很高。在这种情况下,为了防止功率过载,停止受影响的作业是正确的权衡。
图6是图示了用于负载整形的示例性方法600的流程图。尽管以特定顺序图示和描述了操作,但是应当理解到,可以修改顺序或者可以同时执行操作。此外,可以添加或省略操作。
在方框610中,接收针对实行一个或多个任务的多个机器的功率测量。可以在例如控制器或其他处理单元或处理单元的集合处接收测量。可以直接从多个机器接收测量,或者通过一个或多个中间设备(诸如耦合到多个机器的功率计)接收测量。多个机器可以是例如数据中心中的计算设备。多个机器可以正在实行一个或多个任务或作业。
在框620中,识别多个机器的功率限度。例如,每个机器的功率限度可以被存储在数据库中,并且可以访问该数据库以识别一个或多个特定机器的限度。
在框630中,将所接收的功率测量与识别的功率限度进行比较。例如,控制器可以确定功率测量是否接近极限,例如功率测量是否在该极限的预定范围内。根据一些示例,可以设置一个或多个预定义阈值,其中,比较考虑是否已经达到一个或多个阈值。例如,可以将第一阈值设置为较低的水平,诸如功率极限的第一百分比,并且可以将第二阈值设置为与第一阈值相比的较高水平,诸如高于第一百分比的功率极限的第二百分比。
在框640中,基于功率测量与所识别的功率限度的比较,确定是否撤除由多个机器所消耗的功率。举例来说,如果多个机器中的一个或多个机器超过一个或多个预定阈值,则可以确定应当撤除功率。根据第一示例,诸如结合图2A所示,其中,设置了高阈值和低阈值两者,可以确定是否已经达到任一阈值。根据第二示例,诸如结合图2B所示,其中,设置了高阈值和低阈值两者,可以首先仅确定是否达到高阈值。一旦达到了高阈值,触发响应动作,就可以在预定时间段内激活低阈值。在该时间段内,可以确定是否已经达到低阈值,从而触发第二响应动作。一旦该时间段期满,就可以停用低阈值,因此在再次达到高阈值之前不再被考虑。
在框650中,如果确定应该撤除功率,则可以将命令发送到多个机器中的一个或多个,以使一个或多个机器根据一个或多个限制来操作以降低功率。例如,可以发送RPC,该RPC包括用于减少工作负载的乘数。例如,该乘数可以是0到1之间的数字,该数字可以被应用于CPU极限、持续的CPU速率或许多任务,诸如低优先级任务。因此,当应用乘数时,使工作负载减少了与该乘数相对应的百分比。
在设置多个阈值的示例中,可以基于触发哪个阈值来实施不同的限制。例如,触发较高阈值可能导致发送硬乘数(例如接近1的数字),使得大大减少了工作负载。通过相同的示例,触发较低阈值可以导致发送软乘数(诸如更接近0的数字),使得与当应用硬乘数时相比,工作负载的减少幅度不那么大。
除非另有说明,否则上述替代示例不是相互排斥的,而是可以以各种组合实现以获得独特的优点。由于可以在不背离权利要求所限定的主题的情况下利用以上讨论的特征的这些和其他变形以及组合,因此,对实施例的前述描述应当通过示例的方式而不是通过权利要求所限定的主题的限制来进行。另外,提供本文描述的示例以及用短语表达为“诸如”、“包括”等的用语不应当被解释为将权利要求的主题限制于具体示例;相反,示例旨在仅说明许多可能的实施例之一。此外,不同附图中的相同附图标记可以标识相同或相似的元件。
Claims (21)
1.一种方法,包括:
由一个或多个处理器接收对数据中心中的多个机器的功率测量,所述多个机器实行一个或多个任务;
识别所述多个机器的功率限度;
由所述一个或多个处理器将所述接收的功率测量与所述多个机器的功率限度进行比较;
基于所述比较,确定是否撤除由所述多个机器消耗的功率;以及
由所述一个或多个处理器命令所述多个机器根据一个或多个限制进行操作以降低功率消耗。
2.根据权利要求1所述的方法,进一步包括:
识别第一阈值;以及
识别高于所述第一阈值的第二阈值;
其中,确定是否撤除功率包括确定所述接收的功率测量是否满足或超过所述第二阈值,以及
其中,命令所述多个机器根据一个或多个限制进行操作包括发送命令以使所述功率消耗降低第一预定百分比。
3.根据权利要求2所述的方法,其中,确定是否撤除功率包括:仅在已经满足或超过所述第二阈值之后的预定时间段期间,确定所述接收的功率测量是否满足或超过所述第一阈值。
4.根据权利要求3所述的方法,其中,当在所述预定时间段期间满足或超过所述第一阈值时,所述方法进一步包括向所述多个机器发送第二命令,以使功率消耗降低第二预定百分比,所述第二预定百分比低于所述第一预定百分比。
5.根据权利要求1所述的方法,其中,所述功率测量是从耦合到所述多个机器的一个或多个功率计接收的。
6.根据权利要求1所述的方法,其中,命令所述多个机器根据所述一个或多个限制进行操作包括:对功率域中的所有机器,限定机器级调度器内的任务的处理时间。
7.根据权利要求6所述的方法,其中,限定所述处理时间包括对低优先级任务应用第一乘数,其中,所述第一乘数被选择以阻止所述低优先级任务运行并且消耗功率。
8.根据权利要求7所述的方法,进一步包括对所述低优先级任务应用第二乘数。
9.根据权利要求7所述的方法,进一步包括使一个或多个高优先级任务免于所述功率限度。
10.根据权利要求1所述的方法,进一步包括当所述功率测量变得不可用时,限制多个可用可调度处理器实体以控制功率。
11.根据权利要求1所述的方法,其中,命令所述多个机器根据一个或多个限制进行操作包括使所述多个机器中的每个机器的处理组件的一部分不可用于任务。
12.一种系统,包括:
与实行一个或多个任务的多个机器通信的一个或多个处理器,所述一个或多个处理器被配置为:
接收对多个机器的功率测量;
识别所述多个机器的功率限度;
将所述接收的功率测量与所述多个机器的功率限度进行比较;
基于所述比较,确定是否撤除由所述多个机器消耗的功率;以及
命令所述多个机器根据一个或多个限制进行操作以降低功率消耗。
13.根据权利要求12所述的系统,其中,所述一个或多个处理器进一步被配置为:
识别第一阈值;以及
识别高于所述第一阈值的第二阈值;
其中,确定是否撤除功率包括确定所述接收的功率测量是否满足或超过所述第二阈值,以及
其中,命令所述多个机器根据一个或多个限制进行操作包括发送命令以使所述功率消耗降低第一预定百分比。
14.根据权利要求13所述的系统,其中,确定是否撤除功率包括:仅在已经满足或超过所述第二阈值之后的预定时间段期间,确定所述接收的功率测量是否满足或超过所述第一阈值。
15.根据权利要求14所述的系统,其中,当在所述预定时间段期间满足或超过所述第一阈值时,所述一个或多个处理器被进一步配置为向所述多个机器发送第二命令,以使功率消耗降低第二预定百分比,所述第二预定百分比低于所述第一预定百分比。
16.根据权利要求12所述的系统,其中,所述功率测量是从耦合到所述多个机器的一个或多个功率计接收的。
17.根据权利要求12所述的系统,其中,命令所述多个机器根据所述一个或多个限制进行操作包括:对功率域中的所有机器,限定机器级调度器内的任务的处理时间。
18.根据权利要求17所述的系统,其中,在限定所述处理时间中,所述一个或多个处理器被配置为对低优先级任务应用第一乘数,其中,所述第一乘数被选择以阻止所述低优先级任务运行并且消耗功率。
19.根据权利要求18所述的系统,其中,在限定所述处理时间中,所述一个或多个处理器被配置为使一个或多个高优先级任务免于所述功率限度。
20.根据权利要求12所述的系统,其中,命令所述多个机器根据一个或多个限制进行操作包括使所述多个机器中的每个机器的处理组件的一部分不可用于任务。
21.一种非暂时性计算机可读介质,其存储可由一个或多个处理器实行以执行操作的指令,所述操作包括:
接收对数据中心中的多个机器的功率测量,所述多个机器实行一个或多个任务;
识别所述多个机器的功率限度;
将所述接收的功率测量与所述多个机器的功率限度进行比较;
基于所述比较,确定是否撤除由所述多个机器所消耗的功率;以及
命令所述多个机器根据一个或多个限制进行操作以降低功率消耗。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063030639P | 2020-05-27 | 2020-05-27 | |
US63/030,639 | 2020-05-27 | ||
US17/243,853 | 2021-04-29 | ||
US17/243,853 US11599184B2 (en) | 2020-05-27 | 2021-04-29 | Throughput-optimized, quality-of-service aware power capping system |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113312235A true CN113312235A (zh) | 2021-08-27 |
Family
ID=76098863
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110586000.4A Pending CN113312235A (zh) | 2020-05-27 | 2021-05-27 | 吞吐量优化的服务质量预警功率封顶系统 |
Country Status (3)
Country | Link |
---|---|
US (2) | US11599184B2 (zh) |
EP (1) | EP3916554B1 (zh) |
CN (1) | CN113312235A (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11916430B2 (en) * | 2021-01-21 | 2024-02-27 | Dell Products L.P. | Optimization of low power states while AC line power availability is limited |
US20240005971A1 (en) * | 2022-06-29 | 2024-01-04 | Advanced Micro Devices, Inc. | Channel and sub-channel throttling for memory controllers |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7707443B2 (en) * | 2003-07-18 | 2010-04-27 | Hewlett-Packard Development Company, L.P. | Rack-level power management of computer systems |
US8832476B2 (en) * | 2010-09-28 | 2014-09-09 | Google Inc. | Power allotment distribution in a data center |
US9021290B2 (en) * | 2012-04-05 | 2015-04-28 | Oracle International Corporation | Systems and methods for dynamic power management in a blade server |
US9424098B2 (en) * | 2012-08-31 | 2016-08-23 | Silicon Graphics International Corp. | Dynamic resource scheduling |
US9250684B1 (en) | 2015-02-25 | 2016-02-02 | Quanta Computer Inc. | Dynamic power capping of a subset of servers when a power consumption threshold is reached and allotting an amount of discretionary power to the servers that have power capping enabled |
US10481659B2 (en) * | 2016-03-03 | 2019-11-19 | International Business Machines Corporation | Rack resource utilization |
-
2021
- 2021-04-29 US US17/243,853 patent/US11599184B2/en active Active
- 2021-05-25 EP EP21175697.8A patent/EP3916554B1/en active Active
- 2021-05-27 CN CN202110586000.4A patent/CN113312235A/zh active Pending
-
2023
- 2023-02-23 US US18/173,293 patent/US11966273B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20230305618A1 (en) | 2023-09-28 |
US20210373639A1 (en) | 2021-12-02 |
US11599184B2 (en) | 2023-03-07 |
US11966273B2 (en) | 2024-04-23 |
EP3916554A1 (en) | 2021-12-01 |
EP3916554B1 (en) | 2024-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11966273B2 (en) | Throughput-optimized, quality-of-service aware power capping system | |
US8843772B2 (en) | Systems and methods for dynamic power allocation in an information handling system environment | |
US8818989B2 (en) | Memory usage query governor | |
US20140325524A1 (en) | Multilevel load balancing | |
CN111694633A (zh) | 集群节点负载均衡方法、装置及计算机存储介质 | |
US11907762B2 (en) | Resource conservation for containerized systems | |
US11119563B2 (en) | Dynamic power capping of multi-server nodes in a chassis based on real-time resource utilization | |
WO2008016613A2 (en) | Self-monitoring and self-adjusting power consumption computer control system | |
CN110677274A (zh) | 一种基于事件的云网络服务调度方法及装置 | |
CN111880906A (zh) | 虚拟机高可用性管理方法、系统以及存储介质 | |
CN113672345A (zh) | 一种基于io预测的云虚拟化引擎分布式资源调度方法 | |
EP2245518A1 (en) | Changing power states of data handling devices to meet redundancy criterion | |
Cho et al. | A battery lifetime guarantee scheme for selective applications in smart mobile devices | |
CN112887407B (zh) | 用于分布式集群的作业流量控制方法和装置 | |
CN113590285A (zh) | 一种用于线程池参数动态设置的方法、系统及设备 | |
US20180167288A1 (en) | Service system and control method of the same | |
CN107872480B (zh) | 大数据集群数据平衡方法和装置 | |
CN111309480A (zh) | 一种动态功耗封顶调控的方法和设备 | |
US20160357243A1 (en) | Processor throttle rate limiter | |
Li et al. | Noah: Reinforcement-Learning-Based Rate Limiter for Microservices in Large-Scale E-Commerce Services | |
US10621006B2 (en) | Method for monitoring the use capacity of a partitioned data-processing system | |
CN110457130B (zh) | 一种分布式资源弹性调度模型、方法、电子设备及存储介质 | |
CN113542027A (zh) | 一种基于分布式服务架构的流量隔离方法、装置和系统 | |
Chen et al. | Hierarchical utilization control for real-time and resilient power grid | |
EP3161586B1 (en) | Method and system for regulating in real time the clock frequencies of at least one cluster of electronic machines |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |