CN110162393A - 任务调度方法、装置及存储介质 - Google Patents

任务调度方法、装置及存储介质 Download PDF

Info

Publication number
CN110162393A
CN110162393A CN201910464887.2A CN201910464887A CN110162393A CN 110162393 A CN110162393 A CN 110162393A CN 201910464887 A CN201910464887 A CN 201910464887A CN 110162393 A CN110162393 A CN 110162393A
Authority
CN
China
Prior art keywords
task
subtask
resource
scheduling
time slot
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.)
Granted
Application number
CN201910464887.2A
Other languages
English (en)
Other versions
CN110162393B (zh
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.)
Chery Automobile Co Ltd
Original Assignee
SAIC Chery Automobile Co 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 SAIC Chery Automobile Co Ltd filed Critical SAIC Chery Automobile Co Ltd
Priority to CN201910464887.2A priority Critical patent/CN110162393B/zh
Publication of CN110162393A publication Critical patent/CN110162393A/zh
Application granted granted Critical
Publication of CN110162393B publication Critical patent/CN110162393B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本申请公开了一种任务调度方法、装置及存储介质,属于云计算技术领域,该方法包括:接收资源获取请求,资源获取请求中携带目标任务的多个子任务分别对应的资源价格和执行期限,目标任务为任务集合中的任务,任务集合中的任务在预设的时间段内按照泊松分布的概率到达;基于目标任务中每个子任务对应的资源价格和执行期限,通过任务调度模型确定目标任务中每个子任务的最优调度方案,任务调度模型为使云服务商收益最大化的模型;基于每个子任务的最优调度方案对所述目标任务中的每个子任务进行调度。本申请中,由于任务调度模型为使云服务商收益最大化的模型,根据任务调度模型确定的最优调度方案进行任务调度,可以保证云服务商收益最大化。

Description

任务调度方法、装置及存储介质
技术领域
本申请涉及云计算技术领域,特别涉及一种任务调度方法、装置及存储介质。
背景技术
云计算技术是分布式计算、并行计算和网格计算的进一步发展,利用虚拟化技术把计算资源、存储资源和带宽资源虚拟化为动态可伸缩的虚拟化资源池,以互联网为载体,以服务的形式按需提供给不同的用户使用。目前,云计算技术的资源通常都会打包为不同类型的虚拟机,但是启动虚拟机实例需要运行一个完整的专用操作系统,通常会消耗额外的资源和时间。因此,需要一种虚拟机的替代方案,也即是,任务调度机制。
其中,任务调度是云计算技术中非常关键并且复杂的问题,该问题解决的好坏不仅影响到用户的满意度,也极大地影响了系统的整体性能。因此,在云环境下如何对任务进行合理高效的调度,成为云计算技术的重点和难点。因此,亟需一种任务调度方法。
发明内容
本申请实施例提供了一种任务调度方法、装置及存储介质,用于解决相关技术中在进行任务调度时,调度效率低的问题。所述技术方案如下:
第一方面,提供了一种任务调度方法,所述方法包括:
接收资源获取请求,所述资源获取请求中携带目标任务的多个子任务分别对应的资源价格和执行期限,所述目标任务为任务集合中的任务,所述任务集合中的任务在预设的时间段内按照泊松分布的概率到达;
基于所述目标任务中每个子任务对应的资源价格和执行期限,通过任务调度模型确定所述目标任务中每个子任务的最优调度方案,所述任务调度模型为使云服务商收益最大化的模型;
基于所述每个子任务的最优调度方案对所述目标任务中的每个子任务进行调度。
在一些实施例中,所述基于所述目标任务中每个子任务对应的资源价格和执行期限,通过任务调度模型确定所述目标任务中每个子任务的最优调度方案,包括:
基于所述目标任务中每个子任务的资源价格和执行期限,通过所述任务调度模型确定所述目标任务中每个子任务运行的所有可用时隙,所述可用时隙为资源需求量满足所述每个子任务运行的时隙;
确定所述目标任务中每个可用时隙对应的资源单价;
将所述每个可用时隙对应的资源单价分别乘以所述每个可用时隙对应的资源需求量,得到所述每个可用时隙对应的资源价格;
按照所述目标任务中子任务的数量和所述目标任务中每个可用时隙对应的资源价格,将运行所述目标任务的资源价格最小的调度方案确定为最优调度方案。
在一些实施例中,所述将所述每个可用时隙对应的资源单价分别乘以所述每个可用时隙对应的资源需求量,得到所述每个可用时隙对应的资源价格之前,还包括:
将所述每个可用时隙按照对应的资源单价的大小从大到小进行排序,得到排序结果;
将所述排序结果中的前Nin个可用时隙添加至调度集合中,所述Nin为大于或等于1的正整数;
相应地,所述将所述每个可用时隙对应的资源单价分别乘以所述每个可用时隙对应的资源需求量,得到所述每个可用时隙对应的资源价格,包括:
将所述调度集合中的每个可用时隙对应的资源单价分别乘以所述调度集合中每个可用时隙对应的资源需求量,得到所述调度集合中每个可用时隙对应的资源价格。
在一些实施例中,所述按照所述目标任务中子任务的数量和所述目标任务中每个可用时隙对应的资源价格,将运行所述目标任务的资源价格最小的调度方案确定为最优调度方案,包括:
当按照所述目标任务中各个子任务的执行顺序分配可用时隙时,按照所述各个子任务的执行顺序为所述各个子任务分配目标可用时隙,所述目标可用时隙为资源价格最小且未被分配的可用时隙。
在一些实施例中,所述基于所述目标任务中每个子任务对应的资源价格和执行期限,通过任务调度模型确定所述目标任务中每个子任务的最优调度方案,包括:
基于所述目标任务中每个子任务的资源价格和执行期限,通过椭球算法和所述任务调度模型确定所述目标任务中每个子任务对应的目标标识,所述目标标识用于描述所述目标任务中任一子任务在任一可用时隙上是否运行,所述可用时隙为资源需求量满足所述每个子任务运行的时隙;
当所述目标标识为分数标识时,对所述目标标识进行取整,得到整数标识;
将所述整数标识乘以预设数值,得到所述目标任务中每个子任务对应的分配概率,所述分配概率为将所述任一可用时隙分配给对应子任务的概率;
将所述分配概率设置为1,并将所述分配概率对应的可用时隙确定为所述目标任务中对应子任务的最优调度方案。
在一些实施例中,所述基于所述目标任务中每个子任务对应的资源价格和执行期限,通过任务调度模型确定所述目标任务中每个子任务的最优调度方案之前,还包括:
基于所述目标任务中每个子任务对应的资源价格和执行期限,将收益最大化的拍卖机制通过整数线性规划的方式进行处理,得到如下任务调度模型;
其中,所述I为所述任务集合,所述i为所述任务集合中的任一任务,所述Ni为所述任务集合中任务的数量,所述xin为表示所述任务i中第n个子任务是否被运行的标识,所述n为所述任务i中第n个子任务,所述bin为所述任务i中第n个子任务的资源价格,所述yin(t)为表示任务i中第n个子任务在t时刻有没有被运行的标识,所述yin(t')为表示任务i中第n个子任务在t'时刻有没有被运行的标识,所述di为所述任务i的最后期限,所述Lin为任务i中第n个子任务的运行时长,所述为任务i中第n个子任务所需k类资源的数量,所述ck为所述k类资源在资源池中的总量,所述K为所述资源池中资源类型的数目,所述k为所述K种资源类型中的任一类型资源,所述T为预设的时间段,所述ai为所述任务i到达的时间,所述nisn'sancester用于表示所述第n个子任务在第n'个子任务之前完成。
在一些实施例中,所述基于所述目标任务中每个子任务对应的资源价格和执行期限,将收益最大化的拍卖机制通过整数线性规划的方式进行处理之后,还包括:
对所述任务调度模型进行简化处理,得到如下简化后的任务调度模型;
其中,所述I为所述任务集合,所述i为所述任务集合中的任一任务,所述为符合约束条件的调度集合,所述l为所述任务i的时间调度,所述bil为所述任务i在时间调度l期间的资源价格,所述xil为表示所述任务i中在所述时间调度l期间是否被运行的标识,所述T(l)为所述任务i在时间调度l位于所述T时间段内,所述为任务i中在所述时间调度l期间进行调度时所需k类资源的数量,所述ck为所述k类资源在资源池中的总量,所述K为所述资源池中资源类型的数目,所述k为所述K种资源类型中的任一类型资源,所述T为预设的时间段。
在一些实施例中,所述对所述任务调度模型进行简化处理之后,还包括:
对所述简化后的任务调度模型进行松弛处理,并在所述简化后的调度模型中加入对偶变量,得到如下对偶的任务调度模型;
其中,所述I为所述任务集合,所述i为所述任务集合中的任一任务,所述为符合约束条件的调度集合,所述pk(t)为在时刻使用资源k的资源价格,所述ui为所述任务i的收益,所述bil为所述任务i在时间调度l期间的资源价格,所述为任务i中在所述时间调度l期间进行调度时所需k类资源的数量,所述ck为所述k类资源在资源池中的总量,所述K为所述资源池中资源类型的数目,所述k为所述K种资源类型中的任一类型资源,所述T为预设的时间段。
第二方面,提供了一种任务调度装置,所述装置包括:
接收模块,用于接收资源获取请求,所述资源获取请求中携带目标任务的多个子任务分别对应的资源价格和执行期限,所述目标任务为任务集合中的任务,所述任务集合中的任务在预设的时间段内按照泊松分布的概率到达;
确定模块,用于基于所述目标任务中每个子任务对应的资源价格和执行期限,通过任务调度模型确定所述目标任务中每个子任务的最优调度方案,所述任务调度模型为使云服务商收益最大化的模型;
调度模块,用于基于所述每个子任务的最优调度方案对所述目标任务中的每个子任务进行调度。
在一些实施例中,所述确定模块包括:
第一确定子模块,用于基于所述目标任务中每个子任务的资源价格和执行期限,通过所述任务调度模型确定所述目标任务中每个子任务运行的所有可用时隙,所述可用时隙为资源需求量满足所述每个子任务运行的时隙;
第二确定子模块,用于确定所述目标任务中每个可用时隙对应的资源单价;
第一计算子模块,用于将所述每个可用时隙对应的资源单价分别乘以所述每个可用时隙对应的资源需求量,得到所述每个可用时隙对应的资源价格;
第三确定子模块,用于按照所述目标任务中子任务的数量和所述目标任务中每个可用时隙对应的资源价格,将运行所述目标任务的资源价格最小的调度方案确定为最优调度方案。
在一些实施例中,所述确定模块还包括:
排序子模块,用于将所述每个可用时隙按照对应的资源单价的大小从大到小进行排序,得到排序结果;
添加子模块,用于将所述排序结果中的前Nin个可用时隙添加至调度集合中,所述Nin为大于或等于1的正整数;
相应地,所述第一计算子模块用于:
将所述调度集合中的每个可用时隙对应的资源单价分别乘以所述调度集合中每个可用时隙对应的资源需求量,得到所述调度集合中每个可用时隙对应的资源价格。
在一些实施例中,所述第三确定子模块用于:
当按照所述目标任务中各个子任务的执行顺序分配可用时隙时,按照所述各个子任务的执行顺序为所述各个子任务分配目标可用时隙,所述目标可用时隙为资源价格最小且未被分配的可用时隙。
在一些实施例中,所述确定模块包括:
第四确定子模块,用于基于所述目标任务中每个子任务的资源价格和执行期限,通过椭球算法和所述任务调度模型确定所述目标任务中每个子任务对应的目标标识,所述目标标识用于描述所述目标任务中任一子任务在任一可用时隙上是否运行,所述可用时隙为资源需求量满足所述每个子任务运行的时隙;
取整子模块,用于当所述目标标识为分数标识时,对所述目标标识进行取整,得到整数标识;
第二计算子模块,用于将所述整数标识乘以预设数值,得到所述目标任务中每个子任务对应的分配概率,所述分配概率为将所述任一可用时隙分配给对应子任务的概率;
第五确定子模块,用于将所述分配概率设置为1,并将所述分配概率对应的可用时隙确定为所述目标任务中对应子任务的最优调度方案。
在一些实施例中,所述装置还包括:
处理模块,用于基于所述目标任务中每个子任务对应的资源价格和执行期限,将收益最大化的拍卖机制通过整数线性规划的方式进行处理,得到如下任务调度模型;
其中,所述I为所述任务集合,所述i为所述任务集合中的任一任务,所述Ni为所述任务集合中任务的数量,所述xin为表示所述任务i中第n个子任务是否被运行的标识,所述n为所述任务i中第n个子任务,所述bin为所述任务i中第n个子任务的资源价格,所述yin(t)为表示任务i中第n个子任务在t时刻有没有被运行的标识,所述yin(t')为表示任务i中第n个子任务在t'时刻有没有被运行的标识,所述di为所述任务i的最后期限,所述Lin为任务i中第n个子任务的运行时长,所述为任务i中第n个子任务所需k类资源的数量,所述ck为所述k类资源在资源池中的总量,所述K为所述资源池中资源类型的数目,所述k为所述K种资源类型中的任一类型资源,所述T为预设的时间段,所述ai为所述任务i到达的时间,所述nisn'sancester用于表示所述第n个子任务在第n'个子任务之前完成。
在一些实施例中,所述装置还包括:
简化模块,用于对所述任务调度模型进行简化处理,得到如下简化后的任务调度模型;
其中,所述I为所述任务集合,所述i为所述任务集合中的任一任务,所述为符合约束条件的调度集合,所述l为所述任务i的时间调度,所述bil为所述任务i在时间调度l期间的资源价格,所述xil为表示所述任务i中在所述时间调度l期间是否被运行的标识,所述T(l)为所述任务i在时间调度l位于所述T时间段内,所述为任务i中在所述时间调度l期间进行调度时所需k类资源的数量,所述ck为所述k类资源在资源池中的总量,所述K为所述资源池中资源类型的数目,所述k为所述K种资源类型中的任一类型资源,所述T为预设的时间段。
在一些实施例中,所述装置还包括:
松弛模块,用于对所述简化后的任务调度模型进行松弛处理,并在所述简化后的调度模型中加入对偶变量,得到如下对偶的任务调度模型;
其中,所述I为所述任务集合,所述i为所述任务集合中的任一任务,所述为符合约束条件的调度集合,所述pk(t)为在时刻使用资源k的资源价格,所述ui为所述任务i的收益,所述bil为所述任务i在时间调度l期间的资源价格,所述为任务i中在所述时间调度l期间进行调度时所需k类资源的数量,所述ck为所述k类资源在资源池中的总量,所述K为所述资源池中资源类型的数目,所述k为所述K种资源类型中的任一类型资源,所述T为预设的时间段。
第三方面,提供了一种计算机可读存储介质,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面任一所述的方法。
第四方面,提供了一种调度设备,所述调度设备包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行上述第一方面提供的任一项方法的步骤。
第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面提供的任一项方法的步骤。
本申请实施例提供的技术方案带来的有益效果至少包括:
在本申请实施例中,在接收到资源获取请求后,可以根据该资源获取请求中携带的目标任务的多个子任务分别对应的资源价格和执行期限,通过任务调度模型确定该目标任务中每个子任务的最优调度方案,之后基于该每个子任务的最优调度方案对该目标任务中的每个子任务进行调度。由于任务调度模型为使云服务商收益最大化的模型,因此,根据任务调度模型确定的最优调度方案进行任务调度,可以保证云服务商收益最大化,并提高任务调度效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种任务调度方法流程图;
图2是本申请实施例提供的另一种任务调度法流程图;
图3是本申请实施例提供的一种不同数量的任务的运行时间示意图;
图4是本申请实施例提供的一种与其他算法的近似比对比示意图;
图5是本申请实施例提供的一种时隙与任务运行时长的近似比对比示意图;
图6是本申请实施例提供的第一种任务调度装置结构示意图;
图7是本申请实施例提供的一种确定模块的结构示意图;
图8是本申请实施例提供的另一种确定模块的结构示意图;
图9是本申请实施例提供的第二种任务调度装置结构示意图;
图10是本申请实施例提供的第三种任务调度装置结构示意图;
图11是本申请实施例提供的第四种任务调度装置结构示意图;
图12是本申请实施例提供的第五种任务调度装置结构示意图;
图13是本申请实施例提供的一种调度设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
在对本申请实施例进行详细的解释说明之前,先对本申请实施例中涉及到的应用场景进行解释说明。
云计算技术是分布式计算、并行计算和网格计算的进一步发展,利用虚拟化技术把计算资源、存储资源和带宽资源虚拟化为动态可伸缩的虚拟化资源池,以互联网为载体,以服务的形式按需提供给不同的用户使用。目前,云计算技术的资源通常都会打包为不同类型的虚拟机,但是启动虚拟机实例需要运行一个完整的专用操作系统,通常会消耗额外的资源和时间。因此,需要一种虚拟机的替代方案,也即是,任务调度机制。
其中,任务调度是云计算技术中非常关键并且复杂的问题,该问题解决的好坏不仅影响到用户的满意度,也极大地影响了系统的整体性能。因此,在云环境下如何对任务进行合理高效的调度,成为云计算技术的重点和难点。
基于这样的应用场景,本申请实施例提供了一种提高任务调度效率的任务调度方法。
在对本申请实施例的应用场景进行介绍之后,接下来将结合附图对本申请实施例提供的任务调度方法进行详细介绍。
图1为本申请实施例提供的一种任务调度方法的流程图,参见图2,该方法应用于调度设备中,包括如下步骤。
步骤101:接收资源获取请求,该资源获取请求中携带目标任务的多个子任务分别对应的资源价格和执行期限,该目标任务为任务集合中的任务,该任务集合中的任务在预设的时间段内按照泊松分布的概率到达。
步骤102:基于该目标任务中每个子任务对应的资源价格和执行期限,通过任务调度模型确定该目标任务中每个子任务的最优调度方案,该任务调度模型为使云服务商收益最大化的模型。
步骤103:基于该每个子任务的最优调度方案对该目标任务中的每个子任务进行调度。
在本申请实施例中,在接收到资源获取请求后,可以根据该资源获取请求中携带的目标任务的多个子任务分别对应的资源价格和执行期限,通过任务调度模型确定该目标任务中每个子任务的最优调度方案,之后基于该每个子任务的最优调度方案对该目标任务中的每个子任务进行调度。由于任务调度模型为使云服务商收益最大化的模型,因此,根据任务调度模型确定的最优调度方案进行任务调度,可以保证云服务商收益最大化,并提高任务调度效率。
在一些实施例中,基于该目标任务中每个子任务对应的资源价格和执行期限,通过任务调度模型确定该目标任务中每个子任务的最优调度方案,包括:
基于该目标任务中每个子任务的资源价格和执行期限,通过该任务调度模型确定该目标任务中每个子任务运行的所有可用时隙,该可用时隙为资源需求量满足该每个子任务运行的时隙;
确定该目标任务中每个可用时隙对应的资源单价;
将该每个可用时隙对应的资源单价分别乘以该每个可用时隙对应的资源需求量,得到该每个可用时隙对应的资源价格;
按照该目标任务中子任务的数量和该目标任务中每个可用时隙对应的资源价格,将运行该目标任务的资源价格最小的调度方案确定为最优调度方案。
在一些实施例中,将该每个可用时隙对应的资源单价分别乘以该每个可用时隙对应的资源需求量,得到该每个可用时隙对应的资源价格之前,还包括:
将该每个可用时隙按照对应的资源单价的大小从大到小进行排序,得到排序结果;
将该排序结果中的前Nin个可用时隙添加至调度集合中,该Nin为大于或等于1的正整数;
相应地,将该每个可用时隙对应的资源单价分别乘以该每个可用时隙对应的资源需求量,得到该每个可用时隙对应的资源价格,包括:
将该调度集合中的每个可用时隙对应的资源单价分别乘以该调度集合中每个可用时隙对应的资源需求量,得到该调度集合中每个可用时隙对应的资源价格。
在一些实施例中,按照该目标任务中子任务的数量和该目标任务中每个可用时隙对应的资源价格,将运行该目标任务的资源价格最小的调度方案确定为最优调度方案,包括:
当按照该目标任务中各个子任务的执行顺序分配可用时隙时,按照该各个子任务的执行顺序为该各个子任务分配目标可用时隙,该目标可用时隙为资源价格最小且未被分配的可用时隙。
在一些实施例中,基于该目标任务中每个子任务对应的资源价格和执行期限,通过任务调度模型确定该目标任务中每个子任务的最优调度方案,包括:
基于该目标任务中每个子任务的资源价格和执行期限,通过椭球算法和该任务调度模型确定该目标任务中每个子任务对应的目标标识,该目标标识用于描述该目标任务中任一子任务在任一可用时隙上是否运行,该可用时隙为资源需求量满足该每个子任务运行的时隙;
当该目标标识为分数标识时,对该目标标识进行取整,得到整数标识;
将该整数标识乘以预设数值,得到该目标任务中每个子任务对应的分配概率,该分配概率为将该任一可用时隙分配给对应子任务的概率;
将该分配概率设置为1,并将该分配概率对应的可用时隙确定为该目标任务中对应子任务的最优调度方案。
在一些实施例中,基于该目标任务中每个子任务对应的资源价格和执行期限,通过任务调度模型确定该目标任务中每个子任务的最优调度方案之前,还包括:
基于该目标任务中每个子任务对应的资源价格和执行期限,将收益最大化的拍卖机制通过整数线性规划的方式进行处理,得到如下任务调度模型;
其中,I为该任务集合,i为该任务集合中的任一任务,Ni为该任务集合中任务的数量,xin为表示任务i中第n个子任务是否被运行的标识,n为该i中第n个子任务,bin为任务i中第n个子任务的资源价格,yin(t)为表示任务i中第n个子任务在t时刻有没有被运行的标识,yin(t')为表示任务i中第n个子任务在t'时刻有没有被运行的标识,di为该任务i的最后期限,Lin为任务i中第n个子任务的运行时长,为任务i中第n个子任务所需k类资源的数量,ck为k类资源在资源池中的总量,K为该资源池中资源类型的数目,k为K种资源类型中的任一类型资源,T为预设的时间段,ai为任务i到达的时间,nisn'sancester用于表示第n个子任务在第n'个子任务之前完成。
在一些实施例中,基于该目标任务中每个子任务对应的资源价格和执行期限,将收益最大化的拍卖机制通过整数线性规划的方式进行处理之后,还包括:
对该任务调度模型进行简化处理,得到如下简化后的任务调度模型;
其中,I为该任务集合,i为该任务集合中的任一任务,为符合约束条件的调度集合,l为该任务i的时间调度,bil为该任务i在时间调度l期间的资源价格,xil为表示该任务i中在该时间调度l期间是否被运行的标识,T(l)为该任务i在时间调度l位于T时间段内,为任务i中在该时间调度l期间进行调度时所需k类资源的数量,ck为k类资源在资源池中的总量,K为该资源池中资源类型的数目,k为K种资源类型中的任一类型资源,T为预设的时间段。
在一些实施例中,对该任务调度模型进行简化处理之后,还包括:
对该简化后的任务调度模型进行松弛处理,并在该简化后的调度模型中加入对偶变量,得到如下对偶的任务调度模型;
其中,I为该任务集合,i为该任务集合中的任一任务,为符合约束条件的调度集合,pk(t)为在时刻使用资源k的资源价格,ui为该任务i的收益,bil为该任务i在时间调度l期间的资源价格,为任务i中在该时间调度l期间进行调度时所需k类资源的数量,ck为k类资源在资源池中的总量,该K为该资源池中资源类型的数目,k为K种资源类型中的任一类型资源,T为预设的时间段。
上述所有可选技术方案,均可按照任意结合形成本申请的可选实施例,本申请实施例对此不再一一赘述。
图2为本申请实施例提供的一种任务调度方法的流程图,参见图2,该方法包括如下步骤。
步骤201:调度设备接收资源获取请求。
需要说明的是,该资源获取请求中携带目标任务的多个子任务分别对应的资源价格和执行期限,目标任务为任务集合中的任务,该任务集合中的任务在预设的时间段内按照泊松分布的概率到达。该调度设备为云服务商进行任务调度时使用的设备,该设备可以为服务器或终端。
比如,目标任务可以包括的5个子任务,且任务集合中的任务在[1,T]时隙内到来,目标任务的多个子任务分别对应的资源价格在[1,50]内随机挑选。为了便于理解本申请实施例,图3示出了当T为200、300、400和500时,不同数量的任务的运行时间示意图。
还需要说明的是,完成一个目标任务需要不同的资源的支持,这些资源可以打包封装为一个云容器。也即是,目标任务会运行在单独封装的云容器上,每一个云容器会消耗一些不同类型的资源,比如CPU(Central Processing Unit/Processor,中央处理器),GPU(Graphics Processing Unit,图形处理器),存储等。
在一些实施例中,该目标任务可以为具有连续的链式结构的任务。
步骤202:调度设备基于该目标任务中每个子任务对应的资源价格和执行期限,通过任务调度模型确定该目标任务中每个子任务的最优调度方案,该任务调度模型为使云服务商收益最大化的模型。
为了提高任务调度的效率,调度设备在接收到资源获取请求后,可以基于目标任务中每个子任务对应的资源价格和执行期限,通过任务调度模型确定目标任务中每个子任务的最优调度方案。而调度设备基于目标任务中每个子任务对应的资源价格和执行期限,通过任务调度模型确定目标任务中每个子任务的最优调度方案的操作至少包括如下两种方式。
第一种方式,调度设备基于目标任务中每个子任务的资源价格和执行期限,通过任务调度模型确定目标任务中每个子任务运行的所有可用时隙,该可用时隙为资源需求量满足每个子任务运行的时隙;确定目标任务中每个可用时隙对应的资源单价;将每个可用时隙对应的资源单价分别乘以每个可用时隙对应的资源需求量,得到每个可用时隙对应的资源价格;按照该目标任务中子任务的数量和目标任务中每个可用时隙对应的资源价格,将运行目标任务的资源价格最小的调度方案确定为最优调度方案。
在一些实施例中,为了提高确认最优调度方案的速度,调度设备将每个可用时隙对应的资源单价分别乘以每个可用时隙对应的资源需求量,得到每个可用时隙对应的资源价格之前,还可以将每个可用时隙按照对应的资源单价的大小从大到小进行排序,得到排序结果;将排序结果中的前Nin个可用时隙添加至调度集合中,Nin为大于或等于1的正整数。该Nin可以为5。
由于对每个可用时隙对应的资源单价进行了筛选,因此,调度设备可以将调度集合中的每个可用时隙对应的资源单价分别乘以调度集合中每个可用时隙对应的资源需求量,得到调度集合中每个可用时隙对应的资源价格。由于是确定调度集合中的每个可用时隙对应的资源价格,而不是所有的,从而减少了计算量,提高了确定速度。
在一些实施例中,调度设备按照目标任务中子任务的数量和目标任务中每个可用时隙对应的资源价格,将运行目标任务的资源价格最小的调度方案确定为最优调度方案的操作可以为:当按照目标任务中各个子任务的执行顺序分配可用时隙时,按照各个子任务的执行顺序为各个子任务分配目标可用时隙,目标可用时隙为资源价格最小且未被分配的可用时隙。
需要说明的是,目标任务可以为具有连续的链式结构的任务,因此,目标任务中每个当前执行的子任务的开始时隙大于上一个子任务的结束时隙。因此,按照该目标任务中子任务的数量和目标任务中每个可用时隙对应的资源价格,将运行目标任务的资源价格最小的调度方案确定为最优调度方案的操作可以为:将运行目标任务的资源价格最小的调度方案确定为目标任务中的多个子任务中第一个执行的子任务的最优调度方案,在此基础上,将剩余调度方案中资源价格最小的调度方案确定为第二个运行的子任务,以此类推,最后得到该目标任务中所有子任务的最优调度方案。
第二种方式,调度设备基于所述目标任务中每个子任务的资源价格和执行期限,通过椭球算法和任务调度模型确定目标任务中每个子任务对应的目标标识,该目标标识用于描述该目标任务中任一子任务在任一可用时隙上是否运行,该可用时隙为资源需求量满足每个子任务运行的时隙;当该目标标识为分数标识时,对该目标标识进行取整,得到整数标识;将该整数标识乘以预设数值,得到该目标任务中每个子任务对应的分配概率,该分配概率为将该任一可用时隙分配给对应子任务的概率;将该分配概率设置为1,并将该分配概率对应的可用时隙确定为该目标任务中对应子任务的最优调度方案。
需要说明的是,对该目标标识进行取整的操作可以为通过四舍五入的方式进行取整,也可以通过向下取整的方式进行取整,还可以通过向上取整的方式进行取整。
还需要说明的是,该预设数值可以事先设置,比如,该预设数值可以为(1-ε2,)该ε,为0到1之间的任一数值。为了便于对本申请实施例的了解,图4示出了一种ε,取值为0.02、0.2和0.5时与其他算法(Jain)的近似比对比示意图。
在一些实施例中,调度设备基于该目标任务中每个子任务对应的资源价格和执行期限,通过任务调度模型确定目标任务中每个子任务的最优调度方案之前,还需要事先确定任务调度模型。
在一些实施例中,调度设备确定调度模型的操作可以包括:基于目标任务中每个子任务对应的资源价格和执行期限,将收益最大化的拍卖机制通过整数线性规划的方式进行处理,得到如下任务调度模型;
需要说明的是,I为任务集合,i为任务集合中的任一任务,Ni为任务集合中任务的数量,xin为表示任务i中第n个子任务是否被运行的标识,n为任务i中第n个子任务,bin为任务i中第n个子任务的资源价格,yin(t)为表示任务i中第n个子任务在t时刻有没有被运行的标识,yin(t')为表示任务i中第n个子任务在t'时刻有没有被运行的标识,di为所述任务i的最后期限,Lin为任务i中第n个子任务的运行时长,为任务i中第n个子任务所需k类资源的数量,ck为k类资源在资源池中的总量,K为资源池中资源类型的数目,k为K种资源类型中的任一类型资源,T为预设的时间段,ai为任务i到达的时间,nisn'sancester用于表示第n个子任务在第n'个子任务之前完成。
在一些实施例中,在确定最优调度方案时,调度设备可以直接通过任务调度模型确定,但是,由于有时候目标任务中子任务数量较多,如果直接通过上述任务调度模型确定最优调度方案,调度设备需要进行大量计算,因此,为了减少计算过程,提高调度设备确定最优调度方案的速度和效率,调度设备还可以对任务调度模型进行简化处理。
需要说明的是,调度设备对任务调度模型进行简化处理,可以是对任务调度模型中的任务集合进行简化,进行简化后可以得到如下简化后的任务调度模型。
需要说明的是,I为任务集合,i为任务集合中的任一任务,为符合约束条件的调度集合,l为任务i的时间调度,bil为任务i在时间调度l期间的资源价格,xil为表示任务i中在时间调度l期间是否被运行的标识,T(l)为任务i在时间调度l位于T时间段内,为i中在时间调度l期间进行调度时所需k类资源的数量,ck为k类资源在资源池中的总量,K为该资源池中资源类型的数目,k为K种资源类型中的任一类型资源,T为预设的时间段。
在一些实施例中,在对任务调度模型进行简化处理之后,还可以对简化后的任务调度模型进行其他处理,比如,进行松弛处理,并在简化后的调度模型中加入对偶变量。而对简化后的任务调度模型进行松弛处理可以是将简化调度模型中的约束条件xil∈{0,1}进行松弛。
需要说明的是,在对简化后的任务调度模型进行松弛处理,并在简化后的调度模型中加入对偶变量,可以得到如下对偶的任务调度模型。
需要说明的是,I为任务集合,i为任务集合中的任一任务,为符合约束条件的调度集合,pk(t)为在时刻使用资源k的资源价格,ui为任务i的收益,bil为任务i在时间调度l期间的资源价格,为任务i中在所述时间调度l期间进行调度时所需k类资源的数量,ck为k类资源在资源池中的总量,K为资源池中资源类型的数目,k为K种资源类型中的任一类型资源,T为预设的时间段。
另外,调度设备对任务调度模型进行缩放优化的操作不仅可以包括上述方式,还可以包括其他方式,比如,调度设备可以通过缩放资源池中资源类型的数目等。
步骤203:调度设备基于每个子任务的最优调度方案对该目标任务中的每个子任务进行调度。
在一些实施例中,当调度设备确定每个子任务的最有调度方案后,可以按照最有调度方案对对应的子任务进行调度操作。
为了便于对本申请实施例的了解,图5示出了一种时隙与任务运行时长(LMAX)的近似比对比示意图。
步骤204:调度设备记录当前任务调度方式。
为了后续对任务调度方式进行分析,调度设备可以在完成任务的调度后,对本次任务调度方案进行记录。
在本申请实施例中,调度设备在接收到资源获取请求后,可以根据该资源获取请求中携带的目标任务的多个子任务分别对应的资源价格和执行期限,通过任务调度模型确定该目标任务中每个子任务的最优调度方案,之后基于该每个子任务的最优调度方案对该目标任务中的每个子任务进行调度。由于任务调度模型为使云服务商收益最大化的模型,因此,根据任务调度模型确定的最优调度方案进行任务调度,可以保证云服务商收益最大化,并提高任务调度效率。
在对本发明实施例提供的任务调度方法进行解释说明之后,接下来,对本发明实施例提供的任务调度装置进行介绍。
图6是本公开实施例提供的一种任务调度装置的框图,参见图6,该装置可以由软件、硬件或者两者的结合实现。该装置包括:接收模块601、确定模块602和调度模块603。
接收模块601,用于接收资源获取请求,所述资源获取请求中携带目标任务的多个子任务分别对应的资源价格和执行期限,所述目标任务为任务集合中的任务,所述任务集合中的任务在预设的时间段内按照泊松分布的概率到达;
确定模块602,用于基于所述目标任务中每个子任务对应的资源价格和执行期限,通过任务调度模型确定所述目标任务中每个子任务的最优调度方案,所述任务调度模型为使云服务商收益最大化的模型;
调度模块603,用于基于所述每个子任务的最优调度方案对所述目标任务中的每个子任务进行调度。
在一些实施例中,参见图7,所述确定模块602包括:
第一确定子模块6021,用于基于所述目标任务中每个子任务的资源价格和执行期限,通过所述任务调度模型确定所述目标任务中每个子任务运行的所有可用时隙,所述可用时隙为资源需求量满足所述每个子任务运行的时隙;
第二确定子模块6022,用于确定所述目标任务中每个可用时隙对应的资源单价;
第一计算子模块6023,用于将所述每个可用时隙对应的资源单价分别乘以所述每个可用时隙对应的资源需求量,得到所述每个可用时隙对应的资源价格;
第三确定子模块6024,用于按照所述目标任务中子任务的数量和所述目标任务中每个可用时隙对应的资源价格,将运行所述目标任务的资源价格最小的调度方案确定为最优调度方案。
在一些实施例中,参见图8,所述确定模块602还包括:
排序子模块6025,用于将所述每个可用时隙按照对应的资源单价的大小从大到小进行排序,得到排序结果;
添加子模块6026,用于将所述排序结果中的前Nin个可用时隙添加至调度集合中,所述Nin为大于或等于1的正整数;
相应地,所述第一计算子模块6023用于:
将所述调度集合中的每个可用时隙对应的资源单价分别乘以所述调度集合中每个可用时隙对应的资源需求量,得到所述调度集合中每个可用时隙对应的资源价格。
在一些实施例中,所述第三确定子模块6024用于:
当按照所述目标任务中各个子任务的执行顺序分配可用时隙时,按照所述各个子任务的执行顺序为所述各个子任务分配目标可用时隙,所述目标可用时隙为资源价格最小且未被分配的可用时隙。
在一些实施例中,参见图9,所述确定模块602包括:
第四确定子模块6027,用于基于所述目标任务中每个子任务的资源价格和执行期限,通过椭球算法和所述任务调度模型确定所述目标任务中每个子任务对应的目标标识,所述目标标识用于描述所述目标任务中任一子任务在任一可用时隙上是否运行,所述可用时隙为资源需求量满足所述每个子任务运行的时隙;
取整子模块6028,用于当所述目标标识为分数标识时,对所述目标标识进行取整,得到整数标识;
第二计算子模块6029,用于将所述整数标识乘以预设数值,得到所述目标任务中每个子任务对应的分配概率,所述分配概率为将所述任一可用时隙分配给对应子任务的概率;
第五确定子模块60210,用于将所述分配概率设置为1,并将所述分配概率对应的可用时隙确定为所述目标任务中对应子任务的最优调度方案。
在一些实施例中,参见图10,所述装置还包括:
处理模块604,用于基于所述目标任务中每个子任务对应的资源价格和执行期限,将收益最大化的拍卖机制通过整数线性规划的方式进行处理,得到如下任务调度模型;
其中,所述I为所述任务集合,所述i为所述任务集合中的任一任务,所述Ni为所述任务集合中任务的数量,所述xin为表示所述任务i中第n个子任务是否被运行的标识,所述n为所述任务i中第n个子任务,所述bin为所述任务i中第n个子任务的资源价格,所述yin(t)为表示任务i中第n个子任务在t时刻有没有被运行的标识,所述yin(t')为表示任务i中第n个子任务在t'时刻有没有被运行的标识,所述di为所述任务i的最后期限,所述Lin为任务i中第n个子任务的运行时长,所述为任务i中第n个子任务所需k类资源的数量,所述ck为所述k类资源在资源池中的总量,所述K为所述资源池中资源类型的数目,所述k为所述K种资源类型中的任一类型资源,所述T为预设的时间段,所述ai为所述任务i到达的时间,所述nisn'sancester用于表示所述第n个子任务在第n'个子任务之前完成。
在一些实施例中,参见图11,所述装置还包括:
简化模块605,用于对所述任务调度模型进行简化处理,得到如下简化后的任务调度模型;
其中,所述I为所述任务集合,所述i为所述任务集合中的任一任务,所述为符合约束条件的调度集合,所述l为所述任务i的时间调度,所述bil为所述任务i在时间调度l期间的资源价格,所述xil为表示所述任务i中在所述时间调度l期间是否被运行的标识,所述T(l)为所述任务i在时间调度l位于所述T时间段内,所述为任务i中在所述时间调度l期间进行调度时所需k类资源的数量,所述ck为所述k类资源在资源池中的总量,所述K为所述资源池中资源类型的数目,所述k为所述K种资源类型中的任一类型资源,所述T为预设的时间段。
在一些实施例中,参见图12,所述装置还包括:
松弛模块606,用于对所述简化后的任务调度模型进行松弛处理,并在所述简化后的调度模型中加入对偶变量,得到如下对偶的任务调度模型;
其中,所述I为所述任务集合,所述i为所述任务集合中的任一任务,所述为符合约束条件的调度集合,所述pk(t)为在时刻使用资源k的资源价格,所述ui为所述任务i的收益,所述bil为所述任务i在时间调度l期间的资源价格,所述为任务i中在所述时间调度l期间进行调度时所需k类资源的数量,所述ck为所述k类资源在资源池中的总量,所述K为所述资源池中资源类型的数目,所述k为所述K种资源类型中的任一类型资源,所述T为预设的时间段。
综上所述,在本申请实施例中,调度设备在接收到资源获取请求后,可以根据该资源获取请求中携带的目标任务的多个子任务分别对应的资源价格和执行期限,通过任务调度模型确定该目标任务中每个子任务的最优调度方案,之后基于该每个子任务的最优调度方案对该目标任务中的每个子任务进行调度。由于任务调度模型为使云服务商收益最大化的模型,因此,根据任务调度模型确定的最优调度方案进行任务调度,可以保证云服务商收益最大化,并提高任务调度效率。
需要说明的是:上述实施例提供的任务调度装置在调度任务时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的任务调度装置与任务调度方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图13示出了本申请一个示例性实施例提供的调度设备1300的结构框图。该调度设备1300可以是:服务器、便携式终端、膝上型终端、台式终端等其他名称。
通常,调度设备1300包括有:处理器1301和存储器1302。
处理器1301可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1301可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1301也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1301可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1301还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1302可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1302还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1302中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1301所执行以实现本申请中方法实施例提供的任务调度方法。
在一些实施例中,调度设备1300还可选包括有:外围设备接口1303和至少一个外围设备。处理器1301、存储器1302和外围设备接口1303之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1303相连。具体地,外围设备包括:射频电路1304、触摸显示屏1305、摄像头1306、音频电路1307、定位组件1308和电源1309中的至少一种。
外围设备接口1303可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器1301和存储器1302。在一些实施例中,处理器1301、存储器1302和外围设备接口1303被集成在同一芯片或电路板上;在一些其他实施例中,处理器1301、存储器1302和外围设备接口1303中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1304用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1304通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1304将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。在一些实施例中,射频电路1304包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1304可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1304还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏1305用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1305是触摸显示屏时,显示屏1305还具有采集在显示屏1305的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1301进行处理。此时,显示屏1305还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1305可以为一个,设置调度设备1300的前面板;在另一些实施例中,显示屏1305可以为至少两个,分别设置在调度设备1300的不同表面或呈折叠设计;在再一些实施例中,显示屏1305可以是柔性显示屏,设置在调度设备1300的弯曲表面上或折叠面上。甚至,显示屏1305还可以设置成非矩形的不规则图形,也即异形屏。显示屏1305可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件1306用于采集图像或视频。在一些实施例中,摄像头组件1306包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。
音频电路1307可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1301进行处理,或者输入至射频电路1304以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在调度设备1300的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1301或射频电路1304的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1307还可以包括耳机插孔。
定位组件1308用于定位调度设备1300的当前地理位置,以实现导航或LBS(Location Based Service,基于位置的服务)。定位组件1308可以是基于美国的GPS(Global Positioning System,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
电源1309用于为调度设备1300中的各个组件进行供电。电源1309可以是交流电、直流电、一次性电池或可充电电池。当电源1309包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
在一些实施例中,调度设备1300还包括有一个或多个传感器1310。
也即是,本申请实施例不仅提供了一种调度设备,包括处理器和用于存储处理器可执行指令的存储器,其中,处理器被配置为执行图1和图2所示的实施例中的方法,而且,本申请实施例还提供了一种计算机可读存储介质,该存储介质内存储有计算机程序,该计算机程序被处理器执行时可以实现图1和图2所示的实施例中的任务调度方法。
本领域技术人员可以理解,图13中示出的结构并不构成对调度设备1300的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (10)

1.一种任务调度方法,其特征在于,所述方法包括:
接收资源获取请求,所述资源获取请求中携带目标任务的多个子任务分别对应的资源价格和执行期限,所述目标任务为任务集合中的任务,所述任务集合中的任务在预设的时间段内按照泊松分布的概率到达;
基于所述目标任务中每个子任务对应的资源价格和执行期限,通过任务调度模型确定所述目标任务中每个子任务的最优调度方案,所述任务调度模型为使云服务商收益最大化的模型;
基于所述每个子任务的最优调度方案对所述目标任务中的每个子任务进行调度。
2.如权利要求1所述的方法,其特征在于,所述基于所述目标任务中每个子任务对应的资源价格和执行期限,通过任务调度模型确定所述目标任务中每个子任务的最优调度方案,包括:
基于所述目标任务中每个子任务的资源价格和执行期限,通过所述任务调度模型确定所述目标任务中每个子任务运行的所有可用时隙,所述可用时隙为资源需求量满足所述每个子任务运行的时隙;
确定所述目标任务中每个可用时隙对应的资源单价;
将所述每个可用时隙对应的资源单价分别乘以所述每个可用时隙对应的资源需求量,得到所述每个可用时隙对应的资源价格;
按照所述目标任务中子任务的数量和所述目标任务中每个可用时隙对应的资源价格,将运行所述目标任务的资源价格最小的调度方案确定为最优调度方案。
3.如权利要求2所述的方法,其特征在于,所述将所述每个可用时隙对应的资源单价分别乘以所述每个可用时隙对应的资源需求量,得到所述每个可用时隙对应的资源价格之前,还包括:
将所述每个可用时隙按照对应的资源单价的大小从大到小进行排序,得到排序结果;
将所述排序结果中的前Nin个可用时隙添加至调度集合中,所述Nin为大于或等于1的正整数;
相应地,所述将所述每个可用时隙对应的资源单价分别乘以所述每个可用时隙对应的资源需求量,得到所述每个可用时隙对应的资源价格,包括:
将所述调度集合中的每个可用时隙对应的资源单价分别乘以所述调度集合中每个可用时隙对应的资源需求量,得到所述调度集合中每个可用时隙对应的资源价格。
4.如权利要求2或3所述的方法,其特征在于,所述按照所述目标任务中子任务的数量和所述目标任务中每个可用时隙对应的资源价格,将运行所述目标任务的资源价格最小的调度方案确定为最优调度方案,包括:
当按照所述目标任务中各个子任务的执行顺序分配可用时隙时,按照所述各个子任务的执行顺序为所述各个子任务分配目标可用时隙,所述目标可用时隙为资源价格最小且未被分配的可用时隙。
5.如权利要求1或2所述的方法,其特征在于,所述基于所述目标任务中每个子任务对应的资源价格和执行期限,通过任务调度模型确定所述目标任务中每个子任务的最优调度方案,包括:
基于所述目标任务中每个子任务的资源价格和执行期限,通过椭球算法和所述任务调度模型确定所述目标任务中每个子任务对应的目标标识,所述目标标识用于描述所述目标任务中任一子任务在任一可用时隙上是否运行,所述可用时隙为资源需求量满足所述每个子任务运行的时隙;
当所述目标标识为分数标识时,对所述目标标识进行取整,得到整数标识;
将所述整数标识乘以预设数值,得到所述目标任务中每个子任务对应的分配概率,所述分配概率为将所述任一可用时隙分配给对应子任务的概率;
将所述分配概率设置为1,并将所述分配概率对应的可用时隙确定为所述目标任务中对应子任务的最优调度方案。
6.如权利要求1所述的方法,其特征在于,所述基于所述目标任务中每个子任务对应的资源价格和执行期限,通过任务调度模型确定所述目标任务中每个子任务的最优调度方案之前,还包括:
基于所述目标任务中每个子任务对应的资源价格和执行期限,将收益最大化的拍卖机制通过整数线性规划的方式进行处理,得到如下任务调度模型;
其中,所述I为所述任务集合,所述i为所述任务集合中的任一任务,所述Ni为所述任务集合中任务的数量,所述xin为表示所述任务i中第n个子任务是否被运行的标识,所述n为所述任务i中第n个子任务,所述bin为所述任务i中第n个子任务的资源价格,所述yin(t)为表示任务i中第n个子任务在t时刻有没有被运行的标识,所述yin(t')为表示任务i中第n个子任务在t'时刻有没有被运行的标识,所述di为所述任务i的最后期限,所述Lin为任务i中第n个子任务的运行时长,所述为任务i中第n个子任务所需k类资源的数量,所述ck为所述k类资源在资源池中的总量,所述K为所述资源池中资源类型的数目,所述k为所述K种资源类型中的任一类型资源,所述T为预设的时间段,所述ai为所述任务i到达的时间,所述nisn'sancester用于表示所述第n个子任务在第n'个子任务之前完成。
7.如权利要求6所述的方法,其特征在于,所述基于所述目标任务中每个子任务对应的资源价格和执行期限,将收益最大化的拍卖机制通过整数线性规划的方式进行处理之后,还包括:
对所述任务调度模型进行简化处理,得到如下简化后的任务调度模型;
其中,所述I为所述任务集合,所述i为所述任务集合中的任一任务,所述为符合约束条件的调度集合,所述l为所述任务i的时间调度,所述bil为所述任务i在时间调度l期间的资源价格,所述xil为表示所述任务i中在所述时间调度l期间是否被运行的标识,所述T(l)为所述任务i在时间调度l位于所述T时间段内,所述为任务i中在所述时间调度l期间进行调度时所需k类资源的数量,所述ck为所述k类资源在资源池中的总量,所述K为所述资源池中资源类型的数目,所述k为所述K种资源类型中的任一类型资源,所述T为预设的时间段。
8.如权利要求6或7任一所述的方法,其特征在于,所述对所述任务调度模型进行简化处理之后,还包括:
对所述简化后的任务调度模型进行松弛处理,并在所述简化后的调度模型中加入对偶变量,得到如下对偶的任务调度模型;
其中,所述I为所述任务集合,所述i为所述任务集合中的任一任务,所述为符合约束条件的调度集合,所述pk(t)为在时刻使用资源k的资源价格,所述ui为所述任务i的收益,所述bil为所述任务i在时间调度l期间的资源价格,所述为任务i中在所述时间调度l期间进行调度时所需k类资源的数量,所述ck为所述k类资源在资源池中的总量,所述K为所述资源池中资源类型的数目,所述k为所述K种资源类型中的任一类型资源,所述T为预设的时间段。
9.一种任务调度装置,其特征在于,所述装置包括:
接收模块,用于接收资源获取请求,所述资源获取请求中携带目标任务的多个子任务分别对应的资源价格和执行期限,所述目标任务为任务集合中的任务,所述任务集合中的任务在预设的时间段内按照泊松分布的概率到达;
确定模块,用于基于所述目标任务中每个子任务对应的资源价格和执行期限,通过任务调度模型确定所述目标任务中每个子任务的最优调度方案,所述任务调度模型为使云服务商收益最大化的模型;
调度模块,用于基于所述每个子任务的最优调度方案对所述目标任务中的每个子任务进行调度。
10.一种计算机可读存储介质,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述权利要求1-8任一权利要求所述的方法。
CN201910464887.2A 2019-05-30 2019-05-30 任务调度方法、装置及存储介质 Active CN110162393B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910464887.2A CN110162393B (zh) 2019-05-30 2019-05-30 任务调度方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910464887.2A CN110162393B (zh) 2019-05-30 2019-05-30 任务调度方法、装置及存储介质

Publications (2)

Publication Number Publication Date
CN110162393A true CN110162393A (zh) 2019-08-23
CN110162393B CN110162393B (zh) 2023-06-27

Family

ID=67630648

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910464887.2A Active CN110162393B (zh) 2019-05-30 2019-05-30 任务调度方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN110162393B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110933699A (zh) * 2019-12-14 2020-03-27 国网陕西省电力公司信息通信公司 一种分组转发方法及装置
CN111124665A (zh) * 2019-11-22 2020-05-08 奇瑞汽车股份有限公司 分配计算资源的方法和装置
CN111882134A (zh) * 2020-08-04 2020-11-03 山东大学 一种云计算服务调度方法、系统、介质及电子设备
CN112579280A (zh) * 2020-12-30 2021-03-30 奇瑞汽车股份有限公司 云资源的调度方法、装置及计算机存储介质
CN112817721A (zh) * 2021-01-29 2021-05-18 中国平安财产保险股份有限公司 基于人工智能的任务调度方法、装置、计算机设备和介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106651553A (zh) * 2017-01-23 2017-05-10 武汉万般上品信息技术有限公司 一种基于云容器服务的批处理拍卖机制
CN106934537A (zh) * 2017-03-02 2017-07-07 北京工业大学 基于反向工作流调度的子期限获取优化方法
CN106951330A (zh) * 2017-04-10 2017-07-14 郑州轻工业学院 一种云服务中心服务效用最大化的虚拟机分配方法
CN107197045A (zh) * 2017-07-19 2017-09-22 湖南大学 云计算环境下虚拟机资源的分配方法及分配系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106651553A (zh) * 2017-01-23 2017-05-10 武汉万般上品信息技术有限公司 一种基于云容器服务的批处理拍卖机制
CN106934537A (zh) * 2017-03-02 2017-07-07 北京工业大学 基于反向工作流调度的子期限获取优化方法
CN106951330A (zh) * 2017-04-10 2017-07-14 郑州轻工业学院 一种云服务中心服务效用最大化的虚拟机分配方法
CN107197045A (zh) * 2017-07-19 2017-09-22 湖南大学 云计算环境下虚拟机资源的分配方法及分配系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张骥先等: "一种支持云计算虚拟资源分配的可信多需求拍卖机制", 《电子与信息学报》 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111124665A (zh) * 2019-11-22 2020-05-08 奇瑞汽车股份有限公司 分配计算资源的方法和装置
CN111124665B (zh) * 2019-11-22 2023-07-28 奇瑞汽车股份有限公司 分配计算资源的方法和装置
CN110933699A (zh) * 2019-12-14 2020-03-27 国网陕西省电力公司信息通信公司 一种分组转发方法及装置
CN110933699B (zh) * 2019-12-14 2023-04-07 国网陕西省电力公司信息通信公司 一种分组转发方法及装置
CN111882134A (zh) * 2020-08-04 2020-11-03 山东大学 一种云计算服务调度方法、系统、介质及电子设备
CN112579280A (zh) * 2020-12-30 2021-03-30 奇瑞汽车股份有限公司 云资源的调度方法、装置及计算机存储介质
CN112579280B (zh) * 2020-12-30 2022-11-29 奇瑞汽车股份有限公司 云资源的调度方法、装置及计算机存储介质
CN112817721A (zh) * 2021-01-29 2021-05-18 中国平安财产保险股份有限公司 基于人工智能的任务调度方法、装置、计算机设备和介质
CN112817721B (zh) * 2021-01-29 2022-08-09 中国平安财产保险股份有限公司 基于人工智能的任务调度方法、装置、计算机设备和介质

Also Published As

Publication number Publication date
CN110162393B (zh) 2023-06-27

Similar Documents

Publication Publication Date Title
CN110162393A (zh) 任务调度方法、装置及存储介质
CN104106053B (zh) 使用功率的动态cpu gpu负载平衡
CN105917311B (zh) 用于便携式设备中的同步任务分发的系统和方法
CN109347722B (zh) 交互系统、方法、客户端及后台服务器
CN106716365A (zh) 异构线程调度
CN109933429A (zh) 数据处理方法、装置、电子设备及存储介质
CN109298904B (zh) 信息处理方法、装置、存储介质及计算设备
CN107223298A (zh) 异构电池单元切换
CN112862516A (zh) 资源投放方法、装置、电子设备及存储介质
CN112380020A (zh) 一种算力资源分配方法、装置、设备及存储介质
CN110134521A (zh) 资源分配的方法、装置、资源管理器及存储介质
CN112988362B (zh) 一种任务处理方法、装置、电子设备及存储介质
CN107004253A (zh) 用于增强的图像处理并行性的具有等价类的基于图形的应用程序编程接口架构
CN109983421A (zh) 动态能量存储设备充电
CN108762881A (zh) 界面绘制方法、装置、终端及存储介质
CN107861603A (zh) 功耗控制方法及设备
KR20210094639A (ko) 리소스 스케줄링 방법 및 장치, 전자 디바이스 및 기록 매체
CN110119305A (zh) 任务执行方法、装置、计算机设备及存储介质
CN110413383A (zh) 事件处理方法、装置、终端及存储介质
CN110134857A (zh) 推广资源的资源数值的确定方法及装置
CN112884303A (zh) 数据标注方法、装置、电子设备及计算机可读存储介质
CN110020926A (zh) 资源分配方法、装置及存储介质
CN112953993A (zh) 资源调度方法、设备、网络系统及存储介质
CN109635153A (zh) 迁移路径生成方法、装置及存储介质
CN109388730A (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