CN116860464B - 负载资源的分配方法和装置、存储介质及电子装置 - Google Patents
负载资源的分配方法和装置、存储介质及电子装置 Download PDFInfo
- Publication number
- CN116860464B CN116860464B CN202311138951.0A CN202311138951A CN116860464B CN 116860464 B CN116860464 B CN 116860464B CN 202311138951 A CN202311138951 A CN 202311138951A CN 116860464 B CN116860464 B CN 116860464B
- Authority
- CN
- China
- Prior art keywords
- information
- load
- historical
- determining
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 83
- 238000013468 resource allocation Methods 0.000 title claims abstract description 27
- 230000008878 coupling Effects 0.000 claims description 54
- 238000010168 coupling process Methods 0.000 claims description 54
- 238000005859 coupling reaction Methods 0.000 claims description 54
- 239000013598 vector Substances 0.000 claims description 30
- 238000000605 extraction Methods 0.000 claims description 22
- 239000011159 matrix material Substances 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 16
- 230000001419 dependent effect Effects 0.000 claims description 16
- 230000005540 biological transmission Effects 0.000 claims description 11
- 238000004891 communication Methods 0.000 claims description 11
- 230000006835 compression Effects 0.000 claims description 9
- 238000007906 compression Methods 0.000 claims description 9
- 238000012847 principal component analysis method Methods 0.000 claims description 8
- 238000000354 decomposition reaction Methods 0.000 claims description 5
- 238000012880 independent component analysis Methods 0.000 claims description 5
- 238000000513 principal component analysis Methods 0.000 claims description 5
- 238000010187 selection method Methods 0.000 claims description 5
- 238000013135 deep learning Methods 0.000 claims description 4
- 230000006870 function Effects 0.000 description 6
- 230000004044 response Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002045 lasting effect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
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/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
- G06F9/505—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 considering the load
-
- 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
- G06F9/5038—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 considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- 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/5017—Task decomposition
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供了一种负载资源的分配方法和装置、存储介质及电子装置,其中,该负载资源的分配方法包括:接收携带有任务信息的任务请求,并将任务信息对应的任务拆分为多个子任务;确定预先存储的子任务与第一负载特征的第一对应关系,以及子任务与第一数据依赖信息的第二对应关系,其中,第一负载特征用于指示系统中执行子任务的器件的第一负载信息,第一数据依赖信息用于指示器件执行子任务的时序关系;根据第一对应关系和第二对应关系确定每个子任务的第二负载信息,以及第二负载信息对应的多个第一负载资源的分配顺序;根据分配顺序将多个第一负载资源分配至任务。
Description
技术领域
本申请实施例涉及计算机领域,具体而言,涉及一种负载资源的分配方法和装置、存储介质及电子装置。
背景技术
现有技术中,在接收到任务请求的情况下,通过以下方式分配负载资源:
1.基于权重(Weighted):根据每个资源的权重,分配任务。权重可以根据资源的性能、负载情况或其他因素进行调整,以实现更灵活的负载均衡策略。
2.基于响应时间(Response Time):根据资源的响应时间来分配任务,将任务分配给响应时间最短的资源。这种方式可以提高系统的响应速度和用户体验。
但是,现有技术中的资源分配方式均需要获取资源池中的资源的信息,因此,会导致资源分配时间较长的问题。
发明内容
本申请实施例提供了一种负载资源的分配方法和装置、存储介质及电子装置,以至少解决相关技术中现有技术中的资源分配方式均需要获取资源池中的资源的信息,因此,会导致资源分配时间较长的问题。
根据本申请的一个实施例,提供了一种负载资源的分配方法,包括:接收携带有任务信息的任务请求,并将所述任务信息对应的任务拆分为多个子任务;确定预先存储的所述子任务与第一负载特征的第一对应关系,以及所述子任务与第一数据依赖信息的第二对应关系,其中,所述第一负载特征用于指示系统中执行所述子任务的器件的第一负载信息,所述第一数据依赖信息用于指示所述器件执行所述子任务的时序关系;根据所述第一对应关系和所述第二对应关系确定每个所述子任务的第二负载信息,以及所述第二负载信息对应的多个第一负载资源的分配顺序;根据所述分配顺序将所述多个第一负载资源分配至所述任务。
在一个示例性实施例中,将所述任务信息对应的任务拆分为多个子任务,包括:确定所述任务的任务类型,并根据所述任务类型确定是否存在所述任务与所述多个子任务的第三对应关系;在不存在所述第三对应关系的情况下,获取预设的子任务集合,其中,所述子任务集合中包括:协议卸载任务、压缩任务、加密任务、数据搬运任务、数据一致任务和纠删码任务;根据所述子任务集合和所述任务信息将所述任务拆分为多个子任务。
在一个示例性实施例中,根据所述子任务集合和所述任务信息将所述任务拆分为多个子任务,包括:根据所述任务信息确定所述任务的多个执行步骤;在所述子任务集合中确定每个所述执行步骤对应的子任务,以将所述任务拆分为多个子任务。
在一个示例性实施例中,根据所述任务类型确定是否存在所述任务与所述多个子任务的第三对应关系之后,所述方法还包括:在存在所述第三对应关系的情况下,根据所述第三对应关系确定所述任务对应的所述多个子任务 ,并将所述任务拆分为多个子任务。
在一个示例性实施例中,根据所述第一对应关系和所述第二对应关系确定每个所述子任务的第二负载信息,包括:根据所述第二对应关系确定所述器件的执行顺序,以及根据所述第一对应关系确定所述器件的第一负载信息;根据所述执行顺序和所述第一负载信息确定为每个所述子任务分配的第三负载信息以及所述第三负载信息对应的第二负载资源的分配顺序 ,其中,所述第二负载信息包括:所述第三负载信息,所述多个第一负载资源包括:所述第二负载资源。
在一个示例性实施例中,接收携带有任务信息的任务请求之前,所述方法还包括:确定在历史时间段执行子任务时的第一历史负载信息和第一历史可用指令信息,其中,所述第一历史可用指令信息用于指示在所述历史时间段所述系统中执行所述子任务的器件的通信关系;根据所述第一历史负载信息和所述历史可用指令信息确定所述第一对应关系和所述第二对应关系。
在一个示例性实施例中,根据所述第一历史负载信息和所述历史可用指令信息确定所述第一对应关系和所述第二对应关系,包括:通过第一预设方式对所述第一历史负载信息进行特征提取,以得到所述第一负载特征,以及通过第二预设方式耦合至少两个所述第一历史负载信息,以获取至少两个所述第一历史负载信息之间的第一耦合信息,并根据所述第一耦合信息和所述第一历史可用指令信息确定所述第一数据依赖信息;建立所述子任务与所述第一负载特征的第一对应关系,以及建立所述子任务与所述第一数据依赖信息的第二对应关系。
在一个示例性实施例中,通过第一预设方式对所述第一历史负载信息进行特征提取,以得到所述第一负载特征,至少包括以下之一:通过嵌入式特征选择法对所述第一历史负载信息进行特征提取,以得到所述第一负载特征;通过主成分分析法对所述第一历史负载信息进行特征提取,以得到所述第一负载特征;通过独立成分分析法对所述第一历史负载信息进行特征提取,以得到所述第一负载特征;通过序列模型特征提取法对所述第一历史负载信息进行特征提取,以得到所述第一负载特征;通过深度学习特征提取法对所述第一历史负载信息进行特征提取,以得到所述第一负载特征。
在一个示例性实施例中,通过主成分分析法对所述第一历史负载信息进行特征提取,以得到所述第一负载特征,包括:确定所述第一历史负载信息对应的第一特征向量,并确定所述第一特征向量对应的协方差矩阵;对所述协方差矩阵进行特征值分解,得到特征值和所述特征值对应的第二特征向量;在多个所述第二特征向量中确定第三特征向量,并确定所述第三特征向量对应的投影矩阵;根据所述第一特征向量和所述投影矩阵确定所述第一负载特征。
在一个示例性实施例中,在多个第二特征向量中确定第三特征向量,包括:将所述特征值进行排序;根据排序后的特征值确定数值最大的N个特征值,以及确定所述N个特征值对应的特征向量,其中,N为整数;将所述N个特征值对应的特征向量作为所述第三特征向量。
在一个示例性实施例中,根据所述第一耦合信息和所述第一历史可用指令信息确定所述第一数据依赖信息,包括:根据所述第一耦合信息确定执行所述子任务的器件的第一关联关系,以及确定每个所述第一历史可用指令对应的器件之间的第二关联关系;根据所述第一关联关系和所述第二关联关系确定所述第一数据依赖信息。
在一个示例性实施例中,通过第二预设方式耦合所述第一历史负载信息,至少包括以下之一:获取所述第一历史负载信息对应的时间信息,根据所述时间信息对所述第一历史负载信息进行耦合;获取所述第一历史负载信息对应的接口信息,根据所述接口信息对所述第一历史负载信息进行耦合;获取所述第一历史负载信息对应的器件信息,根据所述器件信息对所述第一历史负载信息进行耦合。
在一个示例性实施例中,确定预先存储的每个所述子任务与第一负载特征的第一对应关系,以及所述子任务与第一数据依赖信息的第二对应关系之后,所述方法还包括:确定所述第一对应关系的第一更新时间和所述第二对应关系的第二更新时间;根据所述第一更新时间和当前时间的第一时间差值,以及所述第二更新时间和所述当前时间的第二时间差值确定是否更新所述第一对应关系和所述第二对应关系。
在一个示例性实施例中,根据所述第一更新时间和当前时间的时间差值,以及所述第二更新时间和所述当前时间的时间差值确定是否更新所述第一对应关系和所述第二对应关系,包括:在所述第一时间差值大于或者等于预设阈值,和/或,所述第二时间差值大于或者等于所述预设阈值的情况下,更新所述第一对应关系和所述第二对应关系;在所述第一时间差值小于所述预设阈值,且所述第二时间差值小于所述预设阈值的情况下,禁止更新所述第一对应关系和所述第二对应关系。
在一个示例性实施例中,更新所述第一对应关系和所述第二对应关系,包括:获取目标时间段内每个所述子任务的第二历史负载信息和第二历史可用指令信息,其中,所述目标时间段为所述更新时间与所述当前时间对应的时间段,其中,所述第二历史可用指令信息用于指示在所述目标时间段所述系统中执行所述子任务的器件的通信关系;根据所述第二历史负载信息和第二历史可用指令信息更新所述第一对应关系和所述第二对应关系。
在一个示例性实施例中,根据所述第二历史负载信息和第二历史可用指令信息更新所述第一对应关系和所述第二对应关系,包括:通过第一预设方式对所述第二历史负载信息进行特征提取,以得到所述第二负载特征,以及通过第二预设方式耦合至少两个所述第二历史负载信息,以获取至少两个所述第二历史负载信息之间的第二耦合信息,并根据所述第二耦合信息和所述第二历史可用指令信息确定第二数据依赖信息;建立所述子任务与所述第二负载特征的第三对应关系,以及建立所述子任务与所述第二数据依赖信息的第四对应关系;将所述第一对应关系更新为所述第三对应关系,以及将所述第二对应关系更新为所述第四对应关系。
在一个示例性实施例中,将所述第二负载信息对应的第一负载资源分配至所述任务之后,所述方法还包括:获取所述第一负载资源的分配结果;根据所述分配结果确定是否再次为所述任务分配负载资源。
在一个示例性实施例中,根据所述分配结果确定是否为所述任务再次分配负载资源,包括:在所述分配结果指示成功将所述负载资源分配至所述任务的情况下,禁止为所述任务再次分配负载资源;在所述分配结果指示未成功将所述负载资源分配至所述任务的情况下,获取所述系统的资源池中的负载资源的占用信息;根据所述占用信息确定第三负载资源,并将所述第三负载资源分配至所述任务。
在一个示例性实施例中,第一负载信息,包括:存储资源信息、计算资源信息和传输资源信息;所述第一数据依赖信息包括:所述器件的数据之间的空间局限性、所述器件的数据之间的拓扑关系和所述器件的数据之间的调用关系。
根据本申请的另一个实施例,提供了一种负载资源的分配装置,包括:
接收模块,用于接收携带有任务信息的任务请求,并将所述任务信息对应的任务拆分为多个子任务;第一确定模块,用于确定预先存储的所述子任务与第一负载特征的第一对应关系,以及所述子任务与第一数据依赖信息的第二对应关系,其中,所述第一负载特征用于指示系统中执行所述子任务的器件的第一负载信息,所述第一数据依赖信息用于指示所述器件执行所述子任务的时序关系;第二确定模块,用于根据所述第一对应关系和所述第二对应关系确定每个所述子任务的第二负载信息,以及所述第二负载信息对应的多个第一负载资源的分配顺序;分配模块,用于根据所述分配顺序将所述多个第一负载资源分配至所述任务。
根据本申请的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本申请的又一个实施例,还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本申请,由于接收携带有任务信息的任务请求,并将任务信息对应的任务拆分为多个子任务;根据预先存储的子任务与第一负载特征的第一对应关系,以及子任务与第一数据依赖信息的第二对应关系确定每个子任务的第二负载信息,以及第二负载信息对应的多个第一负载资源的分配顺序,其中,第一负载特征用于指示系统中执行子任务的器件的第一负载信息,第一数据依赖信息用于指示器件执行子任务的时序关系;进而根据分配顺序将多个第一负载资源分配至任务。因此,可以解决相关技术中现有技术中的资源分配方式均需要获取资源池中的资源的信息,因此,会导致资源分配时间较长的问题。
附图说明
图1是本申请实施例的一种负载资源的分配方法的计算机终端的硬件结构框图;
图2是根据本申请实施例的负载资源的分配方法的流程图;
图3是根据本实施例的基于负载特征感知和数据依赖的系统动态资源调度方法的流程图;
图4是根据本实施例的获取负载特征和数据依赖信息的流程图;
图5是根据本实施例的系统资源动态调度的方法的流程图;
图6是根据本实施例的负载资源的分配装置的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本申请的实施例。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图1是本申请实施例的一种负载资源的分配方法的计算机终端的硬件结构框图。如图1所示,计算机终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,其中,上述计算机终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本申请实施例中的负载资源的分配方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
图2是根据本申请实施例的负载资源的分配方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,接收携带有任务信息的任务请求,并将所述任务信息对应的任务拆分为多个子任务;
步骤S204,确定预先存储的所述子任务与第一负载特征的第一对应关系,以及所述子任务与第一数据依赖信息的第二对应关系,其中,所述第一负载特征用于指示系统中执行所述子任务的器件的第一负载信息,所述第一数据依赖信息用于指示所述器件执行所述子任务的时序关系;
需要说明的是,第一负载信息,包括:存储资源信息、计算资源信息和传输资源信息;所述第一数据依赖信息包括:所述器件的数据之间的空间局限性、所述器件的数据之间的拓扑关系和所述器件的数据之间的调用关系。
进一步地,根据所述器件的数据之间的空间局限性、所述器件的数据之间的拓扑关系和所述器件的数据之间的调用关系确定所述器件执行所述子任务的时序关系。
步骤S206,根据所述第一对应关系和所述第二对应关系确定每个所述子任务的第二负载信息,以及所述第二负载信息对应的多个第一负载资源的分配顺序;
步骤S208,根据所述分配顺序将所述多个第一负载资源分配至所述任务。
通过上述步骤,接收携带有任务信息的任务请求,并将任务信息对应的任务拆分为多个子任务;确定预先存储的子任务与第一负载特征的第一对应关系,以及子任务与第一数据依赖信息的第二对应关系,其中,第一负载特征用于指示系统中执行子任务的器件的第一负载信息,第一数据依赖信息用于指示器件执行子任务的时序关系;根据第一对应关系和第二对应关系确定每个子任务的第二负载信息,以及第二负载信息对应的多个第一负载资源的分配顺序;根据分配顺序将多个第一负载资源分配至任务。解决了相关技术中现有技术中的资源分配方式均需要获取资源池中的资源的信息,因此,会导致资源分配时间较长的问题。
可选的,上述步骤S202可以通过以下方式实现:确定所述任务的任务类型,并根据所述任务类型确定是否存在所述任务与所述多个子任务的第三对应关系;在不存在所述第三对应关系的情况下,获取预设的子任务集合,其中,所述子任务集合中包括:协议卸载任务、压缩任务、加密任务、数据搬运任务、数据一致任务和纠删码任务;根据所述子任务集合和所述任务信息将所述任务拆分为多个子任务。
可以理解的是,上述子任务的任务类型包括:协议卸载、压缩、加密、数据搬运、数据一致和纠删码,第三对应关系可以理解为:任务类型A的任务可以拆分为子任务A、子任务B和子任务C,那么可以确认任务类型A与子任务A、子任务B和子任务C存在一个第三对应关系。
通过上述方案,将任务划分为协议卸载、压缩、加密、数据搬运、数据一致和纠删码中的一种或多种,可以加速任务划分的速度,以及提高任务划分的准确性。
可选的,根据所述子任务集合和所述任务信息将所述任务拆分为多个子任务,包括:根据所述任务信息确定所述任务的多个执行步骤;在所述子任务集合中确定每个所述执行步骤对应的子任务,以将所述任务拆分为多个子任务。
可以理解的是,由于子任务集合中包括:协议卸载任务、压缩任务、加密任务、数据搬运任务、数据一致任务和纠删码任务,所以在根据任务信息确定任务步骤之后,根据任务步骤在子任务集合中确定多个子任务,将任务拆分为协议卸载任务、压缩任务、加密任务、数据搬运任务、数据一致任务、纠删码任务中的一个或者多个任务。
可选的,根据所述任务类型确定是否存在所述任务与所述多个子任务的第三对应关系之后,在存在所述第三对应关系的情况下,根据所述第三对应关系确定所述任务对应的所述多个子任务,并将所述任务拆分为多个子任务。
可以理解的是,在存在第三对应关系的情况下,根据上述对应关系确定任务对应的多个子任务,具体的:根据第三对应关系列出对应的子任务,其中,这些子任务应该是具体、可操作的,且能够支持完成上述任务的子任务;根据任务的要求和优先级,将子任务进行组织和排序,其中,可以使用项目管理工具、任务管理工具或简单的表格等方法来记录和管理子任务;根据子任务的复杂度和重要性,分配适当的资源和时间。在确定任务对应的多个子任务的情况下,将任务拆分成多个子任务,以便于后续接收相同任务类型的任务的情况下,根据上述对应关系进行拆分。
可选的,上述步骤S206还可以通过以下方式实现:根据所述第二对应关系确定所述器件的执行顺序,以及根据所述第一对应关系确定所述器件的第一负载信息;根据所述执行顺序和所述第一负载信息确定为每个所述子任务分配的第三负载信息以及所述第三负载信息对应的第二负载资源的分配顺序,其中,所述第二负载信息包括:所述第三负载信息,所述多个第一负载资源包括:所述第二负载资源。
可以理解的是,根据第二对应关系确定所述器件的执行顺序,上述第二对应关系可以是空间局部性、拓扑结构和数据之间关系等数据依赖信息与子任务的对应关系;然后根据空间局部性、拓扑结构和数据之间关系等信息确定所述器件的执行顺序。
进一步的,根据执行顺序和第一负载信息确定为每个子任务分配的第三负载信息,可以选择合适的算法或者策略来确定第三负载信息。例如,可以根据任务的优先级、资源的可用性等因素来进行决策。
可选的,接收携带有任务信息的任务请求之前,还需要执行以下方法:确定在历史时间段执行子任务时的第一历史负载信息和第一历史可用指令信息,其中,所述第一历史可用指令信息用于指示在所述历史时间段所述系统中执行所述子任务的器件的通信关系;根据所述第一历史负载信息和所述历史可用指令信息确定所述第一对应关系和所述第二对应关系。
可以理解的是,上述第一历史负载信息可以包括:在历史时间段执行子任务时系统内部的CPU、GPU、DPU、内存条、硬盘和网卡等关键器件中的负载信息,以及上述可用指令信息为系统中执行所述子任务的器件的通信时采用的指令信息。
进一步的,确定第一对应关系和第二对应关系之后,还可以根据第一历史负载信息和历史可用指令信息的具体数据,验证上述第一对应关系和第二对应关系是否正确,以确保上述对应关系的准确性。
可选的,根据所述第一历史负载信息和所述历史可用指令信息确定所述第一对应关系和所述第二对应关系,包括:通过第一预设方式对所述第一历史负载信息进行特征提取,以得到所述第一负载特征,以及通过第二预设方式耦合至少两个所述第一历史负载信息,以获取至少两个所述第一历史负载信息之间的第一耦合信息,并根据所述第一耦合信息和所述第一历史可用指令信息确定所述第一数据依赖信息;建立所述子任务与所述第一负载特征的第一对应关系,以及建立所述子任务与所述第一数据依赖信息的第二对应关系。
可以理解的是,可以通过特征提取方法提取各种负载特征,进一步的,可以通过特征向量或特征标签将至少两个历史负载信息按照其特征进行耦合。通过神经网络学习方法(包括:Transformer方法)学习耦合信息以及第一历史可用指令信息,以确定第一数据依赖信息。
通过上述可选实施例,由于通过获取两个所述第一历史负载信息之间的第一耦合信息,并根据所述第一耦合信息和所述第一历史可用指令信息确定所述第一数据依赖信息,可以提高数据依赖信息的准确性。
可选的,通过第一预设方式对所述第一历史负载信息进行特征提取,以得到所述第一负载特征,至少包括以下之一:通过嵌入式特征选择法对所述第一历史负载信息进行特征提取,以得到所述第一负载特征;通过主成分分析法对所述第一历史负载信息进行特征提取,以得到所述第一负载特征;通过独立成分分析法对所述第一历史负载信息进行特征提取,以得到所述第一负载特征;通过序列模型特征提取法对所述第一历史负载信息进行特征提取,以得到所述第一负载特征;通过深度学习特征提取法对所述第一历史负载信息进行特征提取,以得到所述第一负载特征。
可以理解的是,上述提取负载特征的方式包括但不限于:嵌入式特征选择法、主成分分析法、独立成分分析法、序列模型特征提取法等。
可选的,通过主成分分析法对所述第一历史负载信息进行特征提取,以得到所述第一负载特征,包括:确定所述第一历史负载信息对应的第一特征向量,并确定所述第一特征向量对应的协方差矩阵;对所述协方差矩阵进行特征值分解,得到特征值和所述特征值对应的第二特征向量;在多个所述第二特征向量中确定第三特征向量,并确定所述第三特征向量对应的投影矩阵;根据所述第一特征向量和所述投影矩阵确定所述第一负载特征。
可以理解的是,上述主成分分析法可以通过以下步骤进行:
步骤1:数据准备,以确定第一特征向量;
步骤2:确定第一特征向量对应的协方差矩阵,其中,协方差矩阵描述了各个特征向量之间的相关性;
步骤3:计算特征值和特征向量:对协方差矩阵进行特征值分解,得到特征值和对应的第二特征向量;
步骤4:在多个第二特征向量中可以确定第三特征向量,以及确定对应的投影矩阵;
步骤5:将所述第一特征向量与所述投影矩阵相乘确定所述第一负载特征。
本发明实施例中,通过使用投影矩阵,可以将原始数据的维度降低,从而减少计算复杂度和存储空间。
可选的,在多个第二特征向量中确定第三特征向量,包括:将所述特征值进行排序;根据排序后的特征值确定数值最大的N个特征值,以及确定所述N个特征值对应的特征向量,其中,N为整数;将所述N个特征值对应的特征向量作为所述第三特征向量。
可以理解的是,可以将特征值进行从小到大排序,将特征值进行排序后,确定特征值最大的N个特征值,以及对应向量,N个特征值对应的向量可以作为第三特征向量,其中,N为降维后的维度。
可选的,根据所述第一耦合信息和所述第一历史可用指令信息确定所述第一数据依赖信息,包括:根据所述第一耦合信息确定执行所述子任务的器件的第一关联关系,以及确定每个所述第一历史可用指令对应的器件之间的第二关联关系;根据所述第一关联关系和所述第二关联关系确定所述第一数据依赖信息。
可以理解的是,根据第一耦合信息确定执行所述子任务的器件的第一关联关系,具体的:根据所述第一耦合信息,确定执行每个子任务所需要的器件类型和功能;根据所需器件的类型和功能,分析它们之间的关联关系,可以包括:确定它们之间的依赖关系、相互作用和传递信息的方式等;根据分析结果,确定每个子任务所需器件的第一关联关系,其中,第一关联关系可以是直接的依赖关系,也可以是通过其他器件传递信息实现的关联关系。
可选的,通过第二预设方式耦合所述第一历史负载信息,至少包括以下之一:获取所述第一历史负载信息对应的时间信息,根据所述时间信息对所述第一历史负载信息进行耦合;获取所述第一历史负载信息对应的接口信息,根据所述接口信息对所述第一历史负载信息进行耦合;获取所述第一历史负载信息对应的器件信息,根据所述器件信息对所述第一历史负载信息进行耦合。
可以理解的是,可以根据第一历史负载信息对应的时间信息、接口信息、器件信息等耦合第一历史负载信息,上述方法可以提高系统的稳定性和可靠性,同时可以提高资源的利用效率。
可选的,确定预先存储的每个所述子任务与第一负载特征的第一对应关系,以及所述子任务与第一数据依赖信息的第二对应关系之后,还包括:确定所述第一对应关系的第一更新时间和所述第二对应关系的第二更新时间;根据所述第一更新时间和当前时间的第一时间差值,以及所述第二更新时间和所述当前时间的第二时间差值确定是否更新所述第一对应关系和所述第二对应关系。
可以理解的是,确定对应关系之后,可以将对应关系存储在系统中并定时更新,可以根据更新时间差值确定是否需要更新上述对应关系,本发明实施例中,可以离线得到计算系统的负载特征和数据依赖信息,持久化存储在系统数据库中,以便真实任务请求下使用。
可选的,根据所述第一更新时间和当前时间的时间差值,以及所述第二更新时间和所述当前时间的时间差值确定是否更新所述第一对应关系和所述第二对应关系,包括:在所述第一时间差值大于或者等于预设阈值,和/或,所述第二时间差值大于或者等于所述预设阈值的情况下,更新所述第一对应关系和所述第二对应关系;在所述第一时间差值小于所述预设阈值,且所述第二时间差值小于所述预设阈值的情况下,禁止更新所述第一对应关系和所述第二对应关系。
可以理解的是,在当前时间与第一次更新时间的差值,且当前时间与第二次更新时间的差值大于或者等于预设阈值的情况下,确定更新第一对应关系和第二对应关系,进一步的,在当前时间与第一次更新时间的差值或当前时间与第二次更新时间的差值小于预设阈值的情况下,确定不更新第一对应关系和第二对应关系。
可选的,更新所述第一对应关系和所述第二对应关系,包括:获取目标时间段内每个所述子任务的第二历史负载信息和第二历史可用指令信息,其中,所述目标时间段为所述更新时间与所述当前时间对应的时间段,其中,所述第二历史可用指令信息用于指示在所述目标时间段所述系统中执行所述子任务的器件的通信关系;根据所述第二历史负载信息和第二历史可用指令信息更新所述第一对应关系和所述第二对应关系。
可以理解的是,确定更新第一对应关系和第二对应关系的情况下,需要更新负载特征和数据依赖信息,即获取目标时间段内每个子任务的第二历史负载信息和第二历史可用指令信息,根据上述信息更新第一对应关系和第二对应关系。
可选的,根据所述第二历史负载信息和第二历史可用指令信息更新所述第一对应关系和所述第二对应关系,包括:通过第一预设方式对所述第二历史负载信息进行特征提取,以得到所述第二负载特征,以及通过第二预设方式耦合至少两个所述第二历史负载信息,以获取至少两个所述第二历史负载信息之间的第二耦合信息,并根据所述第二耦合信息和所述第二历史可用指令信息确定第二数据依赖信息;建立所述子任务与所述第二负载特征的第三对应关系,以及建立所述子任务与所述第二数据依赖信息的第四对应关系;将所述第一对应关系更新为所述第三对应关系,以及将所述第二对应关系更新为所述第四对应关系。
可以理解的是,可以对第二历史负载信息进行特征提取,得到第二负载特征,以及根据第二耦合信息和第二历史可用指令信息确定第二数据依赖信息,其中,第二数据依赖信息可以是直接依赖关系,也可以是间接依赖关系,通过第二数据依赖信息得到第四对应关系。
进一步的,根据第三对应关系和第四对应关系更新上述第一对应关系和第二对应关系。
可选的,将所述第二负载信息对应的第一负载资源分配至所述任务之后,获取所述第一负载资源的分配结果;根据所述分配结果确定是否再次为所述任务分配负载资源。
可选的,根据所述分配结果确定是否为所述任务再次分配负载资源,包括:在所述分配结果指示成功将所述负载资源分配至所述任务的情况下,禁止为所述任务再次分配负载资源;在所述分配结果指示未成功将所述负载资源分配至所述任务的情况下,获取所述系统的资源池中的负载资源的占用信息;根据所述占用信息确定第三负载资源,并将所述第三负载资源分配至所述任务。
可以理解的是,确定分配结果后,要查看分配结果指示是否成功将负载资源分配至任务中,如果指示成功,则不为任务再次分配负载资源,如果指示未成功,则需要获取资源占用信息,通过占用信息确定负载资源,将负载资源分配到任务中。进一步的,还可以再一次查看分配结果指示是否成功将负载资源分配至任务中,循环上述步骤,直至指示成功,则不为任务再次分配负载资源。
通过上述分配方式,通过双重为上述任务分配资源的方式,可以保证为任务获取到对应的负载资源,避免了任务获取不到负载资源的问题的发生。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
为了更好的理解上述负载资源的分配方法的过程,以下再结合可选实施例对上述负载资源的分配方法的实现流程进行说明,但不用于限定本申请实施例的技术方案。
本实施例提出了一种基于负载特征感知和数据依赖的系统资源动态调度方法,图3是根据本实施例的基于负载特征感知和数据依赖的系统动态资源调度方法的流程图,如图3所示:
在真实任务请求下,在数据特征库中加载相关负载特征,以及在数据依赖库中加载数据依赖信息,系统按照负载特征和数据依赖信息将可用资源调度并分配给上述任务请求对应的任务,以执行上述任务。
需要说明的是,在执行子任务时采集系统中主要器件的存储、计算和传输相关负载信息;采用神经网络学习方法(包括Transformer方法)学习出各器件间的数据依赖信息;将所得到的数据依赖信息存储在相关数据库中,并进行持久化;
上述子任务包括:协议卸载、压缩、加密、数据搬运、数据一致和纠删码。
上述主要器件包括但不限于:CPU、GPU、DPU、内存条、硬盘和网卡。
通过本实施例,系统接收到任务请求后,将任务分解为系统支持的子任务,且在内存中加载提前训练好的每个子任务对应的负载特征和数据依赖信息,系统按照所加载信息将可用资源提前预留给上述任务请求对应的任务,完成系统资源自适应调度,卸载部分CPU(Central Processing Unit,中央处理器)功能。使用此功能的计算系统可以提高系统计算效率和能效,且不占用系统在线资源和性能。
本实施例对系统各主要器件历史负载相关信息进行离线学习和特征提取,对学习出来的负载信息进行耦合,并提取出相关数据依赖信息,将负载特征和数据依赖信息持久化到系统中。实时任务请求下,系统依据任务所包含的负载类型,加载相关负载特征和数据依赖信息到内存中,实现系统可用资源的动态调度,能够减少CPU调度开销,提升系统能效。系统每运行一段时间后,依据采集近期负载统计信息,更新负载特征和数据依赖数据库,从而保证实施方法的有效性。
其中,本发明实施例还给出了一种获取负载特征和数据依赖信息的方法,如图4所示,图4是根据本实施例的获取负载特征和数据依赖信息的流程图,其中:
步骤S401,采集和统计;
输入请求负载,采集和统计系统内部CPU、GPU(Graphics Processing Unit,图形处理器)、DPU(Data Processing Unit,数据处理器)、内存条、硬盘和网卡等关键器件中的负载信息,以及可用指令信息;
步骤S402,PCA(主成分分析)特征提取;
采用PCA方法(主成分分析方法)对所采集负载信息进行特征提取,得到负载特征;
步骤S403,耦合各器件负载信息,采用一种神经网络学习方法(包括Transformer方法)学习耦合后的负载信息和可用指令信息,以得到负载的数据依赖信息;
步骤S404,持久化存储;
持久化负载信息和数据依赖信息,完成负载特征和数据依赖信息的离线提取。
重复上述步骤S401-步骤S404,离线得到计算系统的负载特征和数据依赖信息,持久化存储在系统数据库中,以便于在真实任务请求下使用。
此外,本发明实施例中还提供了一种系统资源动态调度的方法,如图5所示,图5是根据本实施例的系统资源动态调度的方法的流程图,其中:
1)任务请求;
接收到任务请求后,感知任务类型并分解为相关负载组合。
2)资源需求特征;
在内存中加载对应负载的存储、计算和传输等资源需求特征。
3)加载空间局部性、拓扑结构和数据之间关系等数据依赖信息。
4)结合负载的资源需求特征和数据依赖信息,实现系统可用资源的动态调度。
通过上述描述可知,采用负载特征感知能够提前为负载与预留合适的资源,提升系统能效;利用数据依赖信息,能够合理放置和调用各模块相关数据,缩短任务处理时间。同时,动态资源调度方法可以有效减轻CPU调度工作,进一步提升任务处理效率。
进一步的,本实施例通过利用系统负载特征及其数据依赖信息,可以感知任务请求及其负载的特征信息,提前预留合适的系统资源,提升系统能效;利用数据依赖信息,能够合理放置和调用各模块相关数据,优化任务处理效率。本实施例的基于离线特征提取和学习的动态资源调度技术方案可以有效减轻CPU调度工作,提升任务处理速度。解决了现有技术中,在接收到任务请求的情况下,只能通过操作系统调度算法、负载均衡等方式对任务分配负载资源,由于现有技术中的资源分配方式均需要获取资源池中的资源的使用状况,因此,这种资源分配方式会导致响应时间较长的问题。
在本实施例中还提供了一种负载资源的分配装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图6是根据本申请实施例的负载资源的分配装置的结构框图,如图6所示,该装置包括:
接收模块602,用于接收携带有任务信息的任务请求,并将所述任务信息对应的任务拆分为多个子任务;
第一确定模块604,用于确定预先存储的所述子任务与第一负载特征的第一对应关系,以及所述子任务与第一数据依赖信息的第二对应关系,其中,所述第一负载特征用于指示系统中执行所述子任务的器件的第一负载信息,所述第一数据依赖信息用于指示所述器件执行所述子任务的时序关系;
第二确定模块606,用于根据所述第一对应关系和所述第二对应关系确定每个所述子任务的第二负载信息,以及所述第二负载信息对应的多个第一负载资源的分配顺序;
分配模块608,用于根据所述分配顺序将所述多个第一负载资源分配至所述任务。
通过上述装置,由于接收携带有任务信息的任务请求,并将所述任务信息对应的任务拆分为多个子任务;确定预先存储的所述子任务与第一负载特征的第一对应关系,以及所述子任务与第一数据依赖信息的第二对应关系,其中,所述第一负载特征用于指示系统中执行所述子任务的器件的第一负载信息,所述第一数据依赖信息用于指示所述器件执行所述子任务的时序关系;根据所述第一对应关系和所述第二对应关系确定每个所述子任务的第二负载信息,以及所述第二负载信息对应的多个第一负载资源的分配顺序;根据所述分配顺序将所述多个第一负载资源分配至所述任务。解决了相关技术中现有技术中的资源分配方式均需要获取资源池中的资源的信息,因此,会导致资源分配时间较长的问题。
在一个可选的实施例中,上述接收模块,还用于:确定所述任务的任务类型,并根据所述任务类型确定是否存在所述任务与所述多个子任务的第三对应关系;在不存在所述第三对应关系的情况下,获取预设的子任务集合,其中,所述子任务集合中包括:协议卸载任务、压缩任务、加密任务、数据搬运任务、数据一致任务和纠删码任务;根据所述子任务集合和所述任务信息将所述任务拆分为多个子任务。
在一个可选的实施例中,上述接收模块,还用于:根据所述任务信息确定所述任务的多个执行步骤;在所述子任务集合中确定每个所述执行步骤对应的子任务,以将所述任务拆分为多个子任务。
在一个可选的实施例中,上述装置还包括:第三确定模块,用于在存在所述第三对应关系的情况下,根据所述第三对应关系确定所述任务对应的所述多个子任务 ,并将所述任务拆分为多个子任务。
在一个可选的实施例中,上述第二确定模块,还用于:根据所述第二对应关系确定所述器件的执行顺序,以及根据所述第一对应关系确定所述器件的第一负载信息;根据所述执行顺序和所述第一负载信息确定为每个所述子任务分配的第三负载信息以及所述第三负载信息对应的第二负载资源的分配顺序 ,其中,所述第二负载信息包括:所述第三负载信息,所述多个第一负载资源包括:所述第二负载资源。
在一个可选的实施例中,上述装置还包括:第四确定模块,用于确定在历史时间段执行子任务时的第一历史负载信息和第一历史可用指令信息,其中,所述第一历史可用指令信息用于指示在所述历史时间段所述系统中执行所述子任务的器件的通信关系;根据所述第一历史负载信息和所述历史可用指令信息确定所述第一对应关系和所述第二对应关系。
在一个可选的实施例中,上述第四确定模块,还用于:通过第一预设方式对所述第一历史负载信息进行特征提取,以得到所述第一负载特征,以及通过第二预设方式耦合至少两个所述第一历史负载信息,以获取至少两个所述第一历史负载信息之间的第一耦合信息,并根据所述第一耦合信息和所述第一历史可用指令信息确定所述第一数据依赖信息;建立所述子任务与所述第一负载特征的第一对应关系,以及建立所述子任务与所述第一数据依赖信息的第二对应关系。
在一个可选的实施例中,上述第四确定模块,还用于:通过嵌入式特征选择法对所述第一历史负载信息进行特征提取,以得到所述第一负载特征;通过主成分分析法对所述第一历史负载信息进行特征提取,以得到所述第一负载特征;通过独立成分分析法对所述第一历史负载信息进行特征提取,以得到所述第一负载特征;通过序列模型特征提取法对所述第一历史负载信息进行特征提取,以得到所述第一负载特征;通过深度学习特征提取法对所述第一历史负载信息进行特征提取,以得到所述第一负载特征。
在一个可选的实施例中,上述第四确定模块,还用于:确定所述第一历史负载信息对应的第一特征向量,并确定所述第一特征向量对应的协方差矩阵;对所述协方差矩阵进行特征值分解,得到特征值和所述特征值对应的第二特征向量;在多个所述第二特征向量中确定第三特征向量,并确定所述第三特征向量对应的投影矩阵;根据所述第一特征向量和所述投影矩阵确定所述第一负载特征。
在一个可选的实施例中,上述第四确定模块,还用于:将所述特征值进行排序;根据排序后的特征值确定数值最大的N个特征值,以及确定所述N个特征值对应的特征向量,其中,N为整数;将所述N个特征值对应的特征向量作为所述第三特征向量。
在一个可选的实施例中,上述第四确定模块,还用于:根据所述第一耦合信息确定执行所述子任务的器件的第一关联关系,以及确定每个所述第一历史可用指令对应的器件之间的第二关联关系;根据所述第一关联关系和所述第二关联关系确定所述第一数据依赖信息。
在一个可选的实施例中,上述第四确定模块,还用于:获取所述第一历史负载信息对应的时间信息,根据所述时间信息对所述第一历史负载信息进行耦合;获取所述第一历史负载信息对应的接口信息,根据所述接口信息对所述第一历史负载信息进行耦合;获取所述第一历史负载信息对应的器件信息,根据所述器件信息对所述第一历史负载信息进行耦合。
在一个可选的实施例中,上述装置还包括:第五确定模块,用于确定所述第一对应关系的第一更新时间和所述第二对应关系的第二更新时间;根据所述第一更新时间和当前时间的第一时间差值,以及所述第二更新时间和所述当前时间的第二时间差值确定是否更新所述第一对应关系和所述第二对应关系。
在一个可选的实施例中,上述第五确定模块,还用于:在所述第一时间差值大于或者等于预设阈值,和/或,所述第二时间差值大于或者等于所述预设阈值的情况下,更新所述第一对应关系和所述第二对应关系;在所述第一时间差值小于所述预设阈值,且所述第二时间差值小于所述预设阈值的情况下,禁止更新所述第一对应关系和所述第二对应关系。
在一个可选的实施例中,上述第五确定模块,还用于:获取目标时间段内每个所述子任务的第二历史负载信息和第二历史可用指令信息,其中,所述目标时间段为所述更新时间与所述当前时间对应的时间段,其中,所述第二历史可用指令信息用于指示在所述目标时间段所述系统中执行所述子任务的器件的通信关系;根据所述第二历史负载信息和第二历史可用指令信息更新所述第一对应关系和所述第二对应关系。
在一个可选的实施例中,上述第五确定模块,还用于:通过第一预设方式对所述第二历史负载信息进行特征提取,以得到所述第二负载特征,以及通过第二预设方式耦合至少两个所述第二历史负载信息,以获取至少两个所述第二历史负载信息之间的第二耦合信息,并根据所述第二耦合信息和所述第二历史可用指令信息确定第二数据依赖信息;建立所述子任务与所述第二负载特征的第三对应关系,以及建立所述子任务与所述第二数据依赖信息的第四对应关系;将所述第一对应关系更新为所述第三对应关系,以及将所述第二对应关系更新为所述第四对应关系。
在一个可选的实施例中,上述第二确定模块,还用于:获取所述第一负载资源的分配结果;根据所述分配结果确定是否再次为所述任务分配负载资源。
在一个可选的实施例中,上述第二确定模块,还用于:在所述分配结果指示成功将所述负载资源分配至所述任务的情况下,禁止为所述任务再次分配负载资源;在所述分配结果指示未成功将所述负载资源分配至所述任务的情况下,获取所述系统的资源池中的负载资源的占用信息;根据所述占用信息确定第三负载资源,并将所述第三负载资源分配至所述任务。
在一个示例性实施例中,第一负载信息,包括:存储资源信息、计算资源信息和传输资源信息;所述第一数据依赖信息包括:所述器件的数据之间的空间局限性、所述器件的数据之间的拓扑关系和所述器件的数据之间的调用关系。
本申请的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本申请的实施例还提供了一种电子设备,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述电子设备还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (20)
1.一种负载资源的分配方法,其特征在于,包括:
接收携带有任务信息的任务请求,并将所述任务信息对应的任务拆分为多个子任务;
确定预先存储的所述子任务与第一负载特征的第一对应关系,以及所述子任务与第一数据依赖信息的第二对应关系,其中,所述第一负载特征用于指示系统中执行所述子任务的器件的第一负载信息,所述第一数据依赖信息用于指示所述器件执行所述子任务的时序关系;
根据所述第一对应关系和所述第二对应关系确定每个所述子任务的第二负载信息,以及所述第二负载信息对应的多个第一负载资源的分配顺序;
根据所述分配顺序将所述多个第一负载资源分配至所述任务;
其中,接收携带有任务信息的任务请求之前,所述方法还包括:
确定在历史时间段执行子任务时的第一历史负载信息和第一历史可用指令信息,其中,所述第一历史可用指令信息用于指示在所述历史时间段所述系统中执行所述子任务的器件的通信关系;
根据所述第一历史负载信息和所述历史可用指令信息确定所述第一对应关系和所述第二对应关系;
其中,根据所述第一历史负载信息和所述历史可用指令信息确定所述第一对应关系和所述第二对应关系,包括:
通过第一预设方式对所述第一历史负载信息进行特征提取,以得到所述第一负载特征,以及
通过第二预设方式耦合至少两个所述第一历史负载信息,以获取至少两个所述第一历史负载信息之间的第一耦合信息,并根据所述第一耦合信息和所述第一历史可用指令信息确定所述第一数据依赖信息;
建立所述子任务与所述第一负载特征的第一对应关系,以及建立所述子任务与所述第一数据依赖信息的第二对应关系。
2.根据权利要求1所述的方法,其特征在于,将所述任务信息对应的任务拆分为多个子任务,包括:
确定所述任务的任务类型,并根据所述任务类型确定是否存在所述任务与所述多个子任务的第三对应关系;
在不存在所述第三对应关系的情况下,获取预设的子任务集合,其中,所述子任务集合中包括:协议卸载任务、压缩任务、加密任务、数据搬运任务、数据一致任务和纠删码任务;
根据所述子任务集合和所述任务信息将所述任务拆分为多个子任务。
3.根据权利要求2所述的方法,其特征在于,根据所述子任务集合和所述任务信息将所述任务拆分为多个子任务,包括:
根据所述任务信息确定所述任务的多个执行步骤;
在所述子任务集合中确定每个所述执行步骤对应的子任务,以将所述任务拆分为多个子任务。
4.根据权利要求2所述的方法,其特征在于,根据所述任务类型确定是否存在所述任务与所述多个子任务的第三对应关系之后,所述方法还包括:
在存在所述第三对应关系的情况下,根据所述第三对应关系确定所述任务对应的所述多个子任务,并将所述任务拆分为多个子任务。
5.根据权利要求1所述的方法,其特征在于,根据所述第一对应关系和所述第二对应关系确定每个所述子任务的第二负载信息,包括:
根据所述第二对应关系确定所述器件的执行顺序,以及根据所述第一对应关系确定所述器件的第一负载信息;
根据所述执行顺序和所述第一负载信息确定为每个所述子任务分配的第三负载信息以及所述第三负载信息对应的第二负载资源的分配顺序,其中,所述第二负载信息包括:所述第三负载信息,所述多个第一负载资源包括:所述第二负载资源。
6.根据权利要求1所述的方法,其特征在于,通过第一预设方式对所述第一历史负载信息进行特征提取,以得到所述第一负载特征,至少包括以下之一:
通过嵌入式特征选择法对所述第一历史负载信息进行特征提取,以得到所述第一负载特征;
通过主成分分析法对所述第一历史负载信息进行特征提取,以得到所述第一负载特征;
通过独立成分分析法对所述第一历史负载信息进行特征提取,以得到所述第一负载特征;
通过序列模型特征提取法对所述第一历史负载信息进行特征提取,以得到所述第一负载特征;
通过深度学习特征提取法对所述第一历史负载信息进行特征提取,以得到所述第一负载特征。
7.根据权利要求6所述的方法,其特征在于,通过主成分分析法对所述第一历史负载信息进行特征提取,以得到所述第一负载特征,包括:
确定所述第一历史负载信息对应的第一特征向量,并确定所述第一特征向量对应的协方差矩阵;
对所述协方差矩阵进行特征值分解,得到特征值和所述特征值对应的第二特征向量;
在多个所述第二特征向量中确定第三特征向量,并确定所述第三特征向量对应的投影矩阵;
根据所述第一特征向量和所述投影矩阵确定所述第一负载特征。
8.根据权利要求7所述的方法,其特征在于,在多个第二特征向量中确定第三特征向量,包括:
将所述特征值进行排序;
根据排序后的特征值确定数值最大的N个特征值,以及确定所述N个特征值对应的特征向量,其中,N为整数;
将所述N个特征值对应的特征向量作为所述第三特征向量。
9.根据权利要求1所述的方法,其特征在于,根据所述第一耦合信息和所述第一历史可用指令信息确定所述第一数据依赖信息,包括:
根据所述第一耦合信息确定执行所述子任务的器件的第一关联关系,以及确定每个所述第一历史可用指令对应的器件之间的第二关联关系;
根据所述第一关联关系和所述第二关联关系确定所述第一数据依赖信息。
10.根据权利要求1所述的方法,其特征在于,通过第二预设方式耦合所述第一历史负载信息,至少包括以下之一:
获取所述第一历史负载信息对应的时间信息,根据所述时间信息对所述第一历史负载信息进行耦合;
获取所述第一历史负载信息对应的接口信息,根据所述接口信息对所述第一历史负载信息进行耦合;
获取所述第一历史负载信息对应的器件信息,根据所述器件信息对所述第一历史负载信息进行耦合。
11.根据权利要求1所述的方法,其特征在于,确定预先存储的每个所述子任务与第一负载特征的第一对应关系,以及所述子任务与第一数据依赖信息的第二对应关系之后,所述方法还包括:
确定所述第一对应关系的第一更新时间和所述第二对应关系的第二更新时间;
根据所述第一更新时间和当前时间的第一时间差值,以及所述第二更新时间和所述当前时间的第二时间差值确定是否更新所述第一对应关系和所述第二对应关系。
12.根据权利要求11所述的方法,其特征在于,根据所述第一更新时间和当前时间的时间差值,以及所述第二更新时间和所述当前时间的时间差值确定是否更新所述第一对应关系和所述第二对应关系,包括:
在所述第一时间差值大于或者等于预设阈值,和/或,所述第二时间差值大于或者等于所述预设阈值的情况下,更新所述第一对应关系和所述第二对应关系;
在所述第一时间差值小于所述预设阈值,且所述第二时间差值小于所述预设阈值的情况下,禁止更新所述第一对应关系和所述第二对应关系。
13.根据权利要求12所述的方法,其特征在于,更新所述第一对应关系和所述第二对应关系,包括:
获取目标时间段内每个所述子任务的第二历史负载信息和第二历史可用指令信息,其中,所述目标时间段为所述更新时间与所述当前时间对应的时间段,其中,所述第二历史可用指令信息用于指示在所述目标时间段所述系统中执行所述子任务的器件的通信关系;
根据所述第二历史负载信息和第二历史可用指令信息更新所述第一对应关系和所述第二对应关系。
14. 根据权利要求13所述的方法,其特征在于,根据所述第二历史负载信息和第二历史可用指令信息更新所述第一对应关系和所述第二对应关系,包括:
通过第一预设方式对所述第二历史负载信息进行特征提取,以得到第二负载特征,以及
通过第二预设方式耦合至少两个所述第二历史负载信息,以获取至少两个所述第二历史负载信息之间的第二耦合信息,并根据所述第二耦合信息和所述第二历史可用指令信息确定第二数据依赖信息;
建立所述子任务与所述第二负载特征的第三对应关系,以及建立所述子任务与所述第二数据依赖信息的第四对应关系;
将所述第一对应关系更新为所述第三对应关系,以及将所述第二对应关系更新为所述第四对应关系。
15.根据权利要求1所述的方法,其特征在于,将所述第二负载信息对应的第一负载资源分配至所述任务之后,所述方法还包括:
获取所述第一负载资源的分配结果;
根据所述分配结果确定是否再次为所述任务分配负载资源。
16.根据权利要求15所述的方法,其特征在于,根据所述分配结果确定是否为所述任务再次分配负载资源,包括:
在所述分配结果指示成功将所述负载资源分配至所述任务的情况下,禁止为所述任务再次分配负载资源;
在所述分配结果指示未成功将所述负载资源分配至所述任务的情况下,获取所述系统的资源池中的负载资源的占用信息;根据所述占用信息确定第三负载资源,并将所述第三负载资源分配至所述任务。
17.根据权利要求1所述的方法,其特征在于,所述第一负载信息,包括:存储资源信息、计算资源信息和传输资源信息;
所述第一数据依赖信息包括:所述器件的数据之间的空间局限性、所述器件的数据之间的拓扑关系和所述器件的数据之间的调用关系。
18.一种负载资源的分配装置,其特征在于,包括:
接收模块,用于接收携带有任务信息的任务请求,并将所述任务信息对应的任务拆分为多个子任务;
第一确定模块,用于确定预先存储的所述子任务与第一负载特征的第一对应关系,以及所述子任务与第一数据依赖信息的第二对应关系,其中,所述第一负载特征用于指示系统中执行所述子任务的器件的第一负载信息,所述第一数据依赖信息用于指示所述器件执行所述子任务的时序关系;
第二确定模块,用于根据所述第一对应关系和所述第二对应关系确定每个所述子任务的第二负载信息,以及所述第二负载信息对应的多个第一负载资源的分配顺序;
分配模块,用于根据所述分配顺序将所述多个第一负载资源分配至所述任务;
所述装置还包括:第四确定模块,用于确定在历史时间段执行子任务时的第一历史负载信息和第一历史可用指令信息,其中,所述第一历史可用指令信息用于指示在所述历史时间段所述系统中执行所述子任务的器件的通信关系;根据所述第一历史负载信息和所述历史可用指令信息确定所述第一对应关系和所述第二对应关系;
所述第四确定模块,还用于:通过第一预设方式对所述第一历史负载信息进行特征提取,以得到所述第一负载特征,以及通过第二预设方式耦合至少两个所述第一历史负载信息,以获取至少两个所述第一历史负载信息之间的第一耦合信息,并根据所述第一耦合信息和所述第一历史可用指令信息确定所述第一数据依赖信息;建立所述子任务与所述第一负载特征的第一对应关系,以及建立所述子任务与所述第一数据依赖信息的第二对应关系。
19.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现所述权利要求1至17任一项中所述的方法的步骤。
20.一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现所述权利要求1至17任一项中所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311138951.0A CN116860464B (zh) | 2023-09-05 | 2023-09-05 | 负载资源的分配方法和装置、存储介质及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311138951.0A CN116860464B (zh) | 2023-09-05 | 2023-09-05 | 负载资源的分配方法和装置、存储介质及电子装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116860464A CN116860464A (zh) | 2023-10-10 |
CN116860464B true CN116860464B (zh) | 2024-01-09 |
Family
ID=88219569
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311138951.0A Active CN116860464B (zh) | 2023-09-05 | 2023-09-05 | 负载资源的分配方法和装置、存储介质及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116860464B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109885388A (zh) * | 2019-01-31 | 2019-06-14 | 上海赜睿信息科技有限公司 | 一种适用于异构系统的数据处理方法和装置 |
CN111274026A (zh) * | 2020-01-08 | 2020-06-12 | 北京月新时代科技股份有限公司 | 负载均衡方法、装置及电子设备 |
CN114185661A (zh) * | 2021-12-10 | 2022-03-15 | 北京百度网讯科技有限公司 | 一种任务处理方法、装置、设备以及存储介质 |
CN115134368A (zh) * | 2022-08-31 | 2022-09-30 | 中信建投证券股份有限公司 | 一种负载均衡方法、装置、设备以及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114064262A (zh) * | 2020-08-07 | 2022-02-18 | 伊姆西Ip控股有限责任公司 | 管理存储系统中的计算资源的方法、设备和程序产品 |
-
2023
- 2023-09-05 CN CN202311138951.0A patent/CN116860464B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109885388A (zh) * | 2019-01-31 | 2019-06-14 | 上海赜睿信息科技有限公司 | 一种适用于异构系统的数据处理方法和装置 |
CN111274026A (zh) * | 2020-01-08 | 2020-06-12 | 北京月新时代科技股份有限公司 | 负载均衡方法、装置及电子设备 |
CN114185661A (zh) * | 2021-12-10 | 2022-03-15 | 北京百度网讯科技有限公司 | 一种任务处理方法、装置、设备以及存储介质 |
CN115134368A (zh) * | 2022-08-31 | 2022-09-30 | 中信建投证券股份有限公司 | 一种负载均衡方法、装置、设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116860464A (zh) | 2023-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105718479B (zh) | 跨idc大数据处理架构下执行策略生成方法、装置 | |
CN110389816B (zh) | 用于资源调度的方法、装置以及计算机可读介质 | |
CN111176840B (zh) | 分布式任务的分配优化方法和装置、存储介质及电子装置 | |
US8572621B2 (en) | Selection of server for relocation of application program based on largest number of algorithms with identical output using selected server resource criteria | |
CN109886859B (zh) | 数据处理方法、系统、电子设备和计算机可读存储介质 | |
CN112559147B (zh) | 基于gpu占用资源特点的动态匹配方法、系统和设备 | |
CN111865644B (zh) | 一种计算资源的推荐方法、装置、电子设备及存储介质 | |
CN112162856A (zh) | Gpu虚拟资源的分配方法、装置、计算机设备和存储介质 | |
CN113850394B (zh) | 联邦学习方法、装置、电子设备及存储介质 | |
CN108847981A (zh) | 分布式计算机云计算处理方法 | |
CN117407178B (zh) | 一种自适应负载分配的加速子卡管理方法及系统 | |
CN117032937B (zh) | 基于gpu的任务调度方法、电子装置和存储介质 | |
Kim et al. | Partition placement and resource allocation for multiple DNN-based applications in heterogeneous IoT environments | |
CN116860464B (zh) | 负载资源的分配方法和装置、存储介质及电子装置 | |
CN111831452A (zh) | 任务执行方法、装置、存储介质及电子装置 | |
CN111709723A (zh) | Rpa业务流程智能处理方法、装置、计算机设备和存储介质 | |
CN113301087B (zh) | 资源调度方法、装置、计算设备和介质 | |
CN114090604A (zh) | 请求处理方法及装置 | |
CN114399228A (zh) | 任务调度方法及装置、电子设备和介质 | |
CN111866159A (zh) | 人工智能服务的调用方法、系统、设备和存储介质 | |
CN116719628B (zh) | 一种并发任务抢占式调度方法、系统及介质 | |
CN116743589B (zh) | 云主机迁移方法、装置及电子设备 | |
CN117255365A (zh) | 一种节点确定方法、装置、电子设备及可读存储介质 | |
CN114168330A (zh) | 云主机的分配方法、装置及存储介质 | |
Babaei et al. | Knapsack-Based Approach for Optimizing Resource Management in Edge Computing |
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 |