CN109324890B - 资源管理方法、装置及计算机可读存储介质 - Google Patents
资源管理方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN109324890B CN109324890B CN201710641283.1A CN201710641283A CN109324890B CN 109324890 B CN109324890 B CN 109324890B CN 201710641283 A CN201710641283 A CN 201710641283A CN 109324890 B CN109324890 B CN 109324890B
- Authority
- CN
- China
- Prior art keywords
- job
- resource allocation
- resource
- target
- preset
- 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.)
- Active
Links
Images
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/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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Debugging And Monitoring (AREA)
Abstract
本公开提供了一种资源管理方法、装置及计算机可读存储介质,属于通信技术领域。方法包括:确定当前集群的剩余资源量,以及,确定当前集群对应的回归预测模型;根据剩余资源量和回归预测模型,确定作业集合中的每个作业在每个预设资源分配量下的执行时长,作业集合中包括至少一个待分配资源的作业,每个预设资源分配量之和不大于剩余资源量;根据每个作业在每个预设资源分配量下的执行时长,确定每个作业的目标资源分配量,任一作业在任一作业的目标资源分配量下的第一目标执行时长满足预设条件。本公开通过回归预测模型和剩余资源量,为每个作业分配资源,提高了资源利用率。
Description
技术领域
本公开涉及通信技术领域,特别涉及一种资源管理方法、装置及计算机可读存储介质。
背景技术
资源管理是数据处理平台实现快速响应的一项关键技术,是提升资源利用率、优化性能的核心手段。资源管理的基本原理是:管理服务器负责整个集群的资源;当集群中接收到新的作业时,为待运行的作业分配资源。
现有技术中,管理服务器为待运行的作业分配资源时,根据待运行的作业的性能需求,从历史运行的作业的性能需求中选择与待运行的作业的性能需求相似的作业,确定选择的作业的资源配置量,为待运行的作业分配该资源配置量。例如,资源为内存,待运行的作业为应用作业A,应用作业A的性能需求为400每秒查询率(Query Per Second,QPS);经相关性分析,应用作业B与应用作业A的性能需求相似,且应用作业B在8Cores/12GB内存下的性能是450;则管理服务器给应用作业A分配的资源为8Cores/12GB内存。
在实现本公开的过程中,发明人发现现有技术至少存在以下问题:
上述方法中是根据作业的相似和性能需求的相似性进行资源分配,然而根据以上例子可知,为应用作业A分配Cores/12GB内存的资源,应用作业A能够达到450的性能,而应用作业A的性能需求为400,由此可见,上述方式为作业分配资源会导致资源冗余和资源利用率低。
发明内容
为了解决现有技术的问题,本公开实施例提供了一种资源管理方法、装置及计算机可读存储介质。所述技术方案如下:
第一方面,本公开实施例提供了一种资源管理方法,所述方法包括:
确定当前集群的剩余资源量,以及,确定所述当前集群对应的回归预测模型,所述回归预测模型用于指示资源量和执行时长之间的关系;
根据所述剩余资源量和所述回归预测模型,确定作业集合中的每个作业在每个预设资源分配量下的执行时长,所述作业集合中包括至少一个待分配资源的作业,所述每个预设资源分配量之和不大于所述剩余资源量;
根据所述每个作业在每个预设资源分配量下的执行时长,确定所述每个作业的目标资源分配量,任一作业在所述任一作业的目标资源分配量下的第一目标执行时长满足预设条件,所述预设条件为所述第一目标执行时长小于预设时长,或者,所述第一目标执行时长与所述任一作业在指定资源分配量下的执行时长之差不大于预设阈值,所述指定资源分配量为所述每个预设资源分配量中,大于所述目标资源分配量且与所述目标资源分配量之差最小的资源分配量;
根据所述每个作业的目标资源分配量,为所述每个作业分配资源。
在本公开实施例中,管理服务器基于回归预测模型和剩余资源量,确定作业集合中的每个作业的目标资源分配量,根据每个作业的目标资源分配量,为每个作业分配资源。并且,任一作业在该任一作业的目标资源分配量下的第一目标执行时长满足预设条件,该预设条件为第一目标执行时长小于预设时长,或者,第一目标执行时长与任一作业在指定资源分配量下的执行时长之差不大于预设阈值,指定资源分配量为每个预设资源分配量中大于目标资源分配量且与目标资源分配量之差最小的资源分配量。由此可见,本公开实施例中,为每个作业分配的目标资源分配量均能保证作业的执行时长达到要求,从而实现资源分配的智能化,提高了资源的利用率。
在一个可能的实现方式中,所述确定所述当前集群对应的回归预测模型,包括:
获取多个样本作业的样本数据,任一样本作业的样本数据包括所述任一样本作业的资源分配量和所述任一样本作业在所述资源分配量下的执行时长;
根据所述多个样本作业的样本数据,确定所述回归预测模型包括的系数和偏移量;
根据所述回归预测模型包括的系数和偏移量,生成所述回归预测模型。
在本公开实施例中,基于样本作业的样本数据,训练回归预测模型,提高了回归预测模型的准确性,进而提高了后续基于回归预测模型确定每个作业的目标资源分配量的准确性。
在一个可能的实现方式中,所述根据所述剩余资源量和所述回归预测模型,确定作业集合中的每个作业在每个预设资源分配量下的执行时长,包括:
根据所述剩余资源量和所述作业集合中的每个作业,确定多组资源分配量,每组资源分配量包括多个预设资源分配量,一个预设资源分配量对应一个作业,且所述每组资源分配量之和不大于所述剩余资源量;
对于所述作业集合中的任一作业,从所述多组资源分配量确定所述任一作业对应的多个预设资源分配量,根据所述多个预设资源分配量和所述回归预测模型,确定所述任一作业在所述每个预设资源分配量下的执行时长。
在本公开实施例中,根据所述剩余资源量和所述作业集合中的每个作业,确定多组资源分配量,基于多组资源分配量确定每个作业的资源分配量。由于每组资源分配量之和不大于所述剩余资源量,从而保证了根据该剩余资源量,为每个作业分配资源,提高了分配资源量的效率。
在一个可能的实现方式中,所述根据所述剩余资源量和所述回归预测模型,确定作业集合中的每个作业在每个预设资源分配量下的执行时长,包括:
对于所述作业集合中的任一作业,根据所述剩余资源量,确定所述任一作业的多个预设资源分配量;
根据所述回归预测模型和所述每个预设资源分配量,确定所述任一作业在所述每个预设资源分配量下的执行时长。
在本公开实施例中,基于剩余资源量,为每个作业分配资源,从而能够保证每个作业的执行时长能够达到最优,提高了资源分配的准确性。
在一个可能的实现方式中,所述根据所述每个作业的目标资源分配量,为所述每个作业分配资源之后,所述方法还包括:
确定所述每个作业的第一目标执行时长和所述作业集合对所述每个作业的干扰率,所述任一作业的第一目标执行时长为所述任一作业在所述任一作业的目标资源分配量下的执行时长;
根据所述每个作业的第一目标执行时长、所述每个作业的目标资源分配量和所述集合对所述每个作业的干扰率,执行所述每个作业。
在本公开实施例中,根据所述每个作业的第一目标执行时长、所述每个作业的目标资源分配量和所述集合对所述每个作业的干扰率,执行所述每个作业,能够优化作业间的组合方式和并行数量,避免资源容器资源的空闲,降低了作业运行整体的完工时间,提高了作业执行的效率。
在一个可能的实现方式中,所述根据所述每个作业的第一目标执行时长、所述每个作业的目标资源分配量和所述作业集合对所述每个作业的干扰率,执行所述每个作业,包括:
确定所述当前集群对应的每个资源容器释放资源的时间,根据所述每个资源容器释放资源的时间,从所述每个资源容器中选择第一预设数目个最先释放资源的资源容器,所述资源容器用于存储资源;
根据所述作业集合中的每个作业的第一目标执行时长,从所述作业集合中选择第一目标执行时长最短的第二预设数目个作业,根据所述第二预设数目个作业的目标资源分配量、第一目标执行时长和所述作业集合对所述每个作业的干扰率,在所述第一预设数目个资源容器上执行所述第二预设数目个作业。
在一个可能的实现方式中,所述根据所述第二预设数目个作业的目标资源分配量、第一目标执行时长和所述作业集合对所述每个作业的干扰率,在所述第一预设数目个资源容器上执行所述第二预设数目个作业,包括:
根据所述第一预设数目个资源容器和所述第二预设数目个作业,构建部署树,所述部署树包括至少一个节点,每个节点部署一个资源容器;
根据所述作业集合对所述每个作业的干扰率和所述第二预设数目个作业中的每个作业的第一目标执行时长,确定所述每个作业的第二目标执行时长;
根据所述每个作业的第二目标执行时长以及所述部署树中的每个叶子节点上的资源容器,确定总执行时长最短的目标部署方式,所述部署方式包括所述第二预设数目个作业部署的资源容器标识;
根据所述目标部署方式,在所述第一预设数目个资源容器中执行所述第二预设数目个作业。
第二方面,本公开实施例提供了一种资源管理装置,所述装置包括:
确定单元,用于确定当前集群的剩余资源量,以及,确定所述当前集群对应的回归预测模型,所述回归预测模型用于指示资源量和执行时长之间的关系;
所述确定单元,还用于根据所述剩余资源量和所述回归预测模型,确定作业集合中的每个作业在每个预设资源分配量下的执行时长,所述作业集合中包括至少一个待分配资源的作业,所述每个预设资源分配量之和不大于所述剩余资源量;
所述确定单元,还用于根据所述每个作业在每个预设资源分配量下的执行时长,确定所述每个作业的目标资源分配量,任一作业在所述任一作业的目标资源分配量下的第一目标执行时长满足预设条件,所述预设条件为所述第一目标执行时长小于预设时长,或者,所述第一目标执行时长与所述任一作业在指定资源分配量下的执行时长之差不大于预设阈值,所述指定资源分配量为所述每个预设资源分配量中,大于所述目标资源分配量且与所述目标资源分配量之差最小的资源分配量;
分配单元,用于根据所述每个作业的目标资源分配量,为所述每个作业分配资源。
在一个可能的实现方式中,所述确定单元,还用于获取多个样本作业的样本数据,任一样本作业的样本数据包括所述任一样本作业的资源分配量和所述任一样本作业在所述资源分配量下的执行时长;根据所述多个样本作业的样本数据,确定所述回归预测模型包括的系数和偏移量;根据所述回归预测模型包括的系数和偏移量,生成所述回归预测模型。
在一个可能的实现方式中,所述确定单元,还用于根据所述剩余资源量和所述作业集合中的每个作业,确定多组资源分配量,每组资源分配量包括多个预设资源分配量,一个预设资源分配量对应一个作业,且所述每组资源分配量之和不大于所述剩余资源量;对于所述作业集合中的任一作业,从所述多组资源分配量确定所述任一作业对应的多个预设资源分配量,根据所述多个预设资源分配量和所述回归预测模型,确定所述任一作业在所述每个预设资源分配量下的执行时长。
在一个可能的实现方式中,所述确定单元,还用于对于所述作业集合中的任一作业,根据所述剩余资源量,确定所述任一作业的多个预设资源分配量;根据所述回归预测模型和所述每个预设资源分配量,确定所述任一作业在所述每个预设资源分配量下的执行时长。
在一个可能的实现方式中,所述装置还包括:
所述确定单元,还用于确定所述每个作业的第一目标执行时长和所述作业集合对所述每个作业的干扰率,所述任一作业的第一目标执行时长为所述任一作业在所述任一作业的目标资源分配量下的执行时长;
执行单元,用于根据所述每个作业的第一目标执行时长、所述每个作业的目标资源分配量和所述集合对所述每个作业的干扰率,执行所述每个作业。
在一个可能的实现方式中,所述执行单元,还用于确定所述当前集群对应的每个资源容器释放资源的时间,根据所述每个资源容器释放资源的时间,从所述每个资源容器中选择第一预设数目个最先释放资源的资源容器,所述资源容器用于存储资源;根据所述作业集合中的每个作业的第一目标执行时长,从所述作业集合中选择第一目标执行时长最短的第二预设数目个作业,根据所述第二预设数目个作业的目标资源分配量、第一目标执行时长和所述作业集合对所述每个作业的干扰率,在所述第一预设数目个资源容器上执行所述第二预设数目个作业。
在一个可能的实现方式中,所述执行单元,还用于根据所述第一预设数目个资源容器和所述第二预设数目个作业,构建部署树,所述部署树包括至少一个节点,每个节点部署一个资源容器;根据所述作业集合对所述每个作业的干扰率和所述第二预设数目个作业中的每个作业的第一目标执行时长,确定所述每个作业的第二目标执行时长;根据所述每个作业的第二目标执行时长以及所述部署树中的每个叶子节点上的资源容器,确定总执行时长最短的目标部署方式,所述部署方式包括所述第二预设数目个作业部署的资源容器标识;根据所述目标部署方式,在所述第一预设数目个资源容器中执行所述第二预设数目个作业。
第三方面,本公开实施例提供了一种资源管理装置,所述装置包括:网络接口、存储器、处理器;
所述网络接口用于接收报文;
所述存储器用于存储指令和数据;
所述处理器,用于读取所述存储器中存储的指令和数据,执行:
确定当前集群的剩余资源量,以及,确定所述当前集群对应的回归预测模型,所述回归预测模型用于指示资源量和执行时长之间的关系;
根据所述剩余资源量和所述回归预测模型,确定作业集合中的每个作业在每个预设资源分配量下的执行时长,所述作业集合中包括至少一个待分配资源的作业,所述每个预设资源分配量之和不大于所述剩余资源量;
根据所述每个作业在每个预设资源分配量下的执行时长,确定所述每个作业的目标资源分配量,任一作业在所述任一作业的目标资源分配量下的第一目标执行时长满足预设条件,所述预设条件为所述第一目标执行时长小于预设时长,或者,所述第一目标执行时长与所述任一作业在指定资源分配量下的执行时长之差不大于预设阈值,所述指定资源分配量为所述每个预设资源分配量中,大于所述目标资源分配量且与所述目标资源分配量之差最小的资源分配量;
根据所述每个作业的目标资源分配量,为所述每个作业分配资源。
第四方面,本公开实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如第一方面任一项的资源管理方法。
本公开实施例提供的技术方案带来的有益效果是:
在本公开实施例中,管理服务器基于回归预测模型和剩余资源量,确定作业集合中的每个作业的目标资源分配量,根据每个作业的目标资源分配量,为每个作业分配资源。并且,任一作业在该任一作业的目标资源分配量下的第一目标执行时长满足预设条件,该预设条件为第一目标执行时长小于预设时长,或者,第一目标执行时长与任一作业在指定资源分配量下的执行时长之差不大于预设阈值,指定资源分配量为每个预设资源分配量中大于目标资源分配量且与目标资源分配量之差最小的资源分配量。由此可见,本公开实施例中,为每个作业分配的目标资源分配量均能保证作业的执行时长达到要求,从而实现资源分配的智能化,提高了资源的利用率。
附图说明
图1是本公开实施例提供的一种资源管理装置结构示意图;
图2是本公开实施例提供的一种资源管理方法流程图;
图3是本公开实施例提供的一种资源管理装置结构示意图;
图4是本公开实施例提供的一种资源管理装置结构示意图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开实施方式作进一步地详细描述。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
图1是根据一示例性实施例示出的一种资源管理装置100的框图。例如,装置100可以被提供为一服务器,用于执行下述资源管理方法中的管理服务器执行的步骤。参照图1,装置100包括处理组件122,其进一步包括一个或多个处理器,以及由存储器132所代表的存储器资源,用于存储可由处理部件122的执行的指令,例如应用程序。存储器1932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件122被配置为执行指令,以执行上述资源管理方法。
装置100还可以包括一个电源组件126被配置为执行装置100的电源管理,一个有线或无线网络接口1950被配置为将装置1900连接到网络,和一个输入输出(I/O)接口1958。装置1900可以操作基于存储在存储器1932的操作系统,例如Windows ServerTM,Mac OSXTM,UnixTM,LinuxTM,FreeBSDTM或类似。
处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,下述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。这些指令可以通过其中的处理器以配合实现及控制,用于执行本公开实施例揭示的方法。上述处理器还可以是通用处理器、数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(applicationspecific integrated circuit)、现成可编程门阵列(Field ProgrammableGate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
其中,上述通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器,解码器等。结合本公开实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。
本公开实施例提供了一种资源管理方法,该方法的执行主体为管理服务器,参见图2,该方法包括:
步骤201:管理服务器确定当前集群的剩余资源量。
管理服务器在为作业分配资源时,管理服务器需要确定当前集群的剩余资源量,以确保为作业分配的资源不大于当前集群的剩余资源量。其中,当前集群中的资源包括中央处理器(Central Processing Unit,CPU)、内存和输入输出(Input/Output,IO)资源量中的至少一项。
管理服务器中存储当前集群中的资源总量,并且管理服务器每次分配资源后,管理服务器确定当前集群的剩余资源量,并存储当前集群的剩余资源量。在本步骤中,管理服务器获取已存储的剩余资源量。其中,剩余资源量包括剩余CPU资源量、剩余内存资源量和剩余IO资源量中的至少一项。
步骤202:管理服务器确定当前集群对应的回归预测模型。
回归预测模型用于指示资源量和执行时长之间的关系,且回归预测模型用于确定作业在指定资源量下的执行时长。在本步骤中,管理服务器通过样本数据,确定回归预测模型。相应的,本步骤可以通过以下步骤(1)至(3)实现,包括:
(1):管理服务器获取多个样本作业的样本数据。
任一样本作业的样本数据包括该任一样本作业的资源分配量和该任一样本在该资源分配量下的执行时长,并且,该任一样本作业的样本数据还可以包括该任一样本作业的数据量。
资源分配量包括CPU资源量、内存资源量和IO资源量中的至少一项。在公开实施例中,以资源分配量包括CPU资源量、内存资源量和IO资源量为例进行说明。则管理服务器采集n个样本数据,分别为:x1={(x11,x12,x13,x14),y1},x2={(x21,x22,x23,x24),y2}……xn={(xn1,xn2,xn3,xn4),yn}。
其中,xj为第j个样本作业的样本数据,xj1,xj2,xj3,xj4分别为第j个样本作业的数据量、CPU资源量、内存资源量和IO资源量,yj为第j个作业的执行时长。j为样本作业的序号,n为样本作业的总数量。
(2):管理服务器根据每个样本作业的样本数据,确定回归预测模型的系数和偏移量。
其中,回归预测模型f(x)=w·φ(x)+b;w为回归预测模型的系数,b为回归预测模型的偏移量,φ(x)为原问题空间到高维特征空间的非线性映射,也即资源量与执行时长的非线性映射。
管理服务器根据每个样本作业的样本数据,通过以下公式一,确定回归预测模型的系数和偏移量:
(3):管理服务器根据回归预测模型的系数和偏移量,生成回归预测模型。
其中,回归预测模型f(x)=w·φ(x)+b,在步骤(2)中已经确定出w和b,将w和b带入回归预测模型公式中,即可得到回归预测模型。
步骤203:管理服务器根据剩余资源量和回归预测模型,确定作业集合中的每个作业在每个预设资源分配量下的执行时长,作业集合中包括至少一个待分配资源的作业。
当终端需要执行某个作业时,需要请求管理服务器为作业分配资源。此时,终端向管理服务器发送资源分配请求,该资源分配请求携带待分配资源的作业和数据量。管理服务器接收该资源分配请求,获取待分配资源的作业和数据量。在本公开实施例中,管理服务器可以接收到资源分配请求时,直接根据该作业的数据量,为该资源分配请求携带的待分配资源的作业分配资源。管理服务器也可以接收到资源分配请求时,将该资源分配请求携带的待分配资源的作业添加到作业集合中,每隔一段时间,管理服务器统一为作业集合中的作业分配资源。
在本步骤中,管理服务器为作业分配资源时,管理服务器为作业集群中的每个作业分配资源,以保证作业集群中的所有作业的资源分配量之和不大于剩余资源量,也即以下第一种实现方式。管理服务器也可以为作业集群中的每个作业分配资源,以保证每个作业的资源分配量不大于剩余资源量,也即以下第二种实现方式。
对于第一种实现方式,本步骤可以通过以下步骤(1)和(2)实现,包括:
(1):管理服务器根据剩余资源量和作业集合中的每个作业,确定多组资源分配量,每组资源分配量包括多个预设资源分配量,一个预设资源分配量对应一个作业,且每组资源分配量之和不大于剩余资源量。
例如,剩余资源量包括剩余内存量,且剩余内存量为6G,作业集合中包括3个作业,分别为作业1、作业2和作业3;管理服务器确定3组资源分配量。第一组资源分配量包括1G(作业1对应的资源分配量)、2G(作业2对应的资源分配量)和3G(作业3对应的资源分配量)。第二组资源分配量包括2G(作业1对应的资源分配量)、3G(作业2对应的资源分配量)和1G(作业3对应的资源分配量)。第三组资源分配量包括3G(作业1对应的资源分配量)、1G(作业2对应的资源分配量)和2G(作业3对应的资源分配量)。
(2):管理服务器对于作业集合中的任一作业,从多组资源分配量确定任一作业对应的多个预设资源分配量,根据多个预设资源分配量和回归预测模型,确定任一作业在每个预设资源分配量下的执行时长。
对于作业1,管理服务器从多组资源分配量中确定作业1对应的多个预设资源分配量为1G、2G和3G。管理服务器将每个预设资源分配量和作业1的数据量输入回归预测模型中,输出作业1在每个预设资源分配量下的执行时长。
对于第二种实现方式,本步骤可以通过以下步骤(A)和(B)实现,包括:
(A):对于作业集合中的任一作业,管理服务器根据剩余资源量,确定该任一作业的多个预设资源分配量,每个预设资源分配量不大于剩余资源量。
每个预设资源分配量按照从大到小或者从小到大的顺序排列后,相邻两个预设资源分配量之差相等。例如,剩余资源量包括剩余内存量,且剩余内存量为5G。管理服务器确定该任一作业的多个预设资源分配量分别为1G、2G、3G、4G和5G。
(B):管理服务器根据回归预测模型和每个预设资源分配量,确定任一作业在每个预设资源分配量下的执行时长。
管理服务器将每个预设资源分配量和该任一作业的数据量输入回归预测模型中,输出该任一作业在每个预设资源分配量下的执行时长。
需要说明的是,如果管理服务器接收到资源分配请求时,直接根据该资源分配请求携带的作业的数据量,为该资源分配请求携带的待分配资源的作业分配资源时,管理服务器可以通过以上第二种实现方式实现。
步骤204:管理服务器根据每个作业在每个预设资源分配量下的执行时长,确定每个作业的目标资源分配量。
任一作业在该任一作业的目标资源分配量下的第一目标执行时长满足预设条件。其中,预设条件为第一目标执行时长小于预设时长,或者,第一目标执行时长与该任一作业在指定资源分配量下的执行时长不大于第一预设阈值,指定资源分配量为每个预设资源分配量中大于该目标资源分配量且与该目标资源分配量之差最小的资源分配量。
相应的,当预设条件为第一目标执行时长小于预设时长时,本步骤可以为:
管理服务器根据该任一作业在每个预设资源分配量下的执行时长,从多个预设资源分配量中选择执行时长小于预设时长,且资源分配量最小的资源分配量作为该任一作业的目标资源分配量。
预设时长可以根据该作业的数据量进行设置并更改,在本公开实施例中,对预设时长不作具体限定。例如,任一作业对应的预设时长与该任一作业的数据量成正比例关系。当该任一作业的数据量为3M时,该任一作业对应的预设时长可以为3s;当该任一作业的数据量为5M时,该任一作业对应的预设时长可以为5s。
当预设条件为第一目标执行时长与该任一作业在指定资源分配量下的执行时长不大于第一预设阈值,指定资源分配量为每个预设资源分配量中小于该目标资源分配量且与该目标资源分配量之差最小的资源分配量时,本步骤可以为:
管理服务器根据该任一作业在每个预设资源分配量下的执行时长,建立该任一作业的执行时长与资源分配量之间的趋势关系,确定该任一作业的执行时长不随资源分配量明显递减的临界点,将该临界点对应的资源分配量确定为该任一作业的目标资源分配量。
第一预设阈值可以根据需要进行设置并更改,在本公开实施例中,对第一预设阈值不作具体限定;例如,第一预设阈值可以为0.1s或者0.5s等。
例如,每个预设资源分配量分别为1G、2G、3G、4G和5G,该任一作业在1G、2G、3G、4G和5G下的执行时长分别为10s,5s、4s、3.9s,3.8s,3.6s。第一预设阈值为0.5s;则管理服务器确定出该任一作业在2G和3G下的执行时长之差小于0.5s,则将2G确定为该任一作业的目标资源分配量。
由于资源包括内存、CPU和IO中的至少一项;也即资源包括多个维度的资源,本步骤可以通过以下步骤(1)至(4)实现,包括:
(1):管理服务器确定该任一作业的初始资源分配量。
其中,该任一作业的初始资源分配量为该任一作业的执行时长取最小值时的资源分配量。
例如,该任一作业的初始资源分配量为:x0=miny{x},初始化迭代次数计数值k=0。其中,x0为该任一作业的初始资源分配量,y为执行时长的最小值,x为资源分配量。
(2):管理服务器将迭代次数加一,得到k=k+1,并确定第k次迭代的资源分配量。
管理服务器确定k次的前一次迭代(k-1)的资源分配量,根据该前一次迭代的资源分配量更新量,通过以下公式二,确定第k次迭代的资源分配量。
公式二:xk=xk-1-▽(xki)
其中,xk为第k次迭代的资源分配量,xk-1为第k-1次迭代的资源分配量,▽(xki)为该更新量。
其中,更新量I(x(k-1)i)为第i维资源量的更新值,φ(xk-1-I(x(k-1)i))为资源配置量xk-1减去I(x(k-1)i)单位后得到的执行时长。因此,▽(xki)为单位更新量上执行时间增加最小的第i维资源量的更新值,并且能满足阀值的要求。第i维资源量可以为内存、CPU或者IO资源量。
(3):管理服务器判断该任一作业的当前资源分配量中的各个维度的资源分配量是否小于或者等于第二预设阈值,如果各个维度的资源分配量都小于或者等于第二预设阈值,将当前的资源分配量确定为该任一作业的目标资源分配量。如果各个维度的资源分配量大于第二预设阈值继续迭代,直到各个维度的资源分配量都小于或者等于第二预设阈值,将当前的资源分配量确定为该任一作业的目标资源分配量。
或者,管理服务器判断该任一作业的执行时长是否大于或等于第三预设阈值;如果该任一作业的执行时长大于或等于第三预设阈值,将当前的资源分配量确定为该任一作业的目标资源分配量。如果该任一作业的执行时长小于第三预设阈值,继续迭代,直到该任一作业的执行时长大于或等于第三预设阈值,将当前的资源分配量确定为该任一作业的目标资源分配量。
第二预设阈值和第三预设阈值都可以根据需要进行设置并更改,在本公开实施例中,对第二预设阈值和第三预设阈值都不作具体限定。第三预设阈值为该任一作业的初始资源分配量下的执行时长与(1+第二预设阈值)的乘积。例如,第二预设阈值为ε,则第三预设阈值为(1+ε)*φ(x0)。并且,φ(x0)≥(1+ε)φ(x0)。
步骤205:管理服务器根据每个作业的目标资源分配量,为每个作业分配资源。
对于任一作业,管理服务器为该任一作业分配该任一作业的目标资源分配量。
需要说明的是,当作业集群中的所有作业的资源分配量之和不大于当前集群的剩余资源,在本步骤中,管理服务器直接为该任一作业分配该任一作业的目标资源分配量。当作业集群中的所有作业的资源分配量之和大于当前集群的剩余资源时,在本步骤中,管理服务器根据该剩余资源量、该作业集合中的每个作业的优先级和每个作业的目标资源分配量,为每个作业分配资源。
管理服务器根据该剩余资源量、该作业集合中的每个作业的优先级和每个作业的目标资源分配量,为每个作业分配资源的步骤可以为:
管理服务器根据该剩余资源量、该作业集合中的每个作业的优先级和每个作业的目标资源分配量,从该作业集合中选择至少一个作业,选择的作业的目标资源分配量之和不大于该剩余资源量,且选择的作业的优先级高于作业集合中未选择的作业。管理服务器根据该选择的作业的目标资源分配量,为该选择的作业分配资源。
由于当前集群中的作业是循环可利用的;当某个作业通过该作业的资源执行完该作业之后,管理服务器就释放该作业的资源,将该释放的资源分配给其他作业。因此,对于该作业集合中未选择的作业,在当前集群中有被释放的资源时,管理服务器根据未选择的作业的目标资源分配量,为未选择的作业分配被释放的资源。
在本公开实施例中,管理服务器确定出每个作业的目标资源分配量后,需要对每个作业在时间轴上的组合方式和并行数量做出决策,也即以下步骤206和207确定出作业集合中每个作业间的组合方式和并行数量,基于该组合方式和并行数量,执行作业集群中的每个作业。
步骤206:管理服务器确定每个作业的第一目标执行时长和作业集合对每个作业的干扰率,任一作业的第一目标执行时长为任一作业在任一作业的目标资源分配量下的执行时长。
在步骤204中管理服务器确定出该任一作业的目标资源分配量时,记录该任一作业在该任一作业的目标资源分配量下的执行时长。相应的,在本步骤中,管理服务器直接获取已记录的该任一作业在该任一作业的目标资源分配量下的第一目标执行时长。
在本步骤中,管理服务器还可以基于回归预测模型,计算出每个作业的第一目标执行时长,该过程可以为:
管理服务器将该任一作业的目标资源分配量和数据量输入到回归预测模型中,输出该任一作业在该任一作业对应的目标资源分配量下的第一目标执行时长。
对于作业集合中的任一作业,管理服务器确定作业集合对该任一作业的干扰率的步骤可以为:
管理服务器确定初始化作业对该任一作业的性能干扰率,根据初始化作业对该任一作业的性能干扰率,通过以下公式三,确定作业集合对该任一作业的干扰率。
公式三:djJ=Πj'∈J(1+djj')-1
其中,djJ为作业集合对该任一作业的干扰率,J为作业集合,j为该任一作业;djj'为初始化作业对该任一作业的性能干扰率。
步骤207:管理服务器根据每个作业的第一目标执行时长、每个作业的目标资源分配量和作业集合对每个作业的干扰率,执行每个作业。
本步骤可以通过以下步骤(1)至(4)实现,包括:
(1):管理服务器确定当前集群对应的每个资源容器释放资源的时间。
管理服务器中存储每个资源容器的资源状态,该资源状态包括释放资源的时间。相应的,在本步骤中,对于当前集群中的任一资源容器,管理服务器从该任一资源容器的资源状态中获取该任一资源容器释放资源的时间。
(2):管理服务器根据每个资源容器释放资源的时间,从每个资源容器中选择第一预设数目个最先释放资源的资源容器。
第一预设数目可以根据需要进行设置并更改,在本公开实施例中,对第一预设数目不作具体限定。例如,第一预设数目可以为5或者10等。
(3):管理服务器根据每个作业的第一目标执行时长,从每个作业中选择第一目标执行时长最短的第二预设数目个作业。
管理服务器将每个作业的第一目标执行时长进行降序排序,记排序后的作业集合为J={Jj};从作业集合J中按序选择K(第二预设数目)个在时刻能在资源容器上部署的作业集合,即满足作业和容器的资源限制约束,记为Kj={Jj}(j∈1,2,…,K)。
(4):管理服务器根据第二预设数目个作业的目标资源分配量和作业集合对每个作业的干扰率,在第一预设数目个资源容器上执行第二预设数目个作业。
(4-1):管理服务器根据第一预设数目个资源容器和第二预设数目个作业,构建部署树,部署树包括至少一个节点,每个节点部署一个资源容器。
(4-2):管理服务器根据作业集合对每个作业的干扰率和第二预设数目个作业中的每个作业的第一目标执行时长,确定每个作业的第二目标执行时长。
对于第二预设数目个作业中的任一作业,管理服务器根据该任一作业的第一目标执行时长和作业集合对该作业的干扰率,通过以下公式四,确定该任一作业的第二目标执行时长。
(4-3):管理服务器根据每个作业的第二目标执行时长以及部署树中的每个叶子节点上的资源容器,确定总执行时长最短的目标部署方式,目标部署方式包括第二预设数目个作业部署的资源容器标识。
管理服务器确定多个预设部署方式,每个预设部署方式包括每个作业部署的资源容器的标识。对于任一预设部署方式,管理服务器确定该任一预设部署方式中,根据该作业的第二目标执行时长,确定该任一预设部署方式对应的总执行时长。管理服务器确定出每个预设部署方式的总执行时长,根据每个预设部署方式的总执行时长,从多个预设部署方式中选择总执行时长最短的目标部署方式。
(4-4):管理服务器根据目标部署方式,在第一预设数目个资源容器中执行第二预设数目个作业。
管理服务器确定出目标部署方式之后,基于目标部署方式,在第一预设数目个资源容器中部署第二预设数目个作业,从而在第一预设数目个资源容器中执行第二预设数目个作业。
需要说明的是,由于在步骤(3)中,管理服务器从作业集合中选择了第二预设数目个作业,该作业集合中可能还存在未选择的作业。因此,管理服务器执行完步骤(4)后,管理服务器将第二预设数目个作业从作业集合中删除,并重新执行以上步骤(1),直到作业集合为空集,从而执行完作业集合中的所有作业。
在本公开实施例中,管理服务器基于回归预测模型和剩余资源量,确定作业集合中的每个作业的目标资源分配量,根据每个作业的目标资源分配量,为每个作业分配资源。并且,任一作业在该任一作业的目标资源分配量下的第一目标执行时长满足预设条件,该预设条件为第一目标执行时长小于预设时长,或者,第一目标执行时长与任一作业在指定资源分配量下的执行时长之差不大于预设阈值,指定资源分配量为每个预设资源分配量中大于目标资源分配量且与目标资源分配量之差最小的资源分配量。由此可见,本公开实施例中,为每个作业分配的目标资源分配量均能保证作业的执行时长达到要求,从而实现资源分配的智能化,提高了资源的利用率。
本公开实施例提供了一种资源管理装置,参见图3,该装置应用在管理服务器中,用于执行以上实施例中资源管理方法中的管理服务器中的步骤;该装置包括:
确定单元301,用于确定当前集群的剩余资源量,以及,确定该当前集群对应的回归预测模型,该回归预测模型用于指示资源量和执行时长之间的关系;
该确定单元301,还用于根据该剩余资源量和该回归预测模型,确定作业集合中的每个作业在每个预设资源分配量下的执行时长,该作业集合中包括至少一个待分配资源的作业,该每个预设资源分配量之和不大于该剩余资源量;
该确定单元301,还用于根据该每个作业在每个预设资源分配量下的执行时长,确定该每个作业的目标资源分配量,任一作业在该任一作业的目标资源分配量下的第一目标执行时长满足预设条件,该预设条件为该第一目标执行时长小于预设时长,或者,该第一目标执行时长与该任一作业在指定资源分配量下的执行时长之差不大于预设阈值,该指定资源分配量为该每个预设资源分配量中,大于该目标资源分配量且与该目标资源分配量之差最小的资源分配量;
分配单元302,用于根据该每个作业的目标资源分配量,为该每个作业分配资源。
在一个可能的实现方式中,该确定单元301,还用于获取多个样本作业的样本数据,任一样本作业的样本数据包括该任一样本作业的资源分配量和该任一样本作业在该资源分配量下的执行时长;根据该多个样本作业的样本数据,确定该回归预测模型包括的系数和偏移量;根据该回归预测模型包括的系数和偏移量,生成该回归预测模型。
在一个可能的实现方式中,该确定单元301,还用于根据该剩余资源量和该作业集合中的每个作业,确定多组资源分配量,每组资源分配量包括多个预设资源分配量,一个预设资源分配量对应一个作业,且该每组资源分配量之和不大于该剩余资源量;对于该作业集合中的任一作业,从该多组资源分配量确定该任一作业对应的多个预设资源分配量,根据该多个预设资源分配量和该回归预测模型,确定该任一作业在该每个预设资源分配量下的执行时长。
在一个可能的实现方式中,该确定单元301,还用于对于该作业集合中的任一作业,根据该剩余资源量,确定该任一作业的多个预设资源分配量;根据该回归预测模型和该每个预设资源分配量,确定该任一作业在该每个预设资源分配量下的执行时长。
在一个可能的实现方式中,参见图4,该装置还包括:
该确定单元301,还用于确定该每个作业的第一目标执行时长和该作业集合对该每个作业的干扰率,该任一作业的第一目标执行时长为该任一作业在该任一作业的目标资源分配量下的执行时长;
执行单元303,用于根据该每个作业的第一目标执行时长、该每个作业的目标资源分配量和该集合对该每个作业的干扰率,执行该每个作业。
在一个可能的实现方式中,该执行单元303,还用于确定该当前集群对应的每个资源容器释放资源的时间,根据该每个资源容器释放资源的时间,从该每个资源容器中选择第一预设数目个最先释放资源的资源容器,该资源容器用于存储资源;根据该作业集合中的每个作业的第一目标执行时长,从该作业集合中选择第一目标执行时长最短的第二预设数目个作业,根据该第二预设数目个作业的目标资源分配量、第一目标执行时长和该作业集合对该每个作业的干扰率,在该第一预设数目个资源容器上执行该第二预设数目个作业。
在一个可能的实现方式中,该执行单元303,还用于根据该第一预设数目个资源容器和该第二预设数目个作业,构建部署树,该部署树包括至少一个节点,每个节点部署一个资源容器;根据该作业集合对该每个作业的干扰率和该第二预设数目个作业中的每个作业的第一目标执行时长,确定该每个作业的第二目标执行时长;根据该每个作业的第二目标执行时长以及该部署树中的每个叶子节点上的资源容器,确定总执行时长最短的目标部署方式,该部署方式包括该第二预设数目个作业部署的资源容器标识;根据该目标部署方式,在该第一预设数目个资源容器中执行该第二预设数目个作业。
在本公开实施例中,管理服务器基于回归预测模型和剩余资源量,确定作业集合中的每个作业的目标资源分配量,根据每个作业的目标资源分配量,为每个作业分配资源。并且,任一作业在该任一作业的目标资源分配量下的第一目标执行时长满足预设条件,该预设条件为第一目标执行时长小于预设时长,或者,第一目标执行时长与任一作业在指定资源分配量下的执行时长之差不大于预设阈值,指定资源分配量为每个预设资源分配量中大于目标资源分配量且与目标资源分配量之差最小的资源分配量。由此可见,本公开实施例中,为每个作业分配的目标资源分配量均能保证作业的执行时长达到要求,从而实现资源分配的智能化,提高了资源的利用率。
需要说明的是:上述实施例提供的资源管理的装置在资源管理时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的资源管理的装置与资源管理的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器,上述指令可由资源管理装置的处理器执行以完成上述资源管理方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本公开的可选实施例,并不用以限制本公开,凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (14)
1.一种资源管理方法,其特征在于,所述方法包括:
确定当前集群的剩余资源量,以及,确定所述当前集群对应的回归预测模型,所述回归预测模型用于指示资源量和执行时长之间的关系;
根据所述剩余资源量和作业集合中的每个作业,确定多组资源分配量,每组资源分配量包括多个预设资源分配量,一个预设资源分配量对应一个作业,且所述每组资源分配量之和不大于所述剩余资源量,所述作业集合中包括至少一个待分配资源的作业;
对于所述作业集合中的任一作业,从所述多组资源分配量确定所述任一作业对应的多个预设资源分配量,根据所述多个预设资源分配量和所述回归预测模型,确定所述任一作业在每个预设资源分配量下的执行时长;
根据所述每个作业在每个预设资源分配量下的执行时长,确定所述每个作业的目标资源分配量,任一作业在所述任一作业的目标资源分配量下的第一目标执行时长满足预设条件,所述预设条件为所述第一目标执行时长小于预设时长,或者,所述第一目标执行时长与所述任一作业在指定资源分配量下的执行时长之差不大于预设阈值,所述指定资源分配量为所述每个预设资源分配量中,大于所述目标资源分配量且与所述目标资源分配量之差最小的资源分配量;
根据所述每个作业的目标资源分配量,为所述每个作业分配资源。
2.根据权利要求1所述的方法,其特征在于,所述确定所述当前集群对应的回归预测模型,包括:
获取多个样本作业的样本数据,任一样本作业的样本数据包括所述任一样本作业的资源分配量和所述任一样本作业在所述资源分配量下的执行时长;
根据所述多个样本作业的样本数据,确定所述回归预测模型包括的系数和偏移量;
根据所述回归预测模型包括的系数和偏移量,生成所述回归预测模型。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对于所述作业集合中的任一作业,根据所述剩余资源量,确定所述任一作业的多个预设资源分配量;
根据所述回归预测模型和所述每个预设资源分配量,确定所述任一作业在所述每个预设资源分配量下的执行时长。
4.根据权利要求1所述的方法,其特征在于,所述根据所述每个作业的目标资源分配量,为所述每个作业分配资源之后,所述方法还包括:
确定所述每个作业的第一目标执行时长和所述作业集合对所述每个作业的干扰率,所述任一作业的第一目标执行时长为所述任一作业在所述任一作业的目标资源分配量下的执行时长;
根据所述每个作业的第一目标执行时长、所述每个作业的目标资源分配量和所述集合对所述每个作业的干扰率,执行所述每个作业。
5.根据权利要求4所述的方法,其特征在于,所述根据所述每个作业的第一目标执行时长、所述每个作业的目标资源分配量和所述作业集合对所述每个作业的干扰率,执行所述每个作业,包括:
确定所述当前集群对应的每个资源容器释放资源的时间,根据所述每个资源容器释放资源的时间,从所述每个资源容器中选择第一预设数目个最先释放资源的资源容器,所述资源容器用于存储资源;
根据所述作业集合中的每个作业的第一目标执行时长,从所述作业集合中选择第一目标执行时长最短的第二预设数目个作业,根据所述第二预设数目个作业的目标资源分配量、第一目标执行时长和所述作业集合对所述每个作业的干扰率,在所述第一预设数目个资源容器上执行所述第二预设数目个作业。
6.根据权利要求5所述的方法,其特征在于,所述根据所述第二预设数目个作业的目标资源分配量、第一目标执行时长和所述作业集合对所述每个作业的干扰率,在所述第一预设数目个资源容器上执行所述第二预设数目个作业,包括:
根据所述第一预设数目个资源容器和所述第二预设数目个作业,构建部署树,所述部署树包括至少一个节点,每个节点部署一个资源容器;
根据所述作业集合对所述每个作业的干扰率和所述第二预设数目个作业中的每个作业的第一目标执行时长,确定所述每个作业的第二目标执行时长;
根据所述每个作业的第二目标执行时长以及所述部署树中的每个叶子节点上的资源容器,确定总执行时长最短的目标部署方式,所述部署方式包括所述第二预设数目个作业部署的资源容器标识;
根据所述目标部署方式,在所述第一预设数目个资源容器中执行所述第二预设数目个作业。
7.一种资源管理装置,其特征在于,所述装置包括:
确定单元,用于确定当前集群的剩余资源量,以及,确定所述当前集群对应的回归预测模型,所述回归预测模型用于指示资源量和执行时长之间的关系;
所述确定单元,还用于根据所述剩余资源量和作业集合中的每个作业,确定多组资源分配量,每组资源分配量包括多个预设资源分配量,一个预设资源分配量对应一个作业,且所述每组资源分配量之和不大于所述剩余资源量;对于所述作业集合中的任一作业,从所述多组资源分配量确定所述任一作业对应的多个预设资源分配量,根据所述多个预设资源分配量和所述回归预测模型,确定所述任一作业在每个预设资源分配量下的执行时长,所述作业集合中包括至少一个待分配资源的作业;
所述确定单元,还用于根据所述每个作业在每个预设资源分配量下的执行时长,确定所述每个作业的目标资源分配量,任一作业在所述任一作业的目标资源分配量下的第一目标执行时长满足预设条件,所述预设条件为所述第一目标执行时长小于预设时长,或者,所述第一目标执行时长与所述任一作业在指定资源分配量下的执行时长之差不大于预设阈值,所述指定资源分配量为所述每个预设资源分配量中,大于所述目标资源分配量且与所述目标资源分配量之差最小的资源分配量;
分配单元,用于根据所述每个作业的目标资源分配量,为所述每个作业分配资源。
8.根据权利要求7所述的装置,其特征在于,
所述确定单元,还用于获取多个样本作业的样本数据,任一样本作业的样本数据包括所述任一样本作业的资源分配量和所述任一样本作业在所述资源分配量下的执行时长;根据所述多个样本作业的样本数据,确定所述回归预测模型包括的系数和偏移量;根据所述回归预测模型包括的系数和偏移量,生成所述回归预测模型。
9.根据权利要求7所述的装置,其特征在于,
所述确定单元,还用于对于所述作业集合中的任一作业,根据所述剩余资源量,确定所述任一作业的多个预设资源分配量;根据所述回归预测模型和所述每个预设资源分配量,确定所述任一作业在所述每个预设资源分配量下的执行时长。
10.根据权利要求7所述的装置,其特征在于,所述装置还包括:
所述确定单元,还用于确定所述每个作业的第一目标执行时长和所述作业集合对所述每个作业的干扰率,所述任一作业的第一目标执行时长为所述任一作业在所述任一作业的目标资源分配量下的执行时长;
执行单元,用于根据所述每个作业的第一目标执行时长、所述每个作业的目标资源分配量和所述集合对所述每个作业的干扰率,执行所述每个作业。
11.根据权利要求10所述的装置,其特征在于,
所述执行单元,还用于确定所述当前集群对应的每个资源容器释放资源的时间,根据所述每个资源容器释放资源的时间,从所述每个资源容器中选择第一预设数目个最先释放资源的资源容器,所述资源容器用于存储资源;根据所述作业集合中的每个作业的第一目标执行时长,从所述作业集合中选择第一目标执行时长最短的第二预设数目个作业,根据所述第二预设数目个作业的目标资源分配量、第一目标执行时长和所述作业集合对所述每个作业的干扰率,在所述第一预设数目个资源容器上执行所述第二预设数目个作业。
12.根据权利要求11所述的装置,其特征在于,
所述执行单元,还用于根据所述第一预设数目个资源容器和所述第二预设数目个作业,构建部署树,所述部署树包括至少一个节点,每个节点部署一个资源容器;根据所述作业集合对所述每个作业的干扰率和所述第二预设数目个作业中的每个作业的第一目标执行时长,确定所述每个作业的第二目标执行时长;根据所述每个作业的第二目标执行时长以及所述部署树中的每个叶子节点上的资源容器,确定总执行时长最短的目标部署方式,所述部署方式包括所述第二预设数目个作业部署的资源容器标识;根据所述目标部署方式,在所述第一预设数目个资源容器中执行所述第二预设数目个作业。
13.一种资源管理装置,其特征在于,所述装置包括:网络接口、存储器、处理器;
所述网络接口用于接收报文;
所述存储器用于存储指令和数据;
所述处理器,用于读取所述存储器中存储的指令和数据,执行:
确定当前集群的剩余资源量,以及,确定所述当前集群对应的回归预测模型,所述回归预测模型用于指示资源量和执行时长之间的关系;
根据所述剩余资源量和作业集合中的每个作业,确定多组资源分配量,每组资源分配量包括多个预设资源分配量,一个预设资源分配量对应一个作业,且所述每组资源分配量之和不大于所述剩余资源量,所述作业集合中包括至少一个待分配资源的作业;
对于所述作业集合中的任一作业,从所述多组资源分配量确定所述任一作业对应的多个预设资源分配量,根据所述多个预设资源分配量和所述回归预测模型,确定所述任一作业在每个预设资源分配量下的执行时长;
根据所述每个作业在每个预设资源分配量下的执行时长,确定所述每个作业的目标资源分配量,任一作业在所述任一作业的目标资源分配量下的第一目标执行时长满足预设条件,所述预设条件为所述第一目标执行时长小于预设时长,或者,所述第一目标执行时长与所述任一作业在指定资源分配量下的执行时长之差不大于预设阈值,所述指定资源分配量为所述每个预设资源分配量中,大于所述目标资源分配量且与所述目标资源分配量之差最小的资源分配量;
根据所述每个作业的目标资源分配量,为所述每个作业分配资源。
14.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-6任一所述的资源管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710641283.1A CN109324890B (zh) | 2017-07-31 | 2017-07-31 | 资源管理方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710641283.1A CN109324890B (zh) | 2017-07-31 | 2017-07-31 | 资源管理方法、装置及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109324890A CN109324890A (zh) | 2019-02-12 |
CN109324890B true CN109324890B (zh) | 2021-01-05 |
Family
ID=65245624
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710641283.1A Active CN109324890B (zh) | 2017-07-31 | 2017-07-31 | 资源管理方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109324890B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112395311A (zh) * | 2019-08-13 | 2021-02-23 | 阿里巴巴集团控股有限公司 | 一种请求的处理时长的预测方法及装置 |
CN110928693B (zh) * | 2020-01-23 | 2021-01-15 | 飞诺门阵(北京)科技有限公司 | 一种计算设备及资源分配方法 |
WO2021148015A1 (zh) | 2020-01-23 | 2021-07-29 | 飞诺门阵(北京)科技有限公司 | 一种计算机系统 |
CN111597037B (zh) * | 2020-04-15 | 2023-06-16 | 中电金信软件有限公司 | 作业分配方法、装置、电子设备及可读存储介质 |
CN111813523A (zh) * | 2020-07-09 | 2020-10-23 | 北京奇艺世纪科技有限公司 | 时长预估模型生成方法、系统资源调度方法、装置、电子设备和存储介质 |
CN114780170B (zh) * | 2022-04-11 | 2023-07-21 | 远景智能国际私人投资有限公司 | 容器资源的配置方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104520815A (zh) * | 2014-03-17 | 2015-04-15 | 华为技术有限公司 | 一种任务调度的方法、装置及设备 |
CN105718316A (zh) * | 2014-12-01 | 2016-06-29 | 中国移动通信集团公司 | 一种作业调度的方法及装置 |
CN106776025A (zh) * | 2016-12-16 | 2017-05-31 | 郑州云海信息技术有限公司 | 一种计算机集群作业调度方法及其装置 |
US9672064B2 (en) * | 2015-07-13 | 2017-06-06 | Palo Alto Research Center Incorporated | Dynamically adaptive, resource aware system and method for scheduling |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9471390B2 (en) * | 2013-01-16 | 2016-10-18 | International Business Machines Corporation | Scheduling mapreduce jobs in a cluster of dynamically available servers |
US9602423B2 (en) * | 2013-06-28 | 2017-03-21 | Pepperdata, Inc. | Systems, methods, and devices for dynamic resource monitoring and allocation in a cluster system |
JP6364880B2 (ja) * | 2014-03-31 | 2018-08-01 | 富士通株式会社 | 並列計算機システム,ジョブ管理装置の制御プログラム,及び並列計算機システムの制御方法 |
CN105718479B (zh) * | 2014-12-04 | 2020-02-28 | 中国电信股份有限公司 | 跨idc大数据处理架构下执行策略生成方法、装置 |
CN104598311A (zh) * | 2015-01-26 | 2015-05-06 | 上海卓悠网络科技有限公司 | 一种面向Hadoop的实时作业公平调度的方法和装置 |
CN105373426B (zh) * | 2015-07-28 | 2019-01-15 | 哈尔滨工程大学 | 一种基于Hadoop的车联网内存感知实时作业调度方法 |
TWI547817B (zh) * | 2015-11-09 | 2016-09-01 | 緯創資通股份有限公司 | 叢集運算架構的資源規劃方法、系統及裝置 |
CN106598702A (zh) * | 2016-12-20 | 2017-04-26 | 东软集团股份有限公司 | 一种资源调整方法及装置 |
-
2017
- 2017-07-31 CN CN201710641283.1A patent/CN109324890B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104520815A (zh) * | 2014-03-17 | 2015-04-15 | 华为技术有限公司 | 一种任务调度的方法、装置及设备 |
CN105718316A (zh) * | 2014-12-01 | 2016-06-29 | 中国移动通信集团公司 | 一种作业调度的方法及装置 |
US9672064B2 (en) * | 2015-07-13 | 2017-06-06 | Palo Alto Research Center Incorporated | Dynamically adaptive, resource aware system and method for scheduling |
CN106776025A (zh) * | 2016-12-16 | 2017-05-31 | 郑州云海信息技术有限公司 | 一种计算机集群作业调度方法及其装置 |
Non-Patent Citations (2)
Title |
---|
《Energy-Aware Task Scheduling of MapReduce Cluster》;Jia Wang et al.;《 2015 International Conference on Service Science (ICSS)》;20160208;全文 * |
《面向多用户环境的MapReduce集群调度算法研究》;陈重韬 等;《高技术通讯》;20170430;第27卷(第4期);第295-302页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109324890A (zh) | 2019-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109324890B (zh) | 资源管理方法、装置及计算机可读存储介质 | |
CN109684065B (zh) | 一种资源调度方法、装置及系统 | |
Ananthanarayanan et al. | {GRASS}: Trimming stragglers in approximation analytics | |
US10108458B2 (en) | System and method for scheduling jobs in distributed datacenters | |
US10412154B2 (en) | Configuration recommendation for a microservice architecture | |
CN113243005A (zh) | 按需网络代码执行系统中的基于性能的硬件仿真 | |
US20240036937A1 (en) | Workload placement for virtual gpu enabled systems | |
US11010195B2 (en) | K-tier architecture scheduling | |
US20220156115A1 (en) | Resource Allocation Method And Resource Borrowing Method | |
CN111108480A (zh) | 一种用于分布式资源需求及分配的系统和方法 | |
CN109117252B (zh) | 基于容器的任务处理的方法、系统及容器集群管理系统 | |
CN112114950A (zh) | 任务调度方法和装置、以及集群管理系统 | |
CN109710406B (zh) | 数据分配及其模型训练方法、装置、及计算集群 | |
CN109189572B (zh) | 一种资源预估方法及系统、电子设备和存储介质 | |
CN111176818B (zh) | 分布式预测的方法、装置、系统、电子设备及存储介质 | |
CN111225050A (zh) | 云计算资源分配方法及装置 | |
CN111352711A (zh) | 多计算引擎调度方法、装置、设备及存储介质 | |
CN112148468A (zh) | 一种资源调度方法、装置、电子设备及存储介质 | |
WO2024082584A1 (zh) | 资源分配方法、容器管理组件和资源分配系统 | |
CN112948066A (zh) | 一种基于异构资源的Spark任务调度方法 | |
CN113051245A (zh) | 用于迁移数据的方法、装置及系统 | |
CN106407007B (zh) | 面向弹性分析流程的云资源配置优化方法 | |
CN109062683B (zh) | 主机资源分配的方法、装置及计算机可读存储介质 | |
CN112148471A (zh) | 分布式计算系统中资源调度的方法和装置 | |
CN116881003A (zh) | 资源分配方法、装置、服务设备及存储介质 |
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 |