本发明要求2015年9月18日递交的发明名称为“用于资源管理的系统和方法(System and Method for Resource Management)”的第14/858,598号美国专利申请案的在先申请优先权,该在先申请的内容以全文引用的方式并入本文本中。
具体实施方式
图1示出了本发明的各方面可适用的实例计算环境10的各方面。在计算环境10中,一个或多个客户端设备120可连接到计算系统100以访问或以其它方式利用率计算系统100中的一个或多个资源。
在一些实施例中,计算系统100可包含任何硬件与软件组件的组合。举例来说,计算系统100可包含计算设备、处理器、网路、存储器、存储设备、许可证服务器、交换空间等等的组合。在一些实施例中,计算系统100可以是异构或同构环境,且可具有运行不同或类似操作系统的不同或类似硬件组件。
在一些实施例中,计算系统100可以是物理上或逻辑上的单个设备,例如具有一个或多个资源的单个计算设备或单个服务器。
计算系统100可包含能够在多个工作负载之间共享或以其它方式由多个工作负载利用率的一个或多个资源150。一些资源150可在物理上或逻辑上与单个设备相关联,而其它资源150可以是可由系统100中的多个设备利用率的共享资源。
不论系统100中的设备、资源、硬件或软件的数目,在一些实施例中,系统100可用于作为单个图像或界面呈现给客户端设备120。系统100可用于运行来自客户端设备120和来自所述系统自身的组件的工作负载。
计算系统100可包含处于单个设备中的或分离在所述系统中任何数目的设备中的一个或多个处理器101。这些处理器101可用于管理系统100中的资源150。
计算系统100可用作分布式资源管理(distributed resource management,DRM)系统。在一些实施例中,DRM系统是可在分布式环境的顶部上运行的基础平台中间件。分布式环境可包含不同类别的硬件和软件。
DRM系统可由系统100中的一个或多个设备中的一个或多个处理器实施。在一些实施例中,DRM系统可向客户端设备提供单个系统图像、处理资源管理、工作负载管理和调度。工作负载可以是任何进程、作业、服务或将在所述系统上运行的任何其它计算任务。举例来说,工作负载可包含批量作业(例如,高性能计算(high performance computing,HPC)批量作业)、消息传递接口(Message Passing Interface,MPI)、串行批量、实时分析、弹性应用程序(MapReduce)、长时间运行服务、虚拟机、容器等。
本发明的各方面可应用于各种DRM系统,例如IBMTM平台负载共享设施(LoadSharing Facility,LSF)、ApacheTMHadoop另一种资源协调者(Yet Another ResourceNegotiator,YARN)和PBS(便携式批量调度器)、HuaweiTMFusionSphere、FusionCube和FusionInsight。
图2示出了具有多个计算设备200(例如服务器、计算机等等)的实例计算系统100的方面。设备200可经由任何合适的连接来连接,包含经由通信网络连接。在一些实例中,所述设备可以是单个统一系统中的部分,或可分布在例如云计算环境中。
在一些实施例中,设备200可在物理上或逻辑上用作主机和从机。在其它实施例中,可使用其它层次或逻辑布置。可使用DRM组件的任何合适的物理和/或逻辑布置。
图2中的实例系统100具有主机200a和多个从机200b。主机200a上的处理器可用于运行主后台程序和调度器。所述后台程序和调度器可负责客户端交互(例如工作负载提交、查询、控制)、工作负载调度和与DRM代理通信。
每个从机200b上的处理器可用于操作至少一个DRM代理。从机200b上的处理器可用于经由DRM代理或以其它方式对资源可用性进行监测且将其报告给主后台程序。DRM代理可用于接受来自主后台程序的执行和控制工作负载和/或监测其工作负载的生命周期的请求。
虽然本发明的各方面提到DRM代理、后台程序、主机、从机等,但应理解,DRM组件和其功能、交互等可由在系统100中任何位置的呈任何布置、结构或责任分工形式的一个或多个处理器101来执行。
为提高资源150的利用率,系统100可用于相同机器上的工作负载的并发操作。这些工作负载可能竞争资源。可对资源的使用进行管理以避免过度利用率资源而可能崩溃或造成系统的不稳定。
在一些实施例中,DRM系统100可包含多个不同类型的非弹性消耗性资源。这些资源可以是基于机器的或是共享的。举例来说,基于机器的资源(例如R1)可在一些实施例中仅由在所述特定机器上执行的工作负载消耗。存储器是可能的基于机器的资源的实例。
DRM系统100还可包含共享资源,所述共享资源也可固定于与代理相关联的特定设备或可以是单独的设备。共享资源可由多个设备上运行的工作负载消耗。
在一些实施例中,机器上的DRM代理可负责所述机器上的任何基于机器的资源的强制执行。DRM代理可用于监测有关所述基于机器的资源的工作负载资源使用情况,且在必要时对所述工作负载采取措施。举例来说,在图2中,在从机1设备上运行的工作负载W1和W2可利用率机器资源R1。从机1上的代理202可用于监测工作负载W1和W2对资源R1的使用情况,且在必要时针对过度利用率等对这些工作负载采取措施。
对于共享资源,DRM代理中的一个或DRM主机可负责强制执行。与共享资源相关联的DRM代理或主机可用于监测共享资源的可用性,且从其它代理获取使用报告。举例来说,在图2中,分别在从机1和从机2上运行的工作负载W2和W3可利用率共享资源R2。DRM主机201可用于监测共享资源的可用性,且从在从机1和从机2上的代理获取关于工作负载W2和W3对资源R2的使用情况的使用信息。必要时,DRM主机可用于指示从机1或从机2上的代理来对W2或W3采取措施。
还可使用其它布置和资源/工作负载管理/强制流程。这些流程可适用于本文描述的方法、过程或系统中的任一个。
图3示出用于管理资源的实例系统10或实例设备200的示意图。
在一些实施例中,系统10或设备200可包含一个或多个处理器101、存储设备1020、输入/输出接口1030、输入设备1040、资源150和/或适合或涉及执行本文描述的方法和功能的各方面的任何其它设备或机制。
在一些实施例中,系统10可包含提供机制、控制件、设备和/或通信链接来执行本文描述的方法和功能的各方面的一个或多个设备200或系统。举例来说,系统10可包含用于运行工作负载或用于访问、控制、监测或以其它方式利用率资源150的一个或多个计算机、服务器和控制设备。在一些实施例中,实例设备200或系统10可以是独立计算机、服务器、移动设备、大型主机、超级计算机、计算阵列或用于执行工作负载和/或管理资源的其它设备。
在一些实施例中,资源150可特定于特定设备且可仅由所述设备上的工作负载利用率。一些资源150可以是能够由在不同设备上执行的工作负载访问和/或利用率的共享资源。资源可以是弹性或非弹性的。弹性资源可以是工作负载可依照分时方式利用率或不会在其整个生命周期保存的资源。弹性资源的实例包含CPU周期和网络带宽。
非弹性资源可包含一旦分配给工作负载就无法由其它工作负载共享或使用的资源--除非第一工作负载完成或主动地释放所述资源。非弹性资源的实例包含存储器、存储设备空间、交换空间和软件许可证。
可经由内部总线或信号线等一个或多个连接,或经由通信接口和/或网络来访问、监测或利用率所述资源。
举例来说,每个处理器101可以是任何类型的通用微处理器或微控制器、中央或图形处理单元、数字信号处理(digital signal processing,DSP)处理器、集成电路、现场可编程门阵列(field programmable gate array,FPGA)、可重构处理器、可编程只读存储器(programmable read-only memory,PROM)或其任何组合。
存储器或存储设备1020可包含位于内部或者外部(例如,连网或外围)的任何类型的计算机存储器中的一种或组合,例如,硬盘驱动器、闪存、固态存储器、网络存储设备、随机存取存储器(random-access memory,RAM)、超速缓存存储器、只读存储器(read-onlymemory,ROM)、或光盘只读存储器(compact disc read-only memory,CDROM)、电光存储器、磁光存储器、可擦除可编程只读存储器(erasable programmable read-onlymemory,EPROM)以及电可擦除可编程只读存储器(electrically-erasable programmableread-only memory,EEPROM)、铁电RAM(Ferroelectric RAM,FRAM)、非瞬时性计算机可读介质等等。由这些设备提供的存储器和存储装置可以是由系统10管理的资源。
在一些实例中,存储设备1020可包含实施、控制或指示DRM组件、工作负载和/或资源的数据或指令集。存储设备1020还可包含用于配置设备200或系统10的一个或多个处理器和其它组件以执行本文描述的方法和功能中的任一个的指令或代码。
一些输入/输出(input/output,I/O)接口1030可使设备200或系统10能够与键盘、鼠标、相机、触摸屏和麦克风等一个或多个输入设备互连,或与显示屏和扬声器等一个或多个输出装置互连。在一些实施例中,I/O接口1030还可包含网络接口,通过连接到能够携载数据的一个或多个有线或无线网络,包含互联网、以太网、传统电话业务(plain oldtelephone service,POTS)线、公共交换电话网络(public switched telephone network,PSTN)、综合业务数字网(integrated services digital network,ISDN)、数字订户线(digital subscriber line,DSL)、同轴电缆、光纤、卫星、移动设备、无线网(例如Wi-Fi、WiMAX)、SS7信令网、蓝牙、近场通信(near field communication,NFC)、固网、局域网、广域网、总线以及其它网络,包含这些网络的任何组合,所述网络接口使设备200或系统10的各方面能够与其它组件(例如其它设备、DRM组件或资源)通信、与其它组件交换数据、访问和连接到网络资源、为应用程序服务且执行其它计算应用。
在一些实例中,一个或多个I/O接口1030可使设备200或系统10能够与资源或另一设备或系统通信、对其进行指示、控制、监测,或以其它方式与其互连。
在一些实施例中,设备200和/或系统10可包含键盘、鼠标、相机、触摸屏、麦克风、显示器等输入或输出设备。举例来说,计算设备或打印设备可包含小键盘、触摸屏或其它集成的、外围的或连接的输入或输出设备。输入设备可用于接收运行工作负载或改变DRM设置的指令。输出装置可用于显示或以其它方式输出工作负载结果、工作负载状态、资源信息等。
图4示出具有DRM主机201和代理202的实例系统100的方面。已将两个工作负载W1、W2提交给主机201,所述主机已调度且通知代理202来执行设备200b上的工作负载。工作负载W1、W2可创建有对资源150的分配限制。在一些实例中,此分配限制可通过用户输入或请求所述工作负载的应用程序界定,或可由针对系统100的管理设置来界定。在一些情况下,所述资源分配限制可界定特定工作负载的最大资源使用。这些根据工作负载而定,且可基于其操作参数而在工作负载之间变化。举例来说,在图4中,资源150可以是存储器资源,且每个工作负载可被指派针对所述存储器的不同分配或使用限制。
在工作负载的运行时期间,系统100用于监测工作负载的资源使用。通常,代理202将负责监测其相关联的设备200b上的资源和工作负载;然而,其它设备上的其它DRM组件或处理器可执行这些功能。
在一些实例中,DRM系统100可用于充分利用率底层操作系统机制来创建资源容器等,从而处理资源强制执行或防护。此类机制可包含Linux控制组、IBM AIXTM系统上的工作负载管理器(Workload Manager,WLM)、WindowsTM上的作业对象等等。
参考图4中的实例,当工作负载的资源使用超出其分配限制时,系统100可用于终止所述工作负载。在一些情况下,这可避免由资源冲突或过度使用而导致的存储器崩溃或其它不稳定性或问题。
在图4中,工作负载W1已过度使用其资源分配,因此代理202或其它DRM组件可用于终止工作负载W1。在某些应用中,可能难以精确估计工作负载的峰值资源消耗,因此请求程序可刻意设置较高资源限制分配以避免终止。然而,在许多情况下,这可能导致资源浪费,因为工作负载可能从不需要所请求的资源分配。在其它情况下,某些工作负载可能仅偶然需要大量资源,且为适应这些大量需求而保留资源可能造成工作负载生命周期的大部分时间里的资源浪费。
当工作负载因利用率超过其分配限制的资源而被终止时,在一些情况下,所述终止可能不必要,因为系统100或设备200可能具有可用的资源。举例来说,在图4中,虽然W1超出其资源分配,但资源150没有容量限制,因为其有未分配的部分,且工作负载W2未充分利用率其分配。因此,在此阶段终止W1可能没有必要且可能浪费工作负载处理。
图5是示出用于管理资源的一种实例方法的方面的流程图。在502处,一个或多个处理器101用于监测资源150的利用率。在一些实施例中,监测资源的利用率可包含获取利用率信息,所述信息包含在用资源的总量、在用资源的总百分比、可用资源的量和/或所述资源的利用率改变(例如增大或减小)的比率等。
在一些实施例中,资源可被划分或具有不同分配。在一些实施例中,对包含利用率比率/百分比、总利用率和其它利用率信息的资源利用率的提及可指一个或多个资源的划分或分配的总利用率、利用率比率等。
在一些实施例中,监测资源利用率可包含获取使用资源的每个工作负载的资源利用率数据。工作负载资源利用率信息可包含资源利用率的使用情况、工作负载资源分配限制和/或工作负载的资源使用增大或减小的比率。
在一些实例中,DRM组件(主机或代理)可直接监测利用率信息。在一些实例中,DRM组件可从另一DRM组件、设备或进程获取利用率信息。
在一些实施例中,处理器可用于通过周期性地或连续地轮询系统中的合适资源或DRM组件来监测利用率参数。在一些实施例中,系统的资源或负责DRM组件可用于周期性地将利用率参数发送给处理器。
在一些实施例中,监测资源的利用率可包含将监测到的数据用于一个或多个计算中。举例来说,可通过将总使用量除以总资源容量来计算利用率百分比。
在另一实例中,在一些实施例中,监测资源的利用率可包含存储过去的资源利用率数据。举例来说,为了获取资源的利用率增大的比率,处理器可存储过去的利用率水平且将其与当前或最新利用率数据进行比较。
处理器可用于存储利用率数据直到所述数据被更新或持续界定的时间段为止。
处理器可用于仅监测或以其它方式获取用于确定是否满足利用率条件的利用率数据。
在一些实施例中,处理器可通过监测/proc文件系统(Linux)来监测资源的利用率。不过,资源利用率信息可以任何合适方式进行获取和监测。
在504处,处理器可用于确定是否满足一个或多个利用率条件,以及是否有任何工作负载的资源利用率超出所述工作负载的资源分配限制。
在一些实施例中,当资源的利用率超出界定的利用率限制时,会满足利用率条件。举例来说,利用率限制可包含最小可用资源值或最小可用资源百分比等阈值条件。举例来说,当资源的总使用超出界定的最大利用率阈值时,或相反,当可用资源水平小于界定的最小值时,可满足利用率条件。举例来说,当已消耗10GB存储器的9GB时以及当存在大于1GB的最小可用资源阈值或小于9GB的最大利用率阈值时,处理器可确定满足所述存储器资源的利用率条件。
在另一实例中,当总使用百分比超出界定的最大阈值时,或相反,当可用资源百分比小于最小阈值时,可满足利用率条件。举例来说,在上述存储器资源实例中,如果存在11%的可用资源百分比阈值或89%的最大利用率百分比,处理器可确定满足利用率条件。
在一些实施例中,这些利用率条件可由与资源、代理、DRM系统或任何其它方面或其组合相关联的参数界定。在一些实施例中,参数可默认设置或由管理员设置或以其它方式设置。
在另一实例中,利用率条件可基于资源的总使用增大或减小的比率(即,消耗比率)。举例来说,当消耗比率大于界定的阈值时,可满足利用率条件。在一些实例中,因认识到当资源的使用快速增长时,所述资源有可能耗尽,且因此任何过度使用其分配的工作负载可能导致不稳定或崩溃,由此可设置此条件。
在另一实例中,利用率条件可基于与系统10终止工作负载所需的时间量相关联的缓冲时间。举例来说,处理器可用于基于当前资源可用性和当前资源消耗比率来确定资源耗尽时间。处理器可用于确定:当资源耗尽时间小于缓冲时间时,满足利用率条件。在一些实例中,因认识到由于将需要一定量的时间来终止过度使用资源的工作负载以及释放其分配,因此如果正被消耗的资源可能很快耗尽,系统10应在所述时间之前极为充分的时间里开始终止或其它强制措施以在发生完全的资源耗尽之前完成强制措施,由此可设置此条件。
在其它实例中,可使用其它利用率条件因素。在一些实施例中,处理器可用于基于本文描述的任何数目的因素或其它因素的组合来确定满足利用率条件。在一些实例中,这些组合可基于逻辑AND、OR或NOT运算或所述条件之间的关系。
在504处,处理器还可用于确定特定工作负载利用率是否超出其分配限制。在一些实例中,这可包含将每个工作负载的当前资源利用率与其相关联的资源分配限制进行比较。
如果满足利用率条件,且至少一个工作负载超出其分配限制,在510处,处理器可用于对超出其限制的工作负载中的一个或多个工作负载执行一个或多个强制措施。
在一些实例中,DRM主机、代理或其它组件可用于指示或执行强制措施。
强制措施包含终止、暂停、阻断工作负载和/或对其进行检查点检查等。在一些实例中,终止工作负载可包含终止任何相关联的进程、释放任何被消耗的资源和/或通知调度器或结果管理器。
在一些实例中,强制措施可释放资源、停止或减缓资源的消耗、备份将被终止或可能很快终止的工作负载的状态等。
在一些实例中,且如本文中相对于其它实例或以其它方式所描述,当多个工作负载与其资源分配不符时,处理器可用于基于一个或多个选择标准或因素来选择工作负载中的一个或多个进行强制执行。
如果在504处不满足利用率条件和/或没有工作负载的利用率超出其分配限制,则不采取强制措施,且处理器可用于继续监测资源的利用率。在一些实例中,可在延迟之后、周期性地、连续地或以其它方式继续监测。
在一些情况下,当不满足利用率条件时,其利用率超出其分配限制的工作负载可继续执行而不对其施加任何强制措施。如图4等图中所说明,这可允许与资源分配不符的工作负载在资源的利用率能够适应其时继续运行。
在一些情况下,通过避免不必要地终止和重启工作负载,这可减少损失处理或以其它方式改进效率和/或吞吐量。在一些情况下,这可更有效地调节某些类型的工作负载的资源消耗的峰值和谷值。在一些情况下,这可降低提前精确地界定或确定工作负载的资源需求的压力。
图6是示出用于管理资源的一种实例方法600的方面的流程图。在602处,类似图5中的502,一个或多个处理器101用于监测资源150的利用率。在一些实施例中,监测资源的利用率可包含获取利用率信息,所述信息包含在用资源的总量、在用资源的总百分比、可用资源的量和/或所述资源的利用率改变(例如增大或减小)的比率等。
在604处,处理器可用于确定是否满足一个或多个利用率条件。所述利用率条件可类似于上文相对于504或以其它方式所描述的利用率条件。
如果在604处不满足利用率条件,则不采取强制措施,且处理器可用于继续监测资源的利用率。在一些实例中,可在延迟之后、周期性地、连续地或以其它方式继续监测。
在一些情况下,当不满足利用率条件时,其利用率超出其分配限制的工作负载可继续执行而不对其施加任何强制措施。如图4等图中所说明,这可允许与资源分配不符的工作负载在资源的利用率能够适应其时继续运行。
在一些情况下,通过避免不必要地终止和重启工作负载,这可减少损失处理或以其它方式改进效率和/或吞吐量。在一些情况下,这可更有效地调节某些类型的工作负载的资源消耗的峰值和谷值。在一些情况下,这可降低精确地界定或确定工作负载的资源需求的压力。
另外在某一例子中,在实例方法600中,处理器用于直到满足利用率条件才监测个别工作负载的利用率。在一些实例中,这可通过减少监测工作负载利用率情况可能需要的处理和存储器接入来提高系统10的效率。
如果在604处满足监测条件,在606处,处理器可用于获取每个工作负载的资源利用率信息。在一些实例中,DRM主机或代理可用于确定或获取每个工作负载的资源利用率情况。在一些实例中,DRM主机可指示DRM代理去获取工作负载的资源利用率。在一些实施例中,处理器可通过监测/proc文件系统(Linux)来监测资源的利用率。不过,资源利用率信息可以任何合适方式进行获取和监测。
如果没有工作负载超出其资源分配限制,过程可返回到602的监测资源的利用率或606的获取工作负载的利用率情况。
如果单个工作负载超出其资源分配限制,在610处,处理器可用于执行如本文中或以其它方式所描述的强制措施。
如果多个工作负载的资源利用率超出其各自的资源分配限制,在一些实施例中,在608处,处理器可用于选择所述工作负载中的一个或多个,对其执行强制措施。
在一些实施例中,处理器可用于基于至少一个选择标准对资源利用率超过其分配限制的工作负载进行排序或以其它方式进行比较。
一个实例选择标准是资源过度使用比率,其可表示工作负载的资源过度使用量与工作负载的分配限制的比。在一些实例中,这可通过(使用-限制)/限制来计算。举例来说,如果工作负载A具有10GB的存储器分配限制且消耗15GB,则工作负载A的过度使用比率为0.5。如果工作负载B具有20GB的存储器分配限制且消耗28GB,则工作负载B的资源过度使用比率为0.4。在一些实例中,具有最高过度使用比率的工作负载(这种情况下是工作负载A)将排序更靠前以实施强制措施。
另一实例选择标准是资源的绝对过度使用,在一些实例中,其可由(使用-限制)确定。在以上实例中,工作负载A具有5GB的过度使用值,而工作负载B具有8GB的过度使用值。在一些实例中,具有最高绝对过度使用值的工作负载(这种情况下是工作负载B)将排序更靠前以实施强制措施。
另一实例选择标准是工作负载优先级。当较低优先级工作负载正在运行时,较高优先级工作负载可最后考虑实施强制措施。
另一实例选择标准是公平性。在一些实例中,系统10可在全部租户(例如用户、用户组、项目、商户单元等)中考虑公平性。举例来说,如果租户已有被选择实施强制措施的工作负载,系统可用于首先考虑其它租户的工作负载。租户之间的公平性可以是局域性(例如,针对特定资源)或全域性的(例如,考虑到系统中的所有资源)。
另一实例选择标准是资源消耗比率,其可由工作负载在一定时间段里消耗的资源量界定。在一些情况下,具有较高资源消耗比率的工作负载即使可能具有较低绝对过度使用也可能对资源短缺有较大影响。举例来说,如果工作负载A以500MB/s消耗存储器,且工作负载B以5MB/s消耗存储器,则会首先考虑对工作负载A实施强制措施,因为它更有可能造成系统崩溃。
另一实例选择标准可以是工作负载的使用期。如果工作负载已运行较长时段,则终止此类工作负载可能更为不利,因为必须重启所述工作负载和使其重新运行所述时段可能代价很大。因此,在一些实例中,运行较久的工作负载可能排得比运行较短的工作负载靠后来实施强制措施。
在一些实施例中,处理器可用于考虑单个标准或具有任何合适的加权的任何数目的标准的组合。在一些实例中,处理器可用于基于单个/多个标准及其相对加权而排序或产生衡量标准。
在一些实施例中,处理器可用于在选择工作负载实施强制措施时考虑针对数个不同资源的选择标准。
在一些实施例中,处理器可用于选择单个工作负载或多个工作负载实施强制措施。在一些实例中,所选择的工作负载的数目可取决于资源的利用率和/或应当释放以使得不再满足利用率条件的资源的量。
在610处,处理器可用于对所选择的工作负载执行强制措施。
如通过图7中的实例方法700所说明,在一些实施例中,对资源的监测可与工作负载选择和强制措施分开执行。
在702处,处理器可用于如本文中或以其它方式所描述来监测资源的利用率。基于所述监测,如果满足利用率条件,在704处,处理器可用于设置满足利用率条件的标志或进入满足利用率条件的状态;或如果不满足利用率条件,处理器可用于清除满足利用率条件的标志或进入不满足利用率条件的状态。
类似地,在706处,处理器可用于获取每个使用资源的工作负载的资源利用率信息。如果工作负载超出其资源分配限制,在708处,处理器可用于设置工作负载过度利用率标志或变成工作负载过度利用率状态;或如果没有工作负载超出其资源分配限制,处理器可用于清除工作负载过度利用率标志或变为未过度利用率工作负载状态。
虽然在这些实例中描述标志和状态,但可使用任何其它合适的机制、中断等。
在710处,处理器可监测标志/状态等,从而确定是否已满足利用率条件以及是否至少一个工作负载已超出其资源分配限制。
在712处,处理器在适用的情况下可选择如本文中或以其它方式所描述的不符合条件的工作负载中的一个或多个,且可执行一个或多个强制措施。
再次参考图4中的实例情形,如果系统100具有仅在剩余不到5%的资源150时才满足的利用率条件,且所述资源的未分配部分加上W2的分配中的未使用部分大于5%,则即便W1资源过度使用,也可允许其继续运行。
如果所述资源的未分配部分加上W2的未使用部分将减小,使得低于5%的资源150可用,则应用本文所描述或推荐的方法中的一种或多种方法的系统可对工作负载W1执行强制措施,从而维持系统的稳定性。
在另一实例情形中,在图8中,工作负载W1和W2均已超出其资源分配限制。假定已满足利用率条件,应用本文所描述或推荐的方法中的一种或多种方法的系统100可基于一个或多个选择标准仅对所述工作负载中的一个执行强制措施,而不是终止这两个工作负载。这可允许另一工作负载继续运行,同时保持系统的稳定性。
本文中所公开的实施例可通过仅使用硬件或软件或其某一组合而实施。基于此类理解,技术方案可以软件产品的形式实施。所述软件产品可存储在非易失性或非瞬时性存储介质中,所述非易失性或非瞬时性存储介质可以是光盘只读存储器(compact diskread-only memory,CD-ROM)、USB闪存盘或移动硬盘。所述软件产品包含使计算设备(计算机、服务器、大型主机或网络设备)能够执行实施例中所提供的方法的多个指令。
程序代码可应用于输入数据以执行本文描述的功能,并产生输出信息。所述输出信息应用于一个或多个输出设备。在一些实施例中,通信接口可以是网络通信接口。在元件为组合式的实施例中,通信接口可以是软件通信接口,例如用于进程间通信的软件通信接口。在其它实施例中,可存在实施为硬件、软件和其组合的通信接口的组合。
每个计算机程序可存储在存储介质或设备(例如,ROM、磁盘、光盘)上,可由通用或专用可编程计算机读取,用于在计算机读取所述存储介质或设备时配置且操作所述计算机以执行本文描述的过程。系统的实施例还可考虑实施为配置有计算机程序的非瞬时性计算机可读存储介质,其中如此配置的存储介质使计算机以特定和预定方式运行,从而执行本文描述的功能。
此外,所描述的实施例的系统和方法能够分布在包含物理非瞬时性计算机可读介质的计算机程序产品中,所述介质带有针对一个或多个处理器的计算机可用指令。所述介质可以各种形式提供,包含一个或多个磁盘、光盘、磁带、芯片、磁性和电子存储介质、易失性存储器、非易失性存储器等等。非瞬时性计算机可读介质可包含所有计算机可读介质,除了瞬时传播信号。术语非瞬时性并不意图排除主存储器、易失性存储器、RAM等等计算机可读介质,其中存储其上的数据可仅为临时存储。计算机可用指令还可呈各种形式,包含编译的和非编译的代码。
可能有关于服务器、服务、接口、端口、平台或由硬件设备形成的其它系统的大量提及。应了解,此类术语的使用被认为表示具有用于执行软件指令的至少一个处理器的一个或多个设备,所述软件指令存储在计算机可读的有形的非瞬时性介质上。应进一步了解,所公开的基于计算机的算法、过程、方法或其它类型的指令集可实施为包括非瞬时性有形的计算机可读介质的计算机程序产品,所述计算机可读介质存储致使处理器执行所公开的步骤的指令。
本文描述各种实例实施例。虽然每个实施例表示发明元件的单个组合,但发明主题视为包含所公开的元件的所有可能组合。因此,如果一个实施例包括元件A、B和C,且第二个实施例包括元件B和D,则即使没有明确公开,发明主题也视为包含A、B、C或D的其它其余的组合。
本文描述的实施例通过物理计算机硬件实施例实施。本文描述的实施例提供适用的物理机器,且尤其是计算设备、服务器、处理器、存储器、网络等配置的计算机硬件布置。举例来说,本文描述的实施例是针对计算机装置以及由计算机通过电子数据信号的处理和转换而实施的方法。
本文描述的实施例可涉及通过特别配置以实施各种动作的计算设备、服务器、接收器、传输器、处理器、存储器、显示器、网络。本文描述的实施例是针对用于处理和转换表示不同类型的信息的电磁信号的电子机器。本文描述的实施例普遍地且一贯地涉及机器及其用途;且本文描述的实施例在与计算机硬件、机器、各种硬件组件一同使用之外没有意义或实际可应用性。
使用心理步骤等把通过特别配置以实施各种动作的计算设备、服务器、接收器、发射器、处理器、存储器、显示器、网络替换成非物理硬件可能极大影响所述实施例起作用的方式。
此类硬件限制明显是本文描述的实施例的必要元件,且其在对本文描述的实施例的操作和结构没有物质影响的情况下无法省去或替换成心理装置。所述硬件对于本文描述的实施例是必要的,且并非仅用于迅速地以有效方式执行步骤。
虽然已详细地描述了本发明及其优点,但是应理解,可以在不脱离如所附权利要求书所界定的本发明的情况下对本发明做出各种改变、替代和更改。
此外,本发明的范围并不局限于说明书中所述的过程、机器、制造、物质组分、构件、方法和步骤的具体实施例。所属领域的一般技术人员可从本发明中轻易地了解,可根据本发明使用现有的或即将开发出的、具有与本文所描述的相应实施例实质相同的功能,或能够取得与所述实施例实质相同的结果的过程、机器、制造、物质组分、构件、方法或步骤。相应地,所附权利要求范围包括这些过程、机器、制造、物质组分、构件、方法和步骤。