CN114327811A - 一种任务调度方法、装置、设备及可读存储介质 - Google Patents

一种任务调度方法、装置、设备及可读存储介质 Download PDF

Info

Publication number
CN114327811A
CN114327811A CN202111401382.5A CN202111401382A CN114327811A CN 114327811 A CN114327811 A CN 114327811A CN 202111401382 A CN202111401382 A CN 202111401382A CN 114327811 A CN114327811 A CN 114327811A
Authority
CN
China
Prior art keywords
task
resource
classes
schedulable
class
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111401382.5A
Other languages
English (en)
Inventor
闫瑞栋
刘璐
金良
徐聪
郭振华
赵雅倩
李仁刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Electronic Information Industry Co Ltd
Original Assignee
Inspur Electronic Information Industry 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 Inspur Electronic Information Industry Co Ltd filed Critical Inspur Electronic Information Industry Co Ltd
Priority to CN202111401382.5A priority Critical patent/CN114327811A/zh
Publication of CN114327811A publication Critical patent/CN114327811A/zh
Priority to PCT/CN2022/095362 priority patent/WO2023087658A1/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]

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

一种任务调度方法、装置、设备及可读存储介质
技术领域
本申请涉及计算机技术领域,特别涉及一种任务调度方法、装置、设备及可读存储介质。
背景技术
目前,传统调度方法未考虑任务特性和资源特征,造成调度开销过大,调度的准确性较低,降低了任务分配准确性和效率,对当前服务系统的正常运行也会产生负面影响。如:调度过程占用的资源较多,导致可供平台运行的资源紧张。
因此,如何提高任务分配的准确性和效率,是本领域技术人员需要解决的问题。
发明内容
有鉴于此,本申请的目的在于提供一种任务调度方法、装置、设备及可读存储介质,以提高任务分配的准确性和效率。其具体方案如下:
第一方面,本申请提供了一种任务调度方法,包括:
确定待处理的多个任务以及当前服务系统上可用的多个空闲资源;
基于每个任务的任务属性聚类所述多个任务,得到多个任务类;
基于每个空闲资源的资源属性聚类所述多个空闲资源,得到多个资源类;
针对每个任务,预测该任务在每个空闲资源上执行所获得的效能大小,并基于所述效能大小计算任一任务类在任一资源类上执行所获得的最优效能;
将任务类个数和资源类个数进行对比;
若所述任务类个数等于所述资源类个数,则将所述多个任务类作为可调度任务类,将所述多个资源类作为可调度资源类,并基于所述最优效能构建所述可调度任务类与所述可调度资源类之间的一一映射关系,得到总效能之和最大的调度结果。
优选地,所述针对每个任务,预测该任务在每个空闲资源上执行所获得的效能大小,包括:
针对每个任务,将该任务分别与每个空闲资源组成目标组,得到与空闲资源总数相等的多个目标组;
确定每个目标组对应的带宽利用分数、开销分数、能耗分数以及执行时间;
基于所述带宽利用分数、所述开销分数、所述能耗分数以及所述执行时间,预测每个目标组中的任务在该目标组中的空闲资源上执行所获得的效能大小。
优选地,所述确定每个目标组对应的带宽利用分数、开销分数、能耗分数以及执行时间;基于所述带宽利用分数、所述开销分数、所述能耗分数以及所述执行时间,预测每个目标组中的任务在该目标组中的空闲资源上执行所获得的效能大小,包括:
针对每个目标组,按照效能计算公式预测该目标组中的任务在该目标组中的空闲资源上执行所获得的效能大小;所述效能计算公式为:
Figure BDA0003364826490000021
其中,BI(i,j)为任务i在空闲资源j上执行所获得的效能大小;任务i和空闲资源j组成一个目标组;
Figure BDA0003364826490000022
为任务i和空闲资源j构建而得的目标组对应的带宽利用分数;Score(i,j)表示任务i的优先级分数;P(i,j)表示任务i在空闲资源j上执行所用的带宽大小,
Figure BDA0003364826490000023
表示任务i分别在m个空闲资源上执行所用的带宽大小之和,m为空闲资源总数;
Figure BDA0003364826490000031
为任务i和空闲资源j构建而得的目标组对应的开销分数;Cost(i,j)表示任务i在空闲资源j上执行所带来的计算开销,
Figure BDA0003364826490000032
表示任务i分别在m个空闲资源上执行所带来的计算开销之和;
Figure BDA0003364826490000033
为任务i和空闲资源j构建而得的目标组对应的能耗分数;EC(i,j)表示任务i在空闲资源j上执行所消耗的能耗大小,
Figure BDA0003364826490000034
表示任务i分别在m个空闲资源上执行所消耗的能耗大小之和;
DT(i,j)为任务i和空闲资源j构建而得的目标组对应的执行时间。
优选地,任务i的优先级分数的计算公式为:
Figure BDA0003364826490000035
其中,Score(i,j)表示任务i的优先级分数,priority(i)为任务i的优先级权重值,DT(i,j)为任务i和空闲资源j构建而得的目标组对应的执行时间;其中,优先级权重值基于任务i的紧急程度和重要程度确定。
优选地,所述基于所述效能大小计算任一任务类在任一资源类上执行所获得的最优效能,包括:
将任一任务类与任一资源类匹配,并计算该任务类中的各个任务被该资源类中的各个空闲资源执行所获得的最大效能和,将所述最大效能和确定为该任务类在该资源类上执行所获得的最优效能。
优选地,所述基于所述最优效能构建所述可调度任务类与所述可调度资源类之间的一一映射关系,得到总效能之和最大的调度结果,包括:
随机从当前所有可调度任务类中选择一个任务类作为调度目标;
确定所述调度目标在当前各个可调度资源类上执行所获得的各个最优效能;
从所述各个最优效能中选择最大值对应的资源类作为待用资源,并构建所述调度目标与所述待用资源之间的映射关系;
从当前所有可调度任务类中删除所述调度目标,从当前所有可调度资源类中删除所述待用资源,并执行所述随机从当前所有可调度任务类中选择一
个任务类作为调度目标;确定所述调度目标在当前各个可调度资源类上执行所获得的各个最优效能;从所述各个最优效能中选择最大值对应的资源类作为待用资源,并构建所述调度目标与所述待用资源之间的映射关系的步骤,直至将各可调度任务类与各可调度资源类构建一一映射关系。
优选地,所述基于所述最优效能构建所述可调度任务类与所述可调度资源类之间的一一映射关系,得到总效能之和最大的调度结果,包括:
利用带花树算法基于所述最优效能构建所述可调度任务类与所述可调度资源类之间的一一映射关系,得到所述调度结果。
优选地,利用K-means算法聚类所述多个任务和/或所述多个空闲资源。
优选地,还包括:
若所述任务类个数大于所述资源类个数,则从所述多个任务类中选择与所述资源类个数相等的任务类作为可调度任务类,将所述多个资源类作为可调度资源类,并执行所述基于所述最优效能构建所述可调度任务类与所述可调度资源类之间的一一映射关系,得到总效能之和最大的调度结果的步骤;
若所述任务类个数小于所述资源类个数,则从所述多个资源类中选择与所述任务类个数相等的资源类作为可调度资源类,将所述多个任务类作为可调度任务类,并执行所述基于所述最优效能构建所述可调度任务类与所述可调度资源类之间的一一映射关系,得到总效能之和最大的调度结果的步骤。
优选地,随机从所述多个任务类中选择与所述资源类个数相等的任务类作为可调度任务类,和/或随机从所述多个资源类中选择与所述任务类个数相等的资源类作为可调度资源类。
优选地,基于各个最优效能从所述多个任务类中选择与所述资源类个数相等的、能够使总效能之和最大的任务类作为可调度任务类,和/或基于各个最优效能从所述多个资源类中选择与所述任务类个数相等的、能够使总效能之和最大的资源类作为可调度资源类。
优选地,还包括:
对所述多个任务的待处理数据分别进行预处理,得到各个任务分别对应的标准数据;
按照所述调度结果发送各个任务类包括的任务及相应标准数据至相应资源类,以使各个资源类运行相应任务。
优选地,若所述任务类个数大于所述资源类个数,则在各个资源类运行相应任务的过程中,实时监测各个资源类的工作状态;
若出现空闲的资源类,则针对所述多个任务类中的剩余待处理任务类和所述空闲的资源类,执行所述将任务类个数和资源类个数进行对比的步骤,以分配所述剩余待处理任务类至所述空闲的资源类。
第二方面,本申请提供了一种任务调度装置,包括:
确定资源,用于确定待处理的多个任务以及当前服务系统上可用的多个空闲资源;
第一聚类资源,用于基于每个任务的任务属性聚类所述多个任务,得到多个任务类;
第二聚类资源,用于基于每个空闲资源的资源属性聚类所述多个空闲资源,得到多个资源类;
效能预测资源,用于针对每个任务,预测该任务在每个空闲资源上执行所获得的效能大小,并基于所述效能大小计算任一任务类在任一资源类上执行所获得的最优效能;
对比资源,用于将任务类个数和资源类个数进行对比;
调度资源,用于若所述任务类个数等于所述资源类个数,则将所述多个任务类作为可调度任务类,将所述多个资源类作为可调度资源类,并基于所述最优效能构建所述可调度任务类与所述可调度资源类之间的一一映射关系,得到总效能之和最大的调度结果。
第三方面,本申请提供了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,以实现前述公开的任务调度方法。
第四方面,本申请提供了一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述公开的任务调度方法。
通过以上方案可知,本申请提供了一种任务调度方法,包括:确定待处理的多个任务以及当前服务系统上可用的多个空闲资源;基于每个任务的任务属性聚类所述多个任务,得到多个任务类;基于每个空闲资源的资源属性聚类所述多个空闲资源,得到多个资源类;针对每个任务,预测该任务在每个空闲资源上执行所获得的效能大小,并基于所述效能大小计算任一任务类在任一资源类上执行所获得的最优效能;将任务类个数和资源类个数进行对比;
若所述任务类个数等于所述资源类个数,则将所述多个任务类作为可调度任务类,将所述多个资源类作为可调度资源类,并基于所述最优效能构建所述可调度任务类与所述可调度资源类之间的一一映射关系,得到总效能之和最大的调度结果。
可见,本申请将各任务按照其特性进行聚类、将各空闲资源也按照其特征进行聚类,并且预测每个任务在每个空闲资源上执行所获得的效能大小,并基于该效能大小计算任一任务类在任一资源类上执行所获得的最优效能,然后基于预测所得的最优效能将各任务类与各资源类进行一一映射的匹配,并使匹配结果获得最大的总效能之和,从而确定相应调度结果。该方案充分考虑考虑任务特性和资源特征,能够基于一个任务的任务特性将其分配给最为合适的空闲资源,且同时保障获得的效能最优,针对每个任务如此处理,那么可获得最大的总效能之和,既实现了计算资源的合理分配,提高了任务分配的准确性和效率,还保证了任务实际被执行时的效能最优,有利于当前服务系统的平稳运行。
相应地,本申请提供的一种任务调度装置、设备及可读存储介质,也同样具有上述技术效果。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种任务调度方法流程图;
图2为本申请公开的一种任务调度装置示意图;
图3为本申请公开的一种电子设备示意图;
图4为本申请公开的一种任务调度系统示意图;
图5为本申请公开的一种任务调度方案流程图;
图6为图5所示的任务调度方案中的功能模块示意图;
图7为本申请公开的一种二部图示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
近年来,大数据、人工智能、移动智能、无线通信技术、5G等新兴领域的飞速发展推动了云计算、边缘计算及其相关产业的同步发展。云计算(Cloud Computing,CC)作为一种新型计算模式,其依赖于虚拟化技术将各类资源以“云”的形式整合,并为网络用户提供优质服务。云计算的最核心技术是资源管理,包括资源统一管理、调度和分配等。
目前,提高云计算中计算资源使用效率,提升系统整体的可扩展性和易用性,优化关键性能指标,进行计算资源的合理配置与任务的实时调度和优化成为了学术界和产业界共同关注的焦点。与此同时,实现高质量的云计算平台,其中的资源分配及任务调度至关重要。
云计算的任务调度,实质是建立任务与资源的映射关系,即:将各类任务合理地分配到适当的计算资源之上。调度任务作为云计算系统的一个重要组成部分,调度策略的效果会直接影响到云平台资源利用率、用户体验和服务质量。
研究任务调度问题,一方面对理论研究具有深刻的指导意义。另一方面,它为工程实践和商业应用提供巨大潜在的社会价值与经济价值。针对理论研究层面,开展任务调度问题有助于研究人员深刻理解多样化任务本身的内在属性和特征,为云计算资源管理和调度相关研究提供科学的理论依据;针对实践应用层面,研究任务调度可以辅助云计算平台运营商合理分配资源计算资源,提升服务质量,优化服务效率。由于网络用户规模庞大、任务种类错综复杂、计算资源类型多样化等特性使得设计高效的任务调度算法颇具挑战性。
现有的云计算调度算法如Min-min算法和Max-Min算法,易于造成云任务的分布失衡,导致负载不平均,资源综合利用率较低,任务执行时间开销过大等问题。此外,传统的任务时间优先调度方法难以满足云计算对用户服务质量的要求,价值优先的调度方法则又忽略了任务执行的时间属性。随着云计算平台用户数目的日益增加,服务质量的提高迫在眉睫。而高质量的服务主要体现在云计算平台任务调度(Task Scheduling,TS)策略的好坏。
可见,以云计算平台为例的服务系统为例,传统调度方法未考虑任务特性和资源特征,造成调度开销过大,调度的准确性较低,降低了任务分配准确性和效率,对当前服务系统系统的正常运行也会产生负面影响。如:调度过程占用的资源较多,导致可供平台运行的资源紧张。为此,本申请提供了一种任务调度方案,能够提高任务分配的准确性和效率。
参见图1所示,本申请实施例公开了一种任务调度方法,包括:
S101、确定待处理的多个任务以及当前服务系统上可用的多个空闲资源。
在本实施例中,待处理的多个任务可以是任意任务,如:图像识别任务、某一机器学习模型的训练任务等。
当前服务系统可以是云计算平台、分布式系统、传感器集群等。
若当前服务系统是云计算平台,则各个资源为云计算平台的硬件平台包括的众多硬件模块,如:CPU模块、GPU模块等,那么本实施例所述的空闲资源即:硬件平台中暂时未执行任何任务的硬件模块。
若当前服务系统是分布式系统,则各个资源为分布式系统的各个节点,那么本实施例所述的空闲资源即:分布式系统中可执行任务的设备节点。
S102、基于每个任务的任务属性聚类多个任务,得到多个任务类。
S103、基于每个空闲资源的资源属性聚类多个空闲资源,得到多个资源类。
在本实施例中,S102和S103可以同时执行,也可以不分先后顺序分别执行。并且,聚类多个任务和聚类多个空闲资源的方式可以相同,也可以不同。一般地,任务属性可以是:任务类型、执行时长等。任务类型可以按照任务需处理的数据类型(如:文本、图像等)划分、也可以按照任务需处理的数据量划分。资源属性可以是:处理器类型及型号(如CPU/GPU)、带宽限值大小、内存限值大小等。
在一种具体实施方式中,利用K-means算法聚类多个任务和/或多个空闲资源。K-means算法相对简单,据此进行聚类可以降低调度过程的开销,提高调度与分配效率。当然,也可以基于相似度或距离进行聚类。
S104、针对每个任务,预测该任务在每个空闲资源上执行所获得的效能大小,并基于效能大小计算任一任务类在任一资源类上执行所获得的最优效能。
预测任一任务在每个空闲资源上执行所获得的效能大小时,可以全面考虑该任务被某一空闲资源执行时的带宽利用率大小、开销大小、能耗大小以及执行时间的长段等因素,从而提高预测的准确性以及合理程度。
据此,针对每个任务,都可以计算出多个效能大小,且这些效能大小分别与各个空闲资源对应。也即:空闲资源总数是几,一个任务就对应有几个效能大小。
预测得到每个任务在每个空闲资源上执行所获得的效能大小后,针对任一任务类,计算其在每个资源类上执行能获得的最优效能。因为考虑到一个任务类中有多个任务,且一个资源类中有多个空闲资源,那么一个任务类与一个资源类对应时,其下各个任务与各个空闲资源的对应关系必定可以有多种,此时以“该任务类在该资源类上执行获得的效能最优”为条件,选择此条件下的各个任务与各个空闲资源的对应关系。
据此,针对每个任务类,都可以计算出多个最优效能,且这些最优效能分别与各个资源类对应。也即:资源类总数是几,一个任务类就对应有几个最优效能。
在一种具体实施方式中,基于效能大小计算任一任务类在任一资源类上执行所获得的最优效能,包括:将任一任务类与任一资源类匹配,并计算该任务类中的各个任务被该资源类中的各个空闲资源执行所获得的最大效能和,将最大效能和确定为该任务类在该资源类上执行所获得的最优效能。
S105、将任务类个数和资源类个数进行对比,若任务类个数等于资源类个数,则将多个任务类作为可调度任务类,将多个资源类作为可调度资源类,并基于最优效能构建可调度任务类与可调度资源类之间的一一映射关系,得到总效能之和最大的调度结果。
在本实施例中,当任务类个数等于资源类个数时,那么可以直接将各任务类与各资源类一一映射,那么如何确定各任务类与各资源类的一一映射关系呢?本实施例以“一一映射后总效能之和最大”为条件,选择此条件下的各任务类与各资源类的一一映射关系作为最终分配与调度结果。
为了使“一一映射后总效能之和最大”,可以保证每次所确定的一一映射关系是所有可选映射关系中的效能最大的。据此,可以以任务类与资源类作为匹配对象,并使用KM算法求解最大权匹配,从而求得总效能之和最大的分配与调度结果。当然,还可以采用带花树算法求得总效能之和最大的分配与调度结果。
在一种具体实施方式中,基于最优效能构建可调度任务类与可调度资源类之间的一一映射关系,得到总效能之和最大的调度结果,包括:利用带花树算法基于最优效能构建可调度任务类与可调度资源类之间的一一映射关系,得到调度结果。
可见,本实施例充分考虑考虑任务特性和资源特征,能够基于一个任务的任务特性将其分配给最为合适的空闲资源,且同时保障获得的效能最优,针对每个任务如此处理,那么可获得最大的总效能之和,既实现了计算资源的合理分配,提高了任务分配的准确性和效率,还保证了任务实际被执行时的效能最优,有利于当前服务系统的平稳运行。
基于上述实施例,需要说明的是,在一种具体实施方式中,针对每个任务,预测该任务在每个空闲资源上执行所获得的效能大小,包括:针对每个任务,将该任务分别与每个空闲资源组成目标组,得到与空闲资源总数相等的多个目标组;确定每个目标组对应的带宽利用分数、开销分数、能耗分数以及执行时间;基于带宽利用分数、开销分数、能耗分数以及执行时间,预测每个目标组中的任务在该目标组中的空闲资源上执行所获得的效能大小。
其中,确定每个目标组对应的带宽利用分数、开销分数、能耗分数以及执行时间;基于带宽利用分数、开销分数、能耗分数以及执行时间,预测每个目标组中的任务在该目标组中的空闲资源上执行所获得的效能大小,包括:
针对每个目标组,按照效能计算公式预测该目标组中的任务在该目标组中的空闲资源上执行所获得的效能大小;效能计算公式为:
Figure BDA0003364826490000111
其中,BI(i,j)为任务i在空闲资源j上执行所获得的效能大小;任务i和空闲资源j组成一个目标组;
Figure BDA0003364826490000112
为任务i和空闲资源j构建而得的目标组对应的带宽利用分数;Score(i,j)表示任务i的优先级分数;P(i,j)表示任务i在空闲资源j上执行所用的带宽大小,
Figure BDA0003364826490000113
表示任务i分别在m个空闲资源上执行所用的带宽大小之和,m为空闲资源总数;
Figure BDA0003364826490000114
为任务i和空闲资源j构建而得的目标组对应的开销分数;Cost(i,j)表示任务i在空闲资源j上执行所带来的计算开销,
Figure BDA0003364826490000115
表示任务i分别在m个空闲资源上执行所带来的计算开销之和;
Figure BDA0003364826490000116
为任务i和空闲资源j构建而得的目标组对应的能耗分数;EC(i,j)表示任务i在空闲资源j上执行所消耗的能耗大小,
Figure BDA0003364826490000117
表示任务i分别在m个空闲资源上执行所消耗的能耗大小之和;
DT(i,j)为任务i和空闲资源j构建而得的目标组对应的执行时间。
其中,任务i的优先级分数的计算公式为:
Figure BDA0003364826490000118
其中,Score(i,j)表示任务i的优先级分数,priority(i)为任务i的优先级权重值,DT(i,j)为任务i和空闲资源j构建而得的目标组对应的执行时间;其中,优先级权重值基于任务i的紧急程度和重要程度确定。
其中,一个任务的紧急程度和重要程度可以由用户人为设定。
基于上述实施例,需要说明的是,基于最优效能构建可调度任务类与可调度资源类之间的一一映射关系,得到总效能之和最大的调度结果,包括:随机从当前所有可调度任务类中选择一个任务类作为调度目标;确定调度目标在当前各个可调度资源类上执行所获得的各个最优效能;从各个最优效能中选择最大值对应的资源类作为待用资源,并构建调度目标与待用资源之间的映射关系;从当前所有可调度任务类中删除调度目标,从当前所有可调度资源类中删除待用资源,并执行随机从当前所有可调度任务类中选择一个任务类作为调度目标;确定调度目标在当前各个可调度资源类上执行所获得的各个最优效能;从各个最优效能中选择最大值对应的资源类作为待用资源,并构建调度目标与待用资源之间的映射关系的步骤,直至将各可调度任务类与各可调度资源类构建一一映射关系。
需要说明的是,上述过程可参照KM算法求解最大权匹配的过程。
基于上述实施例,需要说明的是,若任务类个数大于资源类个数,则从多个任务类中选择与资源类个数相等的任务类作为可调度任务类,将多个资源类作为可调度资源类,并执行基于最优效能构建可调度任务类与可调度资源类之间的一一映射关系,得到总效能之和最大的调度结果的步骤;若任务类个数小于资源类个数,则从多个资源类中选择与任务类个数相等的资源类作为可调度资源类,将多个任务类作为可调度任务类,并执行基于最优效能构建可调度任务类与可调度资源类之间的一一映射关系,得到总效能之和最大的调度结果的步骤。
其中,随机从多个任务类中选择与资源类个数相等的任务类作为可调度任务类,和/或随机从多个资源类中选择与任务类个数相等的资源类作为可调度资源类。
其中,基于各个最优效能从多个任务类中选择与资源类个数相等的、能够使总效能之和最大的任务类作为可调度任务类,和/或基于各个最优效能从多个资源类中选择与任务类个数相等的、能够使总效能之和最大的资源类作为可调度资源类。
可见,当任务类个数与资源类个数不等时,仍然可以基于“一一映射后总效能之和最大”这一条件进行调度与分配。只是在任务类个数大于资源类个数时,如此分配后还会有剩余待处理任务类,此时先基于“一一映射后总效能之和最大”这一条件进行调度与分配,即:先执行一部分任务,后续待资源执行完任务又空闲时,再分配剩余待处理任务类至当前空闲资源上。
在一种具体实施方式中,任务的执行过程包括:对多个任务的待处理数据分别进行预处理,得到各个任务分别对应的标准数据;按照调度结果发送各个任务类包括的任务及相应标准数据至相应资源类,以使各个资源类运行相应任务。
若任务类个数大于资源类个数,即有剩余待处理任务类,那么在一种具体实施方式中,在各个资源类运行相应任务的过程中,实时监测各个资源类的工作状态;若出现空闲的资源类,则针对多个任务类中的剩余待处理任务类和空闲的资源类,执行将任务类个数和资源类个数进行对比的步骤,以分配剩余待处理任务类至空闲的资源类。分配剩余待处理任务类至空闲的资源类时,仍然遵循“一一映射后总效能之和最大”这一条件,具体过程可参照上述实施例的相关介绍。
下面对本申请实施例提供的一种任务调度装置进行介绍,下文描述的一种任务调度装置与上文描述的一种任务调度方法可以相互参照。
参见图2所示,本申请实施例公开了一种任务调度装置,包括:
确定资源201,用于确定待处理的多个任务以及当前服务系统上可用的多个空闲资源;
第一聚类资源202,用于基于每个任务的任务属性聚类多个任务,得到多个任务类;
第二聚类资源203,用于基于每个空闲资源的资源属性聚类多个空闲资源,得到多个资源类;
效能预测资源204,用于针对每个任务,预测该任务在每个空闲资源上执行所获得的效能大小,并基于效能大小计算任一任务类在任一资源类上执行所获得的最优效能;
对比资源205,用于将任务类个数和资源类个数进行对比;
调度资源206,用于若任务类个数等于资源类个数,则将多个任务类作为可调度任务类,将多个资源类作为可调度资源类,并基于最优效能构建可调度任务类与可调度资源类之间的一一映射关系,得到总效能之和最大的调度结果。
在一种具体实施方式中,效能预测资源包括:
分组单元,用于针对每个任务,将该任务分别与每个空闲资源组成目标组,得到与空闲资源总数相等的多个目标组;
确定与预测单元,用于确定每个目标组对应的带宽利用分数、开销分数、能耗分数以及执行时间;基于带宽利用分数、开销分数、能耗分数以及执行时间,预测每个目标组中的任务在该目标组中的空闲资源上执行所获得的效能大小。
在一种具体实施方式中,确定与预测单元具体用于:
针对每个目标组,按照效能计算公式预测该目标组中的任务在该目标组中的空闲资源上执行所获得的效能大小;效能计算公式为:
Figure BDA0003364826490000141
其中,BI(i,j)为任务i在空闲资源j上执行所获得的效能大小;任务i和空闲资源j组成一个目标组;
Figure BDA0003364826490000142
为任务i和空闲资源j构建而得的目标组对应的带宽利用分数;Score(i,j)表示任务i的优先级分数;P(i,j)表示任务i在空闲资源j上执行所用的带宽大小,
Figure BDA0003364826490000143
表示任务i分别在m个空闲资源上执行所用的带宽大小之和,m为空闲资源总数;
Figure BDA0003364826490000144
为任务i和空闲资源j构建而得的目标组对应的开销分数;Cost(i,j)表示任务i在空闲资源j上执行所带来的计算开销,
Figure BDA0003364826490000145
表示任务i分别在m个空闲资源上执行所带来的计算开销之和;
Figure BDA0003364826490000146
为任务i和空闲资源j构建而得的目标组对应的能耗分数;EC′(i,j)表示任务i在空闲资源j上执行所消耗的能耗大小,
Figure BDA0003364826490000147
表示任务i分别在m个空闲资源上执行所消耗的能耗大小之和;
DT(i,j)为任务i和空闲资源j构建而得的目标组对应的执行时间。
在一种具体实施方式中,任务i的优先级分数的计算公式为:
Figure BDA0003364826490000151
其中,Score(i,j)表示任务i的优先级分数,priority(i)为任务i的优先级权重值,DT(i,j)为任务i和空闲资源j构建而得的目标组对应的执行时间;其中,优先级权重值基于任务i的紧急程度和重要程度确定。
在一种具体实施方式中,效能预测资源具体用于:
将任一任务类与任一资源类匹配,并计算该任务类中的各个任务被该资源类中的各个空闲资源执行所获得的最大效能和,将最大效能和确定为该任务类在该资源类上执行所获得的最优效能。
在一种具体实施方式中,调度资源包括:
选择单元,用于随机从当前所有可调度任务类中选择一个任务类作为调度目标;
确定单元,用于确定调度目标在当前各个可调度资源类上执行所获得的各个最优效能;
映射单元,用于从各个最优效能中选择最大值对应的资源类作为待用资源,并构建调度目标与待用资源之间的映射关系;
从当前所有可调度任务类中删除调度目标,从当前所有可调度资源类中删除待用资源,并执行选择单元、确定单元、映射单元中的步骤,直至将各可调度任务类与各可调度资源类构建一一映射关系。
在一种具体实施方式中,调度资源具体用于:
利用带花树算法基于最优效能构建可调度任务类与可调度资源类之间的一一映射关系,得到调度结果。
在一种具体实施方式中,利用K-means算法聚类多个任务和/或多个空闲资源。
在一种具体实施方式中,还包括:
第一选择性调度资源,用于若任务类个数大于资源类个数,则从多个任务类中选择与资源类个数相等的任务类作为可调度任务类,将多个资源类作为可调度资源类,并执行基于最优效能构建可调度任务类与可调度资源类之间的一一映射关系,得到总效能之和最大的调度结果的步骤;
第二选择性调度资源,用于若任务类个数小于资源类个数,则从多个资源类中选择与任务类个数相等的资源类作为可调度资源类,将多个任务类作为可调度任务类,并执行基于最优效能构建可调度任务类与可调度资源类之间的一一映射关系,得到总效能之和最大的调度结果的步骤。
在一种具体实施方式中,随机从多个任务类中选择与资源类个数相等的任务类作为可调度任务类,和/或随机从多个资源类中选择与任务类个数相等的资源类作为可调度资源类。
在一种具体实施方式中,基于各个最优效能从多个任务类中选择与资源类个数相等的、能够使总效能之和最大的任务类作为可调度任务类,和/或基于各个最优效能从多个资源类中选择与任务类个数相等的、能够使总效能之和最大的资源类作为可调度资源类。
在一种具体实施方式中,还包括:
任务执行资源,用于对多个任务的待处理数据分别进行预处理,得到各个任务分别对应的标准数据;按照调度结果发送各个任务类包括的任务及相应标准数据至相应资源类,以使各个资源类运行相应任务。
在一种具体实施方式中,还包括:
监控资源,用于若任务类个数大于资源类个数,则在各个资源类运行相应任务的过程中,实时监测各个资源类的工作状态;
再次调度资源,用于若出现空闲的资源类,则针对多个任务类中的剩余待处理任务类和空闲的资源类,执行将任务类个数和资源类个数进行对比的步骤,以分配剩余待处理任务类至空闲的资源类。
其中,关于本实施例中各个资源、单元更加具体的工作过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
可见,本实施例提供了一种任务调度装置,该装置充分考虑考虑任务特性和资源特征,能够基于一个任务的任务特性将其分配给最为合适的空闲资源,且同时保障获得的效能最优,针对每个任务如此处理,那么可获得最大的总效能之和,既实现了计算资源的合理分配,提高了任务分配的准确性和效率,还保证了任务实际被执行时的效能最优,有利于当前服务系统的平稳运行。
下面对本申请实施例提供的一种电子设备进行介绍,下文描述的一种电子设备与上文描述的一种任务调度方法及装置可以相互参照。
参见图3所示,本申请实施例公开了一种电子设备,包括:
存储器301,用于保存计算机程序;
处理器302,用于执行所述计算机程序,以实现上述任意实施例公开的方法。
下面对本申请实施例提供的一种可读存储介质进行介绍,下文描述的一种可读存储介质与上文描述的一种任务调度方法、装置及设备可以相互参照。
一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述实施例公开的任务调度方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
基于上述可知,本申请聚焦任务与计算资源的负载均衡及其相关应用场景,将任务调度与负载均衡相结合,设计了可以面向各种服务系统且满足任务负载均衡场景的高效调度方案,能够提升服务系统的性能。具体的,本申请聚类发掘不同用户提出的所有任务间的深层内在关联,并整合计算资源,建立准确可靠的任务与计算资源之间的映射法则,提升了系统资源管理性能,克服了任务与计算资源负载不均的问题。
下面以云计算平台为例,本申请可以让云计算平台最大程度地利用计算资源且最大程度地减少时间开销和其他代价,并以友好的方式提供可满足用户需求的服务。一般地,基于云计算的调度系统主要由用户模块、云任务模块和计算资源模块构成。
请参见图4,用户模块是由网络用户构成的模块,负责向云计算平台提交各类任务,这些任务的集合构成了云任务模块。云任务模块通过调度方法将不同任务分配到相应的计算资源模块。计算资源模块完成所有任务的执行后再将结果反馈给用户。
基于图4所示的调度系统,也可以应用现有调度算法,但现有调度算法大多针对某些特定的应用场景表现出较高的精确性,但对于其他场景又不适用,普适性较低。同时,现有调度算法一般比较复杂,可扩展性也较低。
为此,下述实施例结合本申请的核心发明构思,设计实现了一种面向云计算平台的任务调度方案,该方案能够有效提升任务调度的准确性,并大幅减少算法的时间开销,同时增强算法的可扩展性。
首先,该方案考虑待调度任务的属性以及计算资源的固有特性,引入了聚类算法,提出了聚类-匹配任务调度模型(Clustering-Matching Model,CMM)。
该模型依据各类任务属性的不同与计算资源的特点,首先利用聚类算法将任务与计算资源划分为不同的类别,使得相同类别中的任务或计算资源具有一定相似性且不同类别之间具有较大的差异性。其次,考虑任务调度的相关因素(如时延、能耗、成本等)并设计综合效能指标,该指标刻画了各个任务被调度到相应计算资源的最终效能比。最后,该模型将效能指标作为权重并采用最大权匹配实施任务调度,将各类任务分配到相应的计算资源之上。可见,本实施例旨在将各类任务通过CMM模型分配到相应的计算资源之上以达到最大化效能的目标,同时,可有效提高任务分配的精确性、降低复杂性问题,提升可扩展。
请参见图5,本实施例提供的方案包括以下步骤:
(1)任务与资源聚类步骤:对于用户向云计算平台提交的各类任务以及所有计算资源实施聚类操作,用以得到相似的任务集群(即任务类)和计算资源集群(即模块类)。
任务与资源聚类步骤对给定的任务和资源实施聚类操作,其目的是将相似的任务或资源进行整合,提升任务执行力和资源利用率。
(2)收益指标设计步骤:综合考虑各类任务的时延性、紧迫性、能耗、花费(存储、通信、计算开销等)等因素,设计最终效能指标,该指标作为后续任务调度的关键依据。
收益指标设计步骤综合考虑任务分配时的时延性(Delay,某任务被分配到某计算资源上被执行后反馈给用户的总用时)、紧迫性(Urgency,某任务执行的紧迫程度)、能耗(Energy Consumption,某任务执行所消耗的能源、散热功耗等)、花费(Cost,某任务执行时的网络通信、存储、计算等开销)和资源利用率等因素,设计最终效能指标(Benefit),并将该效能指标作为后续任务调度实施的关键依据。
(3)任务调度实施步骤:基于任务和资源的聚类结果以及效能指标,采用最大权匹配算法实施任务调度,给出最终任务调度结果。
任务调度实施阶段根据任务与资源聚类结果以及效能指标设计步骤输出的最终能效比,采用二部图求解最大权匹配的相应算法在待调度的任务与不同计算资源之间建立映射规则,并产生任务调度结果。
具体的,结合上述3个步骤,需要实现的功能包括:待调度任务与计算资源输入模块、预处理模块、聚类算法模块、效能指标设计模块、任务与资源匹配模块、结果及反馈模块。具体请参见图6。
(1)待调度任务与计算资源输入模块:获取n个待调度任务(任务模块)与m个计算资源(计算资源模块)作为整个流程的输入。
其中,任务模块是由云计算平台用户提交的所有任务构成的集合,假定共有n个任务等待调度。计算资源模块是云平台上各类计算资源的总称,假定共有m个计算模块(如CPU或GPU)。
(2)预处理模块:对任务模块中涉及到原始数据进行去噪、预处理并转化为算法的标准输入格式。
其中,预处理模块能够对原始数据进行数据清洗等相应预处理。值得注意的是,数据清理和去除噪声环节的好坏,对调度结果的精确性以及性能起着至关重要的作用。由于输入的原始数据含有噪声以及数据格式等其他问题,因此需要对原始数据进行数据清洗和预处理。经过数据预处理可将原始数据转化为调度方案要求的标准输入格式,以便开展后续工作。
(3)聚类算法模块:将预处理的任务模块和资源模块应用于聚类算法,并产生不同的任务集群和计算资源集群。
其中,聚类算法模块主要采用K-means算法实现聚类操作,K-means算法的优势在于操作简单、计算复杂度较低,K-means算法针对n个任务或m个计算模块进行聚类操作,可以包括以下关键步骤:
A、给定聚类集群数目K,即根据经验选择一个适当的正整数K作为聚类结果产生出的集群数目。在本实施例中,K指的是任务聚类的集群数目或计算资源的集群数目。
B、随机选择K个点作为初始化的K个集群的中心节点。
C、计算各个调度任务或各个计算资源与K个中心点之间的距离。
以任务聚类为例,假定每个任务具有Q个属性,则D(i,j)表示任务i与任务j之间的欧式距离,那么该欧式距离可以表示为:
Figure BDA0003364826490000201
假设通过上述公式计算待调度任务1分别到K个中心的距离集合为D1={D(1,C1),D(1,C2),...,D(1,CK)},其中,C1,C2,...,CK分别表示K个中心。
D、依据上述,求得每个任务或每个资源的距离集合,将该任务或计算资源归为距离集合中最小值所对应的类别。
例如:min D1={D(1,C1),D(1,C2),...,D(1,CK)}=D(1,C1)表示:任务1应该归为聚类集群1中。
E、根据当前最新的聚类结果重新计算每个集群的中心点C′1,C′2,…,C′K
F、重复A-E,直到相邻两次迭代的所有聚类中心基本保持不变为止。
(4)效能指标设计模块:确定各个任务分配到不同计算资源之上的效益比。
效能指标设计模块综合考虑任务分配时如下关键因素:
A、时延性(Delay Time):即任务i被分配到计算资源j上被执行,而后反馈给用户的总用时长,记为DT(i,j)。
B、紧迫性(Urgency):即任务i执行的紧迫程度,记为U(i)。
重要性(Importance):即某个任务的重要程度,记为I(i)。基于紧迫性和重要性可确定一个任务的优先级权重值。据此,可设计如下的得分表,如表1所示。
表1
Urgent Not Urgent
Important 4 3
Not Important 2 1
如表1所示,如果一个任务既紧迫又重要,则优先级权重值记为4。如果一个任务不紧迫但重要,则优先级权重值记为3。如果一个任务紧迫但不重要,则优先级权重值记为2。如果一个任务不紧迫也不重要,则优先级权重值记为1。可见,一个任务的优先级权重值可基于紧急程度和重要程度人为设定。
C、定义将任务i的优先级权重值为:priority(i)=U(i)⊙I(i),⊙表示U(i)与I(i)之间且、或的关系,并且,将任务i的优先级分数为:
Figure BDA0003364826490000211
D、能耗(Energy Consumption):即任务i在计算资源j上执行所消耗的能源、散热功耗等,记为EC(I,j)。
E、花费(Cost):即任务i在计算资源j上执行的网络通信、存储、计算等计算开销,记为Cost(I,j)。
F、资源利用率(Resource Utilization Rate):即任务i在计算资源j上执行的资源利用率,记为
Figure BDA0003364826490000212
其中,P(i,j)表示任务i在计算资源j上执行所用的带宽大小;
Figure BDA0003364826490000215
P(i,j)表示任务i分别在m个计算资源上执行所用的带宽大小之和,m为计算资源总数。
G、效能指标(Benefit Index):任务i调度到计算资源j上执行后产生的效能大小,记为BI(i,j)。
Figure BDA0003364826490000213
特别地,如果
Figure BDA0003364826490000214
则BI(i,j)=0。
根据上述效能指标的计算方式,可以预先计算出每个待调度任务分配到各个计算资源之上所对应的最终效能大小。该指标同时考虑了计算资源的利用率和能耗,从而能够提升系统总体的可用性。
这些效能大小将作为后续实施任务调度的依据。
(5)任务与资源匹配模块:基于最大化效能原则,将不同任务合理地分配、调度到相应的计算资源之上,完成调度任务。
任务与资源匹配模块最主要的目标是:建立任务与资源之间的映射关系。
请参见图7,本实施例以二部图G=(V,E)抽象表示任务集群、资源集群及二者的映射关系。其中,V=XUY,X={X1,X2,...,XK}表示任务集群的集合,Y={Y1,Y2,...,YK}表示资源集群的集合,K为集群个数。e(i,j)∈E表示将任务集群Xi分配到资源集群Yj之上,We(i,j)表示将任务集群Xi分配到资源集群Yj之上获得的总效能。
其中,任一个任务集群Xi分配到资源集群Yj之上获得的总效能为:
Figure BDA0003364826490000221
其中,j为Yj中的任一个计算资源,h为Xi中的任一个任务。
也就是说,任务集群的总效能等于该群中所有任务的效能总和。
基于图7所示的二部图,本实施例采用图论领域中经典的KM算法(其计算复杂度较小)求解最大权匹配结果,最大权匹配结果表明了任务集群的调度情况。也就是说,最大权匹配结果对应于效能最优的任务调度结果。
(6)反馈模块将最终的调度任务结果进行反馈。
可见,本实施例考虑了各类任务的本身属性和计算资源的特点,将相似任务或计算资源进行分类整合,从而降低任务调度时的搜索空间及资源选择范围,提高资源选择精度;此外,基于效能指标和KM算法给出任务调度的精确结果,权衡了调度精确性与调度时间,降低了任务与资源匹配的开销,提升了任务调度的效率、性能、可扩展性,降低了调度复杂性。
当然,本实施例提供的调度方法还可以应用于多代理系统、分布式计算系统、无线传感器网络等。
本申请涉及的“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法或设备固有的其它步骤或单元。
需要说明的是,在本申请中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的可读存储介质中。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (16)

1.一种任务调度方法,其特征在于,包括:
确定待处理的多个任务以及当前服务系统上可用的多个空闲资源;
基于每个任务的任务属性聚类所述多个任务,得到多个任务类;
基于每个空闲资源的资源属性聚类所述多个空闲资源,得到多个资源类;
针对每个任务,预测该任务在每个空闲资源上执行所获得的效能大小,并基于所述效能大小计算任一任务类在任一资源类上执行所获得的最优效能;
将任务类个数和资源类个数进行对比;
若所述任务类个数等于所述资源类个数,则将所述多个任务类作为可调度任务类,将所述多个资源类作为可调度资源类,并基于所述最优效能构建所述可调度任务类与所述可调度资源类之间的一一映射关系,得到总效能之和最大的调度结果。
2.根据权利要求1所述的任务调度方法,其特征在于,所述针对每个任务,预测该任务在每个空闲资源上执行所获得的效能大小,包括:
针对每个任务,将该任务分别与每个空闲资源组成目标组,得到与空闲资源总数相等的多个目标组;
确定每个目标组对应的带宽利用分数、开销分数、能耗分数以及执行时间;
基于所述带宽利用分数、所述开销分数、所述能耗分数以及所述执行时间,预测每个目标组中的任务在该目标组中的空闲资源上执行所获得的效能大小。
3.根据权利要求2所述的任务调度方法,其特征在于,所述确定每个目标组对应的带宽利用分数、开销分数、能耗分数以及执行时间;基于所述带宽利用分数、所述开销分数、所述能耗分数以及所述执行时间,预测每个目标组中的任务在该目标组中的空闲资源上执行所获得的效能大小,包括:
针对每个目标组,按照效能计算公式预测该目标组中的任务在该目标组中的空闲资源上执行所获得的效能大小;所述效能计算公式为:
Figure FDA0003364826480000021
其中,BI(i,j)为任务i在空闲资源j上执行所获得的效能大小;任务i和空闲资源j组成一个目标组;
Figure FDA0003364826480000022
为任务i和空闲资源j构建而得的目标组对应的带宽利用分数;Score(i,j)表示任务i的优先级分数;P(i,j)表示任务i在空闲资源j上执行所用的带宽大小,
Figure FDA0003364826480000023
表示任务i分别在m个空闲资源上执行所用的带宽大小之和,m为空闲资源总数;
Figure FDA0003364826480000024
为任务i和空闲资源j构建而得的目标组对应的开销分数;Cost(i,j)表示任务i在空闲资源j上执行所带来的计算开销,
Figure FDA0003364826480000025
表示任务i分别在m个空闲资源上执行所带来的计算开销之和;
Figure FDA0003364826480000026
为任务i和空闲资源j构建而得的目标组对应的能耗分数;EC(i,j)表示任务i在空闲资源j上执行所消耗的能耗大小,
Figure FDA0003364826480000027
表示任务i分别在m个空闲资源上执行所消耗的能耗大小之和;
DT(i,j)为任务i和空闲资源j构建而得的目标组对应的执行时间。
4.根据权利要求3所述的任务调度方法,其特征在于,任务i的优先级分数的计算公式为:
Figure FDA0003364826480000028
其中,Score(i,j)表示任务i的优先级分数,priority(i)为任务i的优先级权重值,DT(i,j)为任务i和空闲资源j构建而得的目标组对应的执行时间;其中,优先级权重值基于任务i的紧急程度和重要程度确定。
5.根据权利要求3所述的任务调度方法,其特征在于,所述基于所述效能大小计算任一任务类在任一资源类上执行所获得的最优效能,包括:
将任一任务类与任一资源类匹配,并计算该任务类中的各个任务被该资源类中的各个空闲资源执行所获得的最大效能和,将所述最大效能和确定为该任务类在该资源类上执行所获得的最优效能。
6.根据权利要求5所述的任务调度方法,其特征在于,所述基于所述最优效能构建所述可调度任务类与所述可调度资源类之间的一一映射关系,得到总效能之和最大的调度结果,包括:
随机从当前所有可调度任务类中选择一个任务类作为调度目标;
确定所述调度目标在当前各个可调度资源类上执行所获得的各个最优效能;
从所述各个最优效能中选择最大值对应的资源类作为待用资源,并构建所述调度目标与所述待用资源之间的映射关系;
从当前所有可调度任务类中删除所述调度目标,从当前所有可调度资源类中删除所述待用资源,并执行所述随机从当前所有可调度任务类中选择一个任务类作为调度目标;确定所述调度目标在当前各个可调度资源类上执行所获得的各个最优效能;从所述各个最优效能中选择最大值对应的资源类作为待用资源,并构建所述调度目标与所述待用资源之间的映射关系的步骤,直至将各可调度任务类与各可调度资源类构建一一映射关系。
7.根据权利要求5所述的任务调度方法,其特征在于,所述基于所述最优效能构建所述可调度任务类与所述可调度资源类之间的一一映射关系,得到总效能之和最大的调度结果,包括:
利用带花树算法基于所述最优效能构建所述可调度任务类与所述可调度资源类之间的一一映射关系,得到所述调度结果。
8.根据权利要求1所述的任务调度方法,其特征在于,利用K-means算法聚类所述多个任务和/或所述多个空闲资源。
9.根据权利要求1至8任一项所述的任务调度方法,其特征在于,还包括:
若所述任务类个数大于所述资源类个数,则从所述多个任务类中选择与所述资源类个数相等的任务类作为可调度任务类,将所述多个资源类作为可调度资源类,并执行所述基于所述最优效能构建所述可调度任务类与所述可调度资源类之间的一一映射关系,得到总效能之和最大的调度结果的步骤;
若所述任务类个数小于所述资源类个数,则从所述多个资源类中选择与所述任务类个数相等的资源类作为可调度资源类,将所述多个任务类作为可调度任务类,并执行所述基于所述最优效能构建所述可调度任务类与所述可调度资源类之间的一一映射关系,得到总效能之和最大的调度结果的步骤。
10.根据权利要求9所述的任务调度方法,其特征在于,随机从所述多个任务类中选择与所述资源类个数相等的任务类作为可调度任务类,和/或随机从所述多个资源类中选择与所述任务类个数相等的资源类作为可调度资源类。
11.根据权利要求9所述的任务调度方法,其特征在于,基于各个最优效能从所述多个任务类中选择与所述资源类个数相等的、能够使总效能之和最大的任务类作为可调度任务类,和/或基于各个最优效能从所述多个资源类中选择与所述任务类个数相等的、能够使总效能之和最大的资源类作为可调度资源类。
12.根据权利要求9所述的任务调度方法,其特征在于,还包括:
对所述多个任务的待处理数据分别进行预处理,得到各个任务分别对应的标准数据;
按照所述调度结果发送各个任务类包括的任务及相应标准数据至相应资源类,以使各个资源类运行相应任务。
13.根据权利要求12所述的任务调度方法,其特征在于,
若所述任务类个数大于所述资源类个数,则在各个资源类运行相应任务的过程中,实时监测各个资源类的工作状态;
若出现空闲的资源类,则针对所述多个任务类中的剩余待处理任务类和所述空闲的资源类,执行所述将任务类个数和资源类个数进行对比的步骤,以分配所述剩余待处理任务类至所述空闲的资源类。
14.一种任务调度装置,其特征在于,包括:
确定资源,用于确定待处理的多个任务以及当前服务系统上可用的多个空闲资源;
第一聚类资源,用于基于每个任务的任务属性聚类所述多个任务,得到多个任务类;
第二聚类资源,用于基于每个空闲资源的资源属性聚类所述多个空闲资源,得到多个资源类;
效能预测资源,用于针对每个任务,预测该任务在每个空闲资源上执行所获得的效能大小,并基于所述效能大小计算任一任务类在任一资源类上执行所获得的最优效能;
对比资源,用于将任务类个数和资源类个数进行对比;
调度资源,用于若所述任务类个数等于所述资源类个数,则将所述多个任务类作为可调度任务类,将所述多个资源类作为可调度资源类,并基于所述最优效能构建所述可调度任务类与所述可调度资源类之间的一一映射关系,得到总效能之和最大的调度结果。
15.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至13任一项所述的任务调度方法。
16.一种可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至13任一项所述的任务调度方法。
CN202111401382.5A 2021-11-19 2021-11-19 一种任务调度方法、装置、设备及可读存储介质 Pending CN114327811A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202111401382.5A CN114327811A (zh) 2021-11-19 2021-11-19 一种任务调度方法、装置、设备及可读存储介质
PCT/CN2022/095362 WO2023087658A1 (zh) 2021-11-19 2022-05-26 一种任务调度方法、装置、设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111401382.5A CN114327811A (zh) 2021-11-19 2021-11-19 一种任务调度方法、装置、设备及可读存储介质

Publications (1)

Publication Number Publication Date
CN114327811A true CN114327811A (zh) 2022-04-12

Family

ID=81046430

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111401382.5A Pending CN114327811A (zh) 2021-11-19 2021-11-19 一种任务调度方法、装置、设备及可读存储介质

Country Status (2)

Country Link
CN (1) CN114327811A (zh)
WO (1) WO2023087658A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114979282A (zh) * 2022-07-28 2022-08-30 北京金山云网络技术有限公司 任务调度方法、装置、存储介质以及电子设备
CN116126496A (zh) * 2022-12-30 2023-05-16 中国人民解放军61646部队 图像数据处理系统的资源调度方法及其装置
WO2023087658A1 (zh) * 2021-11-19 2023-05-25 浪潮电子信息产业股份有限公司 一种任务调度方法、装置、设备及可读存储介质
CN117970897A (zh) * 2024-04-02 2024-05-03 深圳华钛自动化科技有限公司 自动化设备的节能控制方法、装置、系统及存储介质
CN117970897B (zh) * 2024-04-02 2024-06-07 深圳华钛自动化科技有限公司 自动化设备的节能控制方法、装置、系统及存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104520815B (zh) * 2014-03-17 2019-03-01 华为技术有限公司 一种任务调度的方法及装置
US10049332B2 (en) * 2015-03-11 2018-08-14 Accenture Global Services Limited Queuing tasks in a computer system based on evaluating queue information and capability information of resources against a set of rules
CN113127160B (zh) * 2019-12-30 2024-05-28 阿里巴巴集团控股有限公司 任务调度方法、系统及设备
CN112181613B (zh) * 2020-09-09 2023-02-17 国家计算机网络与信息安全管理中心 异构资源分布式计算平台批量任务调度方法及存储介质
CN114327811A (zh) * 2021-11-19 2022-04-12 浪潮电子信息产业股份有限公司 一种任务调度方法、装置、设备及可读存储介质

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023087658A1 (zh) * 2021-11-19 2023-05-25 浪潮电子信息产业股份有限公司 一种任务调度方法、装置、设备及可读存储介质
CN114979282A (zh) * 2022-07-28 2022-08-30 北京金山云网络技术有限公司 任务调度方法、装置、存储介质以及电子设备
CN116126496A (zh) * 2022-12-30 2023-05-16 中国人民解放军61646部队 图像数据处理系统的资源调度方法及其装置
CN117970897A (zh) * 2024-04-02 2024-05-03 深圳华钛自动化科技有限公司 自动化设备的节能控制方法、装置、系统及存储介质
CN117970897B (zh) * 2024-04-02 2024-06-07 深圳华钛自动化科技有限公司 自动化设备的节能控制方法、装置、系统及存储介质

Also Published As

Publication number Publication date
WO2023087658A1 (zh) 2023-05-25

Similar Documents

Publication Publication Date Title
CN108182115B (zh) 一种云环境下的虚拟机负载均衡方法
Wang et al. Load balancing task scheduling based on genetic algorithm in cloud computing
US10474504B2 (en) Distributed node intra-group task scheduling method and system
CN114327811A (zh) 一种任务调度方法、装置、设备及可读存储介质
CN109885397B (zh) 一种边缘计算环境中时延优化的负载任务迁移算法
CN109582448B (zh) 一种面向关键度和时效性的边缘计算任务调度方法
CN104317658A (zh) 一种基于MapReduce的负载自适应任务调度方法
CN108270805B (zh) 用于数据处理的资源分配方法及装置
CN110347515B (zh) 一种适合边缘计算环境的资源优化分配方法
CN104168318A (zh) 一种资源服务系统及其资源分配方法
CN113037877B (zh) 云边端架构下时空数据及资源调度的优化方法
CN105446816B (zh) 一种面向异构平台的能耗优化调度方法
CN112181613B (zh) 异构资源分布式计算平台批量任务调度方法及存储介质
Li et al. Resource scheduling based on improved spectral clustering algorithm in edge computing
Delavar et al. A synthetic heuristic algorithm for independent task scheduling in cloud systems
CN116361006B (zh) 面向存算分离的算网资源协同调度方法及系统
CN108170861B (zh) 一种基于动态规划的分布式数据库系统协同优化方法
CN115134371A (zh) 包含边缘网络算力资源的调度方法、系统、设备及介质
CN113992677A (zh) 一种延迟与能耗联合优化的mec计算卸载方法
Lu et al. Dynamic offloading for energy-aware scheduling in a mobile cloud
CN107070965B (zh) 一种虚拟化容器资源下的多工作流资源供给方法
Shukla et al. FAT-ETO: Fuzzy-AHP-TOPSIS-Based efficient task offloading algorithm for scientific workflows in heterogeneous fog–cloud environment
CN115629865A (zh) 一种基于边缘计算的深度学习推理任务调度方法
CN113014649B (zh) 一种基于深度学习的云物联负载均衡方法、装置及设备
CN112437449B (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