首页 / 专利库 / 电脑零配件 / 计算机系统 / 估计在分布式计算机系统的多个节点上运行的作业的功率性能的方法和装置

估计在分布式计算机系统的多个节点上运行的作业的功率性能的方法和装置

阅读:1042发布:2020-06-12

专利汇可以提供估计在分布式计算机系统的多个节点上运行的作业的功率性能的方法和装置专利检索,专利查询,专利分析的服务。并且示出一种其上存储有指令的非瞬时计算机可读存储介质,该指令可由一个或多个处理器来执行以便实行包括以下内容的操作:接收多个输入参数,其包括(i)工作负载类型,(ii)属于分布式 计算机系统 的所选 节点 的列表,以及(iii) 频率 的列表;响应于接收到多个工作负载参数从校准 数据库 检索校准数据;基于多个工作负载参数和校准数据生成功率估计;以及向资源管理器提供功率估计。可替代地,该输入参数可以包括(i)工作负载类型,(ii)属于分布式计算机系统的所选节点的列表,以及(iii)可用的功率量,其中估计器可以提供节点应该以其操作来在不超过可用功率的情况下利用同样多的可用功率的频率的估计。,下面是估计在分布式计算机系统的多个节点上运行的作业的功率性能的方法和装置专利的具体信息内容。

1.一种其上存储有指令的非瞬时计算机可读存储介质,所述指令可由一个或多个处理器来执行以便实行包括以下内容的操作:
由通过所述一个或多个处理器来执行的估计器模接收多个输入参数,所述多个输入参数包括(i)工作负载类型,(ii)属于分布式计算机系统的所选节点的列表,以及(iii)频率的列表;
响应于接收到所述多个输入参数,由所述估计器模块从校准数据库检索校准数据;
由所述估计器模块基于所述多个输入参数和所述校准数据生成功率估计;以及由所述估计器模块向资源管理器提供所述功率估计,
其中所述生成功率估计包括按照比例缩放所述校准数据。
2.根据权利要求1所述的非瞬时计算机可读存储介质,其中所述校准数据包括最大功率、平均功率、最大温度、平均功率、性能度量或最小所需功率中的一个或多个。
3.根据权利要求1所述的非瞬时计算机可读存储介质,其中所述功率估计包括以下各项中的一个或多个:所选节点的列表上的每个节点在以所述频率的列表的每个频率运行所述工作负载类型的工作负载的同时所消耗的最大功率,所选节点的列表上的每个节点在以所述频率的列表的每个频率运行所述工作负载的同时所消耗的平均功率,所选节点的列表上的每个节点在以所述频率的列表的每个频率运行所述工作负载的同时的最大温度,所选节点的列表上的每个节点在以所述频率的列表的每个频率运行所述工作负载的同时的平均功率,在以所述频率的列表的每个频率运行所述工作负载的同时针对所述工作负载类型的性能度量,或者所选节点的列表上的节点以所述频率的列表的每个频率执行所述工作负载的最小所需功率。
4.根据权利要求1所述的非瞬时计算机可读存储介质,其中所述工作负载类型包括小型化应用程序、应用程序的一部分或测试脚本之一的类型,其中在所选节点的列表上的节点的校准中使用所述小型化应用程序、应用程序的所述一部分和所述测试脚本。
5.根据权利要求1所述的非瞬时计算机可读存储介质,其中当所述分布式计算机系统执行所述工作负载类型的作业时所述按照比例缩放调整所选节点的列表上的每个节点所消耗的功率以考虑所选节点的列表的尺寸。
6.一种其上存储有指令的非瞬时计算机可读存储介质,所述指令可由一个或多个处理器来执行以便实行包括以下内容的操作:
由通过所述一个或多个处理器来执行的估计器模块接收多个输入参数,所述多个输入参数包括(i)工作负载类型,(ii)属于分布式计算机系统的所选节点的列表,以及(iii)对所述分布式计算机系统可用的功率值;
响应于接收到所述多个输入参数,由所述估计器模块从校准数据库检索校准数据;
由所述估计器模块基于所述多个输入参数和所述校准数据生成频率估计;以及由所述估计器模块向资源管理器提供频率估计,其中所述频率估计包括所述节点在处理工作负载的同时应以其操作的所选频率、以及在所述频率处所述工作负载的所述处理将消耗的对应功率,
其中所述生成功率估计包括按照比例缩放所述校准数据。
7.根据权利要求6所述的非瞬时计算机可读存储介质,其中所述校准数据包括最大功率、平均功率、最大温度、平均功率或性能度量中的一个或多个。
8.根据权利要求6所述的非瞬时计算机可读存储介质,其中所述频率估计还包括所选频率,以及以下各项中的一个或多个:所选节点的列表上的每个节点在以所选频率运行所述工作负载类型的工作负载的同时所消耗的最大功率,所选节点的列表上的每个节点在以所选频率运行所述工作负载的同时所消耗的平均功率,所选节点的列表上的每个节点在以所选频率运行所述工作负载的同时的最大温度,所选节点的列表上的每个节点在以所选频率运行所述工作负载的同时的平均功率,在以所选频率运行所述工作负载的同时针对所述工作负载类型的性能度量,或者所选节点的列表上的节点以所选频率执行所述工作负载的最小所需功率。
9.根据权利要求8所述的非瞬时计算机可读存储介质,其中所述所选频率是所选节点的列表上的节点可以以其来操作以使得在运行所述工作负载的同时所选节点的列表上的节点所消耗的总功率不超过可用功率的最高频率。
10.根据权利要求8所述的非瞬时计算机可读存储介质,其中所述频率估计还包括所选节点的列表上的每个节点在以第二频率运行所述工作负载的同时所消耗的平均功率,所选节点的列表上的每个节点在以所述第二频率运行所述工作负载的同时所消耗的最大功率,所选节点的列表上的每个节点在以第三频率运行所述工作负载的同时所消耗的平均功率,所选节点的列表上的每个节点在以所述第三频率运行所述工作负载的同时所消耗的最大功率,
其中所述第二频率是比所选节点的列表上的节点被校准时的所选频率更高的下一频率,并且所述第三频率是比所选节点的列表上的节点被校准时的所选频率更低的下一频率。
11.根据权利要求6所述的非瞬时计算机可读存储介质,其中所述工作负载类型包括小型化应用程序、应用程序的一部分或测试脚本之一的类型,其中在所选节点的列表上的节点的校准中使用所述小型化应用程序、应用程序的所述一部分和所述测试脚本。
12.根据权利要求6所述的非瞬时计算机可读存储介质,其中所述输入参数还包括所选频率为产生最快性能度量的频率或产生最高能量效率度量的频率之一的选项。
13.根据权利要求12所述的非瞬时计算机可读存储介质,其中所述产生最快性能度量的频率是所选节点的列表上的节点以其操作来以最快时间完成所述工作负载类型的工作负载的频率。
14.根据权利要求12所述的非瞬时计算机可读存储介质,其中所述产生最高能量效率度量的频率是所选节点的列表上的节点以其操作来以所选节点的列表上的节点之中的最低总功率消耗完成所述工作负载类型的工作负载的频率。
15.根据权利要求8所述的非瞬时计算机可读存储介质,其中当所述分布式计算机系统执行所述工作负载类型的作业时所述按照比例缩放调整所选节点的列表上的每个节点所消耗的功率以考虑所选节点的列表的尺寸。
16.一种为分布式计算机系统生成功率估计的系统,包括:
一个或多个处理器;以及
通信耦合到所述一个或多个处理器的存储模块,所述存储模块包括估计器模块,所述估计器模块用于:
接收多个输入参数,所述多个输入参数包括(i)工作负载类型,以及(ii)属于所述分布式计算机系统的所选节点的列表;
为所选节点的列表上的每个节点确定最低频率;
通过确定所选节点的列表上的每个节点在所述最低频率的平均功率消耗以及按照比例缩放所选节点的列表上的每个节点的所述平均功率消耗来生成所述功率估计;以及将所述功率估计提供给资源管理器,其中所述功率估计包括开始处理所述工作负载类型的作业的最小所需功率。
17.根据权利要求16所述的系统,其中当所述多个输入参数还包括指定频率时,所述最低频率被设置成所述指定频率。
18.根据权利要求16所述的系统,其中当所述多个输入参数不包括指定频率时,所述最低频率被设置成与所述分布式计算机系统的校准数据库内存储的校准数据相关联的、所选节点的列表上的每个节点的最低频率。
19.根据权利要求16所述的系统,其中当确定与针对所述工作负载类型的、节点的所选列表上的节点的校准相关联的数据存在于包括在所述分布式计算机系统中的校准数据库中时,(i)基于存储在所述校准数据库中的与所述工作负载类型相关联的校准数据为节点的所选列表上的每个节点确定平均工作负载功率;以及(ii)对节点的所选列表上的每个节点的平均工作负载功率进行按照比例缩放和求和,其中在所述功率估计中所述求和被提供为启动功率。
20.根据权利要求16所述的系统,其中当确定与针对所述工作负载类型的、节点的所选列表上的节点的校准相关联的数据不存在于包括在所述分布式计算机系统中的校准数据库中时,(i)基于存储在所述校准数据库中的与功率-病毒相关联的校准数据为节点的所选列表上的每个节点确定平均最大功率;以及(ii)对节点的所选列表上的每个节点的平均最大功率进行按照比例缩放和求和,其中在所述功率估计中所述求和被提供为启动功率。

说明书全文

估计在分布式计算机系统的多个节点上运行的作业的功率性

能的方法和装置

[0001] 对相关申请的交叉引用
[0002] 本申请要求保护2014年8月22日提交的名称为“SIMPLE POWER- AWARE SCHEDULER TO LIMIT POWER CONSUMPTION BY HPC SYSTEM WITHIN A BUDGET(将HPC系统的功率消耗限制在预算内的简单功率感知调度器)”的在前美国临时专利申请No.62/040,576的权益,通过引用将其整体合并于此。
[0003] 本申请要求保护2014年12月24日提交的名称为“METHOD AND APPARATUS TO GENERATE AND USE POWER, THERMAL AND PERFORMANCE CHARACTERISTICS OF NODES TO IMPROVE ENERGY EFFICIENCY AND REDUCING WAIT TIME FOR JOBS IN THE QUEUE(生成并使用节点的功率、热和性能特性以改进能量效率且降低队列中作业的等待时间的方法和装置)”的在前美国专利申请No.14/582,783(代理人卷号No.42P74562)的权益;2014年12月24日提交的名称为“ADJUSTMENT OF EXECUTION OF TASKS(任务执行的调整)”的美国专利申请No.14/582,979(代理人卷号No.42P74563)的权益;2014年12月24日提交的名称为“CONTROL OF POWER CONSUMPTION(功率消耗的控制)”的美国专利申请No.14/582,985(代理人卷号No.42P74564)的权益;2014年12月24日提交的名称为“FORECAST FOR DEMAND OF ENERGY(能量需求的预测)”的美国专利申请No.14/582,988(代理人卷号No.42P74565)的权益;2014年12月24日提交的名称为“METHODS AND APPARATUS TO MANAGE JOBS THAT CAN AND CANNOT BE SUSPENDED WHEN THERE IS A CHANGE IN POWER ALLOCATION TO A DISTRIBUTED COMPUTER SYSTEM(当对分布式计算机系统的功率分配存在变化时管理可以被暂停和不可以被暂停的作业的方法和装置)”的美国专利申请No.14/582,772(代理人卷号No.42P74566)的权益;2014年12月24日提交的名称为“MANAGING POWER PERFORMANCE OF DISTRIBUTED COMPUTING SYSTEMS(管理分布式计算系统的功率性能)”的美国专利申请No.14/582,743(代理人卷号No.42P74567)的权益;2014年12月24日提交的名称为“PROFILING A JOB POWER AND ENERGY CONSUMPTION FOR A DATA PROCESSING SYSTEM(为数据处理系统制定作业功率和能量消耗的简档)”的美国专利申请No.14/582,756(代理人卷号No.42P74568)的权益;2014年12月24日提交的名称为“A POWER AWARE JOB SCHEDULER AND MANAGER FOR A DATA PROCESSING SYSTEM(用于数据处理系统的功率感知作业调度器和管理器)”的美国专利申请No.14/582,764(代理人卷号No.42P74569)的权益。

技术领域

[0004] 本公开的实施例总体上涉及分布式计算机系统的功率守恒的领域。更具体地,本公开的一个实施例涉及估计要在分布式计算机系统内的多个节点上运行的作业的功率性能以改进被该分布式计算机系统处理的作业的作业调度和监控。

背景技术

[0005] 分布式计算机系统可以通过执行被称为作业的计算分配的多个节点的同时使用来执行并行计算。每个节点可以包括一个或多个处理器、存储器操作系统、以及一个或多个输入/输出(I/O)部件。节点可以通过高速网络结构(例如以太网、全路径、无限带宽或其他网络)彼此通信,并且可以使用共享文件系统或存储装置。作业可以被划分成分布在数千个节点上的数千个并行任务。这些节点可以每秒彼此同步上百次。
[0006] 计划未来的分布式计算机系统需要几十兆瓦的功率,这使得它们的功率管理成为行业中最关注的问题。将期望这些分布式计算机系统以有限的功率和能量预算来递送百亿亿次性能。当前的分布式计算机系统可以应用功率封顶来遵守受限功率和能量预算。然而,功率封顶的当前方法对分布式计算机系统的性能有负面影响,这归因于通常不准确的功率封顶。
[0007] 当前方法基于包括每个节点的一个或多个部件的热耗散功率(TDP)值来估计分布式计算机系统的一个或多个节点运行作业所需的功率。因为作业实际上使用该作业在其上运行的每个节点的TDP值是少见的,所以使用TDP值的估计会导致过高估计。通过过高估计启动和运行作业所需的功率,当前方法会使作业的开始延迟并且通过阻止其他作业运行而降低分布式计算机系统的效率。
[0008] 因为开始作业的必需功率的过高估计促使分布式计算机系统延迟作业的开始直到可得到过高估计的启动功率为止,所以运行作业的开始被延迟。可替代地,启动功率的更准确估计将避免运行作业的延迟。另外,运行作业所需的功率的过高估计导致为该作业过度分配功率。过度分配带走了可以被分配给分布式计算机系统请求被运行的其他作业的功率。
[0009] 另外,TDP不是可被节点消耗的最大功率。例如,TDP没有准确地测量当节点的每个部件正被使用时的电气功率消耗,而是测量热耗散。因此,作业请求可以会消耗比TDP估计更多的功率是可能的,这可能导致分布式计算机系统尝试消耗比公用设施已经分配的功率更多的功率。附图说明
[0010] 通过示例的方式来图示本发明的实施例并且本发明的实施例不受附图的各图中的限制,在附图中相似的标号指示类似的元件并且在其中:
[0011] 图1是接收各种输入的HPC系统的示例性框图
[0012] 图2是包括HPC系统100的逻辑的示例性框图。
[0013] 图3是用于在请求使用HPC系统100来处理作业的同时指定用户策略的用户界面屏幕的示例性实施例。
[0014] 图4A是图示当没有实施功率监控时在确定运行作业必需的资源中使用的示例性参数的表格。
[0015] 图4B是图示当实施功率监控时在确定运行作业必需的资源中使用的示例性参数的表格。
[0016] 图5是图示用于生成启动功率的估计的示例性方法的流程图
[0017] 图6是图示用于生成对于作业的最小所需功率的估计的示例性方法的流程图。
[0018] 图7是图示用于生成为作业所需的分配功率的估计的示例性方法的流程图。
[0019] 图8是图示用于基于对于作业的可用功率生成操作频率的估计的示例性方法的流程图。

具体实施方式

[0020] 本公开的各种实施例涉及估计要在分布式计算机系统上运行的作业的功率性能。可以至少部分基于作业的所有者是否允许作业受到功率限制(限制供应给作业的功率的作业功率策略),作业的所有者是否允许作业被暂停和/或要在其上运行作业的分布式计算机系统的一个或多个节点的校准数据来确定作业的功率性能的估计。该分布式计算机系统可以是例如高性能计算(HPC)系统。在本公开的一些实施例中,作业可能不会受到如由作业的所有者陈述的限制供应给该作业的功率的功率策略;然而,HPC系统可以并且可能将具有不能被HPC系统所处理的作业的组合超过的总体受限功率预算。
[0021] 本公开的实施例涉及基于将在其上运行作业的每个节点的实际功率测量结果(其考虑各节点之间的各部分(part-to-part)变化)来估计运行该作业所需的启动功率和/或最小功率。本公开的其他实施例涉及基于在运行作业(例如作业的样本部分和/或全部作业)的同时得到的测量结果来估计运行该作业所需的启动功率和/或最小功率。本公开的还有其他实施例涉及基于将运行作业的一个或多个节点将在其上操作的固定频率来估计运行该作业所需的启动功率和/或最小功率。
[0022] HPC系统可以基于被选择用来运行作业的节点将操作的预定频率来估计应该被分配给该作业的功率。该估计可以至少基于作业类型(例如工作负载类型)、被选择用来运行作业的节点的列表、以及可选地要被供应给所选节点的最小功率或所选节点在运行作业的同时将操作的频率。该估计可以向HPC系统至少提供对于每个节点对于每个频率的功率级(例如平台最大功率(PMP)、工作负载最大功率和/或工作负载平均功率)、允许HPC系统管理冷却系统的热估计和/或对于所选节点的一个或多个频率的性能估计(例如性能度量),其允许用户(例如作业的所有者)基于作业的所估计的性能度量(例如直到完成为止的时间)、所估计的功率级和所估计的总能量消耗来调整作业请求。节点的工作负载最大功率可以被定义为在节点被校准(例如运行小型化应用程序(“迷你应用程序”)和/或作业的一部分)的同时采样的最大观测功率。节点的工作负载平均功率可以被定义为在节点被校准的同时采样的所有功率测量结果的平均功率。在至少一些实施例中,为了开始作业,使用如这里描述的功率估计技术之一以及使用如在名称为“Methods and apparatus to generate and use power, thermal and performance characteristics of nodes to improve energy efficiency and reducing wait time for jobs in the queue.(生成并使用节点的功率、热和性能特性以改进能量效率且降低队列中作业的等待时间的方法和装置)”的相关美国专利申请No. 14/582,783(代理人卷号42P74562)中描述的功率校准技术之一来估计作业所需的功率。
[0023] 工作负载类型可以被用来确定用于生成如上述估计的校准数据的一部分。例如,如果工作负载类型(例如作业的类型)类似于已用来校准HPC系统的节点的迷你应用程序,则估计器将检索与使用迷你应用程序的节点的校准相关联的校准数据(例如存储在校准数据库中)。
[0024] 可替代地,工作负载类型可以是用户所请求的实际作业的一小部分。在此类示例中,用户可能已经提交了期望作业的一小部分(例如直到完成为止的总共例如4-5小时的计算)以便在校准将处理作业请求的一个或多个节点中使用。因此,估计器将检索将处理与期望作业的一小部分相关联的作业的一个或多个节点的校准数据。
[0025] 在又另一实施例中,可以在作业的执行期间完成用于处理作业的节点的各种参数(例如除了其他之外尤其温度和/或功率消耗)的采样。如果请求再次处理作业(例如用稍稍变化的输入参数),则估计器可以检索与在其前一运行时间期间的作业相关联的校准数据并且在生成估计的过程中使用该校准数据。
[0026] 可替代地或另外,HPC系统可以估计当HPC系统知道为作业分配的功率时应该以其来运行该作业的频率。该估计可以基于例如作业的可用功率(例如PMP、工作负载最大功率或工作负载平均功率)、作业和运行作业的所选节点的列表。该估计可以提供例如所选节点应该以其来操作的频率、预期热耗散、预期性能、以及可选地以较高频率和/或较低频率运行作业所需的功率和预期热耗散。
[0027] 在至少一些实施例中,使用如名称为“Methods and apparatus to profile power and energy consumption by a job running in multiple nodes and uses shared resources of a distributed computer system (HPC)(为在多个节点中运行的且使用分布式计算机系统(HPC)的共享资源的作业的功率和能量消耗制定简档的方法和装置)”的相关美国专利申请No.14/582,756(代理人卷号42P74568)中描述的一种或多种监控技术来监控作业功率、系统功率、作业的完成和作业暂停状态。
[0028] 参考图1,示出接收各种输入的HPC系统的示例性框图。HPC系统100包括一个或多个操作系统(OS)节点101(也被称为头节点)、一个或多个计算节点102、一个或多个输入/输出(I/O)节点103和存储装置104。高速结构通信连接OS节点101、计算节点102和I/O节点103。高速结构可以是经由一个或多个交换器互连的节点的网络拓扑结构。在一个实施例中,如图1中所图示的,I/O节点103通信连接到存储装置104。该存储装置104可以是非永久性存储装置,诸如易失性存储器(例如任何类型的随机存取存储器“RAM”);永久性存储装置,诸如非易失性存储器(例如只读存储器“ROM”、功率支持的RAM、闪速存储器、相变存储器等),固态驱动器硬盘驱动器,光盘驱动器或便携式存储器设备。
[0029] OS节点101可以提供访问计算节点102的网关。例如,在提交用于在计算节点102上进行处理的作业之前,可能需要用户登陆到HPC系统100,这可能要通过OS节点101。在本公开的实施例中,OS节点101可以接受由用户提交的作业并且帮助由计算节点102处理的作业的启用和管理。在一个实施例中,OS节点101包括功率监控器(未示出);这里描述的功率估计器(未示出);以及功率校准器(未示出)。
[0030] 在一个实施例中,计算节点102提供大部分处理和计算功率。I/O节点103可以提供计算节点102和可以向HPC系统100提供输入或从HPC系统100接收输出的外部设备(例如分开的计算机)之间的接口
[0031] 可以通过例如(例如如由系统管理员或诸如数据中心管理器之类的管理软件确定的)公用事业管理设施来向HPC系统100提供系统功率分配(Psys)。典型地,Psys将是分配给HPC系统100的有限数量的功率,HPC系统100将使用其来运行各作业120中的一个或多个。作业120包括一个或多个用户请求要通过HPC系统100运行的一个或多个作业。每个作业都包括将在下面深入讨论的“功率策略”。功率策略将帮助HPC系统100为作业分配功率并且有助于要由HPC系统100运行的一个或多个作业120的管理。
[0032] 此外,管制策略130将通过提供定义HPC系统100的操作的首要策略来指导运行作业120的管理。包括在管制策略130中的策略的示例包括但不限于或被约束成:(1)最大化所有硬件和软件资源的的利用(例如不是以高功率运行较少的作业并且留下资源不使用,而是运行尽可能多的作业来使用尽可能多的资源);(2)在所有运行的作业中不具有功率限制的作业被给予最高优先级;和/或(3)为了重新开始暂停处于较高优先级的作业。此类管制策略支配HPC系统100可以调度、启用、暂停和重新启用一个或多个作业的方式。
[0033] I.术语。
[0034] 在下面的描述中,某些术语被用来描述本发明的特征。例如,在某些情况下,术语“逻辑”和“引擎”二者代表被配置成执行一个或多个功能的硬件、固件和/或软件。作为硬件,逻辑(或引擎)可以包括具有数据处理或存储功能的电路。此类电路的示例可以包括但不限于或被约束成微处理器、一个或多个处理器核、可编程阵列、微控制器专用集成电路、无线接收器、发射器和/或收发器电路、半导体存储器或组合逻辑。
[0035] 逻辑(或引擎)可以是处于一个或多个软件模的形式的软件,诸如处于可执行应用程序的形式的可执行代码、应用程序编程接口(API)、子例程、函数、程序、小应用程序、小服务程序、例程、源代码、目标代码、共享程序库/动态负载程序库、或一个或多个指令。这些软件模块可以被存储在任何类型的适当非瞬时存储介质或瞬时存储介质(例如、电气、光学、声学或其他形式的传播信号,诸如载波、红外信号或数字信号)中。非瞬时存储介质的示例可以包括但不限于或被约束成可编程电路;半导体存储器;非永久性存储装置(诸如易失性存储器(例如任何类型的随机存取存储器“RAM”));永久性存储装置(诸如非易失性存储器(例如只读存储器“ROM”、功率支持的RAM、闪速存储器、相变存储器等)),固态驱动器,硬盘驱动器,光盘驱动器或便携式存储器设备。作为固件,可执行代码被存储在永久性存储装置中。
[0036] 术语“功率监控”应该被解释成通过包括HPC系统的一个或多个部件的动态测量功率消耗。所得到的测量结果可以被用来计算例如个体作业和/或一组作业的功率消耗,以及提供关于HPC系统的总功率消耗的统计。
[0037] 术语“功率策略”应该被解释成提供给HPC系统的提供关于对给定作业的功率的分配和管理的指导的输入(例如一个或多个参数)。该输入可以被提供为作业请求提交的一部分和/或可以被提供为单独的输入(例如经由用户界面屏幕或配置文件)。例如,除了别的之外,该输入可以指示(i)作业是否受到功率限制,(ii)作业可以以其来运行的最大和/或最小功率,和/或(iii)处理作业的一个或多个节点可以以其来操作的最小和/或最大频率。
[0038] 术语“节点”应该被理解为与至少系统存储器和/或一个或多个输入/输出(I/O)部件随意成组的一个或多个处理器。该一个或多个处理器、系统存储器和一个或多个I/O部件可以被称为遍及说明书权利要求的节点的“部件”。遍及说明书和权利要求,术语“处理器”、“计算机处理单元(CPU)”和“核”将被互换地使用。
[0039] 术语“作业”应该被解释成在HPC系统上执行的预定计算。例如,用户(例如作业的所有者)可以请求由HPC来运行作业,这意味着用户正请求使一个或多个计算节点根据由用户提供的输入参数和/或数据来执行计算。作业请求可以指定要被用于处理作业的一个或多个计算(例如应用程序)。
[0040] 术语“系统功率(Psys)”应该被解释成由例如设施或数据中心管理器提供给HPC系统的功率量。Psys是在任何给定时间必须分配给一个或多个作业的HPC系统的功率总量。
[0041] 术语“防护频带”应该被解释为帮助管理HPC系统的功率预算的机制。在一个实施例中,防护频带可以是额外功率分配,其可以是分配给作业的预定百分比的功率。例如,如果HPC系统将3MW功率分配给作业,则HPC系统可以仅分配2.8MW并且保持0.2MW作为防护频带以防止计算中的尖峰促使作业的功率消耗超过3MW。防护频带的一个目的是保持作业的一致功率消耗。
[0042] 术语“平台最大功率(PMP)”应该被解释为当节点正运行“功率-病毒”时测得的该节点的功率级。功率-病毒是在功率-病毒正被运行的同时尝试运行尽可能多的节点的每个部件的工作负载,其可以是只为校准创建的人工工作负载。因此,PMP是节点可能消耗的最高可能的功率级。
[0043] 最后,如在这里使用的术语“或”和“和/或”被解释为包括的或意指任何一个或任何组合。因此,“A、B或C”或“A、B和/或C”意指“以下各项中的任一个:A;B;C;A和B;A和C;B和C;A、B和C”。仅当元件、功能、步骤或动作的组合处于本质上互相排斥的某一方式时出现该定义的例外。
[0044] 本发明可以被利用来用于分布式计算机系统(诸如高性能计算(HPC)系统)的功率管理。特别地,本公开的实施例涉及基于作为HPC系统内的节点的校准的结果对每个作业的功率消耗的估计来管理对HPC系统中运行的一个或多个作业的功率分配。因为本发明容易受到许多不同形式的实施例的影响,所以意图将本公开视为本发明原理的示例并且不意图将本发明限于所示出和描述的具体实施例。
[0045] II.功率感知分布式计算机系统。
[0046] 参考图2,示出包括HPC系统100的逻辑的示例性框图。图2中图示的HPC系统100的逻辑为HPC系统100提供大部分功率管理并且包括资源管理器210(其包括功率感知作业调度器211和功率感知作业启用器212)、校准器220、估计器230、一个或多个作业管理器240(每个作业将具有其自己的作业管理器)、作业250、用户策略205和管制策略130。在一个实施例中,资源管理器210和作业管理器240被配置成收集作业功率数据。
[0047] 校准器220校准HPC系统100内的每个节点的功率、热耗散和性能。校准器220可以提供用于校准HPC系统100内的节点的多种方法。在一个实施例中,校准器100可以提供第一校准方法,在其中HPC系统100内的每个节点运行样本工作负载(例如迷你应用程序、应用程序的一部分和/或测试脚本),以使得校准器220可以以预定时间间隔对各种参数(例如所消耗的功率)进行采样以便为每个节点确定除了其他之外尤其(1)平均功率、(2)最大功率和(3)最小功率。此外,可以以节点的每个操作频率在每个节点上运行采样工作负载。在另一实施例中,校准器220可以提供第二校准方法,在其中在作业的运行时间期间发生一个或多个节点的校准。在这种情况下,校准器220可以对其上运行(例如处理)作业的一个或多个节点进行采样。在第二方法中,校准器220获得在实际运行时间期间每个节点的功率测量结果。
[0048] 估计器230向资源管理器210提供对于每个作业的功率消耗的估计,从而使得资源管理器210能够高效地调度和监控由一个或多个作业所有者(例如用户)请求的每个作业。估计器220可以基于例如存储在校准数据库中的最大和平均功率值来提供功率消耗估计,其中通过校准器220的处理来填充校准数据库。此外,可以考虑对于每个作业所需的最小功率。可以被估计器230用来创建功率消耗估计的其他因素包括但不限于或被约束成:作业的所有者是否允许作业受到功率限制(限制供应给作业的功率的作业功率策略(例如作业将运行的预定固定频率、对于作业所需的最小功率、或者由资源管理器210确定的变化的频率和/或供应的功率)),对于作业的启动功率,作业将运行的频率,HPC系统100可用的功率和/或分配给HPC系统100的功率。
[0049] 用户(例如作业的所有者)所请求的每个作业附有用户策略205(也在图1中图示)。用户策略至少包括关于作业250是否可能要受到功率限制、功率限制是否被策略允许来限制功率(例如固定频率、所需最小功率或由资源管理器210确定的变化的频率和/或功率)、以及作业250是否可能被暂停的决定。将在下面利用图3深入讨论用户策略。
[0050] 在一个实施例中,功率感知作业调度器211被配置成接收针对作业的模式选择(例如被包括在用户策略205内),以基于该模式来确定对于作业的可用功率并基于该可用功率来为作业分配功率。在一个实施例中,功率感知作业调度器211被配置成基于该可用功率来确定对于作业的统一频率。在一个实施例中,功率感知作业调度器211被配置成基于所监控的功率、所估计的功率和经过校准的功率中的至少一个来确定对于作业的可用功率。该功率感知作业调度器211和资源管理器210被配置成接收关于功率消耗的信息,以便向每个作业分发功率预算,以及实施统一频率机制来限制功率,如下面进一步详细描述的那样。
[0051] 资源管理器210使用功率感知作业调度器211和功率感知作业启用器212来基于接收到的功率输入(例如用户策略205和管制策略206)调度和启用作业。在一个实施例中,资源管理器210是负责为一个或多个用户想要运行的交互性和批量作业分配计算和I/O资源的软件对象。典型地,资源管理器210还负责调度从作业队列之中出来的作业并按照所调度的那样启用作业来运行。作业管理器240被配置成控制作业保持在为该作业所分配的功率预算内,如下面进一步详细描述的那样。在一个实施例中,作业管理器240负责在作业已经被启用之后将该作业操作在一个或多个功率策略的约束之内。在一个实施例中,作业管理器240被用来控制按照由用户和/或管理员中的至少一个指定的策略参与作业的执行的所有部件(例如节点或其他部件)的功率性能。在名称为“Methods and apparatus for a power aware job scheduler and manager to operate a distributed computing (HPC) within given power limits with high energy efficiency(用于在给定功率限制内以高能量效率操作分布式计算(HPC)的功率感知作业调度器和管理器的方法和装置)”的美国专利申请No.14/582,764(代理人卷号No.42P74569)中描述了功率感知作业调度器211和作业管理器240。
[0052] A.示例性功率策略选择用户界面。
[0053] 参考图3,示出用于在请求使用HPC系统100处理的作业的同时指定用户策略的用户界面屏幕的示例性实施例。该用户界面屏幕300包括显示区310、320和330。显示区310允许用户指定是否允许作业(例如作业250)受到功率限制(例如选择“否”产生功率限制策略310“没有功率限制”,如图下面4A和4B中看到的)。
[0054] 当用户允许作业受到功率限制时显示区320关于选择预定功率限制策略之一。在图3中示出的实施例中,显示区320提供四个附加的预定功率限制策略321-323。功率限制策略321是固定频率策略(“固定频率”),在其中用户指定作业将在其上运行的一个或多个节点应该操作的特定频率。功率限制策略322是最小作业功率策略(“最小作业功率”),在其中用户指定要被供应给在其上运行作业250的一个或多个节点的最小功率。功率限制策略323是自动模式(“自动模式”),在其中资源管理器210可以改变一个或多个节点操作的频率和/或供应给正在其上运行作业250的一个或多个节点的功率。功率限制策略324是最大作业功率策略(“最大作业功率”),在其中用户指定要被供应给在其上运行作业250的一个或多个节点的最大功率。显示区330 关于在处理期间作业250是否可能被暂停的选择。
[0055] 用户界面屏幕不是用户向HPC系统100提供输入参数(诸如例如功率策略、最小所需频率、最小所需功率和/或作业是否可能被暂停)的唯一方法。可替代地,此类参数可以作为作业提交和/或作为配置文件(例如文本文件)的一部分提供给HPC系统100。在又另一实施例中,此类参数可以被系统管理员、设施管理器/管理员设置以及/或者被预定为利用HPC系统100的用户账户的一部分。
[0056] B.用于生成功率和频率估计的示例性参数。
[0057] 参考图4A,示出了图示当没有实施功率监控时在确定运行作业必需的资源中使用的示例性参数的表格。表格401包括:列421,其包括在运行作业的估计中提供的参数;以及第一行430,其展示用户可选择的各种功率策略。第一功率策略“没有功率限制”被展示在列422中。第二功率策略“固定频率”被展示在列423中。第三功率策略“最小功率”被展示在列
424中,第四功率策略“自动模式”被展示在列425中并且第五功率策略“最大功率”被展示在列426中。
[0058] 根据一个实施例,估计器230不知道用户所选择的功率策略。例如,资源管理器210(例如作业调度器211和/或作业启用器212)可以向估计器230提供对于估计作业所需的启动功率的请求并且以指定频率明确地请求PMP(这将含蓄地意指没有实施功率监控,如图4A中所图示的)。
[0059] 如在列422中所图示的,当用户选择功率策略“没有功率限制”时,资源管理器210将从估计器230请求下面的参数:对于作业所需的启动功率为对于所选节点的PMP;所选节点应该以其被运行的最大频率(例如所有计算节点102可以具有同一最大频率);运行作业所需的最小功率为PMP;以及要为作业分配的功率为PMP。因此,估计器230将查阅校准器数据库来确定,并输出PMP和所选节点可以以其来操作的最大频率。
[0060] 当用户选择功率策略“固定频率”时,资源管理器210将从估计器230请求以下参数(其中用Fs表示由用户选择的频率):对于作业所需的启动功率为对于所选节点在Fs的PMP;所选节点应该以其被运行的频率为Fs;运行作业所需的最小功率为(i)零(当作业可以被暂停时),或者(ii)Fs处的PMP;以及要为作业分配的功率是Fs处的PMP。因此,估计器230将查阅校准器数据库来确定,并输出Fs处的PMP。
[0061] 当用户选择功率策略“最小功率”时,资源管理器210将从估计器230请求以下参数(其中用Pmin表示由用户建立的最小功率):对于作业所需的启动功率为对于所选节点的Pmin;所选节点应该以其被运行的频率为第一操作频率F0_1,在PMP小于或等于可用功率且F0_1处的PMP等于或大于Pmin的情况下为最大频率。运行作业所需的最小功率为(i)零(当作业可以被暂停时),或者(ii)Fmin处的PMP和Pmin的较大值;以及要为作业分配的功率为最小所需功率和F0_1处的PMP的较大值。因此,估计器230将查阅校准器数据库来确定,并输出F0_1,以及Fmin处的PMP和Pmin的较大值(当作业不能被暂停时)。
[0062] 当用户选择功率策略“自动模式”时,资源管理器210将从估计器230请求以下参数:对于作业所需的启动功率为Fmin处的PMP,其中Fmin表示所选节点的最低频率;所选节点应该以其被运行的频率为F0_1;运行作业所需的最小功率为(i)零(当作业可以被暂停时),或者(ii)Fmin处的PMP;以及要为作业分配的功率为最小所需功率和F0_1处的PMP的较大值。因此,估计器230将查阅校准器数据库来确定,并输出F0_1;最小所需功率和Fmin处的PMP的较大值;以及Fmin处的PMP(当作业不能被暂停时)。
[0063] 当用户选择功率策略“最大功率”时,资源管理器210将从估计器230请求以下参数(其中用Pmax表示由用户建立的最大功率):对于作业所需的启动功率为Fmin处的PMP(当Fmin处的PMP小于对于所选节点的Pmax时);所选节点应该以其被运行的频率为第二操作频率F0_2,在PMP小于或等于可用功率和最大功率的较小值的情况下为最大频率;运行作业所需的最小功率为(i)零(当作业可以被暂停时),或者(ii)Fmin处的PMP;以及要为作业分配的功率为Pmax和F0_2处的PMP的较小值。因此,估计器230将查阅校准器数据库来确定,并输出Fmin处的PMP(当Fmin处的PMP小于对于所选节点的Pmax时);F0_2;Fmin处的PMP(当作业不能被暂停时);以及Pmax和F0_2处的PMP的较小值。
[0064] 参考图4B,示出了图示当实施功率监控时在确定运行作业必需的资源中使用的示例性参数的表格。表格402包括:列441,其包括在运行作业的估计中提供的参数;以及第一行450,其展示用户可选择的各种功率策略。第一功率策略“没有功率限制”被展示在列442中。第二功率策略“固定频率”被展示在列443中。第三功率策略“最小功率”被展示在列444中,第四功率策略“自动模式”被展示在列445中并且第五功率策略“最大功率”被展示在列446中。
[0065] 当实施功率监控时,HPC系统100(特别地,作业管理器240)不断地感知被作业250消耗的功率,因为被消耗的功率是被动态测量的。相反,当不实施功率监控时,HPC系统100基于Psys来确定可用功率以及分配给作业250的功率(其是静态值)。
[0066] 如列442中所图示的,当用户选择功率策略“没有功率限制”时,资源管理器210将从估计器230请求下面的参数:对于作业所需的启动功率为对于所选节点的工作负载最大功率加上防护频带;所选节点应该以其被运行的频率为节点的最大频率;运行作业所需的最小功率为工作负载最大功率加上防护频带;以及要为作业分配的功率为工作负载最大功率加上防护频带。因此,估计器230将查阅校准器数据库来确定,并输出对于所选节点的工作负载最大功率加上防护频带;以及所选节点的最大频率。
[0067] 当用户选择功率策略“固定频率”时,资源管理器210将从估计器230请求以下参数:对于作业所需的启动功率为所选节点在Fs的工作负载最大值;所选节点应该以其被运行的频率为Fs;运行作业所需的最小功率为(i)零(当作业可以被暂停时),或者(ii)在Fs的工作负载最大值;以及要为作业分配的功率为Fs处的工作负载最大功率。因此,估计器230将查阅校准器数据库来确定,并输出对于所选节点在Fs的工作负载最大值;以及在Fs的工作负载最大值(当作业不能被暂停时)。
[0068] 当用户选择功率策略“最小功率”时,资源管理器210将从估计器230请求以下参数:对于作业所需的启动功率为对于所选节点的Pmin;所选节点应该以其被运行的频率为第三操作频率F0_3,在工作负载平均功率小于或等于可用功率且F0_3处的工作负载平均功率大于Pmin的情况下为最大频率。运行作业所需的最小功率为(i)零(当作业可以被暂停时),或者(ii)Fmin处的工作负载最大功率和Pmin的较大值;以及要为作业分配的功率为最小所需功率和F0_3处的工作负载平均值的较大值。因此,估计器230将查阅校准器数据库来确定,并输出F0_3;以及Fmin处的工作负载最大值功率和Pmin的较大值(当作业不能被暂停时);以及最小所需功率和F0_3处的工作负载平均值的较大值。
[0069] 当用户选择功率策略“自动模式”时,资源管理器210将从估计器230请求以下参数:对于作业所需的启动功率为Fmin处的工作负载平均值;所选节点应该以其被运行的频率为F0_3;运行作业所需的最小功率为(i)零(当作业可以被暂停时),或者(ii)Fmin处的工作负载最大功率;以及要为作业分配的功率为最小所需功率和F0_3处的工作负载平均值的较大值。因此,估计器230将查阅校准器数据库来确定,并输出对于所选节点在Fmin的工作负载平均值;F0_3;Fmin处的工作负载最大功率(当作业不能被暂停时);以及最小所需功率和F0_3处的工作负载平均值的较大值。
[0070] 当用户选择功率策略“最大功率”时,估计器230将向资源管理器210提供以下参数:对于作业所需的启动功率为Fmin处的工作负载平均值(当Fmin处的工作负载平均值小于对于所选节点的Pmax时),否则为Pmax;所选节点应该以第四操作频率F0_4被运行,在工作负载最大功率小于或等于可用功率和最大功率Pmax的较小值的情况下为最大频率;运行作业所需的最小功率为(i)零(当作业可以被暂停时),或者(ii)Fmin处的工作负载最大功率;以及要为作业分配的功率是F0_4处的工作负载最大功率和Pmax的较小值。因此,估计器230将查阅校准器数据库来确定,并输出Fmin处的工作负载平均值(当Fmin处的工作负载平均值小于对于所选节点的Pmax时);F0_4;Fmin处的工作负载最大功率(当作业不能被暂停时);以及F0_4处的工作负载最大功率和 Pmax的较小值。
[0071] C.估计功率性能的示例性方法。
[0072] 参考图5,示出了图示用于生成启动功率的估计的示例性方法的流程图。图5中图示的每个框都表示在启用作业之前生成可用的对于作业所需的启动功率的估计的方法500中所执行的操作。在操作501中,估计器230接收作为输入的唯一作业标识(ID)、在其上运行作业的节点的列表、以及可选地节点在运行作业的同时以其操作的指定频率。当提供指定频率时(在操作502处为是),启动频率Fs被设置为指定频率(操作503)。当没有提供指定频率时(在操作502处为否),最小频率Fmin和启动频率Fs被设置为对于所选节点的列表内的每个节点的最低频率(操作504)。
[0073] 在操作505中,估计器230确定对应于唯一作业ID的作业类型是否存在于校准器数据库中(例如已经利用满足与唯一作业ID的作业类型的相似度阈值的工作负载校准了所选节点的列表上的节点)。当在校准器数据库中找到该作业类型时(在操作505处为是),对于每个节点的启动功率Ps[NX](其中NX表示节点的所选列表上的一个或多个一个节点中的一个)被设置成从校准器数据库获得的对于每个节点在Fs的平均工作负载功率(操作506)。
[0074] 当在校准器数据库中没有找到该作业类型时(在操作505处为否),对于每个节点的启动功率Ps[Nx]被设置成从校准器数据库获得的对于每个节点在Fs的平均PMP(操作507)。
[0075] 在操作508处,当作业以按照比例缩放(scale)来运行时Ps[NX]被设置成对于每个节点N在Fs的平均工作负载功率(Ps_scaled[NX])。术语“Pa_scaled[NX]”和“Pmax_scaled[NX]”分别指代当在指定数目(作为一个示例,X可以等于10,000)的计算节点上处理作业时在计算节点Nx上运行作业所需的平均和最大节点功率。按照比例缩放考虑了当在指定数目的节点上将作业按照比例缩放来运行时每个节点消耗的功率可能改变的事实,这归因于在操作于每个计算节点Nx上的过程正等待通信(例如在计算节点之间和/或与OS节点101一起)的同时每个计算节点NX的降低的功率消耗。根据一个实施例,对于较大数目的计算节点等待通信的时间会更长。
[0076] 例如,对于迷你应用程序校准可以是一次在100个节点上运行,然而实际作业请求可能请求使用10,000个节点。在某些情况下,当作业在10,000个节点上运行时每个节点的平均功率消耗和最大功率消耗可能更少,因为10,000个节点之间的通信会花费比100个节点之间的通信更多的时间并且在节点等待通信发生时消耗比节点正处理计算时更少的功率。因此,估计器230可以对校准数据执行按照比例缩放过程以便基于在校准期间所使用的节点的数目和在作业的实际处理中使用的节点的数目来按照比例缩放测量结果(例如最大温度、平均温度、最大功率、平均功率等)。
[0077] 在操作509处,对于作业的总启动功率Ps被设置成对于所选节点的列表上的所有节点的Ps_scaled[NX]的和。在操作510处,添加对共享节点的估计。共享节点是对多于一个作业执行处理的节点。共享节点的示例是I/O节点,其中I/O节点执行在多个节点之间共享的存储设备的控制和/或执行对(例如与第二HPC系统和/或用户设备的)网络对接的控制。对共享节点的估计包括基于一个或多个共享节点将执行的功能来估计一个或多个共享节点将消耗的功率。类似的校准技术可以被用来确定一个或多个共享节点的功率消耗。在操作511中,将对唯一作业ID的Ps和Fs的估计输出给资源管理器210。
[0078] 现在参考图6,示出了图示用于生成对于作业的最小所需功率的估计的示例性方法的流程图。图6中图示的每个框都表示在生成运行作业所需的最小功率的估计的方法600中所执行的操作(运行作业所需的最小功率通常小于或等于如图5中图示的启动功率)。在操作601中,估计器230至少接收作为输入的唯一作业ID和在其上运行作业的节点的列表。在操作602处,Fmin[N]被设置为对于每个节点的最低频率。
[0079] 在操作603中,估计器230确定对应于唯一作业ID的作业类型是否存在于校准器数据库中。当在校准器数据库中找到该作业类型时(在操作603处为是),对于每个节点的最小功率Pmin[NX]被设置成从校准器数据库获得的对于每个节点在Fmin的平均工作负载功率(操作604)。当在校准器数据库中没有找到该作业类型时(在操作603处为否),对于每个节点的最小功率Pmin[NX]被设置成从校准器数据库获得对于的每个节点在Fmin的平均PMP(操作605)。
[0080] 在操作606处,Pmin[NX]被设置成当作业以按照比例缩放来运行时对于每个节点N在Fmin的平均工作负载功率(Pmin_scaled[NX])。
[0081] 在操作607处,对于作业的总最小功率Pmin被设置成对于所选节点的列表上的所有节点的Pmin_scaled[NX]的和。在操作608处,添加对共享节点的估计。在操作609中,将对唯一作业ID的Pmin和Fmin的估计输出给资源管理器210。
[0082] 现在参考图7,示出了图示用于生成对于作业所需的分配功率的估计的示例性方法的流程图。图7中图示的每个框都表示在生成运行作业所需的分配功率的估计的方法700中所执行的操作。在操作701中,估计器230至少接收作为输入的唯一作业标识(ID)和在其上运行作业的节点的列表、以及节点在运行作业的同时以其来操作的分配频率Fa。
[0083] 在操作702中,估计器230确定对应于唯一作业ID的作业类型是否存在于校准器数据库中。当在校准器数据库中找到该作业类型时(在操作702处为是),对于每个节点的分配功率Pa[NX]被设置成从校准器数据库获得的对于每个节点在Fa的平均工作负载功率(操作703)。当在校准器数据库中没有找到该作业类型时(在操作702处为否),对于每个节点的分配功率Pa[NX]被设置成从校准器数据库获得的对于每个节点在Fa的平均PMP(操作704)。
[0084] 在操作705处, Pa[NX]被设置成当作业以按照比例缩放来运行时对于每个节点N在Fa的平均工作负载功率(Pa_scaled[NX]),并且Pmax[NX]被设置成当作业以按照比例缩放来运行时对于每个节点N在Fa的最大工作负载。
[0085] 在操作706处,对于作业所需的总分配功率Pa被设置成对于所选节点的列表上的所有节点的Pa_scaled[NX]的和。在操作707处,添加对共享节点的估计。
[0086] 在操作708中,估计器230输出分别作为对作业的分配的功率和最大功率的估计的Pa和Pmax。
[0087] 现在参考图8,示出了图示用于基于对于作业的可用功率生成操作频率的估计的示例性方法的流程图。图8中图示的每个框都表示在基于运行作业的可用功率生成操作频率的估计的方法800中所执行的操作。在操作801中,估计器230至少接收作为输入的作业类型、对于作业可用的功率(Pavail)、和在其上运行作业的节点的列表。
[0088] 在操作802处,操作频率(Fo)和分配的功率(Pa)被设置成“未定义的”值。作为在操作811处由估计器230的输出的Fo是提供给估计器230的节点的列表的节点应该基于Pavail以其来操作的频率的估计。在操作811处输出的Fo表示节点的列表上的节点可以以其来操作以使得节点将不会消耗比Pavail更多的功率的最高频率。在操作803处,变量Fo_next被设置成对于每个节点的最低频率(例如如在校准器数据库中提供的)。
[0089] 例如,用户可以提交要以自动模式运行的作业“Job_A”。当作业准备好运行时,作业启用器212确定存在要被分配给Job_A的1.2MW的可用功率。随后,资源管理器210可以从估计器230除了其他之外尤其请求节点在消耗小于或等于1.2MW功率的同时应该以其来操作以运行作业的频率的估计。至少基于作业类型和节点的列表,该估计向资源管理器210提供Job_A在消耗小于或等于1.2MW功率的同时所表明的可以以其来运行的最大频率的输出。估计器230还可以在估计中包括Job_A在以2.3GHz操作的同时可以消耗的平均功率的估计和最大功率的估计。
[0090] 在操作804处,估计器230确定对于作业类型的工作负载的校准数据是否存在于校准器数据库中。当在校准器数据中找到对于该作业类型的工作负载的校准数据时(在操作804处为是),对于每个节点的可用功率Pa_next[NX]被设置成从校准器数据库获得的对于每个节点在Fo_next的工作负载功率(操作805)。工作负载功率基于在操作801处作为输入接收的功率类型参数。功率类型可以是例如PMP、平均工作负载功率或最大工作负载功率。可以根据用户输入(例如功率策略选择)和/或是否使用功率监控来确定功率类型(例如当不使用功率监控时功率类型可以是PMP)。当没有在校准器数据中找到对于该作业类型的工作负载的校准数据时(在操作804处为否),对于每个节点的可用功率Pa_next[NX]被设置成从校准器数据库获得的对于每个节点在Fo_next的平均PMP(操作806)。
[0091] 在操作807处,Pa_next[NX] 被设置成当作业以按照比例缩放来运行时对于每个节点N在Fo_next的工作负载功率(Pa_ next_scaled[NX]),如关于操作804所描述的,并且Pmax_next[NX]被设置成当作业以按照比例缩放来运行时对于每个节点N在Fo_next的最大工作负载(Pmax_next_scaled[NX])。在操作808处,表示对于作业所需的总功率的变量Pa_next被设置成对于所选节点的列表上的所有节点的Pa_ next_scaled[Nx]的和。在操作809处,添加对共享节点的估计。
[0092] 在操作810处,估计器230确定可变功率Pa_next是否小于可用功率Pavail(或者Pmax_next小于Pavail)。当Pa_next不小于Pavail时(在操作810处为否),估计器230输出包括以下各项的估计:(i)Fo为对作业的操作频率的估计,(ii)Pa为当作业以Fo操作时估计的工作负载功率,(iii)Pmax为在Fo的最大工作负载功率,(iv)Fo_prev为在校准数据库中保持的操作频率列表上仅低于Fo的操作频率,(v)Pa_prev为当作业以Fo_prev操作时估计的功率,(vi)Pmax_prev为在Fo_prev的最大工作负载功率,(vii)Fo_next为在校准数据库中保持的操作频率列表上仅高于Fo的操作频率,(viii)Pa_next为当作业以Fo_next操作时估计的功率,以及(vii)Pmax_next为在Fo_next的最大工作负载功率(操作811)。当对于每个节点的最低频率处的功率(参见操作803)小于可用功率时,操作811将Fa和Pa返回为“未定义的”值。基于被设置成“未定义的” Fa和Pa,HPC系统100将确定用户所请求的作业不能在期望的功率类型下以当前可用功率来运行。
[0093] 当Pa小于Pavail时(在操作810处为是),估计器230将Fo设置成等于Fo_next并且将Pa设置成等于Pa_nex(t 操作812)。在操作813处,估计器230确定所选节点的列表上的节点是否可以以比Fo_next更高的频率操作(操作813)。当所选节点的列表上的节点不能以比Fo_next更高的频率操作时(操作813处为否),估计器230输出包括以下各项的估计:(i)Fo为对作业的操作频率的估计,(ii)Pa为当作业以Fo操作时估计的工作负载功率,(iii)Pmax为在Fo的最大工作负载功率,(iv)Fo_prev为在校准数据库中保持的操作频率列表上仅低于Fo的操作频率,(v)Pa_prev为当作业以Fo_prev操作时估计的功率,(vi)Pmax_prev为在Fo_prev的最大工作负载功率,(vii)Fo_next为在校准数据库中保持的操作频率列表上仅高于Fo的操作频率,(viii)Pa_next为当作业以Fo_next操作时估计的作业功率,以及(vii)Pmax_next为在Fo_next的最大工作负载功率(操作811)。
[0094] 当所选节点的列表上的节点能够以比Fo更高的频率操作时(操作813处为是),Fo_next被设置成校准器数据库中列出的下一更高频率(操作814)。当Fo_next被设置成校准器数据库中列出的下一更高频率(操作814)时,方法800返回如上所讨论的操作804。
[0095] 下面的示例关于其他实施例:
[0096] 一种其上存储有指令的非瞬时计算机可读存储介质,该指令可由一个或多个处理器来执行以便实行包括以下内容的操作:由通过一个或多个处理器来执行的估计器模块接收多个输入参数,该多个输入参数包括(i)工作负载类型,(ii)属于分布式计算机系统的所选节点的列表,以及(iii)频率的列表;响应于接收到多个工作负载参数,由估计器模块从校准数据库检索校准数据;由估计器模块基于多个工作负载参数和校准数据生成功率估计;以及由估计器模块向资源管理器提供功率估计。
[0097] 一种其上存储有指令的非瞬时计算机可读存储介质,该指令可由一个或多个处理器来执行以便实行包括以下内容的操作:由通过一个或多个处理器来执行的估计器模块接收多个输入参数,该多个输入参数包括(i)工作负载类型,(ii)属于分布式计算机系统的所选节点的列表,以及(iii)频率的列表;响应于接收到多个工作负载参数,由估计器模块从校准数据库检索校准数据;由估计器模块基于多个工作负载参数和校准数据生成功率估计;以及由估计器模块向资源管理器提供功率估计,其中该校准数据包括最大功率、平均功率、最大温度、平均功率、性能度量或最小所需功率中的一个或多个。
[0098] 一种其上存储有指令的非瞬时计算机可读存储介质,该指令可由一个或多个处理器来执行以便实行包括以下内容的操作:通过一个或多个处理器来执行的估计器模块接收多个输入参数,该多个输入参数包括(i)工作负载类型,(ii)属于分布式计算机系统的所选节点的列表,以及(iii)频率的列表;响应于接收到多个工作负载参数,估计器模块从校准数据库检索校准数据;估计器模块生成基于多个工作负载参数和校准数据的功率估计;以及估计器模块向资源管理器提供功率估计,其中该功率估计包括以下各项中的一个或多个:所选节点的列表上的每个节点在以频率列表的每个频率运行该工作负载类型的工作负载的同时所消耗的最大功率,所选节点的列表上的每个节点在以频率列表的每个频率运行该工作负载的同时所消耗的平均功率,所选节点的列表上的每个节点在以频率列表的每个频率运行该工作负载的同时的最大温度,所选节点的列表上的每个节点在以频率列表的每个频率运行该工作负载的同时的平均功率,在以频率列表的每个频率运行该工作负载的同时对于该工作负载类型的性能度量,或对于所选节点的列表上的节点以频率列表的每个频率执行该工作负载的最小所需功率。
[0099] 一种其上存储有指令的非瞬时计算机可读存储介质,该指令可由一个或多个处理器来执行以便实行包括以下内容的操作:由通过一个或多个处理器来执行的估计器模块接收多个输入参数,该多个输入参数包括(i)工作负载类型,(ii)属于分布式计算机系统的所选节点的列表,以及(iii)频率的列表;响应于接收到多个工作负载参数,由估计器模块从校准数据库检索校准数据;由估计器模块基于多个工作负载参数和校准数据生成功率估计;以及由估计器模块向资源管理器提供功率估计,其中该工作负载类型包括小应用程序、应用程序的一部分或测试脚本之一的类型,其中在所选节点的列表上的节点的校准中使用该小应用程序、应用程序的一部分和测试脚本。
[0100] 一种其上存储有指令的非瞬时计算机可读存储介质,该指令可由一个或多个处理器来执行以便实行包括以下内容的操作:由通过一个或多个处理器来执行的估计器模块接收多个输入参数,该多个输入参数包括(i)工作负载类型,(ii)属于分布式计算机系统的所选节点的列表,以及(iii)频率的列表;响应于接收到多个工作负载参数,由估计器模块从校准数据库检索校准数据;由估计器模块基于多个工作负载参数和校准数据生成功率估计;以及由估计器模块向资源管理器提供功率估计,其中生成功率估计包括按照比例缩放校准数据,其中当分布式计算机系统执行该工作负载类型的作业时按照比例缩放调整所选节点的列表上的每个节点所消耗的功率以考虑所选节点的列表的尺寸。
[0101] 一种其上存储有指令的非瞬时计算机可读存储介质,该指令可由一个或多个处理器来执行以便实行包括以下内容的操作:由通过一个或多个处理器来执行的估计器模块接收多个输入参数,该多个输入参数包括(i)工作负载类型,(ii)属于分布式计算机系统的所选节点的列表,以及(iii)分布式计算机系统可用的功率值;响应于接收到多个工作负载参数,由估计器模块从校准数据库检索校准数据;由估计器模块基于多个工作负载参数和校准数据生成频率估计;以及由估计器模块向资源管理器提供频率估计,其中该频率估计包括节点在处理工作负载的同时应该以其操作的所选频率,以及以该频率处理该工作负载将消耗的对应功率。
[0102] 一种其上存储有指令的非瞬时计算机可读存储介质,该指令可由一个或多个处理器来执行以便实行包括以下内容的操作:由通过一个或多个处理器来执行的估计器模块接收多个输入参数,该多个输入参数包括(i)工作负载类型,(ii)属于分布式计算机系统的所选节点的列表,以及(iii)分布式计算机系统可用的功率值;响应于接收到多个工作负载参数,由估计器模块从校准数据库检索校准数据;由估计器模块基于多个工作负载参数和校准数据生成频率估计;以及由估计器模块向资源管理器提供频率估计,其中该频率估计包括节点在处理工作负载的同时应该以其操作的所选频率,以及以该频率处理该工作负载将消耗的对应功率,其中该校准数据包括最大功率、平均功率、最大温度、平均功率或性能度量中的一个或多个。
[0103] 一种其上存储有指令的非瞬时计算机可读存储介质,该指令可由一个或多个处理器来执行以便实行包括以下内容的操作:由通过一个或多个处理器来执行的估计器模块接收多个输入参数,该多个输入参数包括(i)工作负载类型,(ii)属于分布式计算机系统的所选节点的列表,以及(iii)分布式计算机系统可用的功率值;响应于接收到多个工作负载参数,由估计器模块从校准数据库检索校准数据;由估计器模块基于多个工作负载参数和校准数据生成频率估计;以及由估计器模块向资源管理器提供频率估计,其中该频率估计包括节点在处理工作负载的同时应该以其操作的所选频率,以及以该频率处理该工作负载将消耗的对应功率,其中该频率估计还包括所选频率,以及所选节点的列表上的每个节点在以所选频率运行该工作负载类型的工作负载的同时所消耗的最大功率,所选节点的列表上的每个节点在以所选频率运行该工作负载的同时所消耗的平均功率,所选节点的列表上的每个节点在以所选频率运行该工作负载的同时的最大温度,所选节点的列表上的每个节点在以所选频率运行该工作负载的同时的平均功率,在以所选频率运行该工作负载的同时对于该工作负载类型的性能度量,或对于所选节点的列表上的节点以所选频率执行该工作负载的最小所需功率中的一个或多个。
[0104] 一种其上存储有指令的非瞬时计算机可读存储介质,该指令可由一个或多个处理器来执行以便实行包括以下内容的操作:由通过一个或多个处理器来执行的估计器模块接收多个输入参数,该多个输入参数包括(i)工作负载类型,(ii)属于分布式计算机系统的所选节点的列表,以及(iii)分布式计算机系统可用的功率值;响应于接收到多个工作负载参数,由估计器模块从校准数据库检索校准数据;由估计器模块基于多个工作负载参数和校准数据生成频率估计;以及由估计器模块向资源管理器提供频率估计,其中该频率估计包括节点在处理工作负载的同时应该以其操作的所选频率,以及以该频率处理该工作负载将消耗的对应功率,其中该频率估计还包括所选频率,以及所选节点的列表上的每个节点在以所选频率运行该工作负载类型的工作负载的同时所消耗的最大功率,所选节点的列表上的每个节点在以所选频率运行该工作负载的同时所消耗的平均功率,所选节点的列表上的每个节点在以所选频率运行该工作负载的同时的最大温度,所选节点的列表上的每个节点在以所选频率运行该工作负载的同时的平均功率,在以所选频率运行该工作负载的同时对于该工作负载类型的性能度量,或对于所选节点的列表上的节点以所选频率执行该工作负载的最小所需功率中的一个或多个,其中该所选频率是所选节点的列表上的节点可以以其来操作以使得所选节点的列表上的节点在运行该工作负载的同时所消耗的总功率不会超过可用功率的最高频率。
[0105] 一种其上存储有指令的非瞬时计算机可读存储介质,该指令可由一个或多个处理器来执行以便实行包括以下内容的操作:由通过一个或多个处理器来执行的估计器模块接收多个输入参数,该多个输入参数包括(i)工作负载类型,(ii)属于分布式计算机系统的所选节点的列表,以及(iii)分布式计算机系统可用的功率值;响应于接收到多个工作负载参数,由估计器模块从校准数据库检索校准数据;由估计器模块基于多个工作负载参数和校准数据生成频率估计;以及由估计器模块向资源管理器提供频率估计,其中该频率估计包括节点在处理工作负载的同时应该以其操作的所选频率,以及以该频率处理该工作负载将消耗的对应功率,其中该频率估计还包括所选频率,以及所选节点的列表上的每个节点在以所选频率运行该工作负载类型的工作负载的同时所消耗的最大功率,所选节点的列表上的每个节点在以所选频率运行该工作负载的同时所消耗的平均功率,所选节点的列表上的每个节点在以所选频率运行该工作负载的同时的最大温度,所选节点的列表上的每个节点在以所选频率运行该工作负载的同时的平均功率,在以所选频率运行该工作负载的同时对于该工作负载类型的性能度量,或对于所选节点的列表上的节点以所选频率执行该工作负载的最小所需功率中的一个或多个,其中该频率估计还包括所选节点的列表上的每个节点在以第二频率运行该工作负载的同时所消耗的平均功率,所选节点的列表上的每个节点在以第二频率运行该工作负载的同时所消耗的最大功率,所选节点的列表上的每个节点在以第三频率运行该工作负载的同时所消耗的平均功率,所选节点的列表上的每个节点在以第三频率运行该工作负载的同时所消耗的最大功率,其中该第二频率是比以其来校准所选节点的列表上的节点的所选频率更高的下一频率,并且该第三频率是以其来校准所选节点的列表上的节点的下一更低频率。
[0106] 一种其上存储有指令的非瞬时计算机可读存储介质,该指令可由一个或多个处理器来执行以便实行包括以下内容的操作:由通过一个或多个处理器来执行的估计器模块接收多个输入参数,该多个输入参数包括(i)工作负载类型,(ii)属于分布式计算机系统的所选节点的列表,以及(iii)分布式计算机系统可用的功率值;响应于接收到多个工作负载参数,由估计器模块从校准数据库检索校准数据;由估计器模块基于多个工作负载参数和校准数据生成频率估计;以及由估计器模块向资源管理器提供频率估计,其中该频率估计包括节点在处理工作负载的同时应该以其操作的所选频率,以及以该频率处理该工作负载将消耗的对应功率,其中该工作负载类型包括小应用程序、应用程序的一部分或测试脚本之一的类型,其中在所选节点的列表上的节点的校准中使用该小应用程序、应用程序的一部分和测试脚本。
[0107] 一种其上存储有指令的非瞬时计算机可读存储介质,该指令可由一个或多个处理器来执行以便实行包括以下内容的操作:由通过一个或多个处理器来执行的估计器模块接收多个输入参数,该多个输入参数包括(i)工作负载类型,(ii)属于分布式计算机系统的所选节点的列表,以及(iii)分布式计算机系统可用的功率值;响应于接收到多个工作负载参数,由估计器模块从校准数据库检索校准数据;由估计器模块基于多个工作负载参数和校准数据生成频率估计;以及由估计器模块向资源管理器提供频率估计,其中该频率估计包括节点在处理工作负载的同时应该以其操作的所选频率,以及以该频率处理该工作负载将消耗的对应功率,其中该输入参数还包括作为产生最快性能度量的频率或产生最高能量效率度量的频率之一的对于所选频率的选项。
[0108] 一种其上存储有指令的非瞬时计算机可读存储介质,该指令可由一个或多个处理器来执行以便实行包括以下内容的操作:由通过一个或多个处理器来执行的估计器模块接收多个输入参数,该多个输入参数包括(i)工作负载类型,(ii)属于分布式计算机系统的所选节点的列表,以及(iii)分布式计算机系统可用的功率值;响应于接收到多个工作负载参数,由估计器模块从校准数据库检索校准数据;由估计器模块基于多个工作负载参数和校准数据生成频率估计;以及由估计器模块向资源管理器提供频率估计,其中该频率估计包括节点在处理工作负载的同时应该以其操作的所选频率,以及以该频率处理该工作负载将消耗的对应功率,其中该输入参数还包括作为产生最快性能度量的频率或产生最高能量效率度量的频率之一的对于所选频率的选项,其中产生最快性能度量的频率是所选节点的列表上的节点以其操作来以最快时间完成该工作负载类型的工作负载的频率。
[0109] 一种其上存储有指令的非瞬时计算机可读存储介质,该指令可由一个或多个处理器来执行以便实行包括以下内容的操作:由通过一个或多个处理器来执行的估计器模块接收多个输入参数,该多个输入参数包括(i)工作负载类型,(ii)属于分布式计算机系统的所选节点的列表,以及(iii)分布式计算机系统可用的功率值;响应于接收到多个工作负载参数,由估计器模块从校准数据库检索校准数据;由估计器模块基于多个工作负载参数和校准数据生成频率估计;以及由估计器模块向资源管理器提供频率估计,其中该频率估计包括节点在处理工作负载的同时应该以其操作的所选频率,以及以该频率处理该工作负载将消耗的对应功率,其中该输入参数还包括作为产生最快性能度量的频率或产生最高能量效率度量的频率之一的对于所选频率的选项,其中产生最高能量效率度量的频率是所选节点的列表上的节点以其操作来以所选节点的列表上的节点之中的最低聚集功率消耗完成该工作负载类型的工作负载的频率。
[0110] 一种其上存储有指令的非瞬时计算机可读存储介质,该指令可由一个或多个处理器来执行以便实行包括以下内容的操作:由通过一个或多个处理器来执行的估计器模块接收多个输入参数,该多个输入参数包括(i)工作负载类型,(ii)属于分布式计算机系统的所选节点的列表,以及(iii)分布式计算机系统可用的功率值;响应于接收到多个工作负载参数,由估计器模块从校准数据库检索校准数据;由估计器模块基于多个工作负载参数和校准数据生成频率估计;以及由估计器模块向资源管理器提供频率估计,其中该频率估计包括节点在处理工作负载的同时应该以其操作的所选频率,以及以该频率处理该工作负载将消耗的对应功率,其中该频率估计还包括所选频率,以及所选节点的列表上的每个节点在以所选频率运行该工作负载类型的工作负载的同时所消耗的最大功率,所选节点的列表上的每个节点在以所选频率运行该工作负载的同时所消耗的平均功率,所选节点的列表上的每个节点在以所选频率运行该工作负载的同时的最大温度,所选节点的列表上的每个节点在以所选频率运行该工作负载的同时的平均功率,在以所选频率运行该工作负载的同时对于该工作负载类型的性能度量,或所选节点的列表上的节点以所选频率执行该工作负载的最小所需功率中的一个或多个,其中生成频率估计包括按照比例缩放校准数据,其中当分布式计算机系统执行该工作负载类型的作业时按照比例缩放调整所选节点的列表上的每个节点所消耗的功率以考虑所选节点的列表的尺寸。
[0111] 一种为分布式计算机系统生成功率估计的系统包括:一个或多个处理器;以及通信耦合到该一个或多个处理器的存储模块,该存储模块包括估计器模块,其接收多个输入参数,该多个输入参数包括(i)工作负载类型,以及(ii)属于分布式计算机系统的所选节点的列表;为所选节点的列表上的每个节点确定最低频率;通过(i)确定对于所选节点的列表上的每个节点在最低频率的平均功率消耗以及(ii)按照比例缩放对于所选节点的列表上的每个节点的平均功率消耗来生成功率估计;以及将功率估计提供给资源管理器,其中该功率估计包括开始处理工作负载类型的作业的最小所需功率。
[0112] 一种系统包括一个或多个处理器以及通信耦合到该一个或多个处理器的存储模块,该存储模块包括估计器模块,其接收多个输入参数,该多个输入参数包括(i)工作负载类型,以及(ii)属于分布式计算机系统的所选节点的列表;为所选节点的列表上的每个节点确定最低频率;通过(i)确定对于所选节点的列表上的每个节点在最低频率的平均功率消耗以及(ii)按照比例缩放对于所选节点的列表上的每个节点的平均功率消耗来生成功率估计;以及将功率估计提供给资源管理器,其中该功率估计包括开始处理工作负载类型的作业的最小所需功率,其中当该多个输入参数还包括指定频率时,该最低频率被设置成指定频率。
[0113] 一种系统包括一个或多个处理器以及通信耦合到该一个或多个处理器的存储模块,该存储模块包括估计器模块,其接收多个输入参数,该多个输入参数包括(i)工作负载类型,以及(ii)属于分布式计算机系统的所选节点的列表;为所选节点的列表上的每个节点确定最低频率;通过(i)确定对于所选节点的列表上的每个节点在最低频率的平均功率消耗以及(ii)按照比例缩放对于所选节点的列表上的每个节点的平均功率消耗来生成功率估计;以及将功率估计提供给资源管理器,其中该功率估计包括开始处理工作负载类型的作业的最小所需功率,其中当该多个输入参数不包括指定频率时,该最低频率被设置成与分布式计算机系统的校准数据库内存储的校准数据相关联的对于所选节点的列表上的每个节点的最低频率。
[0114] 一种系统包括一个或多个处理器以及通信耦合到该一个或多个处理器的存储模块,该存储模块包括估计器模块,其接收多个输入参数,该多个输入参数包括(i)工作负载类型,以及(ii)属于分布式计算机系统的所选节点的列表;为所选节点的列表上的每个节点确定最低频率;通过(i)确定对于所选节点的列表上的每个节点在最低频率的平均功率消耗以及(ii)按照比例缩放对于所选节点的列表上的每个节点的平均功率消耗来生成功率估计;以及将功率估计提供给资源管理器,其中该功率估计包括开始处理工作负载类型的作业的最小所需功率,其中当确定与针对该工作负载类型的节点的所选列表上的节点的校准相关联的数据存在于包括在分布式计算机系统中的校准数据库中时,(i)基于存储在校准数据库中的与该工作负载类型相关联的校准数据为节点的所选列表上的每个节点确定平均工作负载功率;以及(ii)对节点的所选列表上的每个节点的平均工作负载功率进行按照比例缩放和求和,其中在功率估计中该求和被提供为启动功率。
[0115] 一种系统包括一个或多个处理器以及通信耦合到该一个或多个处理器的存储模块,该存储模块包括估计器模块,其接收多个输入参数,该多个输入参数包括(i)工作负载类型,以及(ii)属于分布式计算机系统的所选节点的列表;为所选节点的列表上的每个节点确定最低频率;通过(i)确定所选节点的列表上的每个节点在最低频率的平均功率消耗以及(ii)按照比例缩放所选节点的列表上的每个节点的平均功率消耗来生成功率估计;以及将功率估计提供给资源管理器,其中该功率估计包括开始处理工作负载类型的作业的最小所需功率,其中当确定与针对该工作负载类型的节点的所选列表上的节点的校准相关联的数据不存在于包括在分布式计算机系统中的校准数据库中时,(i)基于存储在校准数据库中的与功率-病毒相关联的校准数据为节点的所选列表上的每个节点确定平均最大功率;以及(ii)对节点的所选列表上的每个节点的平均最大功率进行按照比例缩放和求和,其中在功率估计中该求和被提供为启动功率。
[0116] 在前面的描述中,参考本发明的具体示例性实施例描述了本发明,然而,显而易见的是在不偏离如在所附权利要求中阐述的本发明的更广阔精神和范围的情况下可以对其进行各种修改和改变。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈