CN111984392A - 任务调度方法、装置、电子设备及存储介质 - Google Patents
任务调度方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111984392A CN111984392A CN202011073547.6A CN202011073547A CN111984392A CN 111984392 A CN111984392 A CN 111984392A CN 202011073547 A CN202011073547 A CN 202011073547A CN 111984392 A CN111984392 A CN 111984392A
- Authority
- CN
- China
- Prior art keywords
- scheduling
- scheme
- task
- scheduled
- calculating
- 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
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine 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)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明涉及深度学习技术领域,揭露了一种任务调度方法,包括:获取调度平台的待调度任务;根据多个调度指标生成所述待调度任务的成对比较矩阵;计算所述成对比较矩阵的特征值和特征向量;根据所述特征值和特征向量确定所述多个调度指标的权重;获取所述待调度任务的多个调度方案,根据所述多个调度指标的权重计算所述多个调度方案的方案分数;确定方案分数最高的调度方案为待调度方案;根据所述待调度方案调度所述待调度任务。同时,本发明还提出了任务调度装置及计算机可读存储介质。此外,本发明还涉及区块链技术,调度方案可存储于区块链节点中。本发明可以实现高效的任务调度。
Description
技术领域
本发明涉及深度学习技术领域,尤其涉及一种任务调度方法、装置、电子设备及计算机可读存储介质。
背景技术
在深度学习领域,通常在深度学习系统中通过调度执行深度学习任务来运行深度学习算法,进而进行深度学习算法的研究。若调度效率不高,则无法快速完成深度学习任务,同时,调度效率不高也会造成计算资源的浪费。因此亟需一种高效调度任务的方法。
发明内容
本发明提供一种任务调度方法、装置、电子设备及计算机可读存储介质,其主要目的在于提供一种高效的任务调度方法。
为实现上述目的,本发明提供的一种任务调度方法,包括:
获取调度平台的待调度任务;
根据多个调度指标生成所述待调度任务的成对比较矩阵,所述调度指标包括与所述调度平台的系统资源相关的指标和/或与所述待调度任务相关的指标;
计算所述成对比较矩阵的特征值和特征向量;
根据所述特征值和特征向量确定所述多个调度指标的权重;
获取所述待调度任务的多个调度方案,根据所述多个调度指标的权重计算所述多个调度方案的方案分数;
确定方案分数最高的调度方案为待调度方案;
根据所述待调度方案调度所述待调度任务。
可选地,所述根据多个调度指标生成所述待调度任务的成对比较矩阵,包括:
根据所述待调度任务的属性信息确定所述多个调度指标的优先级;
根据所述优先级和优先级与数值对应关系表对所述成对比较矩阵中的指定元素的数值进行初始化;
根据一致性条件确定所述成对比较矩阵中所述指定元素以外的其他元素的数值。
可选地,所述根据所述多个调度指标的权重计算所述多个调度方案的方案分数包括:
计算所述多个调度方案中各个调度方案对应所述多个调度指标中不同调度指标的子调度方案分数;
将计算得到的各个调度方案的多个子调度方案分数按照所述多个调度指标的权重进行权重计算,得到所述多个调度方案的方案分数。
可选地,所述不同调度指标包括GPU集中度、CPU/内存均衡度和通信指标,所述计算所述多个调度方案中各个调度方案对应所述多个调度指标中不同调度指标的子调度方案分数包括:
根据所述调度平台的剩余GPU数量计算所述多个调度方案中各个调度方案对应所述GPU集中度的子调度方案分数;
根据所述调度平台的剩余CPU数量和内存数量计算所述多个调度方案中各个调度方案对应所述CPU/内存均衡度的子调度方案分数;
根据所述调度平台的调度任务量计算所述多个调度方案中各个调度方案对应所述通信指标的子调度方案分数。
可选地,所述根据所述调度平台的剩余GPU数量计算所述多个调度方案中各个调度方案对应所述GPU集中度的子调度方案分数,包括:确定所述待调度任务的需求GPU数量;
获取所述调度平台中剩余GPU数量大于等于所述需求GPU数量的节点集;
确定所述节点集中剩余GPU数量的剩余最小值和剩余最大值;
根据所述剩余最小值和剩余最大值计算所述多个调度方案中各个调度方案对应所述GPU集中度的子调度方案分数。
可选地,所述根据所述调度平台的剩余CPU数量和内存数量计算所述多个调度方案中各个调度方案对应所述CPU/内存均衡度的子调度方案分数,包括:
获取所述调度平台中各节点剩余CPU数量和内存数量,并根据所述剩余CPU数量和内存数量生成空闲矩阵;
根据所述待调度任务的属性信息确定所述待调度任务对于CPU和内存的需求向量;
根据所述需求向量和所述空闲矩阵计算所述多个调度方案中各个调度方案对应所述CPU/内存均衡度的子调度方案分数。
可选地,所述根据所述调度平台的调度任务量计算所述多个调度方案中各个调度方案对应所述通信指标的子调度方案分数,包括:
获取所述调度平台内各节点中与所述待调度任务存在通信依赖关系的其他调度任务,得到多个子任务量;
统计所述多个子任务量,得到任务总量;
根据所述任务总量和所述多个子任务量计算所述多个调度方案中各个调度方案对应所述通信指标的子调度方案分数。
为了解决上述问题,本发明还提供一种任务调度装置,所述装置包括:
任务获取模块,用于获取调度平台的待调度任务;
矩阵生成模块,用于根据多个调度指标生成所述待调度任务的成对比较矩阵,所述调度指标包括与所述调度平台的系统资源相关的指标和/或与所述待调度任务相关的指标;
特征计算模块,用于计算所述成对比较矩阵的特征值和特征向量;
权重确定模块,用于根据所述特征值和特征向量确定所述多个调度指标的权重;
分数计算模块,用于获取所述待调度任务的多个调度方案,根据所述多个调度指标的权重计算所述多个调度方案的方案分数;
方案确定模块,用于确定方案分数最高的调度方案为待调度方案;
调度模块,用于根据所述待调度方案调度所述待调度任务。
为了解决上述问题,本发明还提供一种电子设备,所述电子设备包括:
存储器,存储至少一个计算机程序指令;及
处理器,执行所述存储器中存储的计算机程序指令以实现上述所述的任务调度方法。
为了解决上述问题,本发明还提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行以实现上述所述的任务调度方法。
本发明实施例在任务调度时,根据多个调度指标计算不同调度方案的方案分数,进而确定待定角度方案,避免了根据单一调度指标进行调度时出现的调度任务无法运行,或者调度任务消耗资源较大影响其他调度任务运行等问题,提高调度的可靠性和有效性,从而提高了调度的效率。因此本发明提出的任务调度方法、装置及计算机可读存储介质,可以实现高效调度的目的。
附图说明
图1为本发明一实施例提供的任务调度方法的流程示意图;
图2为本发明一实施例提供的任务调度装置的模块示意图;
图3为本发明一实施例提供的实现任务调度方法的电子设备的内部结构示意图;
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本申请实施例提供一种任务调度方法。所述任务调度方法的执行主体包括但不限于服务端、终端等能够被配置为执行本申请实施例提供的该方法的电子设备中的至少一种。换言之,所述任务调度方法可以由安装在终端设备或服务端设备的软件或硬件来执行,所述软件可以是区块链平台。所述服务端包括但不限于:单台服务器、服务器集群、云端服务器或云端服务器集群等。
参照图1所示,为本发明一实施例提供的任务调度方法的流程示意图。在本实施例中,任务调度方法包括:
S1、获取调度平台的待调度任务。
本实施例中,所述调度平台是一个轻量级分布式任务调度平台,可以接收调度请求生成待调度任务,还可以根据调度方案对调度请求进行处理。
所述待调度任务是通过计算机分配资源以进行计算处理的各种事件。详细地,本发明实施例所述待调度任务是用于进行深度学习的计算任务。
S2、根据多个调度指标生成所述待调度任务的成对比较矩阵,所述调度指标包括与所述调度平台的系统资源相关的指标和/或与所述待调度任务相关的指标。
本实施例中,所述调度指标是能够影响调度分配的因素。
优选的,本发明实施例中,调度指标包括GPU集中度、CPU/内存均衡度和通信指标。
可选的,在本发明其他实施例中,所述调度指标包括不限于网络结构、天线技术、上行功率。
具体实施时,所述待调度任务中往往需要用到各种计算机资源,如对数据进行传输需要通信,对数据进行计算需要占用CPU和内存,对图像进行处理需要利用GPU资源,但当各待调度任务中主要任务不同时,对各种资源需要的程度也不相同,因此将多个调度指标进行综合,选择最优调度方案,可以提高调度效率,使调度的任务都高效、顺畅的运行。
详细地,所述成对比较矩阵的行元素和列元素的数量相同,且行元素的取值与列元素的取值具有相关性。
详细地,所述根据多个调度指标生成所述待调度任务的成对比较矩阵,包括:
根据所述待调度任务的属性信息确定述多个调度指标的优先级;
根据所述优先级和优先级与数值对应关系表对所述成对比较矩阵中的指定元素的数值进行初始化;
根据一致性条件确定所述成对比较矩阵中所述指定元素以外的其他元素的数值。
进一步地,所述成对比较矩阵包括:
进一步地,本发明实施例所述优先级与数值对应关系表是基于九级标度法构建的数值表,所述优先级与数值对应关系表将优先级分为9级,并对应1-9的数值,优先级越高数值越高。
例如,在深度学习任务调度中,由于cpu或内存资源的需求高于GPU资源紧缺,CPU/内存均衡度的优先级高于GPU集中度,根据所述CPU/内存均衡度的优先级对应的数值设置a12=5;如果待调度任务没有通信需求,表示通信指标的优先级最低,而GPU集中度的优先级较高时,根据所述优先级与数值对应关系表设置a13=9。
S3、计算所述成对比较矩阵的特征值和特征向量。
详细地,本发明实施例通过方程式Ax=λx计算所述成对比较矩阵的特征值和特征向量。
其中,A是所述成对比较矩阵,λ是数值,x是非零向量,若存在数λ和非零向量x使方程式Ax=λx成立,则将数λ为矩阵A的特征值,非零向量x为矩阵A的对应特征值λ的特征向量。
本发明实施例通过求解所述方程式,可以得到所述成对比较矩阵的多个特征值,以及多个特征值对应的多个特征向量。
S4、根据所述特征值和特征向量确定所述多个调度指标的权重。
详细地,所述特征值包括多个特征值,所述根据所述特征值和特征向量确定所述多个调度指标的权重,包括:
从所述多个特征值中选取最大特征值;
将所述最大特征值对应的特征向量归一化,得到所述多个调度指标的权重。
本实施例中,可以采用线性函数转换、对数函数转换和反余切函数转换进行归一化。
本发明实施例将所最大特征值对应的特征向量归一化后记为W=(w1,w2,w3),其中,w1,w2,w3是与每个调度指标对应的具体权重值。
本发明实施例通过归一化处理可以将特征向量限制在一定范围内,有利于不同单位或量级的数据能够进行比较和加权,提高数据处理的效率。
S5、获取所述待调度任务的多个调度方案,根据所述多个调度指标的权重计算所述多个调度方案的方案分数。
本发明实施例中多个调度方案可以是根据调度平台中预设调度条件确定的多个调度方案,或者,多个调度方案也可以是预设的调度方案。
优选地,所述调度方案还可以从一区块链的节点中获取。
通过将调度方案存储于区块链中,可以进一步提高调度方案的安全性。
详细地,所述根据所述多个调度指标的权重计算所述多个调度方案的方案分数,包括:
计算所述多个调度方案中各个调度方案对应所述多个调度指标中不同调度指标的子调度方案分数;
将计算得到的各个调度方案的多个子调度方案分数按照所述多个调度指标的权重进行权重计算,得到所述多个调度方案的方案分数。
例如,一个调度方案对应GPU集中度、CPU/内存均衡度和通信指标的分数分别为1、1/2、3/5,所述GPU集中度、CPU/内存均衡度和通信指标的权重分别为2/3、1/6、1/6,再进行权重计算得到则该调度方案的方案分数为51/60。
进一步地,当不同调度指标包括GPU集中度、CPU/内存均衡度和通信指标时,所述计算所述多个调度方案中各个调度方案对应所述多个调度指标中不同调度指标的子调度方案分数,包括:
根据所述调度平台的剩余GPU数量计算所述多个调度方案中各个调度方案对应所述GPU集中度的子调度方案分数;
根据所述调度平台的剩余CPU数量和内存数量计算所述多个调度方案中各个调度方案对应所述CPU/内存均衡度的子调度方案分数;
根据所述调度平台的调度任务量计算所述多个调度方案中各个调度方案对应所述通信指标的子调度方案分数。
详细地,所述根据所述调度平台的剩余GPU数量计算所述多个调度方案中各个调度方案对应所述GPU集中度的子调度方案分数,包括:
确定所述待调度任务的需求GPU数量;
获取所述调度平台中剩余GPU数量大于等于所述需求GPU数量的节点集;
确定所述节点集中剩余GPU数量的剩余最小值和剩余最大值;
根据所述剩余最小值和剩余最大值计算所述多个调度方案中各个调度方案对应所述GPU集中度的子调度方案分数。
具体地,根据所述剩余最小值和剩余最大值计算所述多个调度方案中各个调度方案对应所述GPU集中度的子调度方案分数的具体方式如下:
其中,sk1表示调度方案Pk对应所述GPU集中度的子调度方案分数,fgk表示节点k上的剩余GPU数量,rg表示所述待调度任务需要的GPU数量,表示剩余GPU数量中的剩余最小值,表示剩余GPU数量中的剩余最大值。
本实施例中,通过计算各个调度方案对应GPU集中度的子调度方案分数可以避免总空闲GPU充足但每个节点的空闲GPU都不足的问题,避免调度任务无法运行,提高调度的效率。
详细地,所述根据所述调度平台的剩余CPU数量和内存数量计算所述多个调度方案中各个调度方案对应所述CPU/内存均衡度的子调度方案分数,包括:
获取所述调度平台中各节点剩余CPU数量和内存数量,并根据所述剩余CPU数量和内存数量生成空闲矩阵;
根据所述待调度任务的属性信息确定所述待调度任务对于CPU和内存的需求向量;
根据所述需求向量和所述空闲矩阵计算所述多个调度方案中各个调度方案对应所述CPU/内存均衡度的子调度方案分数。
具体地,所述根据所述需求向量和所述空闲矩阵计算所述多个调度方案中各个调度方案对应所述CPU/内存均衡度的子调度方案分数的具体方式如下:
其中,sk2为调度方案Pk对应所述CPU/内存均衡度的子调度方案分数,(rc,rm)为所述待调度任务对于CPU和内存的需求向量,(fck,fmk)为节点k上的CPU和内存的空闲矩阵。
本实施例中,通过计算各个调度方案对应CPU/内存均衡度的子调度方案分数可以解决调度过程中的负载不均衡的问题。
详细地,所述根据所述调度平台的调度任务量计算所述多个调度方案中各个调度方案对应所述通信指标的子调度方案分数,包括:
获取所述调度平台内各节点中与所述待调度任务存在通信依赖关系的其他调度任务,得到多个子任务量;
统计所述多个子任务量,得到任务总量;
根据所述任务总量和所述多个子任务量计算所述多个调度方案中各个调度方案对应所述通信指标的子调度方案分数。
具体地,所述根据所述任务总量和所述多个子任务量计算所述多个调度方案中各个调度方案对应所述通信指标的子调度方案分数的具体方式如下:
其中,sk3是调度方案Pk对应所述通信指标的子调度方案分数,n是所述任务总量,nk是位于节点k上的子任务量。
本实施例中,通过计算各个调度方案对应通信指标的子调度方案分数可以降低因网络通信延迟造成的调度失败,提高调度的成功率和可靠性,进而提高调度的效率。
S6、确定方案分数最高的调度方案为待调度方案。
本发明实施例通过比较各个调度方案的方案分数,确定方案分数最高时对应的调度方案为待调度方案。
S7、根据所述待调度方案调度所述待调度任务。
本发明实施例在确定待调度方案后,根据所述待调度方案对所述待调度任务进行调度。
当进行任务调度时,根据待调度方案对待调度任务分配计算机内部的资源分配,使所述待调度任务可以执行并完成,以保证深度学习算法在计算机上的最终实现。
本发明实施例在任务调度时,根据多个调度指标计算不同调度方案的方案分数,进而确定待定角度方案,避免了根据单一调度指标进行调度时出现的调度任务无法运行,或者调度任务消耗资源较大影响其他调度任务运行等问题,提高调度的可靠性和有效性,从而提高了调度的效率。因此本发明提出的任务调度方法,可以实现高效调度的目的。
如图2所示,是本发明任务调度装置的功能模块图。
本发明所述任务调度装置100可以安装于电子设备中。根据实现的功能,所述任务调度装置可以包括任务获取模块101、矩阵生成模块102、特征计算模块103、权重确定模块104、分数计算模块105、方案确定模块106和调度模块107。本发所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
在本实施例中,关于各模块/单元的功能如下:
所述任务获取模块101,用于获取调度平台的待调度任务。
本实施例中,所述调度平台是一个轻量级分布式任务调度平台,可以接收调度请求生成待调度任务,还可以根据调度方案对调度请求进行处理。
所述待调度任务是通过计算机分配资源以进行计算处理的各种事件。详细地,本发明实施例所述待调度任务是用于进行深度学习的计算任务。
所述矩阵生成模块102,用于根据多个调度指标生成所述待调度任务的成对比较矩阵,所述调度指标包括与所述调度平台的系统资源相关的指标和/或与所述待调度任务相关的指标。
本实施例中,所述调度指标是能够影响调度分配的因素。
优选的,本发明实施例中,调度指标包括GPU集中度、CPU/内存均衡度和通信指标。
可选的,在本发明其他实施例中,所述调度指标包括不限于网络结构、天线技术、上行功率。
具体实施时,所述待调度任务中往往需要用到各种计算机资源,如对数据进行传输需要通信,对数据进行计算需要占用CPU和内存,对图像进行处理需要利用GPU资源,但当各待调度任务中主要任务不同时,对各种资源需要的程度也不相同,因此将多个调度指标进行综合,选择最优调度方案,可以提高调度效率,使调度的任务都高效、顺畅的运行。
详细地,所述成对比较矩阵的行元素和列元素的数量相同,且行元素的取值与列元素的取值具有相关性。
详细地,所述矩阵生成模块102具体用于:
根据所述待调度任务的属性信息确定述多个调度指标的优先级;
根据所述优先级和优先级与数值对应关系表对所述成对比较矩阵中的指定元素的数值进行初始化;
根据一致性条件确定所述成对比较矩阵中所述指定元素以外的其他元素的数值。
进一步地,所述成对比较矩阵包括:
进一步地,本发明实施例所述优先级与数值对应关系表是基于九级标度法构建的数值表,所述优先级与数值对应关系表将优先级分为9级,并对应1-9的数值,优先级越高数值越高。
例如,在深度学习任务调度中,由于cpu或内存资源的需求高于GPU资源紧缺,CPU/内存均衡度的优先级高于GPU集中度,根据所述CPU/内存均衡度的优先级对应的数值设置a12=5;如果待调度任务没有通信需求,表示通信指标的优先级最低,而GPU集中度的优先级较高时,根据所述优先级与数值对应关系表设置a13=9。
所述特征计算模块103,用于计算所述成对比较矩阵的特征值和特征向量。
详细地,本发明实施例通过方程式Ax=λx计算所述成对比较矩阵的特征值和特征向量。
其中,A是所述成对比较矩阵,λ是数值,x是非零向量,若存在数λ和非零向量x使方程式Ax=λx成立,则将数λ为矩阵A的特征值,非零向量x为矩阵A的对应特征值λ的特征向量。
本发明实施例通过求解所述方程式,可以得到所述成对比较矩阵的多个特征值,以及多个特征值对应的多个特征向量。
所述权重确定模块104,用于根据所述特征值和特征向量确定所述多个调度指标的权重。
详细地,所述特征值包括多个特征值,所述权重确定模块104具体用于:
从所述多个特征值中选取最大特征值;
将所述最大特征值对应的特征向量归一化,得到所述多个调度指标的权重。
本实施例中,可以采用线性函数转换、对数函数转换和反余切函数转换进行归一化。
本发明实施例将所最大特征值对应的特征向量归一化后记为W=(w1,w2,w3),其中,w1,w2,w3是与每个调度指标对应的具体权重值。
本发明实施例通过归一化处理可以将特征向量限制在一定范围内,有利于不同单位或量级的数据能够进行比较和加权,提高数据处理的效率。
所述分数计算模块105,获取所述待调度任务的多个调度方案,根据所述多个调度指标的权重计算所述多个调度方案的方案分数。
本发明实施例中多个调度方案可以是根据调度平台中预设调度条件确定的多个调度方案,或者,多个调度方案也可以是预设的调度方案。
优选地,所述调度方案还可以从一区块链的节点中获取。
通过将调度方案存储于区块链中,可以进一步提高调度方案的安全性。
详细地,所述分数计算模块105具体用于:
获取单元,用于获取所述待调度任务的多个调度方案;
子调度方案分数计算单元,用于计算所述多个调度方案中各个调度方案对应所述多个调度指标中不同调度指标的子调度方案分数;
权重计算单元,用于将计算得到的各个调度方案的多个子调度方案分数按照所述多个调度指标的权重进行权重计算,得到所述多个调度方案的方案分数。
例如,一个调度方案对应GPU集中度、CPU/内存均衡度和通信指标的分数分别为1、1/2、3/5,所述GPU集中度、CPU/内存均衡度和通信指标的权重分别为2/3、1/6、1/6,再进行权重计算得到则该调度方案的方案分数为51/60。
进一步地,当不同调度指标包括GPU集中度、CPU/内存均衡度和通信指标时,所述子调度方案分数计算单元具体用于:
根据所述调度平台的剩余GPU数量计算所述多个调度方案中各个调度方案对应所述GPU集中度的子调度方案分数;
根据所述调度平台的剩余CPU数量和内存数量计算所述多个调度方案中各个调度方案对应所述CPU/内存均衡度的子调度方案分数;
根据所述调度平台的调度任务量计算所述多个调度方案中各个调度方案对应所述通信指标的子调度方案分数。
详细地,所述根据所述调度平台的剩余GPU数量计算所述多个调度方案中各个调度方案对应所述GPU集中度的子调度方案分数,包括:
确定所述待调度任务的需求GPU数量;
获取所述调度平台中剩余GPU数量大于等于所述需求GPU数量的节点集;
确定所述节点集中剩余GPU数量的剩余最小值和剩余最大值;
根据所述剩余最小值和剩余最大值计算所述多个调度方案中各个调度方案对应所述GPU集中度的子调度方案分数。
具体地,根据所述剩余最小值和剩余最大值计算所述多个调度方案中各个调度方案对应所述GPU集中度的子调度方案分数的具体方式如下:
其中,sk1表示调度方案Pk对应所述GPU集中度的子调度方案分数,fgk表示节点k上的剩余GPU数量,rg表示所述待调度任务需要的GPU数量,表示剩余GPU数量中的剩余最小值,表示剩余GPU数量中的剩余最大值。
本实施例中,通过计算各个调度方案对应GPU集中度的子调度方案分数可以避免总空闲GPU充足但每个节点的空闲GPU都不足的问题,避免调度任务无法运行,提高调度的效率。
详细地,所述根据所述调度平台的剩余CPU数量和内存数量计算所述多个调度方案中各个调度方案对应所述CPU/内存均衡度的子调度方案分数,包括:
获取所述调度平台中各节点剩余CPU数量和内存数量,并根据所述剩余CPU数量和内存数量生成空闲矩阵;
根据所述待调度任务的属性信息确定所述待调度任务对于CPU和内存的需求向量;
根据所述需求向量和所述空闲矩阵计算所述多个调度方案中各个调度方案对应所述CPU/内存均衡度的子调度方案分数。
具体地,所述根据所述需求向量和所述空闲矩阵计算所述多个调度方案中各个调度方案对应所述CPU/内存均衡度的子调度方案分数的具体方式如下:
其中,sk2为调度方案Pk对应所述CPU/内存均衡度的子调度方案分数,(rc,rm)为所述待调度任务对于CPU和内存的需求向量,(fck,fmk)为节点k上的CPU和内存的空闲矩阵。
本实施例中,通过计算各个调度方案对应CPU/内存均衡度的子调度方案分数可以解决调度过程中的负载不均衡的问题。
详细地,所述根据所述调度平台的调度任务量计算所述多个调度方案中各个调度方案对应所述通信指标的子调度方案分数,包括:
获取所述调度平台内各节点中与所述待调度任务存在通信依赖关系的其他调度任务,得到多个子任务量;
统计所述多个子任务量,得到任务总量;根据所述任务总量和所述多个子任务量计算所述多个调度方案中各个调度方案对应所述通信指标的子调度方案分数。
具体地,所述根据所述任务总量和所述多个子任务量计算所述多个调度方案中各个调度方案对应所述通信指标的子调度方案分数的具体方式如下:
其中,sk3是调度方案Pk对应所述通信指标的子调度方案分数,n是所述任务总量,nk是位于节点k上的子任务量。
本实施例中,通过计算各个调度方案对应通信指标的子调度方案分数可以降低因网络通信延迟造成的调度失败,提高调度的成功率和可靠性,进而提高调度的效率。
所述方案确定模块106,用于确定方案分数最高的调度方案为待调度方案。
本发明实施例通过比较各个调度方案的方案分数,确定方案分数最高时对应的调度方案为待调度方案。
所述调度模块107,用于根据所述待调度方案调度所述待调度任务。
本发明实施例在确定待调度方案后,根据所述待调度方案对所述待调度任务进行调度。
当进行任务调度时,根据待调度方案对待调度任务分配计算机内部的资源分配,使所述待调度任务可以执行并完成,以保证深度学习算法在计算机上的最终实现。
本发明实施例在任务调度时,根据多个调度指标计算不同调度方案的方案分数,进而确定待定角度方案,避免了根据单一调度指标进行调度时出现的调度任务无法运行,或者调度任务消耗资源较大影响其他调度任务运行等问题,提高调度的可靠性和有效性,从而提高了调度的效率。因此本发明提出的任务调度装置,可以实现高效调度的目的。
如图3所示,是本发明实现任务调度方法的电子设备的结构示意图。
所述电子设备1可以包括处理器10、存储器11和总线,还可以包括存储在所述存储器11中并可在所述处理器10上运行的计算机程序,如任务调度程序12。
其中,所述存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:SD或DX存储器等)、磁性存储器、磁盘、光盘等。所述存储器11在一些实施例中可以是电子设备1的内部存储单元,例如该电子设备1的移动硬盘。所述存储器11在另一些实施例中也可以是电子设备1的外部存储设备,例如电子设备1上配备的插接式移动硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(SecureDigital,SD)卡、闪存卡(Flash Card)等。进一步地,所述存储器11还可以既包括电子设备1的内部存储单元也包括外部存储设备。所述存储器11不仅可以用于存储安装于电子设备1的应用软件及各类数据,例如任务调度程序12的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
所述处理器10在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述处理器10是所述电子设备的控制核心(Control Unit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述存储器11内的程序或者模块(例如执行任务调度程序等),以及调用存储在所述存储器11内的数据,以执行电子设备1的各种功能和处理数据。
所述总线可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。所述总线被设置为实现所述存储器11以及至少一个处理器10等之间的连接通信。
图3仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图3示出的结构并不构成对所述电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
例如,尽管未示出,所述电子设备1还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与所述至少一个处理器10逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备1还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。
进一步地,所述电子设备1还可以包括网络接口,可选地,所述网络接口可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该电子设备1与其他电子设备之间建立通信连接。
可选地,该电子设备1还可以包括用户接口,用户接口可以是显示器(Display)、输入单元(比如键盘(Keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备1中处理的信息以及用于显示可视化的用户界面。
应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
所述电子设备1中的所述存储器11存储的任务调度程序12是多个指令的组合,在所述处理器10中运行时,可以实现:
获取调度平台的待调度任务;
根据多个调度指标生成所述待调度任务的成对比较矩阵,所述调度指标包括与所述调度平台的系统资源相关的指标和/或与所述待调度任务相关的指标;
计算所述成对比较矩阵的特征值和特征向量;
根据所述特征值和特征向量确定所述多个调度指标的权重;
获取所述待调度任务的多个调度方案,根据所述多个调度指标的权重计算所述多个调度方案的方案分数;
确定方案分数最高的调度方案为待调度方案;
根据所述待调度方案调度所述待调度任务。
进一步地,所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图表记视为限制所涉及的权利要求。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (10)
1.一种任务调度方法,其特征在于,所述方法包括:
获取调度平台的待调度任务;
根据多个调度指标生成所述待调度任务的成对比较矩阵,所述调度指标包括与所述调度平台的系统资源相关的指标和/或与所述待调度任务相关的指标;
计算所述成对比较矩阵的特征值和特征向量;
根据所述特征值和特征向量确定所述多个调度指标的权重;
获取所述待调度任务的多个调度方案,根据所述多个调度指标的权重计算所述多个调度方案的方案分数;
确定方案分数最高的调度方案为待调度方案;
根据所述待调度方案调度所述待调度任务。
2.如权利要求1所述的任务调度方法,其特征在于,所述根据多个调度指标生成所述待调度任务的成对比较矩阵,包括:
根据所述待调度任务的属性信息确定所述多个调度指标的优先级;
根据所述优先级和优先级与数值对应关系表对所述成对比较矩阵中的指定元素的数值进行初始化;
根据一致性条件确定所述成对比较矩阵中所述指定元素以外的其他元素的数值。
3.如权利要求1或2中所述的任务调度方法,其特征在于,所述根据所述多个调度指标的权重计算所述多个调度方案的方案分数包括:
计算所述多个调度方案中各个调度方案对应所述多个调度指标中不同调度指标的子调度方案分数;
将计算得到的各个调度方案的多个子调度方案分数按照所述多个调度指标的权重进行权重计算,得到所述多个调度方案的方案分数。
4.如权利要求3所述的任务调度方法,其特征在于,所述不同调度指标包括GPU集中度、CPU/内存均衡度和通信指标,所述计算所述多个调度方案中各个调度方案对应所述多个调度指标中不同调度指标的子调度方案分数包括:
根据所述调度平台的剩余GPU数量计算所述多个调度方案中各个调度方案对应所述GPU集中度的子调度方案分数;
根据所述调度平台的剩余CPU数量和内存数量计算所述多个调度方案中各个调度方案对应所述CPU/内存均衡度的子调度方案分数;
根据所述调度平台的调度任务量计算所述多个调度方案中各个调度方案对应所述通信指标的子调度方案分数。
5.如权利要求4所述的任务调度方法,其特征在于,所述根据所述调度平台的剩余GPU数量计算所述多个调度方案中各个调度方案对应所述GPU集中度的子调度方案分数,包括:
确定所述待调度任务的需求GPU数量;
获取所述调度平台中剩余GPU数量大于等于所述需求GPU数量的节点集;
确定所述节点集中剩余GPU数量的剩余最小值和剩余最大值;
根据所述剩余最小值和剩余最大值计算所述多个调度方案中各个调度方案对应所述GPU集中度的子调度方案分数。
6.如权利要求4所述的任务调度方法,其特征在于,所述根据所述调度平台的剩余CPU数量和内存数量计算所述多个调度方案中各个调度方案对应所述CPU/内存均衡度的子调度方案分数,包括:
获取所述调度平台中各节点剩余CPU数量和内存数量,并根据所述剩余CPU数量和内存数量生成空闲矩阵;
根据所述待调度任务的属性信息确定所述待调度任务对于CPU和内存的需求向量;
根据所述需求向量和所述空闲矩阵计算所述多个调度方案中各个调度方案对应所述CPU/内存均衡度的子调度方案分数。
7.如权利要求4所述的任务调度方法,其特征在于,所述根据所述调度平台的调度任务量计算所述多个调度方案中各个调度方案对应所述通信指标的子调度方案分数,包括:
获取所述调度平台内各节点中与所述待调度任务存在通信依赖关系的其他调度任务,得到多个子任务量;
统计所述多个子任务量,得到任务总量;
根据所述任务总量和所述多个子任务量计算所述多个调度方案中各个调度方案对应所述通信指标的子调度方案分数。
8.一种任务调度装置,其特征在于,所述装置包括:
任务获取模块,用于获取调度平台的待调度任务;
矩阵生成模块,用于根据多个调度指标生成所述待调度任务的成对比较矩阵,所述调度指标包括与所述调度平台的系统资源相关的指标和/或与所述待调度任务相关的指标;
特征计算模块,用于计算所述成对比较矩阵的特征值和特征向量;
权重确定模块,用于根据所述特征值和特征向量确定所述多个调度指标的权重;
分数计算模块,用于获取所述待调度任务的多个调度方案,根据所述多个调度指标的权重计算所述多个调度方案的方案分数;
方案确定模块,用于确定方案分数最高的调度方案为待调度方案;
调度模块,用于根据所述待调度方案调度所述待调度任务。
9.一种电子设备,其特征在于,所述电子设备包括:
存储器,存储至少一个计算机程序指令;及
处理器,执行所述存储器中存储的计算机程序指令以执行如权利要求1至7中任一项所述的任务调度方法。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的任务调度方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011073547.6A CN111984392A (zh) | 2020-10-09 | 2020-10-09 | 任务调度方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011073547.6A CN111984392A (zh) | 2020-10-09 | 2020-10-09 | 任务调度方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111984392A true CN111984392A (zh) | 2020-11-24 |
Family
ID=73450328
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011073547.6A Pending CN111984392A (zh) | 2020-10-09 | 2020-10-09 | 任务调度方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111984392A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113010315A (zh) * | 2021-03-18 | 2021-06-22 | 中国邮政储蓄银行股份有限公司 | 资源分配方法及分配装置、计算机可读存储介质 |
CN114610575A (zh) * | 2022-03-14 | 2022-06-10 | 北京百度网讯科技有限公司 | 应用于计算分支的更新峰值的方法、装置、设备和介质 |
-
2020
- 2020-10-09 CN CN202011073547.6A patent/CN111984392A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113010315A (zh) * | 2021-03-18 | 2021-06-22 | 中国邮政储蓄银行股份有限公司 | 资源分配方法及分配装置、计算机可读存储介质 |
CN114610575A (zh) * | 2022-03-14 | 2022-06-10 | 北京百度网讯科技有限公司 | 应用于计算分支的更新峰值的方法、装置、设备和介质 |
CN114610575B (zh) * | 2022-03-14 | 2024-05-14 | 北京百度网讯科技有限公司 | 应用于计算分支的更新峰值的方法、装置、设备和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110399222B (zh) | Gpu集群深度学习任务并行化方法、装置及电子设备 | |
CN101960428B (zh) | 路由工作负载计算方法及系统 | |
CN108205469B (zh) | 一种基于MapReduce的资源分配方法及服务器 | |
CN111984392A (zh) | 任务调度方法、装置、电子设备及存储介质 | |
CN109918182A (zh) | 虚拟化技术下的多gpu任务调度方法 | |
CN111738488A (zh) | 一种任务调度方法及其装置 | |
CN116263701A (zh) | 算力网络任务调度方法、装置、计算机设备及存储介质 | |
CN113157379A (zh) | 集群节点资源调度方法及装置 | |
CN111694844A (zh) | 基于配置算法的企业运行数据分析方法、装置及电子设备 | |
CN104793993A (zh) | 基于Levy飞行的人工蜂群粒子群算法的云计算任务调度方法 | |
CN112181620A (zh) | 云环境下虚拟机服务能力感知的大数据工作流调度方法 | |
US20140259022A1 (en) | Apparatus and method for managing heterogeneous multi-core processor system | |
CN114356587A (zh) | 算力任务跨区域调度方法、系统及设备 | |
CN113886080A (zh) | 高性能集群任务调度方法、装置、电子设备及存储介质 | |
CN114637536A (zh) | 任务处理方法、计算协处理器、芯片及计算机设备 | |
CN114913371A (zh) | 多任务学习模型训练方法、装置、电子设备及存储介质 | |
US11775344B1 (en) | Training task queuing cause analysis method and system, device and medium | |
CN114579284A (zh) | 任务调度方法及装置 | |
CN114217930A (zh) | 一种基于混合任务调度的加速器系统资源优化管理方法 | |
CN115373826B (zh) | 一种基于云计算的任务调度方法及装置 | |
CN113791890A (zh) | 容器分配方法及装置、电子设备、存储介质 | |
CN116647560A (zh) | 物联网计算机集群协调优化控制方法、装置、设备及介质 | |
KR20120069364A (ko) | 멀티코어 환경에서 코어별 처리 능력 및 전력량을 고려한 프레임 처리장치 및 방법 | |
CN113407322B (zh) | 多终端的任务分配方法、装置、电子设备及可读存储介质 | |
CN115981843A (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 |