CN109478147A - 分布式计算系统中的自适应资源管理 - Google Patents
分布式计算系统中的自适应资源管理 Download PDFInfo
- Publication number
- CN109478147A CN109478147A CN201780042813.9A CN201780042813A CN109478147A CN 109478147 A CN109478147 A CN 109478147A CN 201780042813 A CN201780042813 A CN 201780042813A CN 109478147 A CN109478147 A CN 109478147A
- Authority
- CN
- China
- Prior art keywords
- resource
- application
- task
- limitation
- application task
- 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.)
- Granted
Links
Classifications
-
- 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/5061—Partitioning or combining of resources
-
- 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/485—Task life-cycle, e.g. stopping, restarting, resuming execution
-
- 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
-
- 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/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- 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/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- 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/5083—Techniques for rebalancing the load in a distributed system
-
- 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/5019—Workload prediction
-
- 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/504—Resource capping
-
- 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/508—Monitor
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Multi Processors (AREA)
Abstract
本发明提供了一种用于在分布式系统中执行的应用的自适应资源处理的框架,以确保有效的资源利用。本发明提供了一种框架,使得客户端能够使用标签唯一地参与识别应用,使得资源适配更为有效;针对各种参数收集并存储应用任务的资源统计;基于收集的历史统计进行资源监控;基于历史确定的资源使用限制进行资源管理,如果未找到记录的精确匹配,则基于置信度评分来确定限制,且使得每个资源管理器(resource manager,简称RM)代理能够接收在存在应用(硬限制)和历史统计(软限制)这两个限制的情况下待启动的工作器。
Description
技术领域
此处描述的本发明涉及资源管理,并且更具体地,涉及用于在分布式计算系统中管理计算机资源的系统、方法和设备。
背景技术
随着网络技术的快速发展,分布式计算因支持在很多不同的用户、系统或其任意组合之间共享计算资源(例如内存、处理时间、输入/输出等),已经成为一种越来越流行的计算方法。例如“云计算”,其包括将网络中的若干计算机资源同时应用于单个问题。云计算是基于互联网(“云”)的计算机技术(“计算”)的开发和使用。概念上,基础结构细节是从用户和/或系统抽象出来的。其中,用户和/或系统不再需要在支持它们的“云中”技术基础结构方面的知识、专业知识或控制。它通常涉及通过互联网提供动态可扩展且经常虚拟化的资源作为服务。
分布式系统(也称为集群)包括由网络互相连接的一组资源。资源管理器控制将可用资源分配给运行在至少一个集群上的分布式应用。图1示出了资源管理器的粗略级别图,其中,该资源管理器控制将可用资源分配给运行在集群上的分布式应用。如图1所示,涉及的主要组件是资源管理器(resource manager,简称RM)、应用管理器(applicationmanager,简称AM)、RM代理以及运行在诸如计算机等的RM代理源上的任务执行器。资源管理器跟踪活跃的RM代理和可用资源。资源管理器基于应用管理器规定的资源需求将可用资源分配给应用和任务。AM协调应用生命周期内所有任务的执行,要求容器运行任务,将“资源请求”发送到“资源管理器”。资源请求能够规定所需的资源,例如内存、CPU等。用户提供对分布式应用的任务执行器(任务)的资源需求。RM代理向“RM”发送关于主机/RM代理上可用资源的周期性更新,基于主机上的“资源管理器”分配的资源启动主机上的“任务执行器”过程,并监控“任务执行器”的资源使用。任务执行器负责执行不同类型的应用任务,每个任务可以具有不同的资源(例如RAM、CPU)需求。
图2示出了现有技术中可用的资源分配的分布式执行流程。如图2所示,资源管理器具有终止消耗资源多于分配资源的恶意任务的机制。任务会请求较多资源(CPU、内存等)以避免被终止,因为实际资源使用总是小于所请求的资源量。资源管理器是基于针对特定任务的执行所分配的资源而不是基于用于执行的实际资源来计算可用资源的。这种类型的计算导致了集群资源的利用不足。此外,管理员需要手动分析并确定资源是否利用不足,然后对配置进行必要的改变以便于下一次运行和优化对于大型集群来说不实际的资源使用。
尽管有可用的机制,但现有技术存在某些关键问题,因为未利用已分配资源的应用会导致资源利用不足。此外,管理员需要手动监控来自历史数据的资源利用统计,并调整客户端资源请求。在具有各种应用的大型集群中,这种监控过程很繁琐和复杂,从而增加了操作人员成本。而且,利用不足的资源会导致在具有更高配置硬件的集群中部署更多的节点,从而增加了供应商成本,因为他们需要在硬件上投资更多。所以,资源的有效利用没有考虑在内。
发明内容
提供本发明内容以介绍与分布式计算系统中自适应资源管理相关的概念,并且在下面的详细介绍中进一步描述。本发明内容不旨在确定所请求保护主题的必要特征,也不旨在确定或限定所请求保护主题的范围。
本发明的一个主要目的是通过提供用于自适应资源管理的系统、方法和设备来解决上述技术问题,所述系统、方法和设备基于历史应用运行自动监控、分析并分配应用资源。
一方面,本发明提供了一种系统、方法和设备,用于针对诸如节点类型(例如硬件类型)、优先级等的各种参数来收集并存储每个唯一应用任务的资源统计。
另一方面,本发明提供了一种系统、方法和设备,用于通过标签唯一地标识应用,并且针对这些标签收集历史状态,使得资源适配更为有效。
应当理解和注意的是,硬限制是由用户基于有限的资源所规定的资源限制,如果超出限制,系统尝试终止资源。类似地,软限制是基于之前的运行进行的统计计算限制。因此,系统调度将基于软限制来进行,并尝试协商更多的资源,直到达到硬限制。在本发明的前述描述中使用了硬限制和软限制的相同逻辑含义。
另一方面,本发明提供了一种系统、方法和设备,能够基于收集的历史统计来确定灵活的资源利用限制(软限制),如果未找到精确的匹配历史记录,则基于置信度评分评估可能的软限制。
另一方面,本发明提供了一种系统、方法和设备,用于基于确定的软限制而不是基于用户配置的限制来启动用于执行任务的任务执行器。因此,能够将额外的空闲资源用于其他任务执行器。
另一方面,本发明提供了一种用于动态调整资源大小的系统、方法和设备,其中,当任务执行器使用大于软限制的资源时,只要资源是可用的,应用就不会立即终止,而是能够分阶段增长,直到资源利用达到与资源管理器协商出的用户配置的限制(硬限制)为止。RM代理确保资源利用不超出硬限制。
相应地,在一种实施方式中,本发明提供了一种用于自适应资源管理的系统。所述系统包括资源管理器和驻留在至少一个RM代理中的任务执行器资源监控模块。所述资源管理器用于接收来自至少一个应用的至少一个资源请求,所述应用至少与应用名称和标签一同接收,所述资源请求包括执行的应用任务的至少一个资源需求;所述资源管理器还包括:资源预测模块,用于:基于预先存储在历史数据存储中的至少一个历史资源使用统计的可用性,至少提供应用任务的软限制,或者返回由至少一个用户配置的应用任务的硬限制;从识别出的RM代理分配至少一个资源以用于执行。所述RM代理在分配时用于:至少基于所述软限制或所述硬限制执行所述应用任务,并包括:任务执行器资源监控模块,用于:监控执行中的所述应用任务的至少一个资源使用;针对所述标签将所述应用任务的至少一个资源使用统计存储在历史数据存储中。
在一种实施方式中,本发明提供了一种用于自适应资源管理的资源管理器。所述资源管理器包括处理器和耦合到所述处理器的存储器,所述处理器用于执行存在于所述存储器中的多个模块。所述多个模块包括:接收模块,用于接收来自至少一个应用的至少一个资源请求,所述应用至少与应用名称和标签一同接收,所述资源请求包括执行的应用任务的至少一个资源需求;资源预测模块,用于基于预先存储在历史数据存储中的至少一个历史资源使用统计的可用性,至少提供应用任务的软限制,或者返回由至少一个用户配置的应用任务的硬限制;基于应用任务的软限制或硬限制从至少一个识别出的RM代理分配至少一个资源以用于执行。
在一种实施方式中,本发明提供了一种用于执行所分配的至少一个应用任务的RM代理。所述RM代理包括处理器和耦合到所述处理器的存储器,所述处理器用于执行所处存储器中存在的多个模块。所述多个模块包括:接收模块,用于至少基于软限制或硬限制(基于硬限制,如果可能,则基于软限制,其中所述硬限制将由用户提出)接收至少一个用于执行的应用任务;任务执行器模块,用于执行所述应用任务,其中,基于所述软限制或所述硬限制对所述任务执行器模块进行分配;任务执行器资源监控模块,用于监控执行中的所述应用任务的至少一个资源使用;针对所述标签,将所述应用任务的至少一个资源使用统计存储到历史数据存储中。
在一种实施方式中,公开了一种用于自适应资源管理的方法。所述方法包括:接收来自至少一个应用的至少一个资源请求,所述应用至少与应用名称和标签一同接收,所述资源请求包括执行的应用任务的至少一个资源需求;确定至少一个RM代理用于执行所述应用任务;基于预先存储在历史数据存储中的至少一个历史资源使用统计的可用性,至少提供应用任务的软限制,或者由至少一个用户配置的应用任务的硬限制;从识别出的RM代理分配至少一个资源以用于执行;至少基于所述软限制或所述硬限制来调度所述应用任务;监控执行中的所述应用任务的至少一个资源使用;针对所述标签,将所述应用任务的至少一个资源使用统计存储在历史数据存储中。
在一种实施方式中,公开了一种资源管理器进行自适应资源管理的方法。所述方法包括:接收来自至少一个应用的至少一个资源请求,所述应用至少与应用名称和标签一同接收,所述资源请求包括执行的应用任务的至少一个资源需求;确定至少一个RM代理用于执行所述应用任务;基于预先存储在历史数据存储中的至少一个历史资源使用统计,至少提供应用任务的软限制或硬限制(如果软限制不可用);基于应用任务的软限制或硬限制从识别出的RM代理分配至少一个资源以用于执行。
在一种实施方式中,公开了一种RM代理执行所分配的至少一个应用任务的方法。所述方法包括:至少基于软限制或硬限制(基于硬限制,如果可能,基于软限制,其中所述硬限制将由用户提出)接收至少一个用于执行的应用任务;执行所述应用任务,其中,基于软限制或硬限制对任务执行器模块进行分配;监控执行中的所述应用任务的至少一个资源使用;针对标签,将所述应用任务的至少一个资源使用统计存储在历史数据存储器中。
与现有技术(如果有可用的现有技术)相比,本发明提供了在分布式系统中执行的应用的自适应资源处理,从而通过以下方式确保有效的资源利用:
提供一种框架,其中资源管理器可以使用标签唯一地参与识别应用,使得资源适配更为有效。提供一种框架,用于针对如节点类型、用户定义的应用和任务标签等各种参数来收集并存储每个唯一应用任务的资源统计。
提供一种框架,其中基于收集的历史统计进行资源调度。
提供一种框架,其中基于历史确定的资源使用限制进行资源管理。如果未找到记录的精确匹配,则本发明将基于置信度评分确定软限制。
提供一种框架,其中每个RM代理接收在存在应用(硬限制)和历史统计(软限制)这两个限制的情况下待启动的工作器(任务执行器)。此外,RM代理确保任务执行器不超出其硬限制,并当执行器超出软限制时,RM代理尝试动态调整分配给该执行器的资源大小。
上述与第一实施方式相关的各种选项和优选实施例也适用于其它相关实施方式。
附图说明
结合附图进行详细的描述。在附图中,参考编号最左边的数字表示所述参考编号在该附图中首次出现。所有附图使用相同数字指代相同特征的组件。
图1示出了现有技术中的资源管理器,其中,所述资源管理器控制将可用资源分配给运行在集群上的分布式应用;
图2示出了现有技术中在资源分配的情况下用于执行的分布式执行流程;
图3示出了本发明实施例提供的高级别系统实现;
图4示出了本发明实施例提供的用于执行任务的资源分配流程;
图5示出了本发明实施例提供的在历史数据存储中填入待存储的历史统计;
图6示出了本发明实施例提供的基于精确匹配的软限制评估的示例;
图7示出了本发明实施例提供的展示软限制的益处的示例性流程;
图8示出了本发明实施例提供的基于置信度评分的软限制评估的示例;
图9示出了本发明实施例提供的在有软限制的情况下的任务启动以及更新资源使用统计的框图;
图10示出了本发明实施例提供的任务执行器超出软限制并捕获动态调整大小的方法的框图;
图11示出了本发明实施例提供的任务执行器超出硬限制的框图;
图12示出了本发明实施例提供的任务执行器超出软限制缓冲区但RM代理中没有资源的框图;
图13示出了本发明实施例提供的自适应资源处理的整体流程图;
图14示出了本发明实施例提供的用于自适应资源管理的系统;
图15示出了本发明实施例提供的用于自适应资源管理的资源管理器;
图16示出了本发明实施例提供的执行所分配的至少一个应用任务的RM代理;
图17示出了本发明实施例提供的用于自适应资源管理的方法。
应理解,附图是为了说明本发明的概念,并且可能不是按比例绘制。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明可以有多种方式实现,包括实现为过程、装置、系统、物质组成、计算机可读介质例如计算机可读存储介质,或者其中程序指令经由光学或电子通信链路发送的计算机网络。在本说明书中,这些实施方式或者本发明可以采取的任何其它形式可以称为技术。一般情况下,所公开过程的步骤顺序可以在本发明的范围内进行更改。
下面提供了本发明的一个或多个实施例的详细描述以及说明本发明原理的附图。本发明是结合这些实施例进行描述,但是本发明不限于任何实施例。本发明的范围仅由权利要求书限制,并且本发明包括许多替代方案、修改和等同物。为了提供对本发明的透彻理解,下文描述中阐述了许多具体细节。提供这些细节用于举例,本发明可以根据权利要求书实现,不需要部分或者所有这些具体细节。为了清楚描述,没有对与本发明相关技术领域中已知的技术材料进行详细描述,从而避免对本发明造成不必要地模糊。
公开了用于分布式计算系统中自适应资源管理的系统、方法和设备。
尽管多个方面描述了用于分布式计算系统中自适应资源管理的系统、方法和设备,本发明可通过任意数量的不同计算系统、环境和/或配置来实现。以下示例性系统、装置和方法的上下文中描述了这些实施例。
在一种实施方式中,本发明提供了一种用于自适应资源管理的框架,其基于之前的应用运行历史自动监控、分析并分配应用资源。
应当理解和注意的是,硬限制是由用户基于有限的资源所规定的资源限制,如果超出限制,系统尝试终止资源。类似地,软限制是基于之前的运行进行的统计计算限制。因此,系统调度将基于软限制来进行,并尝试协商更多的资源,直到达到硬限制。在本发明的前述描述中使用了硬限制和软限制的相同逻辑含义。
应当理解和注意的是,硬限制是由用户基于有限的资源所规定的资源限制,如果超出限制,系统尝试终止资源。类似地,软限制是基于之前的运行进行的统计计算限制。因此,系统调度将基于软限制来进行,并尝试协商更多的资源,直到达到硬限制。在本发明的前述描述中使用了硬限制和软限制的相同逻辑含义。
现参考图3,示出了本发明实施例提供的高级别系统实现。在参考图3之后,本领域技术人员可以清楚地理解与可用的现有技术相比之下本发明中所提供的新组件或新特征。需要说明的是,本发明所涉及的现有技术的已知或者不相关的组件或特征的细节不再作更加详细的说明,因为这可能会增加不必要的复杂度以及偏离对本发明的理解。此外,还需要注意的是,这里解释的只是与本发明直接相关或影响的一些组件或特征的细节。
如图3所示,根据本发明的新组件/特征与修改的组件/特征及其特定功能如下所示:
执行器资源监控器:此组件/特征驻留在RM代理或主机设备中。根据本发明的资源监控模块负责监控任务执行器的实际资源使用,并将统计存储在“历史数据存储”中。
历史数据存储:该组件/特征充当针对应用ID、应用标签(可选地由应用提交者提供)、主机类型等存储资源使用信息的资源库。该资源库可以使用时间轴服务器DB、Zookeeper等来实现。
资源预测模块:该组件/特征驻留在资源管理器中,并基于历史资源使用以及主机类型等其他因素预测“软限制”。如果未找到精确匹配记录,则针对不同记录集合生成置信度评分并选择其中的最佳评分。
RM代理:该组件/特征基于由资源预测模块确定的“软限制”将可用资源上报给资源管理器;如果执行器的资源限制超出了所确定的软限制,则还负责与RM交互以获取额外的资源。
应该理解的是,图3和前面的相关描述仅介绍了本发明的新特征/组件。每个新组件/特征及其功能和适用性在前面的章节中进行解释。
现参考图4,示出了本发明实施例提供的用于执行任务的资源分配流程。图4示出了涉及本发明的所有新组件或特征的特定功能的本发明的流程。
如图4所示,
步骤1:用户向资源管理器提交应用以及标签。
步骤2:资源管理器(通过RM代理)启动主机上的应用管理器。
步骤3:应用管理器向资源管理器发送针对其任务执行器(任务)的资源请求。资源请求包括应用任务的资源需求(内存、CPU等)。
步骤4:资源管理器确定有空闲资源的主机节点,并查询资源预测模块以基于(由应用和任务ID唯一标识的)该应用的历史资源使用以及诸如任务和应用标签、确定的主机、主机类型等其他因素来提供“软限制”。
i.如果历史统计完全匹配,则可以应用可配置公式(如资源使用的最大值、平均值、标准偏差等),并确定“软限制”;或者
ii.如果未找到完全匹配(确定的主机/主机类型和/或标签不相同),则资源预测模块尝试针对不同的记录集合生成置信度评分,并选择具有最佳置信度评分的记录,然后将按照步骤1得出“软限制”。
步骤5:资源管理器的调度器基于“软限制”分配主机上的资源。RM代理启动这些主机上的任务执行器。
步骤6:“任务执行器资源监控器”监控任务执行器的实际资源使用,针对应用名称和任务类型(由应用管理器提供)存储在“历史数据存储”中。
步骤7:如果在达到“硬限制”之前,执行器使用的资源超出了软限制,则RM代理负责与RM的调度器协商额外的资源。一旦达到“硬限制”,将终止任务执行器。
现参考图5,示出了本发明实施例提供的在历史数据存储中填入待存储的历史统计。如图5所示,可以有多个存储资源使用相关统计的列。一些存储数据的列及其意义如下所述:
应用名称和任务类型列:应用名称和任务类型唯一标识应用的给定任务。例如,对于如图5所示的映射归纳应用,映射和归纳是两种不同的任务类型,它们可以具有不同类型的资源使用。任务类型信息将由应用管理器提供。
主机类型列:在大多数情况下,大型集群是异构集群,其中,可以标记不同的节点。可以考虑的原始示例是,基于处理器的数量和其速度将主机分类为快速、中速和慢速。高处理主机上的任务执行器的资源使用将会少于其他主机的。
任务和应用标签列:该信息通常由客户端或应用管理器提供。在很多情况下,虽然基于应用/任务配置或者数据类型资源使用可能不同,但应用是相同的。基于这些标签,可以获得更准确的资源使用。例如:
i.高峰时段电信数据具有较高的用户信息基数,因此处理用户数据可能需要比非高峰时段数据更多的内存。
ii.在MR作业的情况下,基于像拆分大小和归纳函数数量等配置,映射和归纳函数的资源使用可能会有所不同。
资源使用列:对于每个唯一的被监控的资源,其在特定轮询的使用将存储在此列中。
本领域技术人员可以理解,上述提到的列仅仅是为了便于理解和举例,可以根据需要添加数量和具体列来存储相关数据。
现参考图6,示出了本发明实施例提供的基于精确匹配的软限制评估的示例。如图6所示,应用管理器向调度器为特定应用和任务请求资源,并提供一组标签,并且如果具有完全匹配的标签的同一应用和任务的记录在历史数据中已经可用,则检索完全匹配的记录,以便直接找到这些记录,并使用可配置的资源值作为评估器来查找软限制。
简单的资源值评估器可以是MaxMemoryResourceValue评估器,其可以在匹配记录中取最大内存并作为软限制。类似地,用户可以考虑平均值、最小值或任意统计表达式。
现参考图7,示出了本发明实施例提供的展示软限制的益处的示例性流程。如图7所示,示出了本发明实施例提供的展示软限制的益处的示例性流程。现参考图7,在初始运行中,应用管理器向资源管理器请求2个具有4Gb内存(硬限制)的任务T1和T2。由于基于硬限制没有发生历史数据调度,系统监控执行器的资源使用并将其存储在历史数据存储中。在后续运行中,当应用管理器向资源管理器请求相同任务(T1和T2)时,调度器参考之前的历史数据存储,发现并计算出软限制为2.5GB和2GB,其作为任务T1和T2的资源使用,并相应地进行调度。因此,系统中仍有3.5GB可用于其他应用。
现参考图8,示出了本发明实施例提供的基于置信度评分的软限制评估的示例。在一种实施方式中,许多情况下,历史数据可能不完全匹配,即,其可能还没有存储到数据存储中,对于这样的场景,本发明提供了基于可以选择具体的软限制的评分机制。这种评分机制是可插入的,用户可以定义一种适合该应用和该应用运行的集群环境的评分机制。为了便于理解,考虑了一个这样的加权算法,得到的结果如图8所示。还可以理解,计算是可插入的,任何现有的计算器,例如雅卡尔系数,也可以用于计算以保持最终目标是校准/量化预测中的置信度。然而,本领域技术人员可以理解,雅卡尔系数仅用作示例性目的,任何已知的或新的算法都可以用于计算。
图9至图12示出了本发明实施例提供的用于任务执行器的动态调整资源大小。
现参考图9,示出了本发明实施例提供的在有软限制的情况下的任务启动的框图。如图9所示,在第一步骤中,调度器分配节点中在有两个限制的情况下待启动的任务并通知RM代理。在下一步骤中,RM代理启动执行器。在下一步骤中,代理考虑用于可用资源计算的软限制,并周期性地将执行器的资源使用更新给调度器。
现参考图10,示出了本发明实施例提供的任务执行器超出软限制的框图。如图10所示,RM代理在监控时确定执行器即将超出限制(软限制可配置缓冲区)。在下一步骤中,当所用资源小于硬限制时,RM代理将请求调度器调整分配给执行器的资源大小。在下一步骤中,调度器检查是否还有资源未被分配,如果可用,则分配额外的资源并通知RM代理该分配情况。
现参考图11,示出了本发明实施例提供的任务执行器超出硬限制的框图。如图11所示,RM代理在监控时确定执行器超出硬限制。在下一步骤中,RM代理终止类似于正常流程的执行器。在下一步骤中,RM代理将其通知给调度器。
现参考图12,示出了本发明实施例提供的框图:任务执行器超出软限制缓冲区,但是由于节点中没有资源,任务将通过添加到失败的尝试中而被终止,并将调度新的任务尝试。
图13示出了本发明实施例提供的自适应资源处理的整体流程图。如图13所示,在第一步骤中,RM代理在监控任务执行时确定执行器即将超出限制(软限制可配置缓冲区)。在下一步骤中,当所用资源小于硬限制时,RM代理将请求调度器调整分配给执行器的资源大小。在下一步骤中,调度器检查并发现没有资源可分配用于调整大小,因此它将通知终止任务。在下一步骤中,RM代理将终止执行器,但不会被视为失败。在最后的步骤中,调度器尝试通过为执行器分配一些其他的空闲资源来重新调度它。
现参考图14,示出了本发明实施例提供的用于自适应资源管理的系统。尽管本发明是在考虑到本发明是通过系统1400、资源管理器1402或RM代理1410来实现进行了说明,应理解,系统1400、资源管理器1402或RM代理1410也可通过多种计算系统来实现,如笔记本电脑、台式计算机、笔记本、工作站、大型计算机、服务器、网络服务器等。应理解,系统1400、资源管理器1402或RM代理1410可以由多个用户或驻留在系统1400、资源管理器1402或RM代理1410上的应用访问。系统1400、资源管理器1402或RM代理1410的示例可以包括但不限于便携式计算机、个人数字助理、手持设备、传感器、路由器、网关和工作站。系统1400、资源管理器1402或RM代理1410以通信的方式彼此耦合,和/或与其他设备、节点或装置耦合,以形成网络(未示出)。
在一种实施方式中,所述网络(未示出)可以是无线网络、有线网络或其组合。所述网络可作为不同类型的网络之一实现,例如GSM、CDMA、LTE、UMTS、内联网、局域网(1ocalarea network,简称LAN)、广域网(wide area network,简称WAN)、互联网等。所述网络可以是专用网络或共享网络。共享网络表示使用各种协议如超文本传输协议(HypertextTransfer Protocol,简称HTTP)、传输控制协议/互联网协议(Transmission ControlProtocol/Internet Protocol,简称TCP/IP)、无线应用协议(WirelessApplicationProtocol,简称WAP)等相互通信的不同类型网络的关联。进一步地,所述网络可包括各种网络设备,包括路由器、网桥、服务器、计算设备、存储设备等。
在一种实施方式中,本发明提供了一种用于自适应资源管理的系统1400。系统1400包括资源管理器1404和驻留在RM代理1410中的任务执行器资源监控模块1412。资源管理器1404用于接收来自至少一个应用1402的至少一个资源请求,应用1402至少与应用名称和标签一同接收,资源请求包括执行的应用任务的至少一个资源需求。资源管理器1404还包括:资源预测模块1406,用于:基于预先存储在历史数据存储1408中的至少一个历史资源使用统计的可用性,至少提供应用任务的软限制,或者返回由至少一个用户配置的应用任务的硬限制;从识别出的RM代理1410分配至少一个资源以用于执行。RM代理在分配时用于至少基于软限制或硬限制来执行应用任务;并包括:任务执行器资源监控模块1412,用于监控执行中的应用任务的至少一个资源使用;针对所述标签,将所述应用任务的至少一个资源使用统计存储在历史数据存储1408中。
现参考图15,示出了本发明实施例提供的用于自适应资源管理的资源管理器。在一种实施方式中,公开了用于自适应资源管理的资源管理器1404。资源管理器包括处理器1502和耦合到处理器1502的存储器1506,处理器1502用于执行存在于存储器中的多个模块。所述多个模块包括:接收模块1508,用于接收来自至少一个应用的至少一个资源请求,所述应用至少与应用名称和标签一同接收,所述资源请求包括执行的应用任务的至少一个资源需求;识别模块1510,用于确定用于执行应用任务的至少一个RM代理;资源预测模块1512,用于基于预先存储在历史数据存储1408中的至少一个历史资源使用统计,至少提供应用任务的软限制或硬限制;基于应用任务的软限制或硬限制从识别出的RM代理分配至少一个资源以用于执行。
现参考图16,示出了本发明实施例提供的执行所分配的至少一个应用任务的RM代理。在一种实施方式中,本发明提供了执行所分配的至少一个应用任务的RM代理1410。RM代理包括处理器1602和耦合到处理器1602的存储器1606,处理器1602用于执行存在于存储器中1606中的多个模块。所述多个模块包括:接收模块1608,用于至少基于软限制或硬限制接收至少一个用于执行的应用任务;任务执行器模块1610,用于执行所述应用任务,其中,基于所述软限制或所述硬限制(基于硬限制,如果可能,则基于软限制,其中所述硬限制将由用户提出)对所述任务执行器模块进行分配;任务执行器资源监控模块1612,用于监控所分配的资源的至少一个资源使用;针对应用名称和所执行的应用任务,将所分配的资源的至少一个资源使用统计存储到历史数据存储1408中。
在一种实施方式中,至少从存储器、输入/输出(input/output,简称I/O)进程、中央处理器(central processing unit,简称CPU)或其任意组合中选择应用任务的资源需求。
在一种实施方式中,所述应用任务的软限制或硬限制通过以下方式提供:将接收的应用任务的资源需求与预先存储在历史数据存储中的至少所述应用名称、所述应用任务、所述RM代理、RM代理类型或其任意组合相匹配。
在一种实施方式中,如果找到匹配,则资源预测模块还用于:应用与资源使用相关联的至少一个可配置公式来确定所接收的应用任务的软限制,优选地,从最大值、平均值、标准偏差或其任意组合中选择所述可配置公式。
在一种实施方式中,如果未找到匹配,则资源预测模块还用于:针对预先存储在与所述应用相关联的历史数据存储中的不同历史资源使用集合生成至少一个置信度评分;从生成的置信度评分中选择一个最佳置信度评分;从而,应用与资源使用相关联的至少一个可配置公式来确定所接收的应用任务的软限制。
在一种实施方式中,如果所分配的用于执行的资源的资源使用超出所述软限制,则所述RM代理还用于分配至少一个其他资源用于执行所述应用任务。
在一种实施方式中,如果所分配的用于执行的资源的资源使用超出所述硬限制,则停止/终止所述应用任务的执行。
在一种实施方式中,所述标签包括标识所述应用的给定任务的任务类型,所述资源使用基于任务时间。
在一种实施方式中,所述资源使用统计至少包括应用名称、应用标识、应用任务类型、所述标签、资源提供类型或其任意组合。
根据本发明实施例示出的资源管理器1402或RM代理1410可以包括处理器、接口和存储器。至少一个处理器可以实现为一个或多个微处理器、微型机、微控制器、数字信号处理器、中央处理器、状态机、逻辑电路和/或任意基于操作指令处理信号的设备。在其它能力中,至少一个处理器用于获取和执行存储器中存储的计算机可读指令或模块。
接口(I/O接口)1504和/或1604可以包括各种软件和硬件接口,例如web接口、图形用户接口等。所述I/O接口可以允许资源管理器1402或RM代理1410直接与用户交互。进一步地,所述I/O接口可使资源管理器1402或RM代理1410与其他设备、节点或计算设备如万维网服务器和外部数据服务器(未示出)进行通信。所述I/O接口可促进各种网络和协议类型中的多种通信,包括GSM、CDMA、LAN、电缆等有线网络,以及WLAN、蜂窝或卫星等无线网络。所述I/O接口可包括用于将多个设备彼此连接或连接到另一个服务器的一个或多个端口。所述I/O接口可以通过为接口提供的屏幕来提供用户和资源管理器1402或RM代理1410之间的交互。
所述存储器可包括本领域已知的任意计算机可读介质,例如,包括易失性存储器,如静态随机存取存储器(static random access memory,简称SRAM)和动态随机存取存储器(dynamic random access memory,简称DRAM),和/或非易失性存储器,如只读存储器(read-only memory,简称ROM)、可擦除可编程ROM、闪存、硬盘、光盘和磁带。所述存储器可以包括用于执行各种功能的多个指令、模块或应用。所述存储器包括例程、程序、对象、组件以及数据结构等,其执行特定任务或实现特定抽象数据类型。
图17示出了本发明实施例提供的用于自适应资源管理的方法。所述方法可在计算机可执行指令的广义语境中描述。通常,计算机可执行指令可以包括执行特定功能或者实现特定抽象数据类型的例程、程序、对象、组件、数据结构、流程、模块、功能等。所述方法还可以在分布式计算环境中实施,其中功能由通过通信网络链接的远程处理设备执行。在分布式计算环境中,计算机可执行指令可以位于本地和远程计算机存储介质中,包括存储器存储设备。
描述所述方法的顺序不应被理解为一种限制,任意数量的所描述的方法框可以任何顺序组合来实现所述方法或替代方法。此外,单独的框在不脱离本文所描述的主题的保护范围的情况下可从方法中删除。此外,所述方法可在任何适当的硬件、软件、固件或其组合中实现。然而,为便于说明,在以下描述的实施例中可认为所述方法是在上述描述的系统1400、资源管理器1402或RM代理1410中实施的。
在一种实施方式中,本发明提供了一种用于自适应资源管理的方法。
在框1702处,接收来自至少一个应用的至少一个资源请求。所述应用至少与应用名称和标签一同接收,所述资源请求包括执行的应用任务的至少一个资源需求。至少从存储器、输入/输出(input/output,简称I/O)进程、中央处理器(central processing unit,简称CPU)或其任意组合中选择应用任务的资源需求。所述标签包括标识所述应用的给定任务的任务类型,所述资源使用基于任务时间。
在框1704处,确定至少一个RM代理用于执行应用任务。
在框1706处,为应用任务至少提供基于预先存储在历史数据存储中的至少一个历史资源使用统计的可用性的应用任务的软限制,或者由至少一个用户配置的应用任务的硬限制。所述应用任务的软限制或硬限制通过以下方式提供:将接收的应用任务的资源需求与预先存储在历史数据存储中的至少所述应用名称、所述应用任务、所述RM代理、RM代理类型或其任意组合相匹配。进一步地,如果找到匹配,所述方法还应用与资源使用相关联的至少一个可配置公式来确定所接收的应用任务的软限制,优选地,从最大值、平均值、标准偏差或其任意组合中选择所述可配置公式。如果未找到匹配,所述方法包括:针对预先存储在与所述应用相关联的历史数据存储中的不同历史资源使用集合生成至少一个置信度评分;从生成的置信度评分中选择一个最佳置信度评分;从而,应用与资源使用相关联的至少一个可配置公式来确定所接收的应用任务的软限制。
在框1708处,从识别出的RM代理分配至少一个资源以用于执行。
在框1710处,至少基于软限制或硬限制来调度应用任务。
在框1712处,监控执行中的应用任务的至少一个资源使用。如果所分配的用于执行的资源的资源使用超出所述软限制,则所述RM代理还用于分配至少一个其他资源用于执行所述应用任务。进一步地,如果所分配的用于执行的资源的资源使用超出所述硬限制,则停止/终止所述应用任务的执行。
在框1714处,针对所述标签,将所述应用任务的至少一个资源使用统计存储在历史数据存储中。所述资源使用统计至少可以包括应用名称、应用标识、应用任务类型、所述标签、资源提供类型或其任意组合。
在一种实施方式中,公开了一种资源管理器进行自适应资源管理的方法。所述方法包括:
接收来自至少一个应用的至少一个资源请求,所述应用至少与应用名称和标签一同接收,所述资源请求包括执行的应用任务的至少一个资源需求;
确定至少一个RM代理用于执行所述应用任务;
基于预先存储在历史数据存储中的至少一个历史资源使用统计至少提供应用任务的软限制或硬限制(如果软限制不可用);
基于应用任务的软限制或硬限制从识别出的RM代理分配至少一个资源以用于执行。
在一种实施方式中,公开了一种RM代理执行所分配的至少一个应用任务的方法。所述方法包括:
至少基于软限制或硬限制(基于硬限制,如果可能,则基于软限制,其中硬限制将由用户所提出)接收至少一个用于执行的应用任务;
执行所述应用任务,其中,基于所述软限制或所述硬限制对任务执行器模块进行分配;
监控执行中的应用任务的至少一个资源使用;
针对标签,将所述应用任务的至少一个资源使用统计存储在历史数据存储中。
与现有技术(如果有可用的现有技术)相比,本发明提供了在分布式系统中执行的应用的自适应资源处理,从而通过以下方式确保有效的资源利用:
提供一种框架,其中资源管理器可以使用标签唯一地参与识别应用,使得资源适配更为有效。
提供一种框架,用于针对如节点类型、用户定义的应用和任务标签等各种参数来收集并存储每个唯一应用任务的资源统计。
提供一种框架,其中基于收集的历史统计进行资源监控。
提供一种框架,其中基于历史确定的资源使用限制进行资源管理。如果未找到记录的精确匹配,则本发明将基于置信度评分确定限制。
提供一种框架,其中每个RM代理接收在存在应用(硬限制)和历史统计(软限制)这两个限制的情况下待启动的工作器(任务执行器)。此外,RM代理确保任务执行器不超出其硬限制,并当执行器超出软限制时,代理尝试动态调整分配给该执行器的资源大小。
除了上面解释的之外,本发明还包括下面提到的优点或者通过本发明能够实现的以下内容:通过更快地执行应用,并通过使用相同硬件资源处理更多的任务,更好地利用硬件资源(以少做多)。
不需要手动干预/监控来优化应用参数,从而能够提高操作人员的效率。
本领域技术人员可以理解,可使用任何已知的或新的算法来实施本发明。然而,需要注意的是,不管使用何种已知的或新的算法,本发明提供了一种可在备份操作中使用的方法,以实现上述提到的益处和技术进步。
本领域普通技术人员能够认识到,结合本说明书所公开的实施例中所描述的示例,可以通过电子硬件或计算机软件与电子硬件的组合实现单元和算法步骤。功能是由硬件还是由软件执行取决于技术方案的特定应用和设计约束条件。本领域技术人员可使用不同方法实现每个特定应用的所描述功能,但是不应认为该实现超出本发明的范围。
本领域技术人员可清楚地理解,出于方便和简单描述的目的,对于前述系统、装置和单元的详细工作过程,可参考前述方法实施例中的对应过程,本文中不再描述细节。
在本申请中提供的若干实施例中,应理解,所公开的系统、装置和方法可通过其它方式实现。例如,所描述的装置实施例仅仅是示例性的。例如,单元划分仅仅是逻辑功能划分且在实际实现中可以是其它划分。例如,可将多个单元或组件合并或集成到另一系统中,或可忽略或不执行部分特征。另外,可通过一些接口实现所显示或论述的互相耦合或直接耦合或通信连接。装置或单元之间的直接耦合或通信连接可通过电子、机械或其它形式实现。
当这些功能以软件功能单元的形式实现以及作为单独产品销售或使用时它们可存储在计算机可读存储介质中。基于这种理解本发明的技术方案基本上或构成现有技术的部分或技术方案的部分可通过软件产品的形式实现。计算机软件产品存储在存储介质中并包括若干指令,用于指示计算机设备(其可以为个人计算机、服务器或网络设备)执行本发明实施例中所描述的方法的所有或部分步骤。上述存储介质包括:任何可以存储程序代码的媒体,例如USB盘、可移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁盘或光学光盘。
虽然已经以结构特征和/或方法特有的语言描述了分布式计算系统中自适应资源管理的实施方式,但是应当理解,所附权利要求不一定限于所描述的特定特征或方法。相反,公开的具体特征和方法作为实现分布式计算系统中自适应资源管理的示例。
Claims (34)
1.一种用于自适应资源管理的系统,其特征在于,所述系统包括资源管理器(RM)和至少一个RM代理,其中:
所述资源管理器(RM)用于:
接收来自至少一个应用的至少一个资源请求,所述应用至少包括应用名称和标签,所述资源请求包括执行的应用任务的资源需求;其中所述资源管理器包括:
资源预测模块,用于:
基于预先存储在历史数据存储中的至少一个历史资源使用统计的可用性,至少提供应用任务的软限制,或者返回由至少一个用户配置的应用任务的硬限制;
从识别出的RM代理分配至少一个资源以用于执行;
所述RM代理在分配时用于:
至少基于所述软限制或所述硬限制执行所述应用任务,并包括:
任务执行器资源监控模块,用于:
监控执行中的至少一个应用任务;
针对所述标签存储所述应用任务的资源的至少一个资源使用统计。
2.根据权利要求1所述的系统,其特征在于,至少从存储器、输入/输出(I/O)进程、中央处理器(CPU)或其任意组合中选择应用任务的资源需求。
3.根据权利要求1所述的系统,其特征在于,所述应用任务的软限制或硬限制通过以下方式提供:将接收的应用任务的资源需求与预先存储在历史数据存储中的至少所述应用名称、所述应用任务、所述RM代理、RM代理类型或其任意组合相匹配。
4.根据权利要求3所述的系统,其特征在于,如果找到匹配,则所述资源预测模块还用于:应用与资源使用相关联的至少一个可配置公式来确定所接收的应用任务的软限制,优选地,从最大值、平均值、标准偏差或其任意组合中选择所述可配置公式。
5.根据权利要求3和4所述的系统,其特征在于,如果未找到匹配,则所述资源预测模块还用于:
针对预先存储在与所述应用相关联的历史数据存储中的不同历史资源使用集合生成至少一个置信度评分;
从生成的置信度评分中选择一个最佳置信度评分;从而
应用与资源使用相关联的至少一个可配置公式来确定所接收的应用任务的软限制。
6.根据权利要求1和3所述的系统,其特征在于,如果所分配的用于执行的资源的资源使用超出所述软限制,则所述RM代理还用于分配至少一个其他资源用于执行所述应用任务。
7.根据权利要求1和6所述的系统,其特征在于,如果所分配的用于执行的资源的资源使用超出所述硬限制,则停止/终止所述应用任务的执行。
8.根据权利要求1所述的系统,其特征在于,所述标签包括标识所述应用的给定任务的任务类型,所述资源使用基于任务时间。
9.根据权利要求1所述的系统,其特征在于,所述资源使用统计至少包括应用名称、应用标识、应用任务类型、所述标签、资源提供类型或其任意组合。
10.一种用于自适应资源管理的资源管理器,其特征在于,所述资源管理器包括:
处理器;
耦合到所述处理器的存储器,所述处理器用于执行存在于所述存储器中的多个模块,所述多个模块包括:
接收模块,用于接收来自至少一个应用的至少一个资源请求,所述应用至少包括应用名称和标签,所述资源请求包括执行的应用任务的至少一个资源需求;
资源预测模块,用于:
基于预先存储在历史数据存储中的至少一个历史资源使用统计的可用性,至少提供应用任务的软限制,或者返回由至少一个用户配置的应用任务的硬限制;
基于应用任务的软限制或硬限制从至少一个识别出的RM代理分配至少一个资源以用于执行。
11.根据权利要求9所述的资源管理器,其特征在于,至少从存储器、输入/输出(I/O)进程、中央处理器(CPU)或其任意组合中选择应用任务的资源需求。
12.根据权利要求9所述的资源管理器,其特征在于,所述应用任务的软限制或硬限制通过以下方式提供:将接收的应用任务的资源需求与预先存储在历史数据存储中的至少所述应用名称、所述应用任务、所述RM代理、RM代理类型或其任意组合相匹配。
13.根据权利要求11所述的资源管理器,其特征在于,如果找到匹配,则资源预测模块还用于:应用与资源使用相关联的至少一个可配置公式来确定所接收的应用任务的软限制,优选地,从最大值、平均值、标准偏差或其任意组合中选择所述可配置公式。
14.根据权利要求11和12所述的资源管理器,其特征在于,如果未找到匹配,则资源预测模块还用于:
针对预先存储在与所述应用相关联的历史数据存储中的不同历史资源使用集合生成至少一个置信度评分;
从生成的置信度评分中选择一个最佳置信度评分;从而
应用与资源使用相关联的至少一个可配置公式来确定所接收的应用任务的软限制。
15.根据权利要求9和12所述的资源管理器,其特征在于,如果所分配的用于执行的资源的资源使用超出所述软限制,则所述RM代理还用于分配至少一个其他资源用于执行所述应用任务。
16.根据权利要求9和11所述的资源管理器,其特征在于,如果所分配的用于执行资源的资源使用超出所述硬限制,则停止/终止所述应用任务的执行。
17.根据权利要求9所述的资源管理器,其特征在于,所述标签包括标识所述应用的给定任务的任务类型,所述资源使用基于任务时间。
18.根据权利要求9所述的系统,其特征在于,所述历史资源使用统计至少包括应用名称、应用标识、应用任务类型、所述标签、资源提供类型或其任意组合。
19.一种执行所分配的至少一个应用任务的资源管理器(RM)代理,其特征在于,所述RM代理包括:
处理器;
耦合到所述处理器的存储器,所述处理器用于执行存在于所述存储器中的多个模块,所述多个模块包括:
接收模块,用于至少基于软限制或硬限制接收至少一个用于执行的应用任务;
任务执行器模块,用于执行所述应用任务,其中,基于所述软限制或所述硬限制对所述任务执行器模块进行分配;
任务执行器资源监控模块,用于:
监控执行中的至少所述应用任务;
针对所述标签,将所述应用任务的至少一个资源使用统计存储在历史数据存储中。
20.根据权利要求17所述的RM代理,其特征在于,所述应用任务的软限制或硬限制通过以下方式提供:将接收的应用任务的资源需求与预先存储在历史数据存储中的至少所述应用名称、所述应用任务、所述RM代理或其任意组合相匹配。
21.根据权利要求17所述的RM代理,其特征在于,如果所分配的用于执行的资源的资源使用超出所述硬限制,则所述任务执行器模块还用于停止/终止所述应用任务的执行。
22.根据权利要求17所述的RM代理,其特征在于,如果所分配的用于执行的资源的资源使用超出所述软限制,则所述RM代理还用于分配至少一个其他资源用于执行所述应用任务。
23.根据权利要求19所述的系统,其特征在于,所述资源使用统计至少包括应用名称、应用标识、应用任务类型、所述标签、资源提供类型或其任意组合。
24.一种用于自适应资源管理的方法,其特征在于,所述方法包括:
接收来自至少一个应用的至少一个资源请求,所述应用至少与应用名称和标签一同接收,所述资源请求包括执行的应用任务的至少一个资源需求;
确定至少一个RM代理用于执行所述应用任务;
基于预先存储在历史数据存储中的至少一个历史资源使用统计的可用性,至少提供应用任务的软限制,或者由至少一个用户配置的应用任务的硬限制;
从识别出的RM代理分配至少一个资源以用于执行;
至少基于所述软限制或所述硬限制来调度所述应用任务;
监控执行中的所述应用任务的至少一个资源使用;
针对所述标签,将所述应用任务的至少一个资源使用统计存储在历史数据存储中。
25.根据权利要求24所述的方法,其特征在于,至少从存储器、输入/输出(I/O)进程、中央处理器(CPU)或其任意组合中选择应用任务的资源需求。
26.根据权利要求24所述的方法,其特征在于,所述应用任务的软限制或硬限制通过以下方式提供:将接收的应用任务的资源需求与预先存储在历史数据存储中的至少所述应用名称、所述应用任务、所述RM代理、RM代理类型或其任意组合相匹配。
27.根据权利要求26所述的方法,其特征在于,如果找到匹配,则所述方法还包括:应用与资源使用相关联的至少一个可配置公式来确定所接收的应用任务的软限制,优选地,从最大值、平均值、标准偏差或其任意组合中选择所述可配置公式。
28.根据权利要求26和27所述的方法,其特征在于,如果未找到匹配,则所述方法还包括:针对预先存储在与所述应用相关联的历史数据存储中的不同历史资源使用集合生成至少一个置信度评分;
从生成的置信度评分中选择一个最佳置信度评分;从而
应用与资源使用相关联的至少一个可配置公式来确定所接收的应用任务的软限制。
29.根据权利要求24和26所述的方法,其特征在于,如果所分配的用于执行的资源的资源使用超出所述软限制,则所述RM代理还用于分配至少一个其他资源用于执行所述应用任务。
30.根据权利要求24和29所述的方法,其特征在于,如果所分配的用于执行的资源的资源使用超出所述硬限制,则停止/终止所述应用任务的执行。
31.根据权利要求24所述的方法,其特征在于,所述标签包括标识所述应用的给定任务的任务类型,所述资源使用基于任务时间。
32.根据权利要求24所述的方法,其特征在于,所述资源使用统计至少包括应用名称、应用标识、应用任务类型、所述标签、资源提供类型或其任意组合。
33.一种资源管理器进行自适应资源管理的方法,其特征在于,所述方法包括:
接收来自至少一个应用的至少一个资源请求,所述应用至少与应用名称和标签一同接收,所述资源请求包括执行的应用任务的至少一个资源需求;
确定至少一个RM代理用于执行所述应用任务;
基于预先存储在历史数据存储中的至少一个历史资源使用统计至少提供应用任务的软限制或硬限制;
基于应用任务的软限制或硬限制从识别出的RM代理分配至少一个资源以用于执行。
34.一种RM代理执行所分配的至少一个应用任务的方法,其特征在于,所述方法包括:
至少基于软限制或硬限制接收至少一个用于执行的应用任务;
执行所述应用任务,其中,基于所述软限制或所述硬限制对任务执行器模块进行分配;
监控执行中的所述应用任务的至少一个资源使用;
针对标签,将所述应用任务的至少一个资源使用统计存储在历史数据存储中。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
ININ201641024001 | 2016-07-13 | ||
IN201641024001 | 2016-07-13 | ||
PCT/CN2017/091506 WO2018010564A1 (en) | 2016-07-13 | 2017-07-03 | Adaptive resource management in distributed computing systems |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109478147A true CN109478147A (zh) | 2019-03-15 |
CN109478147B CN109478147B (zh) | 2021-12-14 |
Family
ID=60951571
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780042813.9A Active CN109478147B (zh) | 2016-07-13 | 2017-07-03 | 分布式计算系统中的自适应资源管理 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10503558B2 (zh) |
EP (1) | EP3475820A4 (zh) |
KR (1) | KR102199275B1 (zh) |
CN (1) | CN109478147B (zh) |
WO (1) | WO2018010564A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110597626A (zh) * | 2019-08-23 | 2019-12-20 | 第四范式(北京)技术有限公司 | 在分布式系统中资源及任务的分配方法、装置及系统 |
CN111078399A (zh) * | 2019-11-29 | 2020-04-28 | 珠海金山网络游戏科技有限公司 | 一种基于分布式架构的资源分析方法及系统 |
CN113157428A (zh) * | 2020-01-07 | 2021-07-23 | 阿里巴巴集团控股有限公司 | 基于容器的资源调度方法、装置及容器集群管理装置 |
CN114064295A (zh) * | 2021-12-13 | 2022-02-18 | 南方电网数字电网研究院有限公司 | 一种结合变电网关的本地资源管理方法及系统 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102130491B1 (ko) | 2019-03-13 | 2020-07-14 | 주식회사 냄새뚝 | 선박 배기가스 정화장치 및 방법 |
US20210042165A1 (en) | 2019-08-09 | 2021-02-11 | Oracle International Corporation | System and method for supporting a quota policy language in a cloud infrastructure environment |
US11689475B2 (en) * | 2019-08-09 | 2023-06-27 | Oracle International Corporation | System and method for tag based resource limits or quotas in a cloud infrastructure environment |
US11948010B2 (en) * | 2020-10-12 | 2024-04-02 | International Business Machines Corporation | Tag-driven scheduling of computing resources for function execution |
US11500539B2 (en) * | 2020-10-16 | 2022-11-15 | Western Digital Technologies, Inc. | Resource utilization tracking within storage devices |
US12118395B1 (en) * | 2020-12-09 | 2024-10-15 | Amazon Technologies, Inc. | Self-tuning analytics system with observed execution optimization |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521757A (zh) * | 2011-11-24 | 2012-06-27 | 成都美璞科技有限公司 | 基于智能终端的商户会员卡一键申请方法 |
EP2725862A4 (en) * | 2011-08-29 | 2014-05-07 | Huawei Tech Co Ltd | RESOURCE ALLOCATION METHOD AND RESOURCE MANAGEMENT PLATFORM |
US8856797B1 (en) * | 2011-10-05 | 2014-10-07 | Amazon Technologies, Inc. | Reactive auto-scaling of capacity |
CN104281496A (zh) * | 2014-10-27 | 2015-01-14 | 深圳中兴网信科技有限公司 | 虚拟资源的分配方法及分配装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6282561B1 (en) * | 1995-12-07 | 2001-08-28 | Microsoft Corporation | Method and system for resource management with independent real-time applications on a common set of machines |
US7334228B2 (en) * | 2001-07-27 | 2008-02-19 | International Business Machines Corporation | Runtime-resource management |
US7093004B2 (en) | 2002-02-04 | 2006-08-15 | Datasynapse, Inc. | Using execution statistics to select tasks for redundant assignment in a distributed computing platform |
US8185899B2 (en) | 2007-03-07 | 2012-05-22 | International Business Machines Corporation | Prediction based priority scheduling |
CN102223419A (zh) * | 2011-07-05 | 2011-10-19 | 北京邮电大学 | 面向网络化操作系统的虚拟资源动态反馈均衡分配机制 |
CN103593242B (zh) * | 2013-10-15 | 2017-04-05 | 北京航空航天大学 | 基于Yarn框架的资源共享控制系统 |
JP2016177324A (ja) * | 2015-03-18 | 2016-10-06 | 株式会社リコー | 情報処理装置、情報処理システム、情報処理方法、及びプログラム |
US10552192B2 (en) * | 2016-02-12 | 2020-02-04 | Nutanix, Inc. | Entity database timestamps |
-
2017
- 2017-07-03 WO PCT/CN2017/091506 patent/WO2018010564A1/en unknown
- 2017-07-03 KR KR1020197003814A patent/KR102199275B1/ko active IP Right Grant
- 2017-07-03 CN CN201780042813.9A patent/CN109478147B/zh active Active
- 2017-07-03 EP EP17826901.5A patent/EP3475820A4/en not_active Ceased
-
2019
- 2019-01-11 US US16/245,823 patent/US10503558B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2725862A4 (en) * | 2011-08-29 | 2014-05-07 | Huawei Tech Co Ltd | RESOURCE ALLOCATION METHOD AND RESOURCE MANAGEMENT PLATFORM |
US8856797B1 (en) * | 2011-10-05 | 2014-10-07 | Amazon Technologies, Inc. | Reactive auto-scaling of capacity |
CN102521757A (zh) * | 2011-11-24 | 2012-06-27 | 成都美璞科技有限公司 | 基于智能终端的商户会员卡一键申请方法 |
CN104281496A (zh) * | 2014-10-27 | 2015-01-14 | 深圳中兴网信科技有限公司 | 虚拟资源的分配方法及分配装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110597626A (zh) * | 2019-08-23 | 2019-12-20 | 第四范式(北京)技术有限公司 | 在分布式系统中资源及任务的分配方法、装置及系统 |
CN110597626B (zh) * | 2019-08-23 | 2022-09-06 | 第四范式(北京)技术有限公司 | 在分布式系统中资源及任务的分配方法、装置及系统 |
CN111078399A (zh) * | 2019-11-29 | 2020-04-28 | 珠海金山网络游戏科技有限公司 | 一种基于分布式架构的资源分析方法及系统 |
CN111078399B (zh) * | 2019-11-29 | 2023-10-13 | 珠海金山数字网络科技有限公司 | 一种基于分布式架构的资源分析方法及系统 |
CN113157428A (zh) * | 2020-01-07 | 2021-07-23 | 阿里巴巴集团控股有限公司 | 基于容器的资源调度方法、装置及容器集群管理装置 |
CN113157428B (zh) * | 2020-01-07 | 2022-04-08 | 阿里巴巴集团控股有限公司 | 基于容器的资源调度方法、装置及容器集群管理装置 |
CN114064295A (zh) * | 2021-12-13 | 2022-02-18 | 南方电网数字电网研究院有限公司 | 一种结合变电网关的本地资源管理方法及系统 |
CN114064295B (zh) * | 2021-12-13 | 2022-06-21 | 南方电网数字电网研究院有限公司 | 一种结合变电网关的本地资源管理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
EP3475820A1 (en) | 2019-05-01 |
EP3475820A4 (en) | 2019-06-26 |
CN109478147B (zh) | 2021-12-14 |
KR20190028477A (ko) | 2019-03-18 |
KR102199275B1 (ko) | 2021-01-06 |
US10503558B2 (en) | 2019-12-10 |
US20190146848A1 (en) | 2019-05-16 |
WO2018010564A1 (en) | 2018-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109478147A (zh) | 分布式计算系统中的自适应资源管理 | |
Shakarami et al. | Resource provisioning in edge/fog computing: A comprehensive and systematic review | |
CN106020940B (zh) | 用于确定数据集的放置的存储层级的方法和系统 | |
US8566447B2 (en) | Virtual service switch | |
US7523454B2 (en) | Apparatus and method for routing a transaction to a partitioned server | |
US7571120B2 (en) | Computer implemented method for estimating future grid job costs by classifying grid jobs and storing results of processing grid job microcosms | |
Kumar et al. | Cloud datacenter workload estimation using error preventive time series forecasting models | |
CA3050406A1 (en) | Task management platform | |
US10783002B1 (en) | Cost determination of a service call | |
US11601338B2 (en) | Method for gathering traffic analytics data about a communication network | |
US20120303807A1 (en) | Operating cloud computing services and cloud computing information system | |
CN103403683A (zh) | 虚拟数据中心服务请求的基于能力的路由 | |
US20160366246A1 (en) | Computing resource deployment system | |
WO2016148963A1 (en) | Intelligent placement within a data center | |
US10748221B2 (en) | Application service aggregation and management | |
US20150161555A1 (en) | Scheduling tasks to operators | |
da Rosa Righi et al. | Enhancing performance of IoT applications with load prediction and cloud elasticity | |
CN102185926A (zh) | 一种云计算资源管理系统及方法 | |
Gupta et al. | Long range dependence in cloud servers: a statistical analysis based on google workload trace | |
Addya et al. | A game theoretic approach to estimate fair cost of VM placement in cloud data center | |
WO2016201161A1 (en) | Computing resource management system | |
US20210263718A1 (en) | Generating predictive metrics for virtualized deployments | |
US20060025981A1 (en) | Automatic configuration of transaction-based performance models | |
US7562410B2 (en) | System and method for managing a computer network | |
US20140214583A1 (en) | Data distribution system, method and program product |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |