用于在对分布式计算机系统的功率分配有变化时管理能够和不能够被挂起的作业的方法和设备与流程

文档序号:11634958阅读:296来源:国知局
用于在对分布式计算机系统的功率分配有变化时管理能够和不能够被挂起的作业的方法和设备与流程

相关申请的交叉引用

本申请要求在先美国临时专利申请(第62/040,576)的权益,所述在先美国临时专利申请的标题为“用于把hpc系统的功耗限制在预算内的简单功率感知调度器(simplepower-awareschedulertolimitpowerconsumptionbyhpcsystemwithinabudget)”并且于2014年8月22日提交,特此将所述在先美国临时专利申请的全部内容引入本文以作参考。

本申请涉及:美国专利申请(14/582,795)(代理人案号:42p73498),它的标题为“估计在分布式计算机系统的多个节点上运行的作业的功率性能的方法和装置(methodsandapparatustoestimatepowerperformanceofajobthatrunsonmultiplenodesofadistributedcomputersystem)”,它提交于2014年12月24日;美国专利申请(14/582,783)(代理人案号42p74562),它的标题为“用于生成和使用节点的功率、热量和性能特性以改善能量效率并降低对队列中作业的等待时间的方法和装置(methodandapparatustogenerateandusepower,thermalandperformancecharacteristicsofnodestoimproveenergyefficiencyandreducingwaittimeforjobsinthequeue)”并于2014年12月24日提交;美国专利申请(14/582,979)(代理人案号42p74563),标题为“对任务执行的调整”,并于2014年12月24日提交;美国专利申请(14/582,985)(代理人案号42p74564),标题为“功耗的控制(controlofpowerconsumption)”,并于2014年12月24日提交;美国专利申请(14/582,988)(代理人案卷号42p74565),标题为“对能量需求的预测(forecastfordemandofenergy)”,并于2014年12月24日提交;美国专利申请(14/582,743)(代理人案号42p74567),标题为“管理分布式计算系统的功率性能(managingpowerperformanceofdistributedcomputingsystems)”,并于2014年12月24日提交;美国专利申请(14/582,756)(代理人案卷号42p74568),标题为“剖析数据处理系统的作业功率和能量消耗(profilingajobpowerandenergyconsumptionforadataprocessingsystem)”,并于2014年12月24日提交;美国专利申请(14/582,764)(代理人案号42p74569),标题为“用于数据处理系统的功率感知作业调度器和管理器(apowerawarejobschedulerandmanagerforadataprocessingsystem)”,并于2014年12月24日提交。

领域

本公开的实施例一般涉及计算机系统中的功率节省领域。更具体地,本公开的一个实施例涉及当对分布式计算机系统的功率分配有变化时对分布式计算机系统的作业的管理。

一般背景

分布式计算机系统可以通过同时使用多个节点以执行被称为作业的计算任务来执行并行计算。每个节点可以包括一个或多个处理器、存储器、操作系统和一个或多个输入/输出(i/o)组件。节点可以通过高速网络结构彼此通信,并且可以使用共享的文件系统或存储器。作业可以被划分成分布在数千个节点上的数千个并行任务。这些节点每秒互相可以同步数百次。

未来的分布式计算机系统预计需要数十兆瓦的功率,使得它们的功率管理成为业界最关心的事情。这些分布式计算机系统将有望在有限的功率和能量预算下提供百万兆级(exascale)的性能。当前的分布式计算机系统可以应用功率封顶来遵守有限的功率和能量预算。然而,不管功率封顶如何,都有可能降低给分布式计算机系统(“所述系统”)的功率分配,从而所述系统正消耗的功率就超过分配给所述系统的功率。

管理所述系统的队列中当前运行的作业、挂起的作业和新请求的作业在维持所述系统的预期性能并且确保所述系统消耗的功率保持小于分配给所述系统的功率上是至关重要的。随着分配给所述系统的功率波动,可能需要挂起和/或终止一个或多个当前运行的作业,恢复一个或多个挂起的作业和/或起动已经在队列中的一个或多个新作业。另外,可能需要所述系统遵守关于对某些类型的作业的功率分配的优先级。

附图说明

在附图的图中通过示例而非限制的方式示出了本发明的实施例,其中相同的附图标记指示相似的元件,并且其中:

图1是接收多个输入的hpc系统100的示例性框图。

图2是包括hpc系统100的逻辑的示例性框图。

图3是示出当所述系统消耗的功率超过分配给所述系统的功率时管理hpc系统100内的作业的样例方法的流程图。

图4a-4c包括流程图,所述流程图示出了当hpc系统100消耗的功率小于或近似等于分配给hpc系统100的功率时管理一个或多个作业的方法的一个实施例。

具体实施方式

本公开的各种实施例涉及管理由分布式计算机系统正处理着的作业(“当前运行的作业”)、由分布式计算机系统挂起的作业(“挂起的作业”)以及被放置在分布式计算机系统的队列中的新请求的作业(“新作业”)。在一个实施例中,作业的管理可能需要分布式计算机系统在挂起和/或终止一个或多个作业之前尝试降低一个或多个作业所消耗的功率。在第二实施例中,当分配给分布式计算机系统的功率被减小时,作业的管理可能需要分布式计算机系统挂起和/或终止一个或多个作业。另外,作业的管理可以允许分布式计算机系统恢复一个或多个挂起的作业和/或起动一个或多个新作业。作业的管理可以依赖于由分布式计算机系统生成的估计,这在标题为“用于估计在分布式计算机系统的多个节点上运行的作业的功率性能的方法和装置(methodsandapparatustoestimatepowerperformanceofajobthatrunsonmultiplenodesofadistributedcomputersystem)”的美国专利申请(14/582,795)(代理人案号42p73498)中被讨论。分布式计算机系统可以是例如高性能计算(hpc)系统。在本公开的一些实施例中,作业可以不受由作业的所有者提出用于限制提供给作业的功率的功率策略的支配;然而,hpc系统可能并且将很可能具有由hpc系统处理的作业的组合不能超过的有限的总功率预算。

本公开的实施例涉及确定分配给所述系统的功率的减小是否需要挂起和/或终止一个或多个当前作业。本公开的其他实施例涉及确定分配给所述系统的功率的增加或可用功率的增加(例如,作业完成了处理)是否允许hpc系统恢复一个或多个挂起的作业和/或起动hpc系统的队列中等待的新作业。某些实施例涉及当确定要挂起、终止、恢复和/或起动哪一个或一些作业时确定hpc系统内的特定作业和/或作业类型的优先级。

本公开的一些实施例涉及当所述系统消耗的功率在从分配给所述系统的功率起处于预定义阈值(例如,系统保护带)内时确定是否可以降低一个或多个作业的功率消耗。可以降低一个或多个作业所消耗的功率,以便尽可能利用最大数量的计算节点。因此,在一个实施例中,当一个或多个作业消耗的功率被降低时,所挽回的功率可以与未分配功率结合并被用于起动新作业或恢复挂起的作业。

参考图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、闪存、相变存储器等)、固态驱动器、硬盘驱动器、光盘驱动器或便携式存储器设备。

os节点101可以提供网关来访问计算节点102。例如,在提交作业以在计算节点102上进行处理之前,可能需要用户登录到hpc系统100,这可能要通过os节点101。在本公开的实施例中,os节点101可以接受由用户提交的作业并且帮助启动和管理由计算节点102正处理着的作业。在一个实施例中,os节点101包括:功率监视器(未示出),它被描述在标题为“用于剖析在多个节点中运行并使用分布式计算机系统(hpc)的共享资源的作业的功率和能量消耗的方法和装置(methodsandapparatustoprofilepowerandenergyconsumptionbyajobrunninginmultiplenodesandusessharedresourcesofadistributedcomputersystem(hpc))”的美国专利申请(14/582,756)(代理人案号42p74568)中;功率估计器(未示出);以及功率校准器(未示出),它被描述在标题为“用于生成和使用节点的功率、热量和性能特性以改善能量效率并降低对队列中作业的等待时间的方法和装置(methodsandapparatustogenerateandusepower,thermalandperformancecharacteristicsofnodestoimproveenergyefficiencyandreducingwaittimeforjobsinthequeue)”的美国专利申请(14/582,783)(代理人案号42p74562)中。

在一个实施例中,计算节点102提供大部分处理和计算功率。i/o节点103可以提供计算节点102和外部设备(例如,单独的计算机)之间的接口,外部设备可以向hpc系统100提供输入或接收来自hpc系统100的输出。

系统的功率分配(psys)可以被例如公共设施管理设施(utilitymanagementfacility)(例如按照系统管理员或管理软件(诸如数据中心管理器)确定的)提供给hpc系统100。通常,psys将是分配给hpc系统100的有限量的功率,hpc系统100将使用该有限量的功率来运行作业120中的一个或多个。作业120包括一个或多个用户请求由hpc系统100运行的一个或多个作业。每个作业包括“功率策略”,这将在下面深入讨论。“功率策略”将帮助hpc系统100为作业分配功率,并且帮助来管理由hpc系统100正在运行的一个或多个作业120。

此外,管理策略130将通过提供定义hpc系统100的操作的全局(overarching)策略来指导运行作业120的管理。可以包括在管理策略130中的策略的示例包括但不限于或限制为:(1)最大化所有硬件和软件资源的利用(例如,代替在高功率下运行较少的作业并且让资源不被使用,运行尽可能多的作业以使用尽可能多的资源);(2)在所有运行的作业中,没有功率限制的作业被给予最高优先级;和/或(3)挂起的作业处于较高的优先级以便恢复。这样的管理策略控制hpc系统100可以调度、启动、挂起和重新启动一个或多个作业的方式。

术语

在下面的描述中,某些术语用于描述本发明的特征。例如,在某些情况下,术语“逻辑”和“引擎”表示被配置为执行一个或多个功能的硬件、固件和/或软件。作为硬件,逻辑(或引擎)可以包括具有数据处理或存储功能的电路。这样的电路的示例可以包括但不限于或限制于微处理器、一个或多个处理器核心、可编程门阵列、微控制器、专用集成电路、无线接收器、发射器和/或收发器电路、半导体存储器,或组合逻辑。

逻辑(或引擎)可以是采用一个或多个软件模块形式的软件,所述一个或多个软件模块诸如采用可执行应用形式的可执行代码、应用编程接口(api)、子程序、函数、过程、小应用程序、小服务程序、例程、源代码、目标代码、共享库/动态加载库或一个或多个指令。这些软件模块可以存储在任何类型的合适的非暂时性存储介质或暂时性存储介质(例如,电,光,声或其他形式的传播信号,诸如载波,红外信号或数字信号)中。非暂时性存储介质的示例可以包括但不限于或受限于可编程电路;半导体存储器;非永久性存储器,诸如易失性存储器(例如,任何类型的随机存取存储器“ram”);永久性存储器,诸如非易失性存储器(例如,只读存储器“rom”,电源支持的ram,闪存,相变存储器等),固态驱动器,硬盘驱动器,光盘驱动器,或便携式存储器设备。作为固件,可执行代码存储在永久性存储器中。

术语“功率监视”应当被解释为动态地测量构成hpc系统的一个或多个组件的功率消耗。所取得的测量可以用于计算例如单个作业和/或一组作的功率消耗,以及用于提供关于hpc系统的总功率消耗的统计。

术语“功率策略”应当被解释为提供给hpc系统的输入(例如,一个或多个参数),输入为给定作业的功率的分配和管理提供指导。输入可以作为作业请求提交的一部分提供和/或可以作为单独的输入(例如,经由用户界面屏幕或配置文件)提供。例如,输入可以特别指示(i)作业是否可以经受功率限制,(ii)作业可以运行在的最大和/或最小功率和/或(iii)处理作业的一个或多个节点可以操作在最小和/或最大频率。

术语“节点”应当被解释为一个或多个处理器,可选地至少被与系统存储器和/或一个或多个输入/输出(i/o)组件编组在一起。在整个说明书和权利要求书中,一个或多个处理器、系统存储器和一个或多个i/o组件可以被称为节点的“组件”。在整个说明书和权利要求书中,术语“处理器”,“计算机处理单元(cpu)”和“核心”将可互换地使用。

术语“作业”应当解释为在hpc系统上执行的预先确定的计算。例如,用户(例如,作业的所有者)可以请求作业由hpc运行,这意味着用户正在请求让一个或多个计算节点根据用户提供的输入参数和/或数据来执行计算。作业请求可以指定将被用于处理作业的一个或多个计算(例如,应用)。

术语“系统功率(psys)”应被解释为由例如设施或数据中心管理器提供给hpc系统的功率量。psys是hpc系统所具有的功率总量,用于在任何给定时间分配给一个或多个作业。

术语“保护带”应当被解释为帮助管理hpc系统的功率预算的机制。在一个实施例中,保护带可以是额外功率分配,额外功率分配可以是分配给作业的功率的预定百分比。例如,如果hpc系统具有3mw的功率要分配给作业,那么hpc系统可能只分配2.8mw并保持0.2mw作为保护带,以防止计算上的突增(spike)导致作业的功耗超过3mw。保护带的一个目的是保持作业有一致的功耗。

最后,本文所使用的术语“或”和“和/或”将被解释为包含性的或意指任何一个或任一组合。因此,“a,b或c”或“a,b和/或c”意指“以下任何一种:a;b;c;a和b;a和c;b和c;a,b和c”。该定义的例外仅在元件、功能、步骤或动作的组合以某种方式固有地相互排斥时才会发生。

本发明可以用于诸如高性能计算(hpc)系统的分布式计算机系统的功率管理。具体地,本公开的实施例涉及基于作为hpc系统内的节点的校准结果的、每个作业的功耗的估计来管理对在hpc系统中运行的一个或多个作业的功率分配。由于本发明容许许多不同形式的实施例,因此本公开旨在被认为是本发明的原理的示例,并且不旨在将本发明限制于所示出和描述的具体实施例。

功率感知的分布式计算机系统

参考图2,示出了构成hpc系统100的逻辑的示例性框图。图2中所示的hpc系统100的逻辑包括用于hpc系统100的功率管理,并且包括资源管理器210(资源管理器210包括功率感知作业调度器211和功率感知作业启动器212)、校准器220、估计器230、一个或多个作业管理器240(每个作业将具有其自己的作业管理器)、作业250、用户策略205和管理策略130。在一个实施例中,资源管理器210和作业管理器240被配置为收集作业功率数据。

校准器220校准hpc系统100内的每个节点的功率、热耗散和性能。校准器220可以提供用于校准hpc系统100内的节点的多个方法。在一个实施例中,校准器100可以提供第一校准方法,其中hpc系统100内的每个节点运行样本工作负载(例如,小型应用、应用的一部分和/或测试脚本),因此校准器220可以以预定时间间隔对一个或多个测量(例如,消耗的功率)进行采样,以便尤其确定每个节点的(1)平均功率、(2)最大功率和(3)最小功率。此外,样本工作负载可以在每个节点上以所述节点的每个操作频率运行。在另一实施例中,校准器220可以提供第二校准方法,其中在作业的运行时期间发生一个或多个节点的校准。在这种情况下,校准器220可以对作业正在其上运行(例如,处理)的一个或多个节点进行采样。在第二个方法中,校准器220获得每个节点在实际运行时期间的功率测量。

估计器230向资源管理器210提供每个作业的功耗的估计,使得资源管理器210能够高效地调度和监视由一个或多个作业所有者(例如,用户)请求的每个作业。估计器220可以基于例如存储在校准器数据库中的最大和平均功率值来提供功耗估计,其中通过校准器220的处理来填充校准器数据库。另外,每个作业所需的最小功率可以被考虑。可以由估计器230使用以创建功耗估计的其他因素包括但不限于或限制于:作业的所有者是否允许作业受到功率限制的约束、限制提供给作业的功率的作业功率策略(例如,作业将运行在的预定的固定频率、作业所需的最小功率,或由资源管理器210确定的变化频率和/或供给功率)、作业的起动功率、作业将运行在的频率、hpc系统100的可用功率和/或分配给hpc系统100的功率。

由用户(例如,作业的所有者)请求的每个作业伴随有用户策略205(也在图1中示出)。用户策略包括至少关于作业250是否可以受功率限制的约束(在功率限制被允许的情况下,有限制功率的策略(例如,固定频率,所需的最小功率或由资源管理器210确定的变化频率和/或功率)以及作业250是否可以被挂起的决策。

在一个实施例中,功率感知作业调度器211被配置为接收对作业的模式(例如,被包括在用户策略205内)的选择,以基于该模式确定作业的可用功率并且基于可用功率分配用于作业的功率。在一个实施例中,功率感知作业调度器211被配置为基于可用功率确定作业的统一频率。在一个实施例中,功率感知作业调度器211被配置为基于监视的功率,估计的功率和校准的功率中的至少一个来确定作业的可用功率。功率感知作业调度器211和资源管理器210被配置为接收关于功率消耗的信息,以将功率预算分布到每个作业并且实现统一频率机制来限制功率,如下面进一步详细描述的。

资源管理器210使用功率感知作业调度器211和功率感知作业启动器212以基于接收到的功率输入(例如用户策略205和管理策略206)来调度和启动作业。在一个实施例中,资源管理器210是软件对象,所述软件对象负责为一个或多个用户想要运行的交互式和批处理作业分配计算和io资源。通常,资源管理器210还负责将作业调度到作业队列之外并启动作业以按调度运行。作业管理器240被配置为控制作业以保持在该作业的分配的功率预算内,如下面进一步详细描述的。在一个实施例中,作业管理器240负责在作业已经启动之后在一个或多个功率策略的约束下操作作业。在一个实施例中,作业管理器240用于按照由用户和/或管理员中的至少一个指定的策略来控制在作业的执行中涉及的所有组件(例如,节点或其它组件)的功率性能。功率感知作业调度器211和作业管理器240。

参考图3,示出了当所述系统消耗的功率超过分配给所述系统的功率时管理hpc系统100内的作业的样例方法的流程图。图3中示出的每个块表示在通过挂起一个或多个作业和/或终止一个或多个作业来管理hpc系统100内的作业的方法300中执行的操作。方法300示出了由作业调度器211、作业管理器240和估计器220在计算节点102上实施的操作,所述操作试图完成当分配给hpc系统100的功率被减少时在没有人类交互的情况下自动地管理hpc系统100的作业。

在操作301中,方法300开始。在操作302中,确定消耗到hpc系统100功率(pcsys)是否小于或等于分配到hpc系统100的功率(psys)。当psys大于pcsys(在操作302为“是”)时,hpc系统100监视给hpc系统100的功率分配上的任何进一步波动是否导致pcsys大于psys。当psys小于在pcsys(在操作302为“否”)时,确定是否所有当前作业都在其最低功率状态下操作(操作303)。在一个实施例中,当作业的所有者请求用于处理的最小功率并且作业正以所请求的最小功率处理时,作业可以在其最低功率状态下操作。在另一个实施例中,用户可能已经请求计算节点102要处理作业的特定频率,并且在计算节点102以所请求的频率操作时的计算节点102的功率状态可以是用于给定作业的最低功率状态。在作业管理器240自动调整作业的频率(例如,将频率降低到计算节点102的最低操作频率)的另一实施例中,作业可能就正在以其最低功率状态操作(例如,为所述作业消耗最少功率量)。

当所有当前作业都没有正在以其最低功率状态操作(在操作303为否)时,hpc系统100降低一个或多个作业的操作功率状态或功率分配(操作304)。在一个实施例中,,由资源管理器210在分析与hpc系统100和/或单个作业相关联的功率策略时确定每个作业的最低频率(例如,在一个实施例中,以最低频率的操作可消耗将作业置于其最低功率状态的最少功率量)。在另一实施例中,作业可以具有没有任何功率限制应当对作业的处理施加的功率策略。在这种情况下,处理作业的计算节点102要总是在其最高频率下操作并消耗可能的最大功率量;因此,不能降低操作频率和功率状态。在第二实施例中,作业可以具有允许hpc系统100设置分配给作业的功率和/或设置处理作业的计算节点102的操作频率的功率策略。在这种情况下,hpc系统100可以确定计算节点102的操作频率是否可以被降低,从而降低功率状态。接着,pcsys被重新计算(操作305),并且该方法300返回到操作302以确定pcsys是否小于或等于psys。

当所有当前作业在其最低功率状态下操作时(在操作303为是),识别可以被挂起的最低优先级的运行作业(操作306)。在一些实施例中,作业是否可被挂起取决于作业的所有者是否选择了这样的策略,hpc系统100是否具有关于作业挂起的某些策略(例如,所有作业都可以被挂起)和/或作业是否支持检查点设置。检查点设置涉及保存作业的状态以保留处理作业的进度。在硬件或软件出现故障的情况下,检查点设置允许作业被从上一个已知的工作状态恢复。在一些实施例中,检查点设置可以以预定义的间隔发生,紧接在作业挂起之前发生,或两者都发生。在操作307,所识别的作业经历检查点设置,并且在操作308,挂起所识别的作业。

在操作309,考虑到最近挂起的作业,pcsys被重新计算。术语“重新计算”可以意味着测量计算节点102中的一个或多个的一个或多个组件,参考校准器数据库,向估计器230请求新的功率估计和/或基于一个或多个测量执行计算。在操作310,确定pcsys是否小于或等于psys。如果pcsys小于或等于psys(在操作310为是),方法300结束(311)。

如果pcsys不小于或等于psys(在操作310为否),则确定是否所有可被挂起的作业都已经被挂起了(操作312)。当所有可被挂起的作业还尚未被挂起(在操作312为否)时,方法300返回到操作306,在操作306中识别最低优先级的运行作业。可替换地,当所有可被挂起的作业都已经被挂起时(在操作312处为是),识别具有最低优先级的当前作业(操作313)。在操作314,终止所识别的作业。

在操作315,考虑到最近终止的作业,pcsys被重新计算。在操作316,确定pcsys是否小于或等于psys的确定。如果pcsys小于或等于psys(在操作316为是),方法300完成(操作317)。

如果pcsys不小于或等于psys(在操作316为否),则确定所有作业是否都已经被终止(操作318)。当所有作业都还尚未被终止时(在操作318为否),方法300返回到操作313以识别不能被挂起的最低优先级作业。当所有作业都已经被终止时(在操作318为是),hpc系统被强制关闭电源(操作319)。

图4a-4c示出了用于在由hpc系统100所消耗的功率(pcsys)小于或近似等于分配给hpc系统100的功率(psys)时管理一个或多个作业的方法400的一个实施例。参考图4a,确定所消耗的功率是否在分配给所述系统的功率加上第一系统保护带和分配给所述系统的功率减去第二系统保护带之间(操作401)。当操作401的确定产生肯定回答时(在操作401为是),方法400进行到操作428,这将在图4c中详细讨论。当操作401的确定产生否定回答时(在操作401为否),确定所消耗的功率是否小于所分配的功率减去第一系统保护带(操作402)。应当注意,pcsys和psys是平均值,例如,能量消耗随时间的平均速率。系统保护带服务于对功率消耗的小波动负责的目的。

当在操作402的确定产生肯定结果(在操作402为是)时,方法400进行到操作417,这将在图4b中详细讨论。当操作402处的确定产生否定结果时(在操作402处为否),确定是否能够为(例如,当前在hpc系统100上运行的)当前作业中的一个或多个降低功率(操作403)。当针对一个或多个当前作业功率能够降低时(在操作403为是),识别要为其降低功率的一个或多个当前作业(操作404)。降低功率的示例在上面讨论了。在操作405,降低一个或多个识别的当前作业的功率,并且方法400随后返回到操作401。

当一个或多个当前作业的功率不能被降低时(在操作403为否),则确定任何当前作业是否可以被挂起(操作406)。当一个或多个当前作业可以被挂起时(在操作406为是),则产生可挂起作业的级别优先化列表(操作407)。在操作408中,所生成的列表上的最低优先级的可挂起作业被指示实施检验点设置。当检查点设置已完成时,最低优先级的可挂起作业将被挂起(操作409)。在操作410,确定所消耗的功率是否小于或等于分配的功率减去第一系统保护带。当所消耗的功率小于或等于分配的功率减去第一系统保护带时(在操作410为是),则方法400返回至操作401。当所消耗的功率不小于分配的功率减去第一系统保护带时(在操作410为否),则方法400返回至操作406,以确定是否有任何当前作业可以被挂起。

当没有任何当前作业可以被挂起(例如,用户策略和/或系统策略阻止这种动作和/或没有任何当前作业支持检查点设置)(在操作406为否),确定是否一个或多个作业当前正在运行(操作411)。当没有作业当前正在hpc系统100上运行时,hpc系统100被强制断电(操作412),并随后,方法400结束(操作413)。

当一个或多个作业当前正在运行(在操作411为是)时,产生当前作业的级别优先化列表(操作414)。在操作415,产生的列表上的最低优先级作业被终止(在一实施例中,该列表可以在一个列表上对当前正在运行的作业和挂起的作业二者进行级别优先化)。在操作416,确定所消耗的功率是否小于或等于分配的功率减去第一系统保护带。当所消耗的功率小于或等于分配的功率减去第一系统保护带时(在操作416为是),则方法400返回至操作401。当所消耗的功率不小于或等于分配的功率减去第一系统保护带时(在操作416为否),则方法400返回至操作411,以确定是否有任何当前运行的作业。

参照图4b中,当在图4a的操作402的确定产生肯定结果时(在操作402为是),则确定是否有给当前作业分配额外功率的偏好(操作417)。在一个实施例中,偏好可从用户策略和/或系统策略中导出。当存在要给当前作业分配额外功率的偏好时(在操作417为是),额外功率被分配给当前运行的作业(操作420),并且该方法400返回至操作401。

额外功率可以被以多种方式分配给当前运行的作业。资源管理器210可以分配额外功率的方式的例子包括但不局限于或受限制于:在每个当前运行的作业之间相等地给具有最长运行时间的当前运行的作业,然后给第二最长(一旦第一作业正以其最高功率状态操作)等等,给具有最高优先级的当前运行的作业,然后是给第二最高优先级(一旦第一作业正以其最高功率状态操作)等等,或者成比例地给每个当前运行的作业(例如与每个作业的运行时间成比例,与每个作业的优先级成比例,等等)。对要分配额外功率的作业进行级别优先化的方式的示例包括但并不限制或限定于:当前运行作业的级别优先化列表,每个当前运行的作业一直在运行的时间量,每个当前运行的作业的功率状态(例如,在其最低功率状态运行的作业与那些在其最高功率状态附近运行的作业相比较),当前正在处理每个当前运行的作业的计算节点102的数量和/或每个当前运行的作业要在其下一个功率状态运行可能需要的附加功率量。

当不存在给当前作业分配额外功率的偏好时(在操作417为否),确定是否有任何未分配的资源是可用的(操作418)。资源的例子包括但不局限于或受限于:一个或多个计算节点和/或一个或多个存储设备。当未分配的资源不可用时(在操作418为否),额外功率被分配给当前运行的作业(操作419),并且该方法400返回至操作401。当未分配的资源可用来开始处理另一个作业时(在操作418为是),确定作业队列是否为空(操作420)。hpc系统100维持等待要由所述系统处理的作业的作业队列。在一个实施方案中,作业队列可以包含仍然必须要在所述系统上开始处理的新作业以及先前正在所述系统上处理但已被挂起的作业这二者。可替换的实施例可以包括独立的队列,一个用于新作业,一个用于挂起的作业。本公开将假定:作业队列是可以包括新作业和/或挂起作业的单个队列。

当作业队列是空的时(在操作420为是),额外功率被分配给当前运行的作业(操作421),并且该方法400返回至操作401。

当作业队列不为空时(在操作420为否),jnext(它是队列中的下一最高优先级的作业)被检索(操作422)。在操作423,确定是否有充足的资源可用于jnext(例如,计算节点102中是否足够的计算节点可用)。当充足的资源不可用于jnext时(在操作423为否),则确定是否有附加的作业在队列中(操作427)。当有更多的作业在队列中存在时(在操作427为是),则方法400返回至操作422,以从队列中检索下一最高优先级的作业。当没有附加的作业在队列中时(在操作427为否),额外功率被分配给当前运行的作业(操作419),并且该方法400随后返回到操作401。

然而,当有充足的资源可用于jnext时(在操作423为是),用于jnext的功率估计被检索(操作424)。功率估计可由估计器230产生。当已经产生功率估计时,确定是否有充足的未分配功率来在未分配的资源上运行jnext(操作425)。当有充足的未分配功率来运行jnext时(在操作425为是),当jnext是新作业时jnext被起动或当jnext是挂起的作业时jnext被恢复(操作426)。当没有充足的未分配功率来运行jnext时(在操作425为否),则确定是否有附加的作业在队列中(操作427),如以上所讨论的。

参照图4c,当操作401的确定产生肯定的回答时(在操作401为是),则确定作业当前是否在队列中(操作428)。当作业当前并不在队列中时(在操作428为否),方法400返回到操作401。当作业当前在队列中时(在操作428为是),确定是否有任何当前运行的作业可被以较低功率操作(操作429)。关于是否有任何当前运行的作业可被以较低功率操作的确定被作出以确定功率是否能够被再分配来运行附加的作业(例如,在队列中等待的一个或多个作业)。

当没有任何当前作业能被以较低的功率处理时(在操作429为否),则方法400返回至操作401。然而,当有一个或多个当前作业能够被以较低功率操作(在操作429为是),确定能够通过以在较低功率状态操作当前作业而变为可用的功率量(pfreed)。pfreed加上所述系统未分配的任何功率可以被再分配给新的或挂起的作业。

在操作431,确定可通过降低给一个或多个作业的功率而变为可用的附加资源。接着,在操作432,jnext被从作业队列检索,并且在操作433,功率估计(pnext)被根据jnext生成。作业队列和检索(例如,基于优先级的组织和检索)在上论述了。类似地,功率估计的产生也在上面论述了。

在操作434,确定是否有可用于运行jnext的充足的未分配资源。当没有可用于运行jnext的充足的未分配资源时(在操作434为否),则确定是否有附加的作业在队列中(操作435),如以上所讨论。当没有附加的作业存在于队列中时(在操作435为否),则方法400返回至操作400。当有附加作业存在于队列中时(在操作435为是),则方法400返回到操作432以从队列中检索下一最高优先级的作业。

然而,当有可用于运行作业的资源(例如,可用的节点和未分配功率)时(在操作434为是),确定能够通过降低一个或多个作业所消耗的功率而变为可用的附加资源(操作432)。在操作433,具有下一最高优先级的作业被从队列中检索。在操作434,用于jnext的功率估计(例如,通过向估计器230请求估计)被获得。在操作435,确定在不降低一个或多个作业所消耗的功率的情况下是否有用于运行jnext的充足资源。

当有充足的资源可用于运行jnext时(在操作434为是),则确定起动jnext所需的功率(用部分功率估计pnext表示)是否是小于或等于pfeed加上未分配功率。当pnext大于pfreed加上未分配功率时(在操作436为否),则方法400返回至操作435,以确定当前在队列中是否有正在等待的附加作业。当pnext小于或等于pfeed加上未分配功率时(在操作436为是),一个或多个作业的功率被按照至多pnext降低(操作437),并随后,当jnext是新作业时,jnext被起动,或当jnext是挂起的作业时,jnext被恢复(操作438)。当在操作438起动jnext时,方法400就返回到操作401。

下面的示例涉及到进一步实施例:

一种非临时性计算机可读存储介质,其上存储有指令,所述指令可由分布式计算机系统的一个或多个处理器执行以执行操作,所述操作包括:确定由所述分布式计算机系统消耗的功率是否大于分配给分布式计算机系统的功率,响应于确定由所述分布式计算机系统消耗的功率大于分配给所述分布式计算机系统的功率,确定由所述分布式计算机系统正在处理的所有作业是否正在以每个作业的最低功率状态处理,其中,作业包括由分布式计算机系统的一个或多个处理器执行的一个或多个计算,和响应于确定由所述分布式计算机系统正在处理的所有作业正在以每个作业的最低功率状态处理,在由所述分布式计算机系统正在处理的所有作业中挂起具有最低优先级的作业。

一种非临时性计算机可读存储介质,其上存储有指令,所述指令可由分布式计算机系统的一个或多个处理器执行以执行操作,操作包括:确定由所述分布式计算机系统所消耗的功率是否大于分配给分布式计算机系统的功率,响应于确定由所述分布式计算机系统所消耗的功率大于分配给分布式计算机系统的功率,确定由所述分布式计算机系统正在处理的所有作业是否正在以每个作业的最低功率状态处理,其中,作业包括由分布式计算机系统的一个或多个处理器执行的一个或多个计算,并且响应于确定由所述分布式计算机系统处理的所有作业正在以每个作业的最低功率状态处理,在由所述分布式计算机系统正在处理的所有作业中为具有最低优先级的作业设置检查点,响应于为具有最低优先级的作业设置检查点,在由所述分布式计算机系统正在处理所有作业中挂起具有最低优先级的作业。

一种非临时性计算机可读存储介质,其上存储有指令,所述指令可由分布式计算机系统的一个或者多个处理器执行以执行操作,操作包括确定由所述分布式计算机系统消耗的功率是否大于分配给所述分布式计算机系统的功率,响应于确定由所述分布式计算机系统消耗的功率大于分配给分布式计算机系统的功率,确定由所述分布式计算机系统正在处理的所有作业是否正在以每个作业的最低功率状态处理,其中,作业包括由分布式计算机系统的一个或多个处理器执行的一个或多个计算,并且响应于确定由所述分布式计算机系统正在处理的所有作业正在以每个作业的最低功率状态处理,在由所述分布式计算机系统正在处理的所有作业中挂起具有最低优先级的作业,其中,由所述分布式计算机系统正在处理的所有作业的第一作业的最低功率状态不同于由所述分布式计算机系统正在处理的所有作业的第二作业的最低功率状态。

一种非临时性计算机可读存储介质,其上存储有指令,所述指令可由分布式计算机系统的一个或者多个处理器执行以执行操作,操作包括确定由所述分布式计算机系统消耗的功率是否大于分配给所述分布式计算机系统的功率,响应于确定由所述分布式计算机系统消耗的功率大于分配给分布式计算机系统的功率,确定由所述分布式计算机系统正在处理的所有作业是否正在以每个作业的最低功率状态处理,其中,作业包括由分布式计算机系统的一个或多个处理器执行的一个或者多个计算,响应于确定由所述分布式计算机系统正在处理的所有作业正在以每个作业的最低功率状态处理,在由所述分布式计算机系统正在处理的所有作业中挂起具有最低优先级的作业,并且在由所述分布式计算机系统正在处理的所有作业中挂起具有最低优先级的作业之后,重新计算由分布式计算机系统所消耗的功率,其中,由所述分布式计算机系统正在处理的所有作业的第一作业的最低功率状态不同于由所述分布式计算机系统正在处理的所有作业的第二作业的最低功率状态。

一种非临时性计算机可读存储介质,其上存储有指令,所述指令可由分布式计算机系统的一个或者多个处理器执行以执行操作,操作包括确定由所述分布式计算机系统消耗的功率是否大于分配给所述分布式计算机系统的功率,响应于确定由所述分布式计算机系统消耗的功率大于分配给分布式计算机系统的功率,确定由所述分布式计算机系统正在处理的所有作业是否正在以每个作业的最低功率状态处理,其中,作业包括由分布式计算机系统的一个或多个处理器执行的一个或者多个计算,响应于确定由所述分布式计算机系统正在处理的所有作业正在以每个作业的最低功率状态处理,在由所述分布式计算机系统正在处理的所有作业中挂起具有最低优先级的作业,在由所述分布式计算机系统正在处理的所有作业中挂起具有最低优先级的作业之后,重新计算由分布式计算机系统所消耗的功率,并且在重新计算由分布式计算机系统所消耗的功率之后,挂起具有第二最低优先级的第二作业,其中,由所述分布式计算机系统正在处理的所有作业的第一作业的最低功率状态不同于由所述分布式计算机系统正在处理的所有作业的第二作业的最低功率状态。

一种非临时性计算机可读存储介质,其上存储有指令,所述指令可由分布式计算机系统的一个或者多个处理器执行以执行操作,操作包括确定由所述分布式计算机系统消耗的功率是否大于分配给所述分布式计算机系统的功率,响应于确定由所述分布式计算机系统消耗的功率大于分配给分布式计算机系统的功率,确定由所述分布式计算机系统正在处理的所有作业是否正在以每个作业的最低功率状态处理,其中,作业包括由分布式计算机系统的一个或多个处理器执行的一个或者多个计算,响应于确定由所述分布式计算机系统正在处理的所有作业正在以每个作业的最低功率状态处理,在由所述分布式计算机系统正在处理的所有作业中挂起具有最低优先级的作业,并响应于在由所述分布式计算机系统正在处理的所有作业中挂起具有最低优先级的作业,确定由所述分布式计算机系统消耗的功率是否大于分配给该系统的功率,并且响应于确定由所述分布式计算机系统消耗的功率大于分配给该系统的功率,终止具有第二最低优先级的第二作业。

一种非临时性计算机可读存储介质,其上存储有指令,所述指令可由一个或者多个处理器执行以执行操作,操作包括确定由分布式计算机系统消耗的功率是否小于分配给所述分布式计算机系统的功率,响应于确定由所述分布式计算机系统消耗的功率小于分配给所述分布式计算机系统的功率,确定未分配的资源是否可用,响应于确定未分配的资源是可用的,确定用于作业队列中最高优先级的作业的充足资源是否是可用的,其中,作业包括由分布式计算机系统的一个或多个处理器执行的一个或者多个计算,当用于作业队列中最高优先级的作业的充足资源是可用的之时,确定要处理最高优先级作业的功率是否是可用的,并且当处理最高优先级的作业的功率是可用的之时,起动最高优先级的作业。

一种非临时性计算机可读存储介质,其上存储有指令,所述指令可由一个或者多个处理器执行以执行操作,操作包括确定分配给分布式计算机系统的功率是否小于由分布式计算机系统消耗的功率,响应于确定分配给所述分布式计算机系统的功率小于由分布式计算机系统消耗的功率,确定是否存在给作业队列中的作业分配额外功率的偏好,响应于确定不存在给作业队列中的作业分配额外功率的偏好,确定未分配的资源是否是可用的,响应于确定未分配的资源是可用的,确定用于作业队列中最高优先级的作业的充足资源是否是可用的,其中,作业包括由分布式计算机系统的一个或多个处理器执行的一个或者多个计算,当用于作业队列中最高优先级的作业的充足资源是可用的之时,确定要处理最高优先级作业的功率是否可用的,并且当处理最高优先级的作业的功率是可用的之时,起动最高优先级的作业。

一种非临时性计算机可读存储介质,其上存储有指令,所述指令可由一个或者多个处理器执行以执行操作,操作包括确定分配给分布式计算机系统的功率是否小于由所述分布式计算机系统消耗的功率,响应于确定分配给分布式计算机系统的功率小于由所述分布式计算机系统消耗的功率,确定是否存在向作业队列中的作业分配额外功率的偏好,响应于确定存在向作业队列中的作业分配额外功率的偏好,向由所述分布式计算机系统正在处理的一个或多个作业分配额外功率。

一种非临时性计算机可读存储介质,其上存储有指令,所述指令可由一个或者多个处理器执行以执行操作,操作包括确定分配给分布式计算机系统的功率是否小于由所述分布式计算机系统消耗的功率,响应于确定分配给分布式计算机系统的功率小于由所述分布式计算机系统消耗的功率,确定未分配的资源是否是可用的,响应于确定未分配的资源是可用的,确定用于作业队列中最高优先级的作业的充足资源是否是可用的,其中,作业包括由分布式计算机系统的一个或多个处理器执行的一个或者多个计算,当用于作业队列中最高优先级的作业的充足资源是可用的之时,确定要处理最高优先级作业的功率是否是可用的,并且当处理最高优先级的作业的功率是可用的之时,起动最高优先级的作业,其中确定处理最高优先级的作业的功率是否是可用的包括:确定处理最高优先级的作业所需要的功率是否小于分配给分布式计算机系统的功率减去由分布式计算机系统消耗的功率减去第一系统保护带。

一种非临时性计算机可读存储介质,其上存储有指令,所述指令可由一个或者多个处理器执行以执行操作,操作包括确定分配给分布式计算机系统的功率是否小于由所述分布式计算机系统消耗的功率,响应于确定分配给分布式计算机系统的功率小于由所述分布式计算机系统消耗的功率,确定未分配的资源是否是可用的,响应于确定未分配的资源是可用的,确定用于作业队列中最高优先级的作业的充足资源是否是可用的,其中,作业包括由分布式计算机系统的一个或多个处理器执行的一个或者多个计算,当用于作业队列中最高优先级的作业的充足资源是可用的之时,确定要处理最高优先级作业的功率是否可用的,并且当处理最高优先级的作业的功率是可用的之时,起动最高优先级的作业,其中确定处理最高优先级的作业的功率是否是可用的包括:确定处理最高优先级的作业所需要的功率是否小于分配给分布式计算机系统的功率减去由分布式计算机系统消耗的功率减去第一系统保护带,并且第一系统保护带包括为了防止分布式计算机系统的功率消耗的波动超过分配给所述分布式计算机系统的功率而不分配给一个或多个作业的预定量功率。

一种非临时性计算机可读存储介质,其上存储有指令,所述指令可由一个或者多个处理器执行以执行操作,操作包括确定分配给分布式计算机系统的功率是否小于由所述分布式计算机系统消耗的功率,响应于确定分配给分布式计算机系统的功率小于由所述分布式计算机系统消耗的功率,确定未分配的资源是否是可用的,响应于确定未分配的资源是可用的,确定用于作业队列中最高优先级的作业的充足资源是否是可用的,其中,作业包括由分布式计算机系统的一个或多个处理器执行的一个或者多个计算,当用于作业队列中最高优先级的作业的充足资源是可用的之时,确定要处理最高优先级作业的功率是否是可用的,并且当处理最高优先级的作业的功率是可用的之时,起动最高优先级的作业,其中起动最高优先级的作业包括从作业队列中起动新作业。

一种非临时性计算机可读存储介质,其上存储有指令,所述指令可由一个或者多个处理器执行以执行操作,操作包括确定分配给分布式计算机系统的功率是否小于由所述分布式计算机系统消耗的功率,响应于确定分配给分布式计算机系统的功率小于由所述分布式计算机系统消耗的功率,确定未分配的资源是否是可用的,响应于确定未分配的资源是可用的,确定用于作业队列中最高优先级的作业的充足资源是否是可用的,其中,作业包括由分布式计算机系统的一个或多个处理器执行的一个或者多个计算,当用于作业队列中最高优先级的作业的充足资源是可用的之时,确定要处理最高优先级作业的功率是否是可用的,并且当处理最高优先级的作业的功率是可用的之时,起动最高优先级的作业,其中起动最高优先级的作业包括恢复作业队列挂起的作业。

一种非临时性计算机可读存储介质,其上存储有指令,所述指令可由一个或者多个处理器执行以执行操作,操作包括确定分配给分布式计算机系统的功率是否小于由所述分布式计算机系统消耗的功率,响应于确定分配给分布式计算机系统的功率小于由所述分布式计算机系统消耗的功率,确定未分配的资源是否是可用的,响应于确定未分配的资源是可用的,确定用于作业队列中最高优先级的作业的充足资源是否是可用的,其中,作业包括由分布式计算机系统的一个或多个处理器执行的一个或者多个计算,当用于作业队列中最高优先级的作业的充足资源是可用的之时,确定要处理最高优先级作业的功率是否是可用的,并且当处理最高优先级的作业的功率是可用的之时,起动最高优先级的作业,其中,所述作业队列是级别优先级化的队列,级别优先级化的队列被配置为包括:(1)一个或多个新作业或(2)一个或多个挂起的作业这两项中的一个或者二者。

一种非临时性计算机可读存储介质,其上存储有指令,所述指令可由分布式计算机系统的一个或者多个处理器执行以执行操作,操作包括确定(1)分配给分布式计算机系统的功率减去第一系统保护带小于由分布式计算机系统消耗的功率和(2)由分布式计算机系统所消耗的功率小于分配给所述系统的功率加第二系统保护带,计算释放的功率,其中,所述释放的功率是可以通过降低由分布式计算机系统正在处理的一个或多个作业所消耗的功率量而变为可用来给作业队列中的一个或多个作业分配的功率量,其中作业包括由分布式计算机系统的一个或多个处理器执行的一个或者多个计算,响应于计算所述释放功率,确定作业队列中最高优先级的作业所需要的功率是否小于所述释放功率加上未分配功率,其中,所述未分配功率是分配给了分布式计算机系统但是未分配给由所述分布式计算机系统正在处理的作业的功率,响应于确定作业队列中最高优先级的作业所需要的功率小于所述释放功率加上未分配功率,降低由分布式计算机系统正在处理的一个或多个作业所消耗的功率量,和响应于确定作业队列中最高优先级的作业所需要的功率小于所述释放功率加上未分配功率并且降低由分布式计算机系统正在处理的一个或多个作业所消耗的功率量,起动最高优先级的作业。

一种非临时性计算机可读存储介质,其上存储有指令,所述指令可由分布式计算机系统的一个或者多个处理器执行以执行操作,操作包括确定(1)分配给分布式计算机系统的功率减去第一系统保护带小于由分布式计算机系统消耗的功率和(2)由分布式计算机系统所消耗的功率小于分配给所述系统的功率加第二系统保护带,计算释放的功率,其中,所述释放的功率是可以通过降低由分布式计算机系统正在处理的一个或多个作业所消耗的功率量而变为可用来给作业队列中的一个或多个作业分配的功率量,其中作业包括由分布式计算机系统的一个或多个处理器执行的一个或者多个计算,响应于计算所述释放功率,确定作业队列中最高优先级的作业所需要的功率是否小于所述释放功率加上未分配功率,其中,所述未分配功率是分配给了分布式计算机系统但是未分配给由所述分布式计算机系统正在处理的作业的功率,响应于确定作业队列中最高优先级的作业所需要的功率小于所述释放功率加上未分配功率,降低由分布式计算机系统正在处理的一个或多个作业所消耗的功率量,和响应于确定作业队列中最高优先级的作业所需要的功率小于所述释放功率加上未分配功率并且降低由分布式计算机系统正在处理的一个或多个作业所消耗的功率量,起动最高优先级的作业,其中起动最高优先级的作业包括从作业队列中起动新作业。

一种非临时性计算机可读存储介质,其上存储有指令,所述指令可由分布式计算机系统的一个或者多个处理器执行以执行操作,操作包括确定(1)分配给分布式计算机系统的功率减去第一系统保护带小于由分布式计算机系统消耗的功率和(2)由分布式计算机系统所消耗的功率小于分配给所述系统的功率加第二系统保护带,计算释放的功率,其中,所述释放的功率是可以通过降低由分布式计算机系统正在处理的一个或多个作业所消耗的功率量而变为可用来给作业队列中的一个或多个作业分配的功率量,其中作业包括由分布式计算机系统的一个或多个处理器执行的一个或者多个计算,响应于计算所述释放功率,确定作业队列中最高优先级的作业所需要的功率是否小于所述释放功率加上未分配功率,其中,所述未分配功率是分配给了分布式计算机系统但是未分配给由所述分布式计算机系统正在处理的作业的功率,响应于确定作业队列中最高优先级的作业所需要的功率小于所述释放功率加上未分配功率,降低由分布式计算机系统正在处理的一个或多个作业所消耗的功率量,和响应于确定作业队列中最高优先级的作业所需要的功率小于所述释放功率加上未分配功率并且降低由分布式计算机系统正在处理的一个或多个作业所消耗的功率量,起动最高优先级的作业,其中起动最高优先级的作业包括恢复作业队列中挂起的作业。

一种非临时性计算机可读存储介质,其上存储有指令,所述指令可由分布式计算机系统的一个或者多个处理器执行以执行操作,操作包括确定(1)分配给分布式计算机系统的功率减去第一系统保护带小于由分布式计算机系统消耗的功率和(2)由分布式计算机系统所消耗的功率小于分配给所述系统的功率加第二系统保护带,计算释放的功率,其中,所述释放的功率是可以通过降低由分布式计算机系统正在处理的一个或多个作业所消耗的功率量而变为可用来给作业队列中的一个或多个作业分配的功率量,其中作业包括由分布式计算机系统的一个或多个处理器执行的一个或者多个计算,在计算所述释放功率之后,为最高优先级的作业产生功率估计,响应计算功率估计,确定作业队列中最高优先级作业所需的功率是否小于所述释放功率加上未分配功率,其中,所述未分配功率是分配给了分布式计算机系统但是未分配给由所述分布式计算机系统正在处理的作业的功率,响应于确定作业队列中最高优先级的作业所需要的功率小于所述释放功率加上未分配功率,降低由分布式计算机系统正在处理的一个或多个作业所消耗的功率量,和响应于确定作业队列中最高优先级的作业所需要的功率小于所述释放功率加上未分配功率并且降低由分布式计算机系统正在处理的一个或多个作业所消耗的功率量,起动最高优先级的作业。

一种非临时性计算机可读存储介质,其上存储有指令,所述指令可由分布式计算机系统的一个或者多个处理器执行以执行操作,操作包括确定(1)分配给分布式计算机系统的功率减去第一系统保护带小于由分布式计算机系统消耗的功率和(2)由分布式计算机系统所消耗的功率小于分配给所述系统的功率加第二系统保护带,计算释放的功率,其中,所述释放的功率是可以通过降低由分布式计算机系统正在处理的一个或多个作业所消耗的功率量而变为可用来给作业队列中的一个或多个作业分配的功率量,其中作业包括由分布式计算机系统的一个或多个处理器执行的一个或者多个计算,响应于计算所述释放功率,确定作业队列中最高优先级的作业所需要的功率是否小于所述释放功率加上未分配功率,其中,所述未分配功率是分配给了分布式计算机系统但是未分配给由所述分布式计算机系统正在处理的作业的功率,响应于确定作业队列中最高优先级的作业所需要的功率小于所述释放功率加上未分配功率,降低由分布式计算机系统正在处理的一个或多个作业所消耗的功率量,和响应于确定作业队列中最高优先级的作业所需要的功率小于所述释放功率加上未分配功率并且降低由分布式计算机系统正在处理的一个或多个作业所消耗的功率量,起动最高优先级的作业,当充足资源不可用于处理最高优先级的作业并且充足资源可用于处理第二最高优先级的作业时,起动第二最高优先级的作业。

一种非临时性计算机可读存储介质,其上存储有指令,所述指令可由分布式计算机系统的一个或者多个处理器执行以执行操作,操作包括确定(1)分配给分布式计算机系统的功率减去第一系统保护带小于由分布式计算机系统消耗的功率和(2)由分布式计算机系统所消耗的功率小于分配给所述系统的功率加第二系统保护带,计算释放的功率,其中,所述释放的功率是可以通过降低由分布式计算机系统正在处理的一个或多个作业所消耗的功率量而变为可用来给作业队列中的一个或多个作业分配的功率量,其中作业包括由分布式计算机系统的一个或多个处理器执行的一个或者多个计算,响应于计算所述释放功率,确定作业队列中最高优先级的作业所需要的功率是否小于所述释放功率加上未分配功率,其中,所述未分配功率是分配给了分布式计算机系统但是未分配给由所述分布式计算机系统正在处理的作业的功率,响应于确定作业队列中最高优先级的作业所需要的功率小于所述释放功率加上未分配功率,降低由分布式计算机系统正在处理的一个或多个作业所消耗的功率量,和响应于确定作业队列中最高优先级的作业所需要的功率小于所述释放功率加上未分配功率并且降低由分布式计算机系统正在处理的一个或多个作业所消耗的功率量,起动最高优先级的作业,当最高优先级的作业所需要的功率大于释放功率加上未分配功率并且第二最高优先级的作业所需要的功率小于所述释放功率加上未分配功率之时,起动第二最高优先级的作业。

在前面的描述中,本发明是参考其特定示例性实施例予以描述的。然而将很明显的是:在不违背所附权利要求中阐述的本发明的更宽的精神和范围的情况下,可以对本发明作出各种修改和改变。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1