CN110413396B - 一种资源调度方法、装置、设备及可读存储介质 - Google Patents
一种资源调度方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN110413396B CN110413396B CN201910695023.1A CN201910695023A CN110413396B CN 110413396 B CN110413396 B CN 110413396B CN 201910695023 A CN201910695023 A CN 201910695023A CN 110413396 B CN110413396 B CN 110413396B
- Authority
- CN
- China
- Prior art keywords
- task
- current
- model
- reward
- neural network
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/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
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)
Abstract
本发明公开了一种资源调度方法,包括:获取新任务的执行信息,并将执行信息输入任务队列;获取任务队列的当前状态,利用当前状态计算当前奖励;将当前奖励和当前状态输入深度强化神经网络模型,得到当前任务动作;利用当前任务动作对任务队列中各个任务对应的计算资源进行分配,并利用分配后的计算资源执行任务队列中各个任务;该方法获取当前奖励和任务队列的当前状态并将其输入深度强化神经网络模型中得到当前任务动作;并根据当前任务动作对计算资源进行分配,可以更准确合理地分配计算资源,进而提高任务执行效率,更加高效地执行任务;此外,本发明还提供了一种资源调度装置、设备及计算机可读存储介质,同样具有上述有益效果。
Description
技术领域
本发明涉及边缘计算技术领域,特别涉及一种资源调度方法、装置、设备及计算机可读存储介质。
背景技术
随着人工智能技术的日渐成熟,云服务器已被广泛应用于执行图像处理、网络防御以及个性化推荐等任务。由于数据量增加,使得这种方法的实时性差,数据传输成本高,因此提出了边缘计算和人工智能相结合的边缘智能。
边缘智能即利用边缘服务器替代云服务器,执行网络边缘设备发送的任务,如图像识别、文本识别等任务。当任务种类繁多,数量较大时,需要对边缘服务器的计算资源进行调度以便更高效地完成任务。现有技术需要收集用户的历史数据,根据历史行为数据对该用户发送的任务所需的计算资源进行估计,根据估计结果对计算资源进行分配,以便更高效地执行任务。该方法在用户的历史数据较多时,才能较准确地估计,当用户为新用户或历史数据较少的用户时,估计准确率较低。因此无法准确地分配计算资源,降低了边缘服务器的任务执行效率。
因此,如何解决现有技术无法准确地分配计算资源,降低了边缘服务器的任务执行效率的问题,是本领域技术人员需要解决的技术问题。
发明内容
有鉴于此,本发明的目的在于提供一种资源调度方法、装置、设备及计算机可读存储介质,解决了现有技术无法准确地分配计算资源,降低了边缘服务器的任务执行效率的问题。
为解决上述技术问题,本发明提供了一种资源调度方法,包括:
获取新任务的执行信息,并将所述执行信息输入任务队列;
获取所述任务队列的当前状态,利用所述当前状态计算当前奖励;
将所述当前奖励和所述当前状态输入深度强化神经网络模型,得到当前任务动作;
利用所述当前任务动作对所述任务队列中各个任务对应的计算资源进行分配,并利用分配后的所述计算资源执行所述任务队列中各个所述任务。
可选的,所述获取新任务的执行信息,包括:
获取所述新任务的任务信息,根据所述任务信息中的模型编号从模型参数表中获取对应的导入时间和计算量;
利用所述任务信息、所述导入时间和所述计算量构成所述执行信息。
可选的,利用所述当前状态计算当前奖励,包括:
利用所述当前状态计算各个所述任务的任务奖励;
将所述任务奖励与历史奖励相加,得到所述当前奖励。
可选的,在将所述执行信息输入任务队列之后,在获取所述任务队列的当前状态之前,还包括:
判断各个所述执行信息是否为计算量为零的特殊执行信息;
若是,则删除所述特殊执行信息;
修改所述执行信息中的时间容差值和剩余计算量的值,并按照预设顺序调整所述任务队列。
可选的,所述模型参数表的建立过程,包括:
获取任务模型,根据所述任务模型的结构计算所述任务模型对应的所述计算量;
获取所述任务模型的大小数据,利用所述大小数据计算所述任务模型的所述导入时间;
对所述任务模型编号,得到所述模型编号,利用所述模型编号、所述导入时间和所述计算量构建所述模型参数表。
可选的,根据所述任务模型的结构计算所述任务模型对应的所述计算量,包括:
对所述任务模型按神经网络层进行分解,并获取各个所述神经网络层的神经网络层信息;
获取各个所述神经网络层信息对应的层计算量,将所述层计算量相加,得到所述计算量。
可选的,将所述当前奖励和所述当前状态输入深度强化神经网络模型,得到当前任务动作,包括:
利用所述深度强化神经网络模型中的卷积神经网络对所述当前奖励和所述当前状态中的三通道矩阵进行特征提取,得到时序特征;
利用所述深度强化神经网络模型中的循环神经网络对所述时序特征进行学习,得到学习结果;
将所述学习结果和所述当前状态中的服务器当前剩余计算资源值输入所述深度强化神经网络模型中的全连接层,生成所述当前任务动作。
本发明还提供了一种资源调度装置,包括:
执行信息获取模块,用于获取新任务的执行信息,并将所述执行信息输入任务队列;
当前奖励计算模块,用于获取所述任务队列的当前状态,利用所述当前状态计算当前奖励;
任务动作获取模块,用于将所述当前奖励和所述当前状态输入深度强化神经网络模型,得到当前任务动作;
计算资源分配模块,用于利用所述当前任务动作对所述任务队列中各个任务对应的计算资源进行分配,并利用分配后的所述计算资源执行所述任务队列中各个所述任务。
本发明还提供了一种资源调度设备,包括存储器和处理器,其中:
所述存储器,用于保存计算机程序;
所述处理器,用于执行所述计算机程序,以实现上述的资源调度方法。
本发明还提供了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现上述的资源调度方法。
本发明提供的一种资源调度方法,获取新任务的执行信息,并将执行信息输入任务队列。获取任务队列的当前状态,利用当前状态计算当前奖励。将当前奖励和当前状态输入深度强化神经网络模型,得到当前任务动作。利用当前任务动作对任务队列中各个任务对应的计算资源进行分配,并利用分配后的计算资源执行任务队列中各个任务。
可见,该方法获取当前奖励和任务队列的当前状态并将其输入深度强化神经网络模型中,深度强化神经网络模型可以对其进行分析,得到当前任务动作。根据当前任务动作对计算资源进行分配并执行任务。利用当前奖励和任务队列的当前状态而不利用用户的历史数据对任务所需要的计算资源进行预估,可以更准确合理地分配计算资源,进而提高任务执行效率,更加高效地执行任务。
此外,本发明还提供了一种资源调度装置、设备及计算机可读存储介质,同样具有上述有益效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种资源调度方法流程图;
图2为本发明实施例提供的另一种资源调度方法流程图;
图3为本发明实施例提供的一种三通道矩阵结构示意图;
图4为本发明实施例提供的一种深度强化神经网络模型工作流程示意图;
图5为本发明实施例提供的一种资源调度装置的结构示意图;
图6为本发明实施例提供的一种资源调度设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一:
请参考图1,图1为本发明实施例提供的一种资源调度方法流程图。该方法包括:
S101:获取新任务的执行信息,并将执行信息输入任务队列。
具体的,当用户使用终端上的人工智能类应用时,终端会向边缘服务器发送新任务的任务信息。本实施例并不限定用户所使用的终端类型,例如可以为智能手机;或者可以为平板电脑。本实施例并不限定上述人工智能类应用具体为什么应用,进一步,本实施例也不人工智能类应用的用途,即新任务的任务类型。例如可以为图像识别;或者可以为文字识别;还可以为语音识别,不同类型的任务执行时间可以不同,同一类型的任务执行时间可以相同。新任务的任务信息可以包括新任务的原始数据、模型编号和时间容差。其中,模型编号表示执行该新任务所需要的任务模型的编号,其具体形式本实施例不做限定,例如可以用整数数字表示;时间容差为执行该新任务的最大允许时长,即任务需要在时间容差内完成并返回结果,其具体数值本实施例不做限定。例如当新任务为图像识别任务时,原始数据可以为待识别的图像的二进制格式数据,模型编号可以为1,时间容差可以为2秒;或者当新任务为语音识别任务时,原始数据可以为待识别音频的二进制格式数据,模型编号可以为2,时间容差可以为0.5秒。
本实施例中预设有模型参数表,模型参数表中可以包括模型编号、导入时间和计算量。根据任务信息中的模型编号,可以获取新任务对应的任务模型的导入时间和计算量,利用任务信息、导入时间和计算量,可以构成该新任务的执行信息。
在获取执行信息后,将执行信息输入任务队列,并对其进行编号。本实施例中,设置有任务队列,其用来存储执行信息,并提供自身状态用于获取任务动作。本实施例并不限定任务队列的大小,即其能包含的执行信息的数量。本实施例并不限定任务队列是否包含其他信息,例如还可以包括服务器当前剩余计算资源值、服务器总计算资源值和各个任务的剩余计算量。本实施例也不限定编号的方法和具体形式,例如可以使用正整数按输入任务队列的时间顺序对各个任务进行编号。
为了提高任务执行效率,本实施例中优选的,可以将任务队列中的部分执行信息对应的任务作为当前被执行任务,例如可以将前k条任务信息对应的任务作为当前被执行任务,将剩余的执行信息对应的任务作为排队任务。将边缘服务器的计算资源分配给当前被执行任务,这样可以快速完成部分任务,在该部分任务被完成后,在分配计算资源给其他任务,这样可以提高任务执行效率。
S102:获取任务队列的当前状态,利用当前状态计算当前奖励。
获取任务队列的当前状态,用于获取当前奖励。需要说明的是,本实施例并不限定当前状态的具体内容,其内容可以根据具体情况进行设置。本实施例优选的,可以用服务器当前剩余计算资源值和一个三通道矩阵表示,其中第一通道,即通道1,可以为任务剩余计算量通道;第二通道,即通道2,可以为模型导入时间通道;第三通道,即通道3,可以为模型导入状态通道,可以用1表示模型以被导入,用0表示模型未被导入。具体请参考图3,图3为本发明实施例提供的一种三通道矩阵结构示意图,其中第一通道矩阵横轴为各个任务的剩余计算量大小,纵轴为时间容差大小,第二通道和第三通道中的矩阵元素与第一通道中的矩阵元素,即任务序号,互相对应。
利用当前状态的部分参数,可以计算当前奖励。本实施例并不限定奖励函数的具体内容,例如可以使用
计算任务队列中各个任务的任务奖励,其中t表示当前时刻,y表示时间容差,R(i)表示任务队列中第i个任务的任务奖励,表示第i个任务的计算量,表示第i个任务当前时刻的计算量,即剩余计算量,t0表示预设调度间隔,即两次计算资源分配操作之间的时间间隔,该预设调度间隔同样也是两次当前奖励计算操作之间的时间间隔,其具体大小本实施例不做限定。表示当前时刻的上一时刻的剩余计算量。利用上述奖励函数计算各个任务的任务奖励,将各个任务奖励与历史任务奖励相加,得到当前奖励。其中,历史任务奖励可以为上一时刻的当前奖励。
进一步,为了获取最新的当前状态,以便计算出最新的当前奖励,进而使得生成的当前任务动作更加合理,计算资源分配更加合理。本实施例中优选的,在获取任务队列的当前状态前,可以判断各个执行信息是否为计算量为零的特殊执行信息。计算量为零的特殊执行信息为任务已执行完毕的执行信息,因此将特殊执行信息删除,在所有的特殊执行信息均被删除后,修改任务队列中各个执行信息的时间容差和剩余计算量的值,即减小时间容差和剩余计算量的值,具体减小的数值本实施例不做限定,例如时间容差的减少量可以为两次计算资源分配操作的间隔时间,剩余计算量的减少量与给该任务分配的计算资源相关。按照预设顺序调整任务队列,即将部分排队任务调整为当前被执行任务,同时调整任务编号。本实施例并不限定预设顺序的具体内容,例如可以优先将时间容差小于时间阈值,计算量大于计算量阈值的排队任务调整为当前被执行任务,对于时间阈值和计算量阈值的具体大小,本实施例也不做任何限定。
S103:将当前奖励和当前状态输入深度强化神经网络模型,得到当前任务动作。
深度强化神经网络模型由卷积神经网络、循环神经网络和全连接层组成。具体请参考图4,图4为本发明实施例提供的一种深度强化神经网络模型工作流程示意图。其中,st500为当前状态中的三通道矩阵,全连接层输入点600用于输入当前状态中的服务器当前剩余计算资源值。本实施例并不限定卷积神经网络和循环神经网络的具体类型。在获取当前奖励和当前状态后,将当前状态中的三通道矩阵和当前奖励输入到卷积神经网络中进行特征提取,得到时序特征。再利用循环神经网络对时序特征进行学习,得到学习结果。将学习结果和当前状态中的服务器当前剩余计算资源值输入全连接层,生成当前任务动作。当前任务动作可以为动作合集,具体的,将边缘服务器的全部计算资源表示为C,可以将其进行离散化,例如将其分为m份,即每一单元的计算资源为ΔC=C/m。用A表示当前任务动作,其中,表示t时刻当前任务动作中的第i个子动作。
S104:利用当前任务动作对任务队列中各个任务对应的计算资源进行分配,并利用分配后的计算资源执行任务队列中各个任务。
具体的,执行当前任务动作,对任务队列中各个任务对应的计算资源进行分配,并利用分配后的计算资源执行任务队列中的各个任务。
在t时刻,当前任务动作包括m个子动作其中表示在t时刻第j个子动作为编号为i的执行信息对应的任务分配了一个单元的计算资源,即ΔC。而编号为i的执行信息对应的任务在t时刻被分配的计算资源可以表示为其中Ιi(x)为指示函数,其定义为
优选的,当m=6,k=5时,即将边缘服务器的计算资源分为6个单位,当前被执行任务有5个时,且当前任务动作为时。各个子动作的含义为:给编号为2的当前被执行任务分配一个单元的计算资源,给编号为2的当前被执行任务分配一个单元的计算资源,给编号为1的当前被执行任务分配一个单元的计算资源,给编号为5的当前被执行任务分配一个单元的计算资源,给编号为5的当前被执行任务分配一个单元的计算资源,给编号为3的当前被执行任务分配一个单元的计算资源。即在t时刻,给编号为1的当前被执行任务分配一个单元的计算资源,给编号为2的当前被执行任务分配两个单元的计算资源,给编号为3的当前被执行任务分配一个单元的计算资源,给编号为5的当前被执行任务分配两个单元的计算资源,而没有给编号为4的当前被执行任务分配任何计算资源。利用分配的计算资源执行各个当前被执行任务,即可高效地完成任务。
需要说明的是,任务是在边缘服务器内存中被执行的。在执行某个任务时,可以先从边缘服务器的硬盘中将该任务对应的任务模型导入到内存中,在执行完该任务后,再将该模型从内存中删除,以便释放内存空间。本实施例优选的,可以统计各个任务模型被使用的频率,即边缘服务器执行各类任务的频率,当执行某类任务的频率高于预设频率阈值时,可以将该类任务对应的任务模型一直保存在内存中而不进行删除,这样可以减少硬盘和内存的读写频率,减少损耗。当某个当前被执行任务所需的任务模型还未从硬盘导入内存中,则将该任务对应的执行信息中的时间容差减去导入时间,并在该任务模型导入后,重新对其进行计算资源分配和执行。
基于本发明实施例提供的资源调度方法,获取当前奖励和任务队列的当前状态并将其输入深度强化神经网络模型中,深度强化神经网络模型可以对其进行分析,得到当前任务动作。根据当前任务动作对计算资源进行分配并执行任务。该方法利用当前奖励和任务队列的当前状态而不利用用户的历史数据对任务所需要的计算资源进行预估,可以更准确合理地分配计算资源,进而提高任务执行效率,更加高效地执行任务。
实施例二:
在使用实施例一中的方法对边缘服务器的计算资源进行分配之前,需要提前建立模型参数表,以便利用模型参数表获取新任务的执行信息。具体请参考图2,图2为本发明实施例提供的另一种资源调度方法流程图。
S201:获取任务模型,根据任务模型的结构计算任务模型对应的计算量。
获取执行不同任务的不同任务模型,并将各个任务模型按照神经网络层进行分解,并获取各个神经网络层的神经网络层信息。本实施例并不限定获取神经网络层信息的方法,例如可以预设有网络层参数表,通过网络层参数表查询到不同神经网络层的网络层信息。神经网络层信息可以包括该神经网络层从获取输入信息到输出信息的网络层时间。将任务模型中各个神经网络层的网络层时间相加的到模型执行时间,将模型执行时间进行量化,得到任务模型对应的计算量;或者可以预设有模型参数拟合器,利用该模型参数拟合器对任务模型进行拟合计算,进而得到该任务模型的计算量。
S202:获取任务模型的大小数据,利用大小数据计算任务模型的导入时间。
在获取任务模型后,对任务模型的大小进行检测,得到任务模型的大小数据,根据该大小数据可以计算出该任务模型从硬盘导入到内存所需的时间,即导入时间。例如可以用上述的大小数据除以导入速度,即硬盘读取速度,得到带入时间。
S203:对任务模型编号,得到模型编号,利用模型编号、导入时间和计算量构建模型参数表。
对各个任务模型编号,得到各个任务模型对应的模型编号。利用模型编号、导入时间和计算量构建模型参数表。需要说明的是,模型参数表还可以包括其他参数,例如不同模型执行的任务类别等,本实施例对此不作限定。
应用本发明实施例提供的资源调度方法,可以建立模型参数表,以便在对边缘服务器的计算资源进行分配时获取各个任务的执行信息。
实施例三:
下面对本发明实施例提供的资源调度装置进行介绍,下文描述的资源调度装置与上文描述的资源调度方法可相互对应参照。
请参考图5,图5为本发明实施例提供的一种资源调度装置的结构示意图,包括:
执行信息获取模块100,用于获取新任务的执行信息,并将执行信息输入任务队列;
当前奖励计算模块200,用于获取任务队列的当前状态,利用当前状态计算当前奖励;
任务动作获取模块300,用于将当前奖励和当前状态输入深度强化神经网络模型,得到当前任务动作;
计算资源分配模块400,用于利用当前任务动作对任务队列中各个任务对应的计算资源进行分配,并利用分配后的计算资源执行任务队列中各个任务。
可选的,执行信息获取模块100,包括:
导入时间和计算量获取单元,用于获取新任务的任务信息,根据任务信息中的模型编号从模型参数表中获取对应的导入时间和计算量;
执行信息构成单元,用于利用任务信息、导入时间和计算量构成执行信息。
可选的,当前奖励计算模块200,包括:
任务奖励计算单元,用于利用当前状态计算各个任务的任务奖励;
计算单元,用于将任务奖励与历史奖励相加,得到当前奖励。
可选的,还包括:
判断模块,用于判断各个执行信息是否为计算量为零的特殊执行信息;
删除模块,用于若执行信息是特殊执行信息,则删除特殊执行信息;
队列调整模块,用于修改执行信息中的时间容差值和剩余计算量的值,并按照预设顺序调整任务队列。
可选的,包括:
计算量获取模块,用于获取任务模型,根据任务模型的结构计算任务模型对应的计算量;
导入时间计算模块,用于获取任务模型的大小数据,利用大小数据计算任务模型的导入时间;
模型参数表构建模块,用于对任务模型编号,得到模型编号,利用模型编号、导入时间和计算量构建模型参数表。
可选的,计算量获取模块,包括:
神经网络层信息获取单元,用于对任务模型按神经网络层进行分解,并获取各个神经网络层的神经网络层信息;
相加单元,用于获取各个神经网络层信息对应的层计算量,将层计算量相加,得到计算量。
可选的,任务动作获取模块300,包括:
特征提取单元,用于利用深度强化神经网络模型中的卷积神经网络对当前奖励和当前状态中的三通道矩阵进行特征提取,得到时序特征;
学习单元,用于利用深度强化神经网络模型中的循环神经网络对时序特征进行学习,得到学习结果;
动作生成单元,用于将学习结果和当前状态中的服务器当前剩余计算资源值输入深度强化神经网络模型中的全连接层,生成当前任务动作。
实施例四:
下面对本发明实施例提供的资源调度设备进行介绍,下文描述的资源调度设备与上文描述的资源调度方法可相互对应参照。
请参考图6,图6为本发明实施例所提供的一种资源调度设备的结构示意图,该资源调度设备包括存储器和处理器,其中:
存储器10,用于存储计算机程序;
处理器20,用于执行计算机程序,以实现上述的资源调度方法。
实施例五:
下面对本发明实施例提供的计算机可读存储介质进行介绍,下文描述的计算机可读存储介质与上文描述的资源调度方法可相互对应参照。
本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述的资源调度方法的步骤。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应该认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系属于仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其他任何变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
以上对本发明所提供的资源调度方法、装置、设备和计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (8)
1.一种资源调度方法,其特征在于,包括:
获取新任务的执行信息,并将所述执行信息输入任务队列;
获取所述任务队列的当前状态,利用所述当前状态计算当前奖励;其中,所述当前状态用服务器当前剩余计算资源值和一个三通道矩阵表示,其中第一通道为任务剩余计算量通道;第二通道为模型导入时间通道;第三通道为模型导入状态通道,用1表示模型已被导入,用0表示模型未被导入;
将所述当前奖励和所述当前状态输入深度强化神经网络模型,得到当前任务动作;所述深度强化神经网络模型由卷积神经网络、循环神经网络和全连接层组成;
利用所述当前任务动作对所述任务队列中各个任务对应的计算资源进行分配,并利用分配后的所述计算资源执行所述任务队列中各个所述任务;
所述获取新任务的执行信息,包括:
获取所述新任务的任务信息,根据所述任务信息中的模型编号从模型参数表中获取所述新任务对应的任务模型的导入时间和计算量;
利用所述任务信息、所述导入时间和所述计算量构成所述执行信息;
利用所述当前状态计算当前奖励,包括:
利用所述当前状态计算各个所述任务的任务奖励;
将各个所述任务奖励与历史奖励相加,得到所述当前奖励,其中,所述历史奖励为上一时刻的当前奖励。
2.根据权利要求1所述的资源调度方法,其特征在于,在将所述执行信息输入任务队列之后,在获取所述任务队列的当前状态之前,还包括:
判断各个所述执行信息是否为计算量为零的特殊执行信息;
若是,则删除所述特殊执行信息;
修改所述执行信息中的时间容差值和剩余计算量的值,并按照预设顺序调整所述任务队列。
3.根据权利要求1所述的资源调度方法,其特征在于,所述模型参数表的建立过程,包括:
获取任务模型,根据所述任务模型的结构计算所述任务模型对应的所述计算量;
获取所述任务模型的大小数据,利用所述大小数据计算所述任务模型的所述导入时间;
对所述任务模型编号,得到所述模型编号,利用所述模型编号、所述导入时间和所述计算量构建所述模型参数表。
4.根据权利要求3所述的资源调度方法,其特征在于,根据所述任务模型的结构计算所述任务模型对应的所述计算量,包括:
对所述任务模型按神经网络层进行分解,并获取各个所述神经网络层的神经网络层信息;
获取各个所述神经网络层信息对应的层计算量,将所述层计算量相加,得到所述计算量。
5.根据权利要求1至4任一项所述的资源调度方法,其特征在于,将所述当前奖励和所述当前状态输入深度强化神经网络模型,得到当前任务动作,包括:
利用所述深度强化神经网络模型中的卷积神经网络对所述当前奖励和所述当前状态中的三通道矩阵进行特征提取,得到时序特征;
利用所述深度强化神经网络模型中的循环神经网络对所述时序特征进行学习,得到学习结果;
将所述学习结果和所述当前状态中的服务器当前剩余计算资源值输入所述深度强化神经网络模型中的全连接层,生成所述当前任务动作。
6.一种资源调度装置,其特征在于,包括:
执行信息获取模块,用于获取新任务的执行信息,并将所述执行信息输入任务队列;
当前奖励计算模块,用于获取所述任务队列的当前状态,利用所述当前状态计算当前奖励;其中,所述当前状态用服务器当前剩余计算资源值和一个三通道矩阵表示,其中第一通道为任务剩余计算量通道;第二通道为模型导入时间通道;第三通道为模型导入状态通道,用1表示模型已被导入,用0表示模型未被导入;
任务动作获取模块,用于将所述当前奖励和所述当前状态输入深度强化神经网络模型,得到当前任务动作;
计算资源分配模块,用于利用所述当前任务动作对所述任务队列中各个任务对应的计算资源进行分配,并利用分配后的所述计算资源执行所述任务队列中各个所述任务;
所述执行信息获取模块包括:
导入时间和计算量获取单元,用于获取所述新任务的任务信息,根据所述任务信息中的模型编号从模型参数表中获取所述新任务对应的任务模型的导入时间和计算量;
执行信息构成单元,用于利用所述任务信息、所述导入时间和所述计算量构成所述执行信息;
所述当前奖励计算模块包括:
任务奖励计算单元,用于利用所述当前状态计算各个所述任务的任务奖励;
计算单元,用于将各个所述任务奖励与历史奖励相加,得到所述当前奖励,其中,所述历史奖励为上一时刻的当前奖励。
7.一种资源调度设备,其特征在于,包括存储器和处理器,其中:
所述存储器,用于保存计算机程序;
所述处理器,用于执行所述计算机程序,以实现如权利要求1至5任一项所述的资源调度方法。
8.一种计算机可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的资源调度方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910695023.1A CN110413396B (zh) | 2019-07-30 | 2019-07-30 | 一种资源调度方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910695023.1A CN110413396B (zh) | 2019-07-30 | 2019-07-30 | 一种资源调度方法、装置、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110413396A CN110413396A (zh) | 2019-11-05 |
CN110413396B true CN110413396B (zh) | 2022-02-15 |
Family
ID=68364159
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910695023.1A Active CN110413396B (zh) | 2019-07-30 | 2019-07-30 | 一种资源调度方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110413396B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110852438B (zh) * | 2019-11-11 | 2023-08-04 | 北京百度网讯科技有限公司 | 模型生成方法和装置 |
CN113254192B (zh) * | 2020-02-12 | 2024-04-16 | 北京沃东天骏信息技术有限公司 | 资源分配方法、资源分配装置、电子设备及存储介质 |
CN111738404B (zh) * | 2020-05-08 | 2024-01-12 | 深圳市万普拉斯科技有限公司 | 模型训练任务处理方法、装置、电子设备和存储介质 |
CN112598112B (zh) * | 2020-12-04 | 2021-09-10 | 深圳大学 | 一种基于图神经网络的资源调度方法 |
CN113515385A (zh) * | 2021-07-30 | 2021-10-19 | 盛景智能科技(嘉兴)有限公司 | 资源调度的方法、装置、电子设备及存储介质 |
CN114707954B (zh) * | 2022-03-29 | 2023-03-28 | 城信科技股份有限公司 | 企业智慧平台的信息管理方法及系统 |
CN116382925B (zh) * | 2023-06-05 | 2023-08-15 | 北京纷扬科技有限责任公司 | 一种任务队列的动态调整方法、装置及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103218263A (zh) * | 2013-03-12 | 2013-07-24 | 北京航空航天大学 | MapReduce参数的动态确定方法及装置 |
CN105260230A (zh) * | 2015-10-30 | 2016-01-20 | 广东石油化工学院 | 基于分段服务等级协议的数据中心虚拟机资源调度方法 |
CN109388484A (zh) * | 2018-08-16 | 2019-02-26 | 广东石油化工学院 | 一种基于Deep Q-network算法的多资源云作业调度方法 |
CN109656702A (zh) * | 2018-12-20 | 2019-04-19 | 西安电子科技大学 | 一种基于强化学习的跨数据中心网络任务调度方法 |
CN109710406A (zh) * | 2018-12-21 | 2019-05-03 | 腾讯科技(深圳)有限公司 | 数据分配及其模型训练方法、装置、及计算集群 |
CN109768940A (zh) * | 2018-12-12 | 2019-05-17 | 北京邮电大学 | 多业务sdn网络的流量分配方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10585703B2 (en) * | 2017-06-03 | 2020-03-10 | Apple Inc. | Dynamic operation allocation for neural networks |
-
2019
- 2019-07-30 CN CN201910695023.1A patent/CN110413396B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103218263A (zh) * | 2013-03-12 | 2013-07-24 | 北京航空航天大学 | MapReduce参数的动态确定方法及装置 |
CN105260230A (zh) * | 2015-10-30 | 2016-01-20 | 广东石油化工学院 | 基于分段服务等级协议的数据中心虚拟机资源调度方法 |
CN109388484A (zh) * | 2018-08-16 | 2019-02-26 | 广东石油化工学院 | 一种基于Deep Q-network算法的多资源云作业调度方法 |
CN109768940A (zh) * | 2018-12-12 | 2019-05-17 | 北京邮电大学 | 多业务sdn网络的流量分配方法及装置 |
CN109656702A (zh) * | 2018-12-20 | 2019-04-19 | 西安电子科技大学 | 一种基于强化学习的跨数据中心网络任务调度方法 |
CN109710406A (zh) * | 2018-12-21 | 2019-05-03 | 腾讯科技(深圳)有限公司 | 数据分配及其模型训练方法、装置、及计算集群 |
Non-Patent Citations (2)
Title |
---|
Distributed Reputation Management for Secure and Efficient Vehicular Edge Computing and Networks;XUMIN HUANG等;《IEEE Access》;20171205;全文 * |
基于神经网络学习方法的单机调度问题研究;曾广贤;《中国优秀硕士学位论文全文数据库 信息科技辑》;20190715;第二、四章 * |
Also Published As
Publication number | Publication date |
---|---|
CN110413396A (zh) | 2019-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110413396B (zh) | 一种资源调度方法、装置、设备及可读存储介质 | |
CN109298940B (zh) | 计算任务分配方法、装置、电子设备及计算机存储介质 | |
CN105900064B (zh) | 调度数据流任务的方法和装置 | |
CN109408590B (zh) | 分布式数据库的扩容方法、装置、设备及存储介质 | |
CN108182524A (zh) | 一种订单分配方法及装置、电子设备 | |
CN106302579A (zh) | 一种任务的分发方法及服务器 | |
CN110233741B (zh) | 服务计费方法、装置、设备及存储介质 | |
CN110688205B (zh) | 一种机器学习任务的执行装置、相关方法及相关装置 | |
CN109492102A (zh) | 用户数据处理方法、装置、设备及可读存储介质 | |
CN114866563A (zh) | 扩容方法、装置、系统和存储介质 | |
CN108520329B (zh) | 基于经纪人画像的二手房客户精准自动分配方法及装置 | |
CN113806073A (zh) | 一种边缘计算平台算力分配调度方法及系统 | |
CN112596880A (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN109710410B (zh) | 一种互联网信息资源分配方法及装置 | |
CN111651274A (zh) | 一种基于微服务架构的业务分发方法及相关装置 | |
CN111612520A (zh) | 资源处理方法、装置、服务器及存储介质 | |
CN114723071B (zh) | 一种基于客户端分类和信息熵的联邦学习方法及装置 | |
CN111836274B (zh) | 一种业务处理的方法及装置 | |
CN109901931B (zh) | 一种归约函数数量确定方法、装置及系统 | |
CN113177613A (zh) | 系统资源数据分配方法及装置 | |
CN113886086A (zh) | 云平台计算资源分配方法、系统、终端及存储介质 | |
CN109213451B (zh) | 云数据系统中存储资源的管理方法和装置 | |
CN110570136B (zh) | 配送范围确定方法、装置、电子设备以及存储介质 | |
CN112418670A (zh) | 一种案件分配方法、装置、设备及介质 | |
CN108304370B (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 |