CN114035940A - 资源分配方法以及装置 - Google Patents

资源分配方法以及装置 Download PDF

Info

Publication number
CN114035940A
CN114035940A CN202111210713.7A CN202111210713A CN114035940A CN 114035940 A CN114035940 A CN 114035940A CN 202111210713 A CN202111210713 A CN 202111210713A CN 114035940 A CN114035940 A CN 114035940A
Authority
CN
China
Prior art keywords
resource
period
short
resources
long
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.)
Pending
Application number
CN202111210713.7A
Other languages
English (en)
Inventor
曾凡松
汪萌海
李涛
黄涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba China Co Ltd
Alibaba Cloud Computing Ltd
Original Assignee
Alibaba China Co Ltd
Alibaba Cloud Computing Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba China Co Ltd, Alibaba Cloud Computing Ltd filed Critical Alibaba China Co Ltd
Priority to CN202111210713.7A priority Critical patent/CN114035940A/zh
Publication of CN114035940A publication Critical patent/CN114035940A/zh
Priority to PCT/CN2022/123900 priority patent/WO2023066035A1/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本说明书实施例提供资源分配方法以及装置,其中所述资源分配方法包括:获取工作负载对应的资源使用数据;根据所述资源使用数据构建对应长周期负载类型的长周期资源特征图,以及对应短周期负载类型的短周期资源特征图;按照所述短周期资源特征图,在待分配资源中针对所述短周期负载类型分配短周期资源;按照所述长周期资源特征图,在所述短周期资源中针对所述长周期负载类型分配长周期资源。

Description

资源分配方法以及装置
技术领域
本说明书实施例涉及计算机技术领域,特别涉及一种资源分配方法。
背景技术
随着互联网技术的发展,服务于云产品的资源调度器成为了不可缺少的一部分。现有技术中的资源调度器均采用了一种request的静态资源模型;整个系统通过采集每个节点的资源总量,并根据用户描述的request来计算节点装载的资源请求数量,但这样会造成较大的资源浪费。主要是因为用户申请的request可能远大于实际资源需求,对于大型机器应用数量非常多,无法通过人工治理,即使是非常资深的应用开发者面临复杂的业务场景及多样的基础设施,也很难准确预估其需要的资源量,这就会带来较大的资源浪费;其次是因为资源碎片化严重,受限于单个机器规则与单个request大小的匹配关系,每个机器上可能存在部分无法利用的碎片资源,这就导致在异构场景下资源利用率无法保证,因此亟需一种有效的方案以解决上述问题。
发明内容
有鉴于此,本说明书实施例提供了一种资源分配方法。本说明书一个或者多个实施例同时涉及一种资源分配装置,一种计算设备,一种计算机可读存储介质以及一种计算机程序,以解决现有技术中存在的技术缺陷。
根据本说明书实施例的第一方面,提供了一种资源分配方法,包括:
获取工作负载对应的资源使用数据;
根据所述资源使用数据构建对应长周期负载类型的长周期资源特征图,以及对应短周期负载类型的短周期资源特征图;
按照所述短周期资源特征图,在待分配资源中针对所述短周期负载类型分配短周期资源;
按照所述长周期资源特征图,在所述短周期资源中针对所述长周期负载类型分配长周期资源。
可选地,所述根据所述资源使用数据构建对应短周期负载类型的短周期资源特征图,包括:
在所述资源使用数据中选择目标时间区间对应的初始资源使用数据;
按照预设的衰减策略对所述初始资源使用数据进行处理,获得短周期资源使用数据;
基于所述短周期资源使用数据构建所述短周期负载类型对应的所述短周期资源特征图。
可选地,所述按照所述短周期资源特征图,在待分配资源中针对所述短周期负载类型分配短周期资源,包括:
根据所述短周期资源特征图确定短周期资源特征值;
利用所述短周期资源特征值对所述短周期负载类型中的工作负载进行处理,根据处理结果确定短周期资源分配信息;
按照所述短周期资源分配信息,在所述待分配资源中针对所述短周期负载类型分配所述短周期资源。
可选地,所述根据所述资源使用数据构建对应长周期负载类型的长周期资源特征图,包括:
确定所述长周期负载类型对应的周期值,并根据所述周期值在所述资源使用数据中确定长周期资源使用数据;
基于所述长周期资源使用数据构建所述长周期负载类型对应的所述长周期资源特征图。
可选地,所述按照所述长周期资源特征图,在所述短周期资源中针对所述长周期负载类型分配长周期资源,包括:
根据所述长周期资源特征图确定长周期资源特征值;
基于所述长周期资源特征值确定长周期资源分配信息;
按照所述长周期资源分配信息,在所述短周期资源中针对所述长周期负载类型分配所述长周期资源。
可选地,所述按照所述短周期资源特征图,在待分配资源中针对所述短周期负载类型分配短周期资源,包括:
根据所述短周期资源特征图确定所述短周期负载类型中包含的第一子负载类型对应的第一资源分配信息,以及第二子负载类型对应的第二资源分配信息;
按照所述第一资源分配信息,在所述待分配资源中针对所述第一子负载类型分配第一短周期资源;
按照所述第二资源分配信息,在所述第一短周期资源中针对所述第二子负载类型分配第二短周期资源。
可选地,所述第二资源分配信息通过如下方式确定:
根据所述短周期资源特征图确定所述短周期负载类型对应的资源申请信息和资源使用信息;
根据所述资源使用信息对所述短周期负载类型进行资源评估,获得资源评估信息;
基于所述资源评估信息和所述资源申请信息,确定对应所述第二子负载类型的所述第二资源分配信息。
可选地,所述根据所述资源使用信息对所述短周期负载类型进行资源评估,获得资源评估信息步骤执行之后,还包括:
获取机动资源以及所述机动资源对应的机动权重;
根据所述机动资源和所述机动权重生成第三资源分配信息,以及根据所述资源评估信息和所述资源申请信息确定第四资源分配信息;
基于所述第三资源分配信息和所述第四资源分配信息,确定对应所述第二子负载类型的所述第二资源分配信息。
可选地,所述按照预设的衰减策略对所述初始资源使用数据进行处理,获得短周期资源使用数据,包括:
在所述目标时间区间中的每个时间节点对所述初始资源使用数据进行采样处理,获得多个初始资源使用值;
确定所述目标时间区间对应的衰减值,并按照所述衰减值对所述多个初始资源使用值进行处理;
根据处理结果确定所述短周期资源使用数据。
可选地,还包括:
获取系统预留资源;
根据所述待分配资源、所述短周期资源和所述系统预留资源计算调用资源,并创建所述调用资源对应的调用策略;
针对应急负载类型分配所述调用资源,并配置所述调用策略。
可选地,所述按照所述长周期资源特征图,在所述短周期资源中针对所述长周期负载类型分配长周期资源步骤执行之后,还包括:
获取目标应用对应的应用请求,并确定所述应用请求对应的目标负载类型;
在所述目标负载类型为所述短周期负载类型的情况下,将所述应用请求加载至所述短周期资源;
在所述目标负载类型为所述长周期负载类型的情况下,将所述应用请求加载至所述长周期资源。
根据本说明书实施例的第二方面,提供了一种资源分配装置,包括:
获取模块,被配置为获取工作负载对应的资源使用数据;
构建模块,被配置为根据所述资源使用数据构建对应长周期负载类型的长周期资源特征图,以及对应短周期负载类型的短周期资源特征图;
第一分配模块,被配置为按照所述短周期资源特征图,在待分配资源中针对所述短周期负载类型分配短周期资源;
第二分配模块,被配置为按照所述长周期资源特征图,在所述短周期资源中针对所述长周期负载类型分配长周期资源。
根据本说明书实施例的第三方面,提供了一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:
获取工作负载对应的资源使用数据;
根据所述资源使用数据构建对应长周期负载类型的长周期资源特征图,以及对应短周期负载类型的短周期资源特征图;
按照所述短周期资源特征图,在待分配资源中针对所述短周期负载类型分配短周期资源;
按照所述长周期资源特征图,在所述短周期资源中针对所述长周期负载类型分配长周期资源。
根据本说明书实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现任意一项所述资源分配方法的步骤。
根据本说明书实施例的第五方面,提供了一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述资源分配方法的步骤。
本说明书提供的资源分配方法,在获取到工作负载对应的资源使用数据后,可以以此为基础构建对应长周期负载类型的长周期资源特征图,以及对应短周期负载类型的短周期资源特征图,实现通过资源特征图体现不同类型的工作负载的资源诉求,之后再按照短周期资源特征图针对短周期负载类型分配短周期资源,以及按照长周期资源特征图,在资源分配满之后中针对长周期任务负载类型超卖长周期资源;实现了通过统一化处理支持任意任务的资源分配,不仅可以保证各种服务的资源确定性诉求,同时也通过资源超卖的方式提高了数据中心的资源利用率,有效的降低了资源浪费问题带来的损失。
附图说明
图1是本说明书一个实施例提供的一资源分配的示意图;
图2是本说明书一个实施例提供的一种资源分配方法的流程图;
图3是本说明书一个实施例提供的一种资源分配方法中资源特征图的示意图;
图4是本说明书一个实施例提供的一种资源分配方法中资源分配处理的示意图;
图5是本说明书一个实施例提供的一种资源分配方法中长周期资源分配处理的示意图;
图6是本说明书一个实施例提供的一种资源分配方法中调用资源分配处理的示意图;
图7是本说明书一个实施例提供的一种资源分配方法的处理过程流程图;
图8是本说明书一个实施例提供的一种资源分配装置的结构示意图;
图9是本说明书一个实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
工作负载:指运行在数据中心的应用,包括实时处理用户请求的在线服务,后台批处理的计算任务,AI训练推理等。
调度编排:指将工作负载放置到数据中心有限的计算机上完成对应数据处理的过程,包括当前时刻的计算机选择以及工作负载先后顺序的选择。
资源模型:指集群资源使用的范式,所有运行在集群中的工作负载都遵循这一规范约束,是集群资源调度中最核心的抽象。
PriorityClass:优先级类别,用于表示任务的优先级类别,同级别的任务在调度上采用相同的处理方法,且不同类型的任务在调度上采用不相同的处理方法。
在本说明书中,提供了一种资源分配方法,本说明书同时涉及一种资源分配装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
实际应用中,资源调度器大多数采用yarn,mesos或kubernetes等支持调度编排,并且在计算每个节点可装载的资源请求数量时,需要满足∑irequest(i)≤Allocablenode,参见图1所示的request分配示意图,当request(4)到来时只能放置到新的节点上,即使当前节点的实际利用率可能非常空闲,这就导致资源会产生较多的浪费。现有技术中,大多数通过整数规划来降低多维资源装箱带来的碎片问题,但这对于提高集群资源利用率的空间非常小。
Yarn其支持根据节点运行时负载来进一步调度任务,提高节点的资源利用效率,其虽然具有模型简单适用于其面向的大数据批处理计算任务的场景;但是,缺少对于长生命周期工作负载的应对方案,长生命周期类型的服务难以运行在其之上与短生命周期的工作负载共存。
而Kubernetes支持了一种叫做BestEffort的资源模型,允许用户超额分配任务到节点上,但BestEffort任务无资源描述,调度器难以择优选择合适的机器,同时任务之间也无公平性保障,这就导致通过BestEffort提交的任务无法得到比较确定的资源SLO保障,难以应用于真实的生产环境。
有鉴于此,本说明书提供的资源分配方法,在获取到工作负载对应的资源使用数据后,可以以此为基础构建对应长周期负载类型的长周期资源特征图,以及对应短周期负载类型的短周期资源特征图,实现通过资源特征图体现不同类型的工作负载的资源诉求,之后再按照短周期资源特征图针对短周期负载类型分配短周期资源,以及按照长周期资源特征图,在资源分配满之后中针对长周期任务负载类型超卖长周期资源;实现了通过统一化处理支持任意任务的资源分配,不仅可以保证各种服务的资源确定性诉求,同时也通过资源超卖的方式提高了数据中心的资源利用率,有效的降低了资源浪费问题带来的损失。
图2示出了根据本说明书一个实施例提供的一种资源分配方法的流程图,具体包括以下步骤。
步骤S202,获取工作负载对应的资源使用数据。
具体的,工作负载具体是指运行在数据中心的应用,其包括但不限于用户请求的在线服务,如点击购物APP中的按钮会调用到的服务;后台批量处理的计算任务,如tensorflow/pytouch等;离线分析类型任务,如天级别的大数据报表,非交互式的SQL查询。也就是说,需要通过数据中心的计算机进行处理的任务均属于工作负载;相应的,资源使用数据具体是指工作负载在预设之间周期内的历史资源使用情况对应的数据,以实现后续结合资源使用数据完成资源分配处理。
基于此,为了在后续能够针对不同类型的工作负载分配合理的资源,同时提高服务器的资源利用率,避免资源浪费,可以先获取工作负载对应的资源使用数据,以方便后续以资源使用数据为基础完成不同类型工作负载的资源分配。
需要说明的是,由于不同类型的工作负载对资源的使用情况可能不同,比如实时响应类型的任务可能需要不间断的使用数据中心的计算机资源,而实时计算任务如AI训练可能需要长时间占用一部分计算机资源,而离线分析类型任务可能仅需要在特定时间使用一部分计算机资源,因此若针对每种类型的任务都单独分配资源,不仅无法保证资源利用率,还会造成资源的浪费。因此在进行资源分配前,可以按照工作负载在运行时,其使用资源的周期长短对工作负载进行类型划分,长时间使用计算机资源的工作负载属于长周期负载类型,短时间使用计算机资源的工作负载属于短周期负载类型,以方便后续可以从类型出发完成资源的分配,并且资源分配时可以相互依赖,提高资源利用率。
步骤S204,根据所述资源使用数据构建对应长周期负载类型的长周期资源特征图,以及对应短周期负载类型的短周期资源特征图。
具体的,在上述获取到工作负载对应的资源使用数据后,进一步的,为了能够保证资源分配的合理性,且提高资源利用率,可以根据获取到的资源使用数据分别构建对应长周期负载类型的长周期资源特征图,以及对应短周期负载类型的短周期资源特征图,以方便后续可以通过分析资源特正图的方式确定不同类型的工作负载对资源的使用情况,以在待分配资源中选择合理的比例进行资源分配。
其中,长周期负载类型具体是指运行时间大于预设阈值的工作负载对应的类型,相应的,短周期负载类型具体是指运行时间小于等于预设阈值的工作负载对应的类型。长周期资源特征图具体是指表征长周期负载类型中的工作负载在一定时间区间内资源使用情况对应的图像,通过长周期资源特征图可以确定该类型的工作负载在运行时,每一子时间区间的资源使用情况,以及在每个节点中的资源利用率;短周期资源特征图具体是指表征短周期负载类型中的工作负载在一定时间区间内资源使用情况对应的图像,通过短周期资源特征图可以确定该类型的工作负载在运行时,每一时刻的资源使用情况,以及在每个节点中的资源利用率。
也就是说,长周期资源特征图用于表征运行时间较长的工作负载的资源使用情况,短周期资源特征图用于表征运行时间较短的工作负载的资源使用情况,以方便后续结合运行时长不同类型的工作负载完成资源分配,且其中充分考虑运行时长不同的工作负载在资源使用上的特性,保证资源分配合理且利用率较高。
进一步的,在基于资源使用数据构建对应周期负载类型的资源特征图时,考虑到资源使用数据中包含不同类型的工作负载对应的资源使用数据,因此需要选择对应周期负载类型的资源使用数据完成资源特征图的构建,本实施例中,具体实现如步骤S2042至步骤S2046:
步骤S2042,在所述资源使用数据中选择目标时间区间对应的初始资源使用数据。
步骤S2044,按照预设的衰减策略对所述初始资源使用数据进行处理,获得短周期资源使用数据。
具体的,目标时间区间用于确定工作负载在该时间区间内的资源使用情况,确定的资源使用情况即为初始资源使用数据;相应的,衰减策略具体是指对目标时间区间内的初始资源使用数据进行衰减处理的策略,用于提高计算效率降低计算资源的消耗。相应的,资源分配依赖的资源使用数据具体是指经过衰减处理后得到的对应负载类型的工作负载的采样后的资源使用情况对应的数据。
基于此,为了能够通过对应该周期负载类型的资源使用数据构建出对应该周期负载类型的资源特征图,可以在资源使用数据中选择目标事件区间对应的初始资源使用数据,之后按照预设的衰减策略对初始资源使用数据进行处理,以根据处理结果得到对应该周期负载类型的资源使用数据,以方便后续以此为基础构建对应该周期的资源特征图,方便后续针对对应该周期的工作负载分配合理的资源。
更进一步的,在基于预设的衰减策略对初始资源使用数据进行处理时,实则是按照时间衰减的方式进行滑动窗口统计计算,从而得到对应该周期负载类型的资源使用数据,本实施例中,具体实现方式如下:
在所述目标时间区间中的每个时间节点对所述初始资源使用数据进行采样处理,获得多个初始资源使用值;确定所述目标时间区间对应的衰减值,并按照所述衰减值对所述多个初始资源使用值进行处理;根据处理结果确定所述短周期资源使用数据。
具体的,多个初始资源使用值具体是指在目标时间区间中每个时间节点进行采样后得到的资源使用值;相应的,衰减值具体是指半衰批次对应的数值。
基于此,为了能够在后续构建出对应该周期负载类型的资源特征图,可以基于目标时间周期内的初始资源使用数据完成,但是由于目标时间区间内包含的资源使用数据较多,且不同的时间节点对应不同的资源使用值,为了能够快速且精准的确定对应该周期资源使用数据,实现在资源分配阶段可以准确的完成资源分配,此时可以对初始资源使用数据进行采样处理,以根据采样处理结果得到多个初始资源使用值,之后再按照衰减值对多个初始资源使用值进行处理,即可根据处理结果得到对应周期负载类型对应周期的资源使用数据。
需要说明的是,在确定短周期资源使用数据时,实则是统计目标时间区间内不同时间节点对应的初始资源使用值,即在每个时间节点对初始资源使用数据进行采样后,确定每个时间节点的资源使用情况,之后基于预设的直方图以及每个时间节点的资源使用情况确定每个时间节点对应的初始资源使用值,在按照预设的半衰批次对每个初始资源使用值进行处理,即可获得负载类型对应的短周期资源使用数据。
例如,目标时间区间为3分钟,半衰期为20秒,则需要合并最近9个20秒的资源使用值,并且在合并过程中,距离统计时间节点越近的初始资源使用值其对应的权重越大,反之越小,从而保证最后得到的短周期资源使用数据更加贴近真实数据,有效的提高了后续的资源分配合理性。
步骤S2046,基于所述短周期资源使用数据构建所述短周期负载类型对应的所述短周期资源特征图。
具体的,在上述获得短周期资源使用数据后,即可按照短周期资源使用数据构建短周期负载类型对应的短周期资源特征图,以方便后续结合短周期资源特征图完成对短周期负载类型的工作负载完成资源分配。
另一方面,还需要基于资源使用数据构建长周期负载类型对应的长周期资源特征图,此时由于长周期负载类型的特性,该类型下的工作负载生命周期较长,且需要稳定的资源支持,因此需要通过工作负载在长周期维度的特征来构建长周期资源特征图,本实施例中,具体实现方式如下:
确定所述长周期负载类型对应的周期值,并根据所述周期值在所述资源使用数据中确定长周期资源使用数据;基于所述长周期资源使用数据构建所述长周期负载类型对应的所述长周期资源特征图。
具体的,周期值具体是指需要通过多长的周期来构建长周期负载类型对应的长周期资源特征图的周期长度,相应的,长周期资源使用数据具体是指在周期指对应的区间内长周期负载类型所对应的资源使用情况的数据。
基于此,由于长周期负载类型的特性,其生命周期长且需要的资源要相对稳定,因此需要先确定长周期负载类型对应的周期值,之后根据周期值在资源使用数据中确定长周期资源使用数据,并以此为基础构建长周期负载类型的长周期资源特征图,以方便后续从资源利用率角度完成资源分配。
以实时响应类服务为长周期负载类型的工作负载,模型训练任务为长周期负载类型的工作负载为例,对构建长周期资源特征图和短周期资源特征图的过程进行描述。
基于此,获取服务端中的工作负载对应的资源使用数据,之后在资源使用数据中选择近30天的初始资源使用数据,之后基于时间衰减的滑动窗口统计算法对初始资源使用数据进行处理,根据处理结果创建短周期负载类型对应的短周期资源画像。进一步的,由于短周期资源画像是体现实时响应类服务的工作负载的资源使用表达,而为了满足实时类AI、流式计算任务的资源需求,在此基础上还需要对长周期负载类型的工作负载也分配资源,此时可以确定周期值,之后根据周期值在资源使用数据中确定长周期资源使用数据,以体现长生命周期的任务(模型训练任务)在周期值内的资源使用情况,之后再以此为基础构建长在线实时负载类型负载类型对应的长周期资源特征图,即可应用于后续的资源分配处理。
综上,通过构建长周期资源特征图和短周期资源特征图的方式,为后续分配资源做基础,可以进一步保证资源分配的合理性,同时考虑到不同负载类型的特性影响,将进一步保证后续的资源利用率,从而合理且高效的维护资源,避免资源浪费。
步骤S206,按照所述短周期资源特征图,在待分配资源中针对所述短周期负载类型分配短周期资源。
具体的,在上述完成短周期资源特征图和长周期资源特征图的构建之后,进一步的,由于短周期资源特征图对应短周期负载类型,且由于短周期负载类型对应的任务都是批处理类型的任务。也就是说,该类型的工作负载需要不停的提交请求,且需要不断的分配资源运行该类工作负责的请求,因此需要在待分配资源中直接针对短周期负载类型分配短周期资源,以支持短周期负载类型的工作负载可以通过短周期资源完成运行。
其中,待分配资源具体是指数据中心能够分给配工作负载的全部计算资源,相应的,短周期资源具体是指分配给短周期负载类型的工作负载的资源,也就是说,当处理短周期负载类型的工作负载的请求时,将调用短周期资源支持请求的运行。
进一步的,在针对短周期负载类型分配短周期资源时,由于短周期资源特征度图体现短周期负载类型的资源使用情况的图像,因此可以结合短周期资源特征图完成资源分配,不仅可以保证资源的利用率,还能够实现负载均衡,本实施例中,具体实现方式如下:
根据所述短周期资源特征图确定短周期资源特征值;利用所述短周期资源特征值对所述短周期负载类型中的工作负载进行处理,根据处理结果确定短周期资源分配信息;按照所述短周期资源分配信息,在所述待分配资源中针对所述短周期负载类型分配所述短周期资源。
具体的,短周期资源特征值具体是指短周期资源特征图中的峰值,相应的,短周期资源分配信息具体是指针对短周期负载类型进行资源分配时所需要遵循的信息。
基于此,由于短生命周期资源使用时关注的是这一段时间的计算能力,因此确定短生命周期的资源特征时采用Savg,充分的保证短生命周期任务资源运行的确定性,且不会造成资源分配的浪费。
综上,通过采用短周期资源特征值的方式确定资源分配信息,不仅可以保证后续分配的短周期资源可以有效的支持短周期负载类型的工作负载,还能够提高资源分配的合理性,避免分配过多的资源造成资源浪费。
更进一步的,为了能够支持不同类别的工作负载,还可以针对短周期负载类型中的工作负载分为两种子负载类型,实现以此为基础完成短周期的资源分配,本实施例中,具体实现如步骤S2062至步骤S2066:
步骤S2062,根据所述短周期资源特征图确定所述短周期负载类型中包含的第一子负载类型对应的第一资源分配信息,以及第二子负载类型对应的第二资源分配信息。
具体的,第一子负载类型具体是指对实时性要求较高的工作负载,如点击购物APP中的控件得到的服务;第二子负载类型具体是指对离线处理要求较高的工作负载,如天级别的大数据报表;相应的,第一资源分配信息具体是指针对第一子负载类型进行资源分配的信息,第二资源分配信息具体是指针对第二子负载类型进行资源分配的信息。
基于此,当得到短周期资源特征图后,由于第一子负载类型需要时刻应用资源,因此其优先级最高,则可以直接根据短周期资源特征图确定第一子负载类型对应的第一资源分配信息;同时由于第二子负载类型是以天级别为单位进行资源的使用,且使用时间区间也比较稳定,因此优先级要低于第一子负载类型,而为了能够提高资源利用率,可以结合短周期资源特征图的其他信息确定第二资源分配信息,本实施例中,具体实现方式如下:
根据所述短周期资源特征图确定所述短周期负载类型对应的资源申请信息和资源使用信息;根据所述资源使用信息对所述短周期负载类型进行资源评估,获得资源评估信息;基于所述资源评估信息和所述资源申请信息,确定对应所述第二子负载类型的所述第二资源分配信息。
具体的,资源申请信息具体是指第一子负载类型的工作负载在运行前所申请的资源相对应的信息,资源使用信息具体是指第一子负载类型的工作负载在运行时所使用资源相对应的信息;资源评估信息具体是指根据工作负载在运行时所使用资源预估出的能够支持其运行的资源相对应的信息。其中,资源申请信息对应的申请资源要大于资源评估信息对应的评估资源,资源评估信息对应的评估资源要大于资源使用信息对应的使用资源。
基于此,考虑到第二子负载类型的工作负载的优先级要低于第一子负载类型的工作负载,且资源使用频率较低,因此为了提高资源利用率,在第一子负载类型的工作负载之上,可以通过短周期资源特征图确定第一子负载类型对应的资源申请信息和资源使用信息,之后按照资源使用信息对第一子负载类型的可用资源进行评估,获得资源评估信息,之后再结合资源评估信息和资源申请信息即可确定第二子负载类型对应的第二资源分配信息,以用于后续结合第一资源分配信息完成对短周期负载类型中的,第一子负载类型和第二子负载类型进行资源分配。
需要说明的是,资源评估信息在计算时,可以根据第一子负载类型的工作负载在目标时间区间T内的资源利用率预估,且T的取值为第二子负载类型运行时长的设定概率值乘积,以保证资源分配合理性。
综上,通过结合资源申请信息、资源使用信息以及资源评估信息对第二子负载类型的第二分配信息进行确定,不仅可以提高资源利用率,还能够降低对第一子负载类型的工作负载的影响,从而有效的保证了数据中心的资源均衡性。
步骤S2064,按照所述第一资源分配信息,在所述待分配资源中针对所述第一子负载类型分配第一短周期资源。
步骤S2066,按照所述第二资源分配信息,在所述第一短周期资源中针对所述第二子负载类型分配第二短周期资源。
具体的,在上述获得第一资源分配信息和第二资源分配信息后,考虑到第一子负载类型的优先级大于第二子负载类型的优先级,因此可以按照第一资源分配信息在待分配资源中选择第一子负载类型对应的资源分给配第一子负载类型,即分配第一短周期资源供第一子负载类型的工作负载使用。
进一步的,可以按照第二资源分配信息在第一短周期资源选择第二子负载类型对应的资源分配给第二子负载类型,即分配第二短周期资源供第二子负载类型的工作负载使用。
也就是说,第二子负载类型所能够支配的第二短周期资源属于第一短周期资源的一部分,且这部分是在工作负载运行时不会被利用的一部分,从而提高资源利用率,避免资源浪费的问题发生。
举例说明,将服务端提供的服务分类四类,分别为Prod(实时响应类服务),Mid(长周期实时计算任务),Batch(离线分析类任务)以及Free(应急任务)。其中,优先级为Prod>Mid>Batch>Free。基于此,获得不同类型的工作负载对应的资源使用数据,并通过资源使用数据构建出对应Prod的资源画像,根据资源画像的资源画像值确定能够分配给Prod的资源满足∑irequest(Prod)≤Allocablenode,也就是说,数据中心中每个节点能够分配给Prod的资源都不会超卖,这样可以保证整个集群的资源都不会超卖,从而保证资源均衡。
进一步的,参见图3所示的Prod对应的资源图像,其中,limit为工作负载申请的资源曲线,usage为工作负载实际应用的资源曲线,两者之间的差值即为申请但未使用的资源。为了充分利用这一部分已分配但未使用的资源,且不会对工作负载的运行产生影响,此时可以根据与实际使用资源对这一部分的可用资源进行评估,得到资源评估信息,即图3中的reservation对应的曲线,而limit与reservation之间的资源即为能够分配给Batch的资源,且不会对Prod产生影响;也就是说,分配给Batch的资源满足Allocable=∑reclaimed(Prod)。
更进一步的,根据上述内容即可确定分配给Prod的第一短周期资源为,节点中可调度的资源,能够分配给Batch的第二短周期资源为,第一短周期资源中并未被利用的资源,以支持在工作负载运行中,按照工作负载所属的类型选择相对应的资源进行运行相应的请求。
此外,当获取到属于Prod的工作负载的请求后,通过负载均衡确定在Pod1-Podn中的资源使用情况如图4所示,其中,usage表征资源使用部分,buffered表示资源预留部分,reclaimed表征资源超卖部分。基于此,在每个Pod中均存在超卖的资源,也就是说,当接收到属于Batch的工作负载的请求后,可以通过Pod1至Podn中的reclaimed运行该类型的请求,即使用已分配给Prod且未被使用的资源,经过资源画像后,用于运行优先级低于Prod的请求,即属于Batch类型的请求Pod_L1、Pod_L2、Pod_L3和Pod_L4,以保证资源的利用率。
综上,通过在第一短周期资源的基础上针对第二子负载类型分配第二短周期资源,不仅可以改善资源管理环境,还能够避免申请资源的浪费,从而有效的提高了资源利用率。
除此之外,考虑到节点集群中的资源存在分配率并不是充足的场景,为了能够让第二子负载类型的工作负载也能够充分的调度到第一负载类型的资源节点上,可以增加对控件资源的考虑,即第二子负载类型对应的第二短周期资源不仅是第一短周期资源中未被使用的资源,还可以保证应急资源,本实施例中,具体实现方式如下:
获取机动资源以及所述机动资源对应的机动权重;根据所述机动资源和所述机动权重生成第三资源分配信息,以及根据所述资源评估信息和所述资源申请信息确定第四资源分配信息;基于所述第三资源分配信息和所述第四资源分配信息,确定对应所述第二子负载类型的所述第二资源分配信息。
具体的,机动资源具体是指应对突发事件所能够调用的资源,相应的,机动权重是根据第二子负载类型的工作负载使用机动资源的频率确定,频率越高机动权重越大,说明机动资源被使用的概率也就越大,进一步说明需要分配较多的机动资源供第二子负载类型的工作负载使用。相应的,第三资源分配信息具体是指机动资源中能够分配给第二子负载类型的资源信息,第四资源分配信息具体是指第一短周期资源中能够分配给第二子负载类型的资源信息。
基于此,为了能够保证第二子负载类型的工作负载的可分配资源充足且利用率较高,可以获取激动资源及其对应的机动权重,以根据机动资源和机动权重确定能够分配给第二子负载类型的资源对应的第三资源分配信息;同时根据资源评估信息和资源申请信息确定第四资源分配信息,最后通过整合第三资源分配信息和第四资源分配信息即可确定第二子负载类型对应的第二资源分配信息,该第二资源分配信息中包含机动资源的分配详情和第一短周期资源的分配详情,以支持第二子负载类型的工作负载的运行。需要说明的是,机动权重取值可以基于第二子负载类型的工作负载的平均运行时长以及第一子负载类型的工作负载调度机动资源的频率确定。
沿用上例,在确定Prod对应的第一短周期资源中能够分配给Batch的短周期资源后,还可以根据对应Free的应急资源及其对应的权重计算可以分配给Batch的额外资源,之后将这两部分资源进行整合,即可确定Batch能够分配的第二短周期资源,以支持该类型工作负载的运行。
综上,通过在第二短周期资源中增加机动资源,不仅可以避免资源分配率不充足的问题,还能够保证第二子负载类型的工作负载可以分配到第一子负载类型对应的第一短周期资源上,从而提高资源的利用率,避免资源长时间空闲而产生的无用消耗。
步骤S208,按照所述长周期资源特征图,在所述短周期资源中针对所述长周期负载类型分配长周期资源。
具体的,在上述完成对短周期负载类型的资源分配后,进一步的,为了能够提高资源利用率,可以按照长期资源特征图,在短周期资源中针对长周期负载类型分配长周期资源,也就是说,分配给长周期负载类型的长周期资源属于短周期资源中的一部分,从而保证长周期资源分配时,可以充分考虑长周期负载类型的特性,充分利用短周期负载类型中可能未被使用的资源,有效的提高了资源利用率。
进一步的,在针对长周期负载类型分配长周期资源的过程中,为了能够提高资源分配合理性,可以结合长周期负载类型对应的长周期特征图完成,本实施例中,具体实现方式如下:
根据所述长周期资源特征图确定长周期资源特征值;基于所述长周期资源特征值确定长周期资源分配信息;按照所述长周期资源分配信息,在所述短周期资源中针对所述长周期负载类型分配所述长周期资源。
具体的,长周期资源特征值具体是指表征长周期负载类型的工作负载的资源使用情况的数值,长周期资源分配信息具体是指针对长周期负载类型分配资源的信息。
基于此,考虑到短周期负载类型已经充分应对了短生命周期的计算任务,但是随着AI技术的广泛应用,AI的训练推理并非短生命周期的任务,其对资源运行时的稳定性相比短周期负载类型的工作负载具有更高的要求,即需要长期且稳定的资源,因此若需要针对长周期负载任务分配长周期资源,需要基于长周期资源特征图确定长周期资源特征值,之后基于长周期资源特征值确定长周期资源分配信息,之后再按照长周期资源分配信息,在短周期资源中针对长周期负载类型分配长周期资即可。也就是说,长周期资源属于短周期资源中的一部分。
沿用上例,当需要针对Mid分配资源时,考虑到资源利用率,Mid的资源画像可以基于Prod的工作负载长周期的资源使用情况得到,并且周期长度可以根据工作负载的特征确定,即Tmid∈{8,31},确保Mid的工作负载的运行周期可以覆盖Prod的工作负载的周或月的时间周期,也就是说,Mid的资源分配需要满足Allocable(Mid)=∑i[request(Prodi)-ST(Prodi),其中,ST(Prodi)表示Prod工作负载的长周期资源画像值,即图5所示的示意图,Mid的工作负载在运行时会长期占用已分配且未被使用的资源;通过长周期资源画像值得到的ST(Prodi)进行资源点读,使得Mid的资源稳定性非常接近于Prod资源,用于支持长生命周期的任务。
需要说明的是,当属于Prod、Mid或Batch的工作负载同时请求时,若资源可以分配开,可以同时运行,若资源无法合理分配,则可以按照优先级顺序先后处理,以提高资源利用率。
综上,通过对Prod类型的在线实时交互式任务的资源使用特征的画像,既能够使用短周期资源完成对长周期负载类型的已分配未使用的资源进行再次的超卖分配,提高资源利用率,还能够保证长周期负载类型的工作负载在运行时使用稳定性更高的资源,以支持长周期负载类型的工作负载的持续运行。
此外,考虑到应急场景下需要额外的资源支持突发工作负载的运行,还可以额外设置调用资源,本实施例中,具体实现方式如下:
获取系统预留资源;根据所述待分配资源、所述短周期资源和所述系统预留资源计算调用资源,并创建所述调用资源对应的调用策略;针对应急负载类型分配所述调用资源,并配置所述调用策略。
具体的,系统预留资源具体是指无法被使用的资源,调用资源具体是指可以支持额外支配的资源,用于应急场景,调用策略具体是指限制调用资源的使用场景,避免调用资源被滥用。
基于此,虽然短周期负载类型和长周期负载类型的资源分配已经覆盖了较大的场景,并且在各自场景中均可以满足不同工作负载对计算资源的诉求,但是为了能够支持应急需求,还可以设置调用资源,就是说,在任意时刻都可以支持突发时间所使用的资源,这部分资源可以基于待分配资源、短周期资源以及系统预留资源计算确定,并且为了能够提高调用资源的稳定性,还针对其设定调用策略,以实现针对应急负载类型分配调用资源,并配置调用策略。
沿用上例,考虑到Prod+Mid+Batch的组合已经能够充分的使用集群中的资源,并且在各自的场景中满足工作负载对计算资源的诉求。为了应对突发场景,可以额外设置对应Free的调用资源,参见图6所示的示意图,即Free是基于节点实际的利用率进行资源调度的,其满足Allocable(Free)=min(AllocableNode-ReservedSystem-UsageNode,HardLimitFree),也就是说,节点中的剩余资源均可作为Free的调用资源,并且可以设定同一节点的Free对应的资源无法被过多任务调用。
综上,通过设置调用资源以及调用策略,可以应对突发场景,不仅可以提高资源利用率,还能够方便维护资源。
更进一步的,在资源分配完成后,若接收到目标应用对应的请求后,可以基于目标应用的类型选择对应的资源进行分配,以支持请求的运行,本实施例中,具体实现方式如下:
获取目标应用对应的应用请求,并确定所述应用请求对应的目标负载类型;在所述目标负载类型为所述短周期负载类型的情况下,将所述应用请求加载至所述短周期资源;在所述目标负载类型为所述长周期负载类型的情况下,将所述应用请求加载至所述长周期资源。
具体的,目标应用具体是指当前时刻需要通过计算资源支持运行的应用,相应的,应用请求即为需要通过资源运行响应的请求。
基于此,当接收到目标应用对应的应用请求后,可以先确定应用请求对应的目标负载类型,若目标负载类型属于短周期负载类型,则说明需要使用短周期资源运行应用请求,可以将应用请求加载至短周期资源;若目标负载类型属于长周期负载类型,则说明需要使用长周期资源运行应用请求,可以将应用请求加载至长周期资源。
本说明书提供的资源分配方法,在获取到工作负载对应的资源使用数据后,可以以此为基础构建对应长周期负载类型的长周期资源特征图,以及对应短周期负载类型的短周期资源特征图,实现通过资源特征图体现不同类型的工作负载的资源诉求,之后再按照短周期资源特征图针对短周期负载类型分配短周期资源,以及按照长周期资源特征图,在资源分配满之后中针对长周期任务负载类型超卖长周期资源;实现了通过统一化处理支持任意任务的资源分配,不仅可以保证各种服务的资源确定性诉求,同时也通过资源超卖的方式提高了数据中心的资源利用率,有效的降低了资源浪费问题带来的损失。
下述结合附图7,以本说明书提供的资源分配方法在数据中心资源分配场景中的应用为例,对所述资源分配方法进行进一步说明。其中,图7示出了本说明书一个实施例提供的一种资源分配方法的处理过程流程图,具体包括以下步骤。
步骤S702,获取工作负载对应的资源使用数据。
步骤S704,根据资源使用数据构建对应长周期负载类型的长周期资源特征图,以及对应短周期负载类型的短周期资源特征图。
步骤S706,根据短周期资源特征图确定短周期负载类型中包含的第一子负载类型对应的第一资源分配信息。
步骤S708,根据短周期资源特征图确定短周期负载类型对应的资源申请信息和资源使用信息。
步骤S710,根据资源使用信息对短周期负载类型进行资源评估,获得资源评估信息。
步骤S712,基于资源评估信息和资源申请信息,确定对应第二子负载类型的第二资源分配信息。
步骤S714,按照第一资源分配信息,在待分配资源中针对第一子负载类型分配第一短周期资源。
步骤S716,按照第二资源分配信息,在第一短周期资源中针对第二子负载类型分配第二短周期资源。
步骤S718,根据长周期资源特征图确定长周期资源特征值。
步骤S720,基于长周期资源特征值确定长周期资源分配信息。
步骤S722,按照长周期资源分配信息,在第一短周期资源中针对长周期负载类型分配长周期资源。
步骤S724,获取系统预留资源,并根据待分配资源、短周期资源和系统预留资源计算调用资源。
步骤S726,创建调用资源对应的调用策略,并针对应急负载类型分配调用资源以及配置调用策略。
综上所述,本说明书提供的资源分配方法,在获取到工作负载对应的资源使用数据后,可以以此为基础构建对应长周期负载类型的长周期资源特征图,以及对应短周期负载类型的短周期资源特征图,实现通过资源特征图体现不同类型的工作负载的资源诉求,之后再按照短周期资源特征图针对短周期负载类型分配短周期资源,以及按照长周期资源特征图,在资源分配满之后中针对长周期任务负载类型超卖长周期资源;实现了通过统一化处理支持任意任务的资源分配,不仅可以保证各种服务的资源确定性诉求,同时也通过资源超卖的方式提高了数据中心的资源利用率,有效的降低了资源浪费问题带来的损失。
与上述方法实施例相对应,本说明书还提供了资源分配装置实施例,图8示出了本说明书一个实施例提供的一种资源分配装置的结构示意图。如图8所示,该装置包括:
获取模块802,被配置为获取工作负载对应的资源使用数据;
构建模块804,被配置为根据所述资源使用数据构建对应长周期负载类型的长周期资源特征图,以及对应短周期负载类型的短周期资源特征图;
第一分配模块806,被配置为按照所述短周期资源特征图,在待分配资源中针对所述短周期负载类型分配短周期资源;
第二分配模块808,被配置为按照所述长周期资源特征图,在所述短周期资源中针对所述长周期负载类型分配长周期资源。
一个可选的实施例中,所述构建模块804进一步被配置为:
在所述资源使用数据中选择目标时间区间对应的初始资源使用数据;按照预设的衰减策略对所述初始资源使用数据进行处理,获得短周期资源使用数据;基于所述短周期资源使用数据构建所述短周期负载类型对应的所述短周期资源特征图。
一个可选的实施例中,所述第一分配模块806进一步被配置为:
根据所述短周期资源特征图确定短周期资源特征值;利用所述短周期资源特征值对所述短周期负载类型中的工作负载进行处理,根据处理结果确定短周期资源分配信息;按照所述短周期资源分配信息,在所述待分配资源中针对所述短周期负载类型分配所述短周期资源。
一个可选的实施例中,所述构建模块804进一步被配置为:
确定所述长周期负载类型对应的周期值,并根据所述周期值在所述资源使用数据中确定长周期资源使用数据;基于所述长周期资源使用数据构建所述长周期负载类型对应的所述长周期资源特征图。
一个可选的实施例中,所述第二分配模块808进一步被配置为:
根据所述长周期资源特征图确定长周期资源特征值;基于所述长周期资源特征值确定长周期资源分配信息;按照所述长周期资源分配信息,在所述短周期资源中针对所述长周期负载类型分配所述长周期资源。
一个可选的实施例中,所述构建模块804进一步被配置为:
根据所述短周期资源特征图确定所述短周期负载类型中包含的第一子负载类型对应的第一资源分配信息,以及第二子负载类型对应的第二资源分配信息;按照所述第一资源分配信息,在所述待分配资源中针对所述第一子负载类型分配第一短周期资源;按照所述第二资源分配信息,在所述第一短周期资源中针对所述第二子负载类型分配第二短周期资源。
一个可选的实施例中,所述构建模块804进一步被配置为:
根据所述短周期资源特征图确定所述短周期负载类型对应的资源申请信息和资源使用信息;根据所述资源使用信息对所述短周期负载类型进行资源评估,获得资源评估信息;基于所述资源评估信息和所述资源申请信息,确定对应所述第二子负载类型的所述第二资源分配信息。
一个可选的实施例中,所述构建模块804进一步被配置为:
获取机动资源以及所述机动资源对应的机动权重;根据所述机动资源和所述机动权重生成第三资源分配信息,以及根据所述资源评估信息和所述资源申请信息确定第四资源分配信息;基于所述第三资源分配信息和所述第四资源分配信息,确定对应所述第二子负载类型的所述第二资源分配信息。
一个可选的实施例中,所述构建模块804进一步被配置为:
在所述目标时间区间中的每个时间节点对所述初始资源使用数据进行采样处理,获得多个初始资源使用值;确定所述目标时间区间对应的衰减值,并按照所述衰减值对所述多个初始资源使用值进行处理;根据处理结果确定所述短周期资源使用数据。
一个可选的实施例中,所述资源分配装置,还包括:
应急模块,被配置为获取系统预留资源;根据所述待分配资源、所述短周期资源和所述系统预留资源计算调用资源,并创建所述调用资源对应的调用策略;针对应急负载类型分配所述调用资源,并配置所述调用策略。
一个可选的实施例中,所述资源分配装置,还包括:
加载模块,被配置为获取目标应用对应的应用请求,并确定所述应用请求对应的目标负载类型;在所述目标负载类型为所述短周期负载类型的情况下,将所述应用请求加载至所述短周期资源;在所述目标负载类型为所述长周期负载类型的情况下,将所述应用请求加载至所述长周期资源。
本说明书提供的资源分配装置,在获取到工作负载对应的资源使用数据后,可以以此为基础构建对应长周期负载类型的长周期资源特征图,以及对应短周期负载类型的短周期资源特征图,实现通过资源特征图体现不同类型的工作负载的资源诉求,之后再按照短周期资源特征图针对短周期负载类型分配短周期资源,以及按照长周期资源特征图,在资源分配满之后中针对长周期任务负载类型超卖长周期资源;实现了通过统一化处理支持任意任务的资源分配,不仅可以保证各种服务的资源确定性诉求,同时也通过资源超卖的方式提高了数据中心的资源利用率,有效的降低了资源浪费问题带来的损失。
上述为本实施例的一种资源分配装置的示意性方案。需要说明的是,该资源分配装置的技术方案与上述的资源分配方法的技术方案属于同一构思,资源分配装置的技术方案未详细描述的细节内容,均可以参见上述资源分配方法的技术方案的描述。
图9示出了根据本说明书一个实施例提供的一种计算设备900的结构框图。该计算设备900的部件包括但不限于存储器910和处理器920。处理器920与存储器910通过总线930相连接,数据库950用于保存数据。
计算设备900还包括接入设备940,接入设备940使得计算设备900能够经由一个或多个网络960通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备940可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本说明书的一个实施例中,计算设备900的上述部件以及图9中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图9所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备900可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备900还可以是移动式或静止式的服务器。
其中,处理器920用于执行如下计算机可执行指令,该计算机可执行指令被处理器执行时实现上述资源分配方法的步骤。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的资源分配方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述资源分配方法的技术方案的描述。
本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述资源分配方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的资源分配方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述资源分配方法的技术方案的描述。
本说明书一实施例还提供一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述资源分配方法的步骤。
上述为本实施例的一种计算机程序的示意性方案。需要说明的是,该计算机程序的技术方案与上述的资源分配方法的技术方案属于同一构思,计算机程序的技术方案未详细描述的细节内容,均可以参见上述资源分配方法的技术方案的描述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书实施例并不受所描述的动作顺序的限制,因为依据本说明书实施例,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书实施例所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书实施例的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书实施例的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。

Claims (14)

1.一种资源分配方法,包括:
获取工作负载对应的资源使用数据;
根据所述资源使用数据构建对应长周期负载类型的长周期资源特征图,以及对应短周期负载类型的短周期资源特征图;
按照所述短周期资源特征图,在待分配资源中针对所述短周期负载类型分配短周期资源;
按照所述长周期资源特征图,在所述短周期资源中针对所述长周期负载类型分配长周期资源。
2.根据权利要求1所述的资源分配方法,所述根据所述资源使用数据构建对应短周期负载类型的短周期资源特征图,包括:
在所述资源使用数据中选择目标时间区间对应的初始资源使用数据;
按照预设的衰减策略对所述初始资源使用数据进行处理,获得短周期资源使用数据;
基于所述短周期资源使用数据构建所述短周期负载类型对应的所述短周期资源特征图。
3.根据权利要求1或2所述的资源分配方法,所述按照所述短周期资源特征图,在待分配资源中针对所述短周期负载类型分配短周期资源,包括:
根据所述短周期资源特征图确定短周期资源特征值;
利用所述短周期资源特征值对所述短周期负载类型中的工作负载进行处理,根据处理结果确定短周期资源分配信息;
按照所述短周期资源分配信息,在所述待分配资源中针对所述短周期负载类型分配所述短周期资源。
4.根据权利要求1所述的资源分配方法,所述根据所述资源使用数据构建对应长周期负载类型的长周期资源特征图,包括:
确定所述长周期负载类型对应的周期值,并根据所述周期值在所述资源使用数据中确定长周期资源使用数据;
基于所述长周期资源使用数据构建所述长周期负载类型对应的所述长周期资源特征图。
5.根据权利要求1或4所述的资源分配方法,所述按照所述长周期资源特征图,在所述短周期资源中针对所述长周期负载类型分配长周期资源,包括:
根据所述长周期资源特征图确定长周期资源特征值;
基于所述长周期资源特征值确定长周期资源分配信息;
按照所述长周期资源分配信息,在所述短周期资源中针对所述长周期负载类型分配所述长周期资源。
6.根据权利要求1所述的资源分配方法,所述按照所述短周期资源特征图,在待分配资源中针对所述短周期负载类型分配短周期资源,包括:
根据所述短周期资源特征图确定所述短周期负载类型中包含的第一子负载类型对应的第一资源分配信息,以及第二子负载类型对应的第二资源分配信息;
按照所述第一资源分配信息,在所述待分配资源中针对所述第一子负载类型分配第一短周期资源;
按照所述第二资源分配信息,在所述第一短周期资源中针对所述第二子负载类型分配第二短周期资源。
7.根据权利要求6所述的资源分配方法,所述第二资源分配信息通过如下方式确定:
根据所述短周期资源特征图确定所述短周期负载类型对应的资源申请信息和资源使用信息;
根据所述资源使用信息对所述短周期负载类型进行资源评估,获得资源评估信息;
基于所述资源评估信息和所述资源申请信息,确定对应所述第二子负载类型的所述第二资源分配信息。
8.根据权利要求7所述的资源分配方法,所述根据所述资源使用信息对所述短周期负载类型进行资源评估,获得资源评估信息步骤执行之后,还包括:
获取机动资源以及所述机动资源对应的机动权重;
根据所述机动资源和所述机动权重生成第三资源分配信息,以及根据所述资源评估信息和所述资源申请信息确定第四资源分配信息;
基于所述第三资源分配信息和所述第四资源分配信息,确定对应所述第二子负载类型的所述第二资源分配信息。
9.根据权利要求2所述的资源分配方法,所述按照预设的衰减策略对所述初始资源使用数据进行处理,获得短周期资源使用数据,包括:
在所述目标时间区间中的每个时间节点对所述初始资源使用数据进行采样处理,获得多个初始资源使用值;
确定所述目标时间区间对应的衰减值,并按照所述衰减值对所述多个初始资源使用值进行处理;
根据处理结果确定所述短周期资源使用数据。
10.根据权利要求1所述的资源分配方法,还包括:
获取系统预留资源;
根据所述待分配资源、所述短周期资源和所述系统预留资源计算调用资源,并创建所述调用资源对应的调用策略;
针对应急负载类型分配所述调用资源,并配置所述调用策略。
11.根据权利要求1所述的资源分配方法,所述按照所述长周期资源特征图,在所述短周期资源中针对所述长周期负载类型分配长周期资源步骤执行之后,还包括:
获取目标应用对应的应用请求,并确定所述应用请求对应的目标负载类型;
在所述目标负载类型为所述短周期负载类型的情况下,将所述应用请求加载至所述短周期资源;
在所述目标负载类型为所述长周期负载类型的情况下,将所述应用请求加载至所述长周期资源。
12.一种资源分配装置,包括:
获取模块,被配置为获取工作负载对应的资源使用数据;
构建模块,被配置为根据所述资源使用数据构建对应长周期负载类型的长周期资源特征图,以及对应短周期负载类型的短周期资源特征图;
第一分配模块,被配置为按照所述短周期资源特征图,在待分配资源中针对所述短周期负载类型分配短周期资源;
第二分配模块,被配置为按照所述长周期资源特征图,在所述短周期资源中针对所述长周期负载类型分配长周期资源。
13.一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1至11任意一项所述资源分配方法的步骤。
14.一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1至11任意一项所述资源分配方法的步骤。
CN202111210713.7A 2021-10-18 2021-10-18 资源分配方法以及装置 Pending CN114035940A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202111210713.7A CN114035940A (zh) 2021-10-18 2021-10-18 资源分配方法以及装置
PCT/CN2022/123900 WO2023066035A1 (zh) 2021-10-18 2022-10-08 资源分配方法以及资源分配装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111210713.7A CN114035940A (zh) 2021-10-18 2021-10-18 资源分配方法以及装置

Publications (1)

Publication Number Publication Date
CN114035940A true CN114035940A (zh) 2022-02-11

Family

ID=80135319

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111210713.7A Pending CN114035940A (zh) 2021-10-18 2021-10-18 资源分配方法以及装置

Country Status (2)

Country Link
CN (1) CN114035940A (zh)
WO (1) WO2023066035A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023066035A1 (zh) * 2021-10-18 2023-04-27 阿里巴巴(中国)有限公司 资源分配方法以及资源分配装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9251115B2 (en) * 2013-03-07 2016-02-02 Citrix Systems, Inc. Dynamic configuration in cloud computing environments
CN107562545A (zh) * 2017-09-11 2018-01-09 南京奥之云信息技术有限公司 一种基于Docker技术的容器调度方法
CN108196959B (zh) * 2018-02-07 2021-06-01 聚好看科技股份有限公司 Etl系统的资源管理方法及装置
CN110401695A (zh) * 2019-06-12 2019-11-01 北京因特睿软件有限公司 云资源动态调度方法、装置和设备
CN112835698A (zh) * 2021-02-09 2021-05-25 北京工业大学 一种基于异构集群的请求分类处理的动态负载均衡方法
CN114035940A (zh) * 2021-10-18 2022-02-11 阿里巴巴(中国)有限公司 资源分配方法以及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023066035A1 (zh) * 2021-10-18 2023-04-27 阿里巴巴(中国)有限公司 资源分配方法以及资源分配装置

Also Published As

Publication number Publication date
WO2023066035A1 (zh) 2023-04-27

Similar Documents

Publication Publication Date Title
Li et al. SmartPC: Hierarchical pace control in real-time federated learning system
JP6490913B2 (ja) グリッドコンピューティングシステムの遊休リソースによるタスク実行
Téllez et al. A tabu search method for load balancing in fog computing
CN104243405B (zh) 一种请求处理方法、装置及系统
CN110389816B (zh) 用于资源调度的方法、装置以及计算机可读介质
CN110069341B (zh) 边缘计算中结合功能按需配置的有依赖关系任务的调度方法
CN110990138B (zh) 资源调度方法、装置、服务器及存储介质
CN109672709B (zh) 一种混合云业务调度系统及方法
CN109861850B (zh) 一种基于sla的无状态云工作流负载均衡调度的方法
CN114035941A (zh) 资源调度系统、方法以及计算设备
CN111078404B (zh) 一种计算资源确定方法、装置、电子设备及介质
Wu et al. Dynamically adjusting scale of a kubernetes cluster under qos guarantee
WO2023066035A1 (zh) 资源分配方法以及资源分配装置
CN117311973A (zh) 计算设备调度方法、装置、非易失性存储介质及电子设备
CN115562841B (zh) 一种云视频服务自适应资源调度系统和方法
Singapuram et al. Swan: A neural engine for efficient dnn training on smartphone socs
CN115952054A (zh) 一种仿真任务资源管理方法、装置、设备及介质
CN114443293A (zh) 一种大数据平台的部署系统及方法
CN114546646A (zh) 处理方法和处理装置
CN112953993A (zh) 资源调度方法、设备、网络系统及存储介质
Arun et al. A multi-objective EBCO-TS algorithm for efficient task scheduling in mobile cloud computing
CN112579246A (zh) 虚拟机迁移处理方法及装置
CN116467068B (zh) 资源调度方法、设备及存储介质
CN113296870B (zh) 预测Kubernetes集群配置的方法以及装置
US20230273813A1 (en) Schedule management for machine learning model-based processing in computing environment

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40067048

Country of ref document: HK