CN116257345A - 深度学习任务调度方法及装置 - Google Patents

深度学习任务调度方法及装置 Download PDF

Info

Publication number
CN116257345A
CN116257345A CN202310538218.1A CN202310538218A CN116257345A CN 116257345 A CN116257345 A CN 116257345A CN 202310538218 A CN202310538218 A CN 202310538218A CN 116257345 A CN116257345 A CN 116257345A
Authority
CN
China
Prior art keywords
deep learning
node
target
task
processing
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
CN202310538218.1A
Other languages
English (en)
Other versions
CN116257345B (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.)
Huaneng Clean Energy Research Institute
Huaneng Group Technology Innovation Center Co Ltd
Original Assignee
Huaneng Clean Energy Research Institute
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 Huaneng Clean Energy Research Institute filed Critical Huaneng Clean Energy Research Institute
Priority to CN202310538218.1A priority Critical patent/CN116257345B/zh
Publication of CN116257345A publication Critical patent/CN116257345A/zh
Application granted granted Critical
Publication of CN116257345B publication Critical patent/CN116257345B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • 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]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/5038Allocation 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
    • 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

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为本发明实施例提供的一种深度学习任务调度装置的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
其中,需要说明的是,本发明技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
下面参考附图描述本发明实施例的深度学习任务调度方法、装置、电子设备及存储介质。
图1为本发明实施例所提供的一种深度学习任务调度方法的流程示意图。
如图1所示,该方法包括以下步骤:
步骤101,获取预设的第一时间周期内已调度的序列深度学习任务,其中,序列深度学习任务是基于各个深度学习任务的数据量大小进行排序得到的。
可选地,预设的第一时间周期可以结合调度序列深度学习任务时对应的历史数据进行确定,也可以由相关技术人员进行设定,该实施例对此不做具体限定。
可选地,深度学习任务可以是进行机器学习时对应的待处理任务,但不仅限于此。
在一些实施例中,可以以深度学习任务为task,预设的第一时间周期为interval为例,获取多个深度学习任务task,并基于各个深度学习任务的数据量大小进行排序,形成序列深度学习任务TL,
Figure SMS_1
,其中,/>
Figure SMS_2
,/>
Figure SMS_3
是第i个任务使用的模型,/>
Figure SMS_4
是第i个任务的数据量。
步骤102,获取深度学习对应各个节点中任一目标处理器处理序列深度学习任务时对应的平均处理频率和平均处理时长。
在一些实施例中,深度学习对应各个节点可以为ML,
Figure SMS_5
,进而基于第一时间周期interval内已调度的序列深度学习任务TL,获取第i个节点/>
Figure SMS_6
的第j个目标处理器在第一时间周期interval内的平均工作频率/>
Figure SMS_7
、平均负载率/>
Figure SMS_8
其中,目标处理器可以是图形处理器(graphics processing unit,GPU),但不仅限于此,该实施例对此不做具体限定。
步骤103,基于平均处理频率和平均处理时长,确定各个节点的优先级。
在一些实施例中,在平均工作频率为
Figure SMS_10
、平均负载率为/>
Figure SMS_13
的情况下,可以基于平均工作频率/>
Figure SMS_16
,确定目标处理器的最大工作频率/>
Figure SMS_11
,由此,根据平均工作频率/>
Figure SMS_14
、平均负载率/>
Figure SMS_17
,最大工作频率/>
Figure SMS_18
计算/>
Figure SMS_9
的优先级/>
Figure SMS_12
,其中,/>
Figure SMS_15
的可算公式可以为:
Figure SMS_19
步骤104,基于优先级,将第二时间周期内对应实时序列深度学习任务中的各个实时深度学习任务调度到对应的目标节点进行处理,其中,第一时间周期与第二时间周期是连续周期且时长相同。
在一些实施例中,基于优先级,将第二时间周期内对应实时序列深度学习任务中的各个实时深度学习任务调度到对应的目标节点进行处理的一种实施方式可以为:获取第二时间周期内对应实时序列深度学习任务中待调度的任一目标任务;基于各个节点的优先级对目标任务进行匹配,以从各个节点中选取匹配到优先级最高的目标空闲节点;将目标空闲节点作为目标节点,并将目标任务调度到目标节点进行处理,由此,基于各个节点的优先级,实现对实时序列深度学习任务中的各个实时深度学习任务的精确调度。
具体地,可以以实时序列深度学习任务
Figure SMS_20
的当前队首任务/>
Figure SMS_21
的数据/>
Figure SMS_22
为目标任务为例,在目标任务为/>
Figure SMS_23
的情况下, 以基于/>
Figure SMS_24
且/>
Figure SMS_25
各个节点中选取匹配到优先级最高的目标空闲节点。
其中,FNL为空闲节点队列。
可以理解的是,将目标空闲节点作为目标节点,并将目标任务调度到目标节点进行处理的一种实施方式可以为,在目标节点的可用内存量大于等于目标任务的数据量的情况下,则将目标任务的数据量调配到目标节点的目标处理器中进行处理;在目标节点的可用内存量小于目标任务的数据量的情况下,则将目标任务分割出可用内存量大小的分割数据,和除分割数据外的备用数据;将分割数据调配到目标节点的目标处理器中进行处理,并将备用数据调配给低于目标节点优先级的候选节点中进行处理,直至目标任务处理完成,由此,实现对目标任务快速处理,提高各个节点的处理效率。
具体地,在目标节点为
Figure SMS_27
,处理器为GPU的情况下,获取目标节点/>
Figure SMS_31
的可用内存量/>
Figure SMS_33
,如果可用内存量/>
Figure SMS_28
大于等于任务/>
Figure SMS_30
的数据量/>
Figure SMS_34
,将目标任务/>
Figure SMS_36
的数据复制到目标节点/>
Figure SMS_26
的第j个GPU内存中,其中,/>
Figure SMS_29
=0。
Figure SMS_32
,/>
Figure SMS_35
=0表示在第i个节点的第j个GPU处于空闲状态。
如果目标节点
Figure SMS_37
的可用内存量/>
Figure SMS_41
小于目标任务/>
Figure SMS_48
的数据量/>
Figure SMS_38
,将目标任务/>
Figure SMS_43
的数据由前到后,分割出/>
Figure SMS_46
大小的分割数据数据转移到目标节点/>
Figure SMS_49
的第j个GPU内存中,其中/>
Figure SMS_40
=0,并得到除分割数据/>
Figure SMS_44
外的备用数据,备用数据的计算方式可以为:/>
Figure SMS_45
,在计算出备用数据之后将备用数据调配给低于目标节点优先级的候选节点中进行处理,直至目标任务处理完成,即,
Figure SMS_50
,/>
Figure SMS_39
,/>
Figure SMS_42
Figure SMS_47
=0。
其中,
Figure SMS_52
=0表示第i个节点的第j个GPU空闲;/>
Figure SMS_54
表示任务/>
Figure SMS_57
的GPU集合,如果/>
Figure SMS_53
,表示第1个节点的第2个GPU被任务/>
Figure SMS_56
占用;/>
Figure SMS_58
表示/>
Figure SMS_59
的节点集合,如果元素/>
Figure SMS_51
,表示第1个节点被任务/>
Figure SMS_55
占用。
此外,在基于优先级,将第二时间周期内对应实时序列深度学习任务中的各个实时深度学习任务调度到对应的目标节点进行处理之后,还包括:获取将第二时间周期内对应实时序列深度学习任务中的各个实时深度学习任务调度到对应的目标节点进行处理之后的完成进度集合;依次检查完成进度集合中的每个已调度深度学习任务,在每个已调度深度学习任务均调度到对应的目标节点并进行处理的情况下,停止实时序列深度学习任务调度的调配,由此,实现对实时序列深度学习任务的全面调度。
具体地,在第二时间周期interval内,获取第i个节点的第j个GPU在第二时间周期interval内的GPU平均工作频率
Figure SMS_70
和平均负载率/>
Figure SMS_63
,并存放到历史数据集合/>
Figure SMS_66
中。其中,/>
Figure SMS_75
,t表示获取平均工作频率
Figure SMS_78
和平均负载率/>
Figure SMS_77
的时间。由此,基于历史数据集合/>
Figure SMS_79
,确定实时序列深度学习任务的完成进度集合/>
Figure SMS_71
=/>
Figure SMS_74
,/>
Figure SMS_60
。如果依次检查完成进度集合/>
Figure SMS_67
中的每个每个已调度深度学习任务。如果每个已调度深度学习任务/>
Figure SMS_64
的完成进度/>
Figure SMS_68
,则继续检查下个已调度深度学习任务。如果每个已调度深度学习任务/>
Figure SMS_72
的完成进度/>
Figure SMS_76
,对于每个已调度深度学习任务/>
Figure SMS_62
,令
Figure SMS_65
,对于每个已调度深度学习任务/>
Figure SMS_69
,令/>
Figure SMS_73
=1。继续检查下个已调度深度学习任务,直到完成进度集合/>
Figure SMS_61
中的每个已调度深度学习任务全部检查完毕。
其中,可以理解的是,在存在第三时间周期的序列深度学习任务的情况下,基于第二时间周期内的历史数据集合
Figure SMS_80
,从历史数据集合/>
Figure SMS_81
中取出任务/>
Figure SMS_82
的历史数据/>
Figure SMS_83
,重新计算节点/>
Figure SMS_84
的优先级/>
Figure SMS_85
,优先级/>
Figure SMS_86
的计算方式可以为:
Figure SMS_87
其中,
Figure SMS_88
为获取序列深度学习任务/>
Figure SMS_89
数据的次数,t为获取序列深度学习任务
Figure SMS_90
数据的时间,/>
Figure SMS_91
本发明实施例的深度学习任务调度方法,获取预设的第一时间周期内已调度的序列深度学习任务,其中,序列深度学习任务是基于各个深度学习任务的数据量大小进行排序得到的;获取深度学习对应各个节点中任一目标处理器处理序列深度学习任务时对应的平均处理频率和平均处理时长;基于平均处理频率和平均处理时长,确定各个节点的优先级;基于优先级,将第二时间周期内对应实时序列深度学习任务中的各个实时深度学习任务调度到对应的目标节点进行处理,其中,第一时间周期与第二时间周期是连续周期且时长相同,由此,基于深度学习对应各个节点的优先级来进行深度学习任务的资源调度工作,提高深度学习任务调度的效率。
为了清楚说明上一实施例,图2为本发明实施例所提供的另一种深度学习任务调度方法的流程示意图。
步骤201,获取预设的第一时间周期内已调度的序列深度学习任务,其中,序列深度学习任务是基于各个深度学习任务的数据量大小进行排序得到的。
步骤202,获取深度学习对应各个节点中任一目标处理器处理序列深度学习任务时对应的平均处理频率和平均处理时长。
步骤203,基于平均处理频率和平均处理时长,确定各个节点的优先级。
步骤204,基于优先级,将第二时间周期内对应实时序列深度学习任务中的各个实时深度学习任务调度到对应的目标节点进行处理,其中,第一时间周期与第二时间周期是连续周期且时长相同。
其中,需要说明的是,关于步骤201至步骤204的具体实现方式,可参见上述实施例中的相关描述。
步骤205,在将第二时间周期内对应实时序列深度学习任务中的各个实时深度学习任务调度到对应的目标节点进行处理时存在异常节点的情况下,获取调配到异常节点的待处理深度学习任务。
在一些实施例中,异常节点可以是当前节点的处于使用状态或当前节点故障无法处理实时深度学习任务,该实施例对此不做具体限定。
步骤206,将待处理深度学习任务转移到与当异常节点之间网络延迟最低的备用节点进行处理。
在一些实施例中,将待处理深度学习任务转移到与当异常节点之间网络延迟最低的备用节点进行处理的一种实施方式可以为,获取各个节点之间的网络延迟,以构建出延迟矩阵;基于延迟矩阵,确定出和异常节点之间网络延迟最低的备用节点,并将待处理深度学习任务转移到备用节点进行处理。
其中,节点为
Figure SMS_92
与节点/>
Figure SMS_93
之间的网络延迟/>
Figure SMS_94
,单位为ms,生成延迟矩阵L,其中/>
Figure SMS_95
本发明实施例的深度学习任务调度方法,获取预设的第一时间周期内已调度的序列深度学习任务,其中,序列深度学习任务是基于各个深度学习任务的数据量大小进行排序得到的;获取深度学习对应各个节点中任一目标处理器处理序列深度学习任务时对应的平均处理频率和平均处理时长;基于平均处理频率和平均处理时长,确定各个节点的优先级;基于优先级,将第二时间周期内对应实时序列深度学习任务中的各个实时深度学习任务调度到对应的目标节点进行处理,其中,第一时间周期与第二时间周期是连续周期且时长相同,在将第二时间周期内对应实时序列深度学习任务中的各个实时深度学习任务调度到对应的目标节点进行处理时存在异常节点的情况下,获取调配到异常节点的待处理深度学习任务,将待处理深度学习任务转移到与当异常节点之间网络延迟最低的备用节点进行处理。由此,基于深度学习对应各个节点的优先级来进行深度学习任务的资源调度工作,在深度学习任务调配异常时,能合理选择替换节点,确保深度学习任务及时完成。
综上,为更好的理解本发明,本发明还提出一种深度学习任务调度方法,如图3所示,获取已调度的深度学习任务task,以生成序列深度学习任务TL,再获取到深度学习对应计算节点队列ML,设置预设的第一时间周期interval,空闲节点队列FNL,空闲GPU矩阵FG,并获取网络各个节点之间的网络延迟,以生成延迟矩阵L,再获取到第一时间周期interval内处理序列深度学习任务时GPU平均工作频率和平均负载率以及最大工作频率,由此,计算出各个节点的优先级,在实时序列深度学习任务TL为不为空(未调配完成)的情况下,获取实时序列深度学习任务TL的队首的目标任务的数据量,以及处理目标任务的目标节点,在目标节点的可用内存量大于等于目标任务的数据量的情况下,则将目标任务的数据量调配到目标节点的目标处理器中进行处理,在目标节点的可用内存量小于目标任务的数据量的情况下,则将目标任务分割出可用内存量大小的分割数据,和除分割数据外的备用数据;将分割数据调配到目标节点的目标处理器中进行处理,同时修改空闲GPU矩阵FG和空闲节点队列FNL,以将备用数据调配给低于目标节点优先级的候选节点中进行处理,直至目标任务处理完成;在实时序列深度学习任务TL为空(调配完成)且各个实时深度学习任务未处理完成的情况下,获取在第二时间周期内处理各个实时深度学习任务时对应的运行数据(GPU目标平均工作频率和目标平均负载率),并存放到历史数据集合中,进而确定实时序列深度学习任务的完成进度集合,同时检测是否有新的实时深度学习任务处理完成,在每个实时深度学习任务均调度到对应的目标节点并进行处理的情况下,获取处理实时序列深度学习任务时对应的运行数据,以重新计算各个节点的优先级,同时获取各个节点的状态和所有GPU的状态,若GPU的状态为正常,则GPU正常处理实时深度学习任务,若GPU的状态为异常(异常节点),进一步判断空闲GPU矩阵FG是否为空,在空闲GPU矩阵FG是为空,将异常节点对应待处理深度学习任务加入到实时序列深度学习任务TL的末尾,并释放待处理深度学习任务占用资源,若GPU的状态为使用且空闲GPU矩阵FG不为空,则将待处理深度学习任务转移到备用节点进行处理;在实时序列深度学习任务TL为空(调配完成)且各个实时深度学习任务全部处理完成的情况下,停止实时序列深度学习任务调度的调配,由此,在实时序列深度学习任务完成后重新计算优先级,动态调整深度学习任务分配策略,提高深度学习任务的分配效率,在深度学习任务出错时,能合理选择替换节点,确保深度学习任务及时完成。
为了实现上述实施例,本发明还提出一种深度学习任务调度装置。
图4为本发明实施例提供的一种深度学习任务调度装置的结构示意图。
如图4所示,该深度学习任务调度装置40包括:第一获取模块41,第二获取模块42、确定模块43以及调度模块44。
第一获取模块41,用于获取预设的第一时间周期内已调度的序列深度学习任务,其中,序列深度学习任务是基于各个深度学习任务的数据量大小进行排序得到的;
第二获取模块42,用于获取深度学习对应各个节点中任一目标处理器处理所述序列深度学习任务时对应的平均处理频率和平均处理时长;
确定模块43,用于基于所述平均处理频率和平均处理时长,确定各个所述节点的优先级;
调度模块44,用于基于所述优先级,将第二时间周期内对应实时序列深度学习任务中的各个实时深度学习任务调度到对应的目标节点进行处理,其中,所述第一时间周期与所述第二时间周期是连续周期且时长相同。
进一步地,在本发明实施例的一种可能的实现方式中,所述调度模块44,包括:
获取单元,用于获取所述第二时间周期内对应实时序列深度学习任务中待调度的任一目标任务;
匹配单元,用于基于各个所述节点的优先级对所述目标任务进行匹配,以从各个所述节点中选取匹配到优先级最高的目标空闲节点;
调度单元,用于将所述目标空闲节点作为目标节点,并将所述目标任务调度到所述目标节点进行处理。
进一步地,在本发明实施例的一种可能的实现方式中,所述调度单元,具体用于:
在所述目标节点的可用内存量大于等于所述目标任务的数据量的情况下,则将所述目标任务的数据量调配到所述目标节点的目标处理器中进行处理;
在所述目标节点的可用内存量小于所述目标任务的数据量的情况下,则将所述目标任务分割出所述可用内存量大小的分割数据,和除所述分割数据外的备用数据;将所述分割数据调配到所述目标节点的目标处理器中进行处理,并将所述备用数据调配给低于所述目标节点优先级的候选节点中进行处理,直至所述目标任务处理完成。
进一步地,在本发明实施例的一种可能的实现方式中,所述装置,还包括:
第三获取模块,用于获取将所述第二时间周期内对应实时序列深度学习任务中的各个实时深度学习任务调度到对应的目标节点进行处理之后的完成进度集合;
检查模块,用于依次检查所述完成进度集合中的每个已调度深度学习任务,在每个所述已调度深度学习任务均调度到对应的目标节点并进行处理的情况下,停止所述实时序列深度学习任务调度的调配。
进一步地,在本发明实施例的一种可能的实现方式中,所述装置,还包括:
第四获取模块,用于在将所述第二时间周期内对应实时序列深度学习任务中的各个实时深度学习任务调度到对应的目标节点进行处理时存在异常节点的情况下,获取调配到异常节点的待处理深度学习任务;
转移模块,用于将所述待处理深度学习任务转移到与当所述异常节点之间网络延迟最低的备用节点进行处理。
进一步地,在本发明实施例的一种可能的实现方式中,所述转移模块,具体用于:
获取各个所述节点之间的网络延迟,以构建出延迟矩阵;
基于所述延迟矩阵,确定出和所述异常节点之间网络延迟最低的备用节点,并将所述待处理深度学习任务转移到所述备用节点进行处理。
需要说明的是,前述对方法实施例的解释说明也适用于该实施例的装置,此处不再赘述。
本发明实施例的深度学习任务调度装置,获取预设的第一时间周期内已调度的序列深度学习任务,其中,序列深度学习任务是基于各个深度学习任务的数据量大小进行排序得到的;获取深度学习对应各个节点中任一目标处理器处理序列深度学习任务时对应的平均处理频率和平均处理时长;基于平均处理频率和平均处理时长,确定各个节点的优先级;基于优先级,将第二时间周期内对应实时序列深度学习任务中的各个实时深度学习任务调度到对应的目标节点进行处理,其中,第一时间周期与第二时间周期是连续周期且时长相同,由此,基于深度学习对应各个节点的优先级来进行深度学习任务的资源调度工作,提高深度学习任务调度的效率。
为了实现上述实施例,本发明还提出一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行前述的方法。
为了实现上述实施例,本发明还提出一种存储有计算机指令的非瞬时计算机可读存储介质,计算机指令用于使所述计算机执行前述的方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、 “示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形似实现,也可以采用软件功能模块的形似实现。所述集成的模块如果以软件功能模块的形似实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (14)

1.一种深度学习任务调度方法,其特征在于,所述方法包括:
获取预设的第一时间周期内已调度的序列深度学习任务,其中,序列深度学习任务是基于各个深度学习任务的数据量大小进行排序得到的;
获取深度学习对应各个节点中任一目标处理器处理所述序列深度学习任务时对应的平均处理频率和平均处理时长;
基于所述平均处理频率和平均处理时长,确定各个所述节点的优先级;
基于所述优先级,将第二时间周期内对应实时序列深度学习任务中的各个实时深度学习任务调度到对应的目标节点进行处理,其中,所述第一时间周期与所述第二时间周期是连续周期且时长相同。
2.根据权利要求1所述的方法,其特征在于,所述基于所述优先级,将第二时间周期内对应实时序列深度学习任务中的各个实时深度学习任务调度到对应的目标节点进行处理,其中,所述第一时间周期与所述第二时间周期是连续周期且时长相同,包括:
获取所述第二时间周期内对应实时序列深度学习任务中待调度的任一目标任务;
基于各个所述节点的优先级对所述目标任务进行匹配,以从各个所述节点中选取匹配到优先级最高的目标空闲节点;
将所述目标空闲节点作为目标节点,并将所述目标任务调度到所述目标节点进行处理。
3.根据权利要求2所述的方法,其特征在于,所述将所述目标空闲节点作为目标节点,并将所述目标任务调度到所述目标节点进行处理,包括:
在所述目标节点的可用内存量大于等于所述目标任务的数据量的情况下,则将所述目标任务的数据量调配到所述目标节点的目标处理器中进行处理;
在所述目标节点的可用内存量小于所述目标任务的数据量的情况下,则将所述目标任务分割出所述可用内存量大小的分割数据,和除所述分割数据外的备用数据;将所述分割数据调配到所述目标节点的目标处理器中进行处理,并将所述备用数据调配给低于所述目标节点优先级的候选节点中进行处理,直至所述目标任务处理完成。
4.根据权利要求1所述的方法,其特征在于,在所述基于所述优先级,将第二时间周期内对应实时序列深度学习任务中的各个实时深度学习任务调度到对应的目标节点进行处理之后,还包括:
获取将所述第二时间周期内对应实时序列深度学习任务中的各个实时深度学习任务调度到对应的目标节点进行处理之后的完成进度集合;
依次检查所述完成进度集合中的每个已调度深度学习任务,在每个所述已调度深度学习任务均调度到对应的目标节点并进行处理的情况下,停止所述实时序列深度学习任务调度的调配。
5.根据权利要求1所述的方法,其特征在于,所述方法,还包括:
在将所述第二时间周期内对应实时序列深度学习任务中的各个实时深度学习任务调度到对应的目标节点进行处理时存在异常节点的情况下,获取调配到所述异常节点的待处理深度学习任务;
将所述待处理深度学习任务转移到与当所述异常节点之间网络延迟最低的备用节点进行处理。
6.根据权利要求5所述的方法,其特征在于,所述将所述待处理实时深度学习任务转移到与当所述异常节点之间网络延迟最低的备用节点进行处理,包括:
获取各个所述节点之间的网络延迟,以构建出延迟矩阵;
基于所述延迟矩阵,确定出和所述异常节点之间网络延迟最低的备用节点,并将所述待处理深度学习任务转移到所述备用节点进行处理。
7.一种深度学习任务调度装置,其特征在于,所述装置包括:
第一获取模块,用于获取预设的第一时间周期内已调度的序列深度学习任务,其中,序列深度学习任务是基于各个深度学习任务的数据量大小进行排序得到的;
第二获取模块,用于获取深度学习对应各个节点中任一目标处理器处理所述序列深度学习任务时对应的平均处理频率和平均处理时长;
确定模块,用于基于所述平均处理频率和平均处理时长,确定各个所述节点的优先级;
调度模块,用于基于所述优先级,将第二时间周期内对应实时序列深度学习任务中的各个实时深度学习任务调度到对应的目标节点进行处理,其中,所述第一时间周期与所述第二时间周期是连续周期且时长相同。
8.根据权利要求7所述的装置,其特征在于,所述调度模块,包括:
获取单元,用于获取所述第二时间周期内对应实时序列深度学习任务中待调度的任一目标任务;
匹配单元,用于基于各个所述节点的优先级对所述目标任务进行匹配,以从各个所述节点中选取匹配到优先级最高的目标空闲节点;
调度单元,用于将所述目标空闲节点作为目标节点,并将所述目标任务调度到所述目标节点进行处理。
9.根据权利要求8所述的装置,其特征在于,所述调度单元,具体用于:
在所述目标节点的可用内存量大于等于所述目标任务的数据量的情况下,则将所述目标任务的数据量调配到所述目标节点的目标处理器中进行处理;
在所述目标节点的可用内存量小于所述目标任务的数据量的情况下,则将所述目标任务分割出所述可用内存量大小的分割数据,和除所述分割数据外的备用数据;将所述分割数据调配到所述目标节点的目标处理器中进行处理,并将所述备用数据调配给低于所述目标节点优先级的候选节点中进行处理,直至所述目标任务处理完成。
10.根据权利要求7所述的装置,其特征在于,所述装置,还包括:
第三获取模块,用于获取将所述第二时间周期内对应实时序列深度学习任务中的各个实时深度学习任务调度到对应的目标节点进行处理之后的完成进度集合;
检查模块,用于依次检查所述完成进度集合中的每个已调度深度学习任务,在每个所述已调度深度学习任务均调度到对应的目标节点并进行处理的情况下,停止所述实时序列深度学习任务调度的调配。
11.根据权利要求7所述的装置,其特征在于,所述装置,还包括:
第四获取模块,用于在将所述第二时间周期内对应实时序列深度学习任务中的各个实时深度学习任务调度到对应的目标节点进行处理时存在异常节点的情况下,获取调配到所述异常节点的待处理深度学习任务;
转移模块,用于将所述待处理深度学习任务转移到与当所述异常节点之间网络延迟最低的备用节点进行处理。
12.根据权利要求11所述的装置,其特征在于,所述转移模块,具体用于:
获取各个所述节点之间的网络延迟,以构建出延迟矩阵;
基于所述延迟矩阵,确定出和所述异常节点之间网络延迟最低的备用节点,并将所述待处理深度学习任务转移到所述备用节点进行处理。
13.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-6中任一项所述的方法。
14.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行根据权利要求1-6中任一项所述的方法。
CN202310538218.1A 2023-05-15 2023-05-15 深度学习任务调度方法及装置 Active CN116257345B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310538218.1A CN116257345B (zh) 2023-05-15 2023-05-15 深度学习任务调度方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310538218.1A CN116257345B (zh) 2023-05-15 2023-05-15 深度学习任务调度方法及装置

Publications (2)

Publication Number Publication Date
CN116257345A true CN116257345A (zh) 2023-06-13
CN116257345B CN116257345B (zh) 2023-09-01

Family

ID=86679691

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310538218.1A Active CN116257345B (zh) 2023-05-15 2023-05-15 深度学习任务调度方法及装置

Country Status (1)

Country Link
CN (1) CN116257345B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116562599A (zh) * 2023-07-10 2023-08-08 深圳凯升联合科技有限公司 基于深度学习的高效智能工厂调度系统
CN117762602A (zh) * 2024-02-22 2024-03-26 北京大学 面向边缘异构硬件的深度学习级联任务调度方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116010051A (zh) * 2022-12-22 2023-04-25 北京邮电大学 一种联邦学习多任务调度方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110515732B (zh) * 2019-08-23 2021-06-18 中国人民解放军国防科技大学 一种基于资源受限机器人深度学习推理的任务分配方法
CN115220898A (zh) * 2022-08-16 2022-10-21 江苏至信信用评估咨询有限公司 一种基于深度强化学习的任务调度方法、系统、装置及介质
CN115835294A (zh) * 2022-11-22 2023-03-21 南京工业大学 车联网中深度强化学习辅助的ran切片和任务卸载联合优化方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116010051A (zh) * 2022-12-22 2023-04-25 北京邮电大学 一种联邦学习多任务调度方法及装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116562599A (zh) * 2023-07-10 2023-08-08 深圳凯升联合科技有限公司 基于深度学习的高效智能工厂调度系统
CN117762602A (zh) * 2024-02-22 2024-03-26 北京大学 面向边缘异构硬件的深度学习级联任务调度方法及装置
CN117762602B (zh) * 2024-02-22 2024-05-07 北京大学 面向边缘异构硬件的深度学习级联任务调度方法及装置

Also Published As

Publication number Publication date
CN116257345B (zh) 2023-09-01

Similar Documents

Publication Publication Date Title
CN116257345B (zh) 深度学习任务调度方法及装置
JP4016010B2 (ja) リアルタイムスケジューリング可能性判定方法およびリアルタイムシステム
US9454401B2 (en) Resource allocation method and apparatus of GPU
CN113238838A (zh) 一种任务调度方法、装置及计算机可读存储介质
US9374314B2 (en) QoS aware balancing in data centers
CN113515382B (zh) 云资源的分配方法、装置、电子设备及存储介质
CN111813523A (zh) 时长预估模型生成方法、系统资源调度方法、装置、电子设备和存储介质
CN104793996A (zh) 一种并行计算设备的任务调度方法及任务调度装置
CN109840149B (zh) 任务调度方法、装置、设备及存储介质
US11775344B1 (en) Training task queuing cause analysis method and system, device and medium
CN113765949A (zh) 资源分配的方法以及装置
CN108415765B (zh) 任务调度方法、装置及智能终端
CN112650449B (zh) 缓存空间的释放方法、释放系统、电子设备及存储介质
CN116627356B (zh) 一种大容量存储数据的分布控制方法及系统
CN113268331A (zh) 机器人调用方法、机器人调用装置、管理系统和存储介质
CN117032937A (zh) 基于gpu的任务调度方法、电子装置和存储介质
CN112659119A (zh) 机械臂的控制方法、装置、电子设备及存储介质
CN116069480A (zh) 一种处理器及计算设备
JP6243266B2 (ja) 電子制御装置及びメモリ診断方法
CN116795503A (zh) 任务调度方法、任务调度装置、图形处理器及电子设备
CN113407322B (zh) 多终端的任务分配方法、装置、电子设备及可读存储介质
WO2021044810A1 (ja) コア割当装置及びコア割当方法
CN115269131A (zh) 一种任务调度方法及装置
US20220179691A1 (en) Machine learning system and resource allocation method thereof
CN109471726A (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20230802

Address after: 102209 building a, Huaneng talent innovation and entrepreneurship base, Beiqijia future science and Technology City, Changping District, Beijing

Applicant after: HUANENG CLEAN ENERGY Research Institute

Applicant after: HUANENG GROUP TECHNOLOGY INNOVATION CENTER Co.,Ltd.

Address before: 102209 building a, Huaneng talent innovation and entrepreneurship base, Beiqijia future science and Technology City, Changping District, Beijing

Applicant before: HUANENG CLEAN ENERGY Research Institute

GR01 Patent grant
GR01 Patent grant