CN113282382A - 任务处理方法、装置、计算机设备和存储介质 - Google Patents

任务处理方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN113282382A
CN113282382A CN202010102569.4A CN202010102569A CN113282382A CN 113282382 A CN113282382 A CN 113282382A CN 202010102569 A CN202010102569 A CN 202010102569A CN 113282382 A CN113282382 A CN 113282382A
Authority
CN
China
Prior art keywords
task
atomic
node
sequence
attribute
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
CN202010102569.4A
Other languages
English (en)
Other versions
CN113282382B (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.)
Cambricon Technologies Corp Ltd
Original Assignee
Cambricon Technologies Corp 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 Cambricon Technologies Corp Ltd filed Critical Cambricon Technologies Corp Ltd
Priority to CN202010102569.4A priority Critical patent/CN113282382B/zh
Publication of CN113282382A publication Critical patent/CN113282382A/zh
Application granted granted Critical
Publication of CN113282382B publication Critical patent/CN113282382B/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
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • 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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请涉及一种任务处理方法、装置、计算机设备和存储介质,通过识别任务序列的原子属性节点,并基于该原子属性节点得到原子属性任务序列,该原子属性任务序列包含的任务在目标设备上被连续执行,由于原子属性任务序列中各个任务可以复用设备上的数据,因此,本实施例的方法不仅可以减少任务执行过程中的设备之间的数据交换,而且可以减少需连续执行的任务时的数据拷贝。

Description

任务处理方法、装置、计算机设备和存储介质
技术领域
本申请涉及计算机设备技术领域,特别是涉及一种任务处理方法、装置、计算机设备和存储介质。
背景技术
在很多应用场景中,一个任务的输出往往是下一个任务的输入,而这些中间数据一般存放在局部内存中,只对私有的处理器可见。我们将这种具有一个任务的输出是下一个任务的输入关系的任务称为任务图中的原子任务。
为了重复利用这些数据,减少数据的拷贝,希望这两个任务能够运行在一个象限甚至一个处理器上,从而可以通过内存通道亲和性设置,使前一任务和后一任务尽量位于同一个内存节点所在的象限。
但是,内存通道亲和性设置无法保证原子任务能够连续执行。很可能在任务的执行过程中插入任务类型和亲和性都相同的其他任务,这将造成局部内存空间的不足。
发明内容
基于此,有必要针对上述技术问题,提供一种能够保证原子任务能够连续执行的任务处理方法、装置、计算机设备和存储介质。
一种任务处理方法,所述方法包括:
访问任务序列的任务节点;
若当前任务节点为原子属性节点,则根据所述当前任务节点及所述任务序列中任务节点的数据复用需求确定原子属性任务序列;其中,原子属性任务序列包含在目标设备上连续执行的多个任务。
在其中一个实施例中,所述方法还包括:
将所述原子属性任务序列作为一个整体进行调度,得到原子属性任务序列的调度信息;其中,所述调度信息使得所述原子属性任务序列在所述目标设备上连续执行。
在其中一个实施例中,根据所述当前任务节点及所述任务序列中任务节点的数据复用需求确定原子属性任务序列包括:
根据所述当前任务节点的任务规模和所述任务序列中的数据复用需求,确定与所述当前任务节点关联的目标原子属性节点;
根据所述任务序列中当前任务节点与所述目标原子属性节点之间关联的任务节点,获取所述原子属性任务序列。
在其中一个实施例中,根据所述当前任务节点的任务规模和所述任务序列中的数据复用需求,确定与所述当前任务节点关联的目标原子属性节点,包括:
遍历所述任务序列的任务节点,查找所述任务节点中可数据复用的且与所述当前任务节点同任务规模的设备节点,得到所述目标设备节点;
若所述当前任务节点与所述当前任务节点与所述目标设备节点之间的任务节点均为分配节点,则所述当前任务节点以及所述目标设备节点为原子属性节点。
在其中一个实施例中,将所述原子属性任务序列作为一个整体进行调度,得到原子属性任务序列的调度信息包括:
获取所述原子属性任务序列中的所述当前任务节点的前置任务,所述当前任务节点为所述原子属性任务序列的首节点;
若所述前置任务执行完毕,则为所述原子属性任务序列分配任务标识,以对所述原子属性任务序列进行整体调度,获取原子属性任务序列的调度信息。
在其中一个实施例中,所述方法包括:
确定所述原子属性任务序列的目标设备;
对所述目标设备的进行原子属性配置,以锁定所述目标设备;
其中,所述目标设备用于执行原子属性任务序列中的任务直至所述原子属性任务序列中全部的任务被执行完毕。
在其中一个实施例中,对所述待目标设备的进行原子属性配置,以锁定所述目标设备,包括:
在所述原子属性任务序列被执行前,将所述目标设备的原子属性配置为调整为第一预设值,以使所述目标设备处于被占用状态;
在所述原子属性任务序列被执行后,将所述目标设备的原子属性配置为调整为第二预设值,以使所述目标设备处于未占用状态。
在其中一个实施例中,确定所述原子属性任务序列的目标设备,包括:
根据所述原子任务序列中任务的任务类型与亲和性获取对应的目标设备范围,若所述目标设备范围内存在空闲设备,则将该所述目标设备范围内的空闲设备作为所述目标设备;
若所述目标设备范围内不存在空闲设备,则查看其他空闲设备。
在其中一个实施例中,所述方法还包括:
获取所述原子属性任务序列中各个任务同类型且同亲和性的其他任务;
将所述原子属性任务序列中各个任务,以及与获取原子属性任务序列中各个任务同类型且同亲和性的其他任务按照执行顺序派发至同一硬件队列;其中,所述原子属性任务序列中各个任务被连续派发至所述同一硬件队列;所述硬件队列对应的目标设备用于接收所述硬件队列中的任务并执行。
在其中一个实施例中,所述方法还包括:
根据原子属性任务序列中各个任务的依赖关系对所述原子属性任务序列中各个任务在所述目标设备上的处理状态进行监测;
在所述原子属性任务序列中各个任务全部执行完毕后,接收所述目标设备返回的所述原子属性任务序列的执行结果。
一种任务处理装置,所述装置包括:
访问模块,用于访问任务序列的任务节点;
获取模块,用于若当前任务节点为原子属性节点,则根据所述当前任务节点及所述任务序列中任务节点的依赖关系确定原子属性任务序列;其中,原子属性任务序列包含在目标设备上连续执行的多个任务。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现任一实施例方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现任一实施例方法的步骤。
上述任务处理方法、装置、计算机设备和存储介质,通过识别任务序列的原子属性节点,并基于该原子属性节点得到原子属性任务序列,该原子属性任务序列包含的任务在目标设备上被连续执行,由于原子属性任务序列中各个任务可以复用设备上的数据,因此,本实施例的方法不仅可以减少任务执行过程中的设备之间的数据交换,而且可以减少需连续执行的任务时的数据拷贝。
附图说明
图1为一个实施例中任务处理系统的结构框图;
图2为一个实施例中人工智能处理器的架构示意图;
图3为一个实施例中任务处理方法的流程示意图;
图4为一个实施例中步骤S220的细化步骤的流程示意图;
图5为一个实施例中任务处理方法的补充步骤的流程示意图;
图6为另一个实施例中任务处理方法的补充步骤的流程示意图;
图7为再一个实施例中任务处理方法的补充步骤的流程示意图;
图8为再一个实施例中任务处理方法的补充步骤的流程示意图;
图9为一个实施例中任务处理装置的结构框图;
图10为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本公开提供的任务调度方法,可以应用于如图1所示的任务处理系统中。其中,任务调度装置100与设备200连接。其中,任务调度装置100可以对任务进行调度,得到任务的调度信息。任务调度装置100可以包括存储器(未示出),该存储器用于存储数据。可选地,该设备可以为处理器、处理器核、芯片或板卡等,此处不做具体限定。在本申请实施例中,以该设备为处理器核为例进行举例说明。该处理器可以为人工智能处理器(IPU),该人工智能处理器可以为多核处理器,即该人工智能处理器包括多个处理器核。可选地,该人工智能处理器包括但不限于加速处理器APU(Accelerated Processing Unit)、图形处理器GPU(Graphics Processing Unit)、神经网络处理器NPU(neural-network processing units)等人工智能处理器。
可选地,在一个实施例中,该实施例中的人工智能处理器可以采用图2所示的架构。在其他可能实现的方式中,各个象限还可以包含四个以上的设备和1个内存节点,该内存节点可以包括多个子内存节点。例如,各个节点可以包括四个子节点,即每个节点可以包括16个设备。每个子节点包含四个设备和1个子内存节点,四个子节点的排布方式可以按照四个节点的方式排布。此处仅以举例说明,并不限定具体的实现方式。
在一个实施例中,如图3所示,提供了一种任务处理方法,以该方法应用于图1中的任务处理系统为例进行说明,上述方法可以包括以下步骤:
步骤210,访问任务序列的任务节点。
其中,任务序列可以根据可执行程序得到。可执行程序为程序代码经编译汇编链接得到的二进制指令序列。任务序列中可以包含多个任务节点,这些任务节点根据属性可以分为设备节点(例如kernel节点),内存分配节点,数据搬移节点等等,此处不做具体限定。具体地,任务调度装置100访问任务序列的任务节点,并获取这些任务节点的属性等信息,该任务节点的属性可以用于表示任务节点的类型。其中,设备节点可以是能够在设备200上运行的任务节点。
可选地,该任务可以为神经网络模型的任务,任务节点可以是神经网络模型中用于实现特定运算功能的算子,神经网络模型中包含多个算子之间通过权值连接,权值与算子构成神经网络的结构。可选地,该神经网络模型中的算子包括但不限于卷积算子、全连接算子、池化算子等等。神经网络模型中的算子可以构成上述的设备节点。
步骤220,若当前任务节点为原子属性节点,则根据所述当前任务节点及所述任务序列中任务节点的数据复用需求确定原子属性任务序列。
其中,原子属性节点可以是需要使用设备200上的私有资源(私有资源可以包括运算资源和/或存储资源)的任务节点,原子属性节点可以包括任务规模大于预设阈值的设备节点。
可选地,该任务节点的任务规模可以用于表示执行该任务节点所需的运算单元的目标数目,任务节点的任务规模可以分为Block任务和Union任务。例如,当Union=1时,则表明运行该任务需要一个象限中的四个设备。当Union=2时,则表明运行该任务需要两个象限中的八个设备。当Union=3时,则表明运行该任务需要三个象限中的十二个设备。当Union=4时,则表明运行该任务需要四个象限中的十六个设备。当该任务规模为Block任务时,则表明运行该任务需要1个设备。本申请实施例中,原子属性节点为任务规模为Union的节点,该原子属性节点的任务规模不能为Block任务,也就是说,该原子属性节点的任务规模大于1。
可选地,一个原子属性任务序列中相邻的两个原子任务节点中在先的任务节点称之为前节点,在后的任务节点称之为后节点,该前节点和后节点同为设备节点,且其任务规模相同。为了保证包含原子属性任务序列的任务序列执行时的逻辑准确,前节点不能有除原子属性任务序列对应的任务节点以外的其它下级任务节点;后节点不能有除原子属性任务序列对应的任务节点以外的其它上级任务节点。此处的上级节点和下级节点是指非原子属性节点,例如,数据搬运节点等等。进一步地,由于内存分配节点不会破坏前节点和后节点之间的原子属性,因此前节点与后节点之间的节点之间可以包含内存分配节点,即该内存分配节点也可以视为原子属性任务节点,该原子属性任务序列中可以包括内存分配节点。
更进一步地,任务调度装置可以遍历该任务序列,若当前任务节点为原子属性节点,任务调度装置100根据所述当前任务节点及所述任务序列中任务节点的数据复用需求确定原子属性任务序列。原子属性任务序列包含至少一个原子属性节点,该至少一个原子属性节点在目标设备上被连续执行,从而可以实现原子任务序列中各个任务节点之间的数据复用需求,避免多次数据搬运,从而降低对带宽的压力。其中的目标设备为选自设备200中的部分或全部的设备。
上述任务处理方法中,通过识别任务序列的原子属性节点,并基于该原子属性节点得到原子属性任务序列,该原子属性任务序列包含的任务在目标设备上被连续执行,由于原子属性任务序列中各个任务可以复用设备上的数据,因此,本实施例的方法不仅可以减少任务执行过程中的设备之间的数据交换,而且可以减少需连续执行的任务时的数据拷贝。
在其中一个实施例中,步骤S220可以包括:
根据所述当前任务节点的任务规模和所述任务序列中的数据复用需求,确定与所述当前任务节点关联的目标原子属性节点,以确定原子属性任务序列。
可选地,任务调度装置100在访问各个任务节点时可以获取任务节点的任务规模、属性、数据流关系等信息。其中的任务规模可以是block任务和union任务,关于任务规模的解释具体可参见上文的描述。其中的原子属性任务序列中的数据复用需求可以是指各个任务节点之间的数据依赖关系。具体地,当任务序列中的后节点的执行需要依赖前节点的运算结果时,则表明前节点和后节点之间存储数据依赖关系,后节点和前节点之间存在数据复用需求。
可选地,任务调度装置100可以首先获取任务序列的任务关系图,该任务关系图可以包括任务序列中各个任务的任务节点以及各个任务的数据流向。任务调度装置100可以根据任务关系图中任务节点的属性、任务规模以及数据流向确定任务序列中有数据复用需求的任务节点。可选地,有数据复用需求的任务节点可以包括设备节点和内存分配节点(malloc节点)。任务调度装置可以将该当前任务节点关联的在后节点(该在后节点可以是设备节点和/或内存分配节点)作为目标原子属性节点。其中,当前任务节点可以是原子属性节点,当前任务节点可以是原子属性任务序列的首节点。
可选地,如图4所示,上述步骤S220可以包括:
步骤S221,遍历所述任务序列的任务节点,确定具有原子属性的当前任务节点。
步骤S222,根据所述任务序列的任务关系图,从所述任务序列中查找与所述当前任务节点之间存在数据复用需求,且与所述当前任务节点的任务规模相同的任务节点,并将所述任务节点与所述当前任务节点之间存在数据复用需求,且所述任务节点与所述当前任务节点的任务规模相同,则将所述任务节点确定为与所述当前任务节点关联的目标原子属性节点。其中,与所述当前任务节点存在数据复用需求的任务节点可以是当前任务节点的后节点。
进一步地,由于内存分配节点不会破坏两个原子属性的设备节点之间的数据复用需求,因此,该原子属性的任务序列中还可以包括内存分配节点。可选地,如图5所示,上述步骤S220还可以包括:
S223,确定有数据复用需求的原子属性的设备节点之间的任务节点是否为内存分配节点。
S224,若所述任务节点与所述当前任务节点之间存在数据复用需求,且所述任务节点与所述当前任务节点的任务规模相同,且所述任务节点和所述当前任务节点之间的任务节点为内存分配节点,则将所述任务节点确定为与所述当前任务节点关联的目标原子属性节点。
本实施例的方法根据任务序列中任务节点的任务规模以及数据复用需求,确定任务节点中的原子属性节点,该方法可以准确的获取到任务序列中的原子属性节点。
在其中一个可选地实施例中,上述任务处理方法还包括:将所述原子属性任务序列作为一个整体进行调度,得到原子属性任务序列的调度信息;其中,所述调度信息使得所述原子属性任务序列在所述目标设备上连续执行。
一般地,任务调度装置在任务调度的过程中会给每个任务节点分配一个任务标识(task id),并基于各个任务的任务标识将各个任务分配至至少一个设备上进行执行。而本申请实施例中,为了保证该原子属性的任务序列中的高效执行,任务调度装置100可以为该原子属性任务序列中分配一个任务标识(task id),即该原子属性任务序列中的至少一个任务节点共用同一个任务标识,此时任务调度装置可以将所述原子属性任务序列作为一个整体进行调度,得到原子属性任务序列的调度信息。该调度信息可以包括该原子属性任务序列中各个任务节点的调度信息,该调度信息使得所述原子属性任务序列在所述目标设备上连续执行。可选地,任务调度装置可以将该原子属性任务序列作为一个整体的拓扑图进行调度,以得到该原子属性任务序列的调度信息。
本申请实施例中,通过将原子属性任务序列作为一个整体进行调度,可以最大限度的满足各个任务节点之间的数据复用需求,提高任务的调度和执行效率。
可选地,如图6所示,所述任务处理方法的任务调度过程还包括:
步骤S231,获取所述原子属性任务序列中的所述当前任务节点的前置任务,所述当前任务节点为所述原子属性任务序列的首节点。
其中,原子属性任务序列的前置任务为必须在原子属性任务序列的首节点对应的任务之前执行的任务。该前置任务可以为分配任务(malloc)。
步骤S232,若所述前置任务执行完毕,则为所述原子属性任务序列分配任务标识,以对所述原子属性任务序列进行整体调度,获取原子属性任务序列的调度信息。
任务调度装置100在获取到原子属性任务序列后会为原子属性任务序列申请任务标识(ID),在分配任务标识之前一般需要首先确定原子属性任务序列的前置任务是否执行完毕(依赖关系是否满足),若所述前置任务执行完毕,才会为所述原子属性任务序列分配任务标识,分配任务标识后,会在状态监控表中使用分配的任务标识增加表项记录原子属性任务序列的执行状态,该执行状态可以包括设备状态,任务是否被调度、执行、异常或者执行完毕等等。需要说明的是,为了实现整体调度状态监控装置为原子属性任务序列整体分配一个任务标识(ID)。在得到任务标识后,任务调度装置100对原子属性任务序列进行整体调度,获取原子属性任务序列的调度信息。
本实施例的方法,在为原子属性任务序列分配任务标识前,首先验证原子属性任务序列依赖关系是否满足,由于原子属性任务序列中任务被连续执行(中间不能穿插其他任务),因此本方法可以保证任务在执行时不会出现逻辑错误。
进一步地,如图7所示,所述任务处理方法的任务调度过程包括:
步骤S241,获取原子属性任务序列的目标设备。
步骤S242,对所述目标设备的进行原子属性配置,以锁定所述目标设备。
其中,所述目标设备用于执行原子属性任务序列中的任务直至所述原子属性任务序列中全部的任务被执行完毕,得到原子属性任务序列的输出结果。
可选地,任务调度装置100可以根据原子属性任务序列中各个任务的任务类型、任务规模以及亲和性原则确定原子属性任务序列的目标设备。在目标设备被锁定后,即表示该设备被独占,直至原子属性任务序列中全部的任务被执行完毕,该设备才会被释放。
具体地,任务调度装置100可以在原子属性任务序列被执行前,将所述目标设备的原子属性(atomic_mask)配置为调整为第一预设值(1),以使所述目标设备处于被占用状态;在原子属性任务序列被执行后,将所述目标设备的原子属性配置为调整为第二预设值(0),以使所述目标设备处于未占用状态。
可选地,为了避免资源利用不均衡,在选用目标设备时,任务调度装置100可以首先根据原子任务序列中任务的任务类型与亲和性获取对应的目标设备范围,若该范围内存在空闲设备,则将该范围内的空闲设备作为所述目标设备;若该范围内不存在空闲设备,则查看其他空闲设备。其中,任务调度装置100根据原子任务序列中任务的任务类型与亲和性确定的目标设备范围,可以是处于同一象限内的设备。
具体地,任务调度装置100可以通过遍历状态监控表查看设备的状态,若目标设备范围内存在空闲设备,则将该范围内的空闲设备作为所述目标设备;若该范围内不存在空闲设备,则查看其他空闲设备。可选地,在不存在空闲设备时,可以确定与该原子任务序列具有同亲和性和相同任务类型的任务节点的当前运行设备,并将该同亲和性的任务节点的当前运行设备作为目标设备。当然,在其他实施例中,任务调度装置还可以从状态监控表中查看设备的状态,并将负载最小的设备作为目标设备。例如,任务调度装置100可以通过遍历状态监控表查看设备的状态,在该原子任务序列中任务所在的象限范围内查找空闲设备,若同一象限内存在空闲设备,则将该象限范围内的空闲设备作为目标设备。若该象限内不存在空闲设备,则可以查找其他象限内是否存在空闲设备。本申请实施例中,通过亲和性原则查找目标设备,可以减少跨象限数据访问带来的访存开销。在亲和性原则不能够满足的情况下,通过放松亲和性,使得待调度任务集能够在其他象限中寻找目标设备,从而可以提高资源利用率和任务处理效率。
可选地,在根据原子任务序列中任务的任务类型与亲和性获取所述目标设备时,可以采用阻断机制,以不再往目标设备上分发新的任务,直至原子任务序列中任务的任务执行完毕。
本实施例通过对所述目标设备的进行原子属性配置锁定所述目标设备,可以保证原子属性任务序列中全部的任务被执行完毕前独占设备,保证了原子属性任务序列中各个任务连续执行。
更进一步地,如图8所示,所述任务处理方法的任务调度过程包括:
步骤S243,获取原子属性任务序列中各个任务同类型且同亲和性的任务。
步骤S244,将原子属性任务序列中各个任务,以及与获取原子属性任务序列中各个任务同类型且同亲和性的任务按照执行顺序派发至同一硬件队列。
其中,所述原子属性任务序列中各个任务被连续派发至所述同一硬件队列。所述硬件队列对应的目标设备用于接收所述硬件队列中的任务并执行。
本实施例的方法,利用硬件队列约束同任务类型且同亲和性的任务的执行顺序,进一步保证原子属性任务序列中各个任务被连续执行。
可选地,任务调度装置100在获取得到原子属性任务序列的调度信息后,获取原子属性任务序列的任务数据,将所述原子属性任务序列的任务数据和调度信息发送至目标设备,目标设备对原子属性任务序列执行原子操作,以使所述原子属性任务序列中的任务在目标设备上被连续执行。
本实施例的方法,对原子属性任务序列进行整体调度,保证原子属性任务可以连续被派发至目标设备,以实现原子属性任务序列中的任务在设备上被连续执行。
在其中一个实施例中,任务调度装置100可以对原子属性任务序列中各个任务的处理状态执行进行监测。具体地,任务调度装置100获取原子属性任务序列中各个任务的依赖关系,根据原子属性任务序列中各个任务的依赖关系对所述原子属性任务序列中各个任务在所述目标设备上的处理状态进行监测;在所述原子属性任务序列中各个任务全部执行完毕后,接收所述目标设备返回的所述原子属性任务序列的执行结果。
本实施例的方法,根据原子属性任务序列中各个任务的依赖关系对所述原子属性任务序列中各个任务进行监测,可以保证原子属性任务序列执行逻辑正确,在所述原子属性任务序列中各个任务全部执行完毕后才触发中断,这可以进一步保证原子属性任务序列中各个任务被连续执行。
应该理解的是,虽然图2-8的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-7中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图9所示,提供了一种任务处理装置,所述装置包括:
访问模块910,用于访问任务序列的任务节点;
获取模块920,用于若当前任务节点为原子属性节点,则根据所述当前任务节点及所述任务序列中任务节点的数据复用需求确定原子属性任务序列;其中,原子属性任务序列包含在目标设备上连续执行的多个任务。
在其中一个实施例中,获取模块920,还用于将所述原子属性任务序列作为一个整体进行调度,得到原子属性任务序列的调度信息;其中,所述调度信息使得所述原子属性任务序列在所述目标设备上连续执行。
在其中一个实施例中,获取模块920具体用于根据所述当前任务节点的任务规模和所述任务序列中的数据复用需求,确定与所述当前任务节点关联的目标原子属性节点;根据所述任务序列中当前任务节点与所述目标原子属性节点之间关联的任务节点,获取所述原子属性任务序列。
在其中一个实施例中,获取模块920具体用于遍历所述任务序列的任务节点,查找所述任务节点中可数据复用的且与所述当前任务节点同任务规模的设备节点,得到所述目标设备节点;若且所述当前任务节点与所述当前任务节点与所述目标设备节点之间的任务节点均为分配节点,则所述当前任务节点以及所述目标设备节点为原子属性节点。
在其中一个实施例中,获取模块920具体用于获取所述原子属性任务序列中的所述当前任务节点的前置任务,所述当前任务节点为所述原子属性任务序列的首节点;若所述前置任务执行完毕,则为所述原子属性任务序列分配任务标识,以对所述原子属性任务序列进行整体调度,获取原子属性任务序列的调度信息。
在其中一个实施例中,获取模块920具体用于确定所述原子属性任务序列的目标设备;对所述目标设备的进行原子属性配置,以锁定所述目标设备;其中,所述目标设备用于执行原子属性任务序列中的任务直至所述原子属性任务序列中全部的任务被执行完毕。
在其中一个实施例中,获取模块920具体用于在所述原子属性任务序列被执行前,将所述目标设备的原子属性配置为调整为第一预设值,以使所述目标设备处于被占用状态;在所述原子属性任务序列被执行后,将所述目标设备的原子属性配置为调整为第二预设值,以使所述目标设备处于未占用状态。
在其中一个实施例中,获取模块920具体用于根据所述原子任务序列中任务的任务类型与亲和性获取对应的目标设备范围,若所述目标设备范围内存在空闲设备,则将该所述目标设备范围内的空闲设备作为所述目标设备;若所述目标设备范围内不存在空闲设备,则查看其他空闲设备。
在其中一个实施例中,获取模块920具体用于获取所述原子属性任务序列中各个任务同类型且同亲和性的其他任务;将所述原子属性任务序列中各个任务,以及与获取原子属性任务序列中各个任务同类型且同亲和性的其他任务按照执行顺序派发至同一硬件队列;其中,所述原子属性任务序列中各个任务被连续派发至所述同一硬件队列;所述硬件队列对应的目标设备用于接收所述硬件队列中的任务并执行。
在其中一个实施例中,获取模块920具体用于根据原子属性任务序列中各个任务的依赖关系对所述原子属性任务序列中各个任务在所述目标设备上的处理状态进行监测;在所述原子属性任务序列中各个任务全部执行完毕后,接收所述目标设备返回的所述原子属性任务序列的执行结果。
关于任务处理装置的具体限定可以参见上文中对任务处理装置的限定,在此不再赘述。上述任务处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种任务处理装置方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:访问任务序列的任务节点;若当前任务节点为原子属性节点,则根据所述当前任务节点及所述任务序列中任务节点的依赖关系确定原子属性任务序列;其中,原子属性任务序列包含在目标设备上连续执行的多个任务。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:将所述原子属性任务序列作为一个整体进行调度,得到原子属性任务序列的调度信息;其中,所述调度信息使得所述原子属性任务序列在所述目标设备上连续执行。
在一个实施例中,处理器执行计算机程序时具体实现以下步骤:根据所述当前任务节点的任务规模和所述任务序列中的数据复用需求,确定与所述当前任务节点关联的目标原子属性节点;根据所述任务序列中当前任务节点与所述目标原子属性节点之间关联的任务节点,获取所述原子属性任务序列。
在一个实施例中,处理器执行计算机程序时具体实现以下步骤:遍历所述任务序列的任务节点,查找所述任务节点中可数据复用的且与所述当前任务节点同任务规模的设备节点,得到所述目标设备节点;若且所述当前任务节点与所述当前任务节点与所述目标设备节点之间的任务节点均为分配节点,则所述当前任务节点以及所述目标设备节点为原子属性节点。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取所述原子属性任务序列中的所述当前任务节点的前置任务,所述当前任务节点为所述原子属性任务序列的首节点;若所述前置任务执行完毕,则为所述原子属性任务序列分配任务标识,以对所述原子属性任务序列进行整体调度,获取原子属性任务序列的调度信息。
在一个实施例中,处理器执行计算机程序时具体实现以下步骤:确定所述原子属性任务序列的目标设备;对所述目标设备的进行原子属性配置,以锁定所述目标设备;其中,所述目标设备用于执行原子属性任务序列中的任务直至所述原子属性任务序列中全部的任务被执行完毕。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:在所述原子属性任务序列被执行前,将所述目标设备的原子属性配置为调整为第一预设值,以使所述目标设备处于被占用状态;在所述原子属性任务序列被执行后,将所述目标设备的原子属性配置为调整为第二预设值,以使所述目标设备处于未占用状态。
在一个实施例中,处理器执行计算机程序时具体实现以下步骤:根据所述原子任务序列中任务的任务类型与亲和性获取对应的目标设备范围,若所述目标设备范围内存在空闲设备,则将该所述目标设备范围内的空闲设备作为所述目标设备;若所述目标设备范围内不存在空闲设备,则查看其他空闲设备。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取所述原子属性任务序列中各个任务同类型且同亲和性的其他任务;将所述原子属性任务序列中各个任务,以及与获取原子属性任务序列中各个任务同类型且同亲和性的其他任务按照执行顺序派发至同一硬件队列;其中,所述原子属性任务序列中各个任务被连续派发至所述同一硬件队列;所述硬件队列对应的目标设备用于接收所述硬件队列中的任务并执行。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据原子属性任务序列中各个任务的依赖关系对所述原子属性任务序列中各个任务在所述目标设备上的处理状态进行监测;在所述原子属性任务序列中各个任务全部执行完毕后,接收所述目标设备返回的所述原子属性任务序列的执行结果。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:访问任务序列的任务节点;若当前任务节点为原子属性节点,则根据所述当前任务节点及所述任务序列中任务节点的数据复用需求确定原子属性任务序列;其中,原子属性任务序列包含在目标设备上连续执行的多个任务。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:将所述原子属性任务序列作为一个整体进行调度,得到原子属性任务序列的调度信息;其中,所述调度信息使得所述原子属性任务序列在所述目标设备上连续执行。
在一个实施例中,计算机程序被处理器执行时具体实现以下步骤:根据所述当前任务节点的任务规模和所述任务序列中的数据复用需求,确定与所述当前任务节点关联的目标原子属性节点;根据所述任务序列中当前任务节点与所述目标原子属性节点之间关联的任务节点,获取所述原子属性任务序列。
在一个实施例中,计算机程序被处理器执行时具体实现以下步骤:遍历所述任务序列的任务节点,查找所述任务节点中可数据复用的且与所述当前任务节点同任务规模的设备节点,得到所述目标设备节点;若且所述当前任务节点与所述当前任务节点与所述目标设备节点之间的任务节点均为分配节点,则所述当前任务节点以及所述目标设备节点为原子属性节点。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取所述原子属性任务序列中的所述当前任务节点的前置任务,所述当前任务节点为所述原子属性任务序列的首节点;若所述前置任务执行完毕,则为所述原子属性任务序列分配任务标识,以对所述原子属性任务序列进行整体调度,获取原子属性任务序列的调度信息。
在一个实施例中,计算机程序被处理器执行时具体实现以下步骤:确定所述原子属性任务序列的目标设备;对所述目标设备的进行原子属性配置,以锁定所述目标设备;其中,所述目标设备用于执行原子属性任务序列中的任务直至所述原子属性任务序列中全部的任务被执行完毕。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:在所述原子属性任务序列被执行前,将所述目标设备的原子属性配置为调整为第一预设值,以使所述目标设备处于被占用状态;在所述原子属性任务序列被执行后,将所述目标设备的原子属性配置为调整为第二预设值,以使所述目标设备处于未占用状态。
在一个实施例中,处理器执行计算机程序时具体实现以下步骤:根据所述原子任务序列中任务的任务类型与亲和性获取对应的目标设备范围,若所述目标设备范围内存在空闲设备,则将该所述目标设备范围内的空闲设备作为所述目标设备;若所述目标设备范围内不存在空闲设备,则查看其他空闲设备。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取所述原子属性任务序列中各个任务同类型且同亲和性的其他任务;将所述原子属性任务序列中各个任务,以及与获取原子属性任务序列中各个任务同类型且同亲和性的其他任务按照执行顺序派发至同一硬件队列;其中,所述原子属性任务序列中各个任务被连续派发至所述同一硬件队列;所述硬件队列对应的目标设备用于接收所述硬件队列中的任务并执行。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据原子属性任务序列中各个任务的依赖关系对所述原子属性任务序列中各个任务在所述目标设备上的处理状态进行监测;在所述原子属性任务序列中各个任务全部执行完毕后,接收所述目标设备返回的所述原子属性任务序列的执行结果。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (13)

1.一种任务处理方法,所述方法包括:
访问任务序列的任务节点;
若当前任务节点为原子属性节点,则根据所述当前任务节点及所述任务序列中任务节点的数据复用需求确定原子属性任务序列;其中,原子属性任务序列包含在目标设备上连续执行的多个任务。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述原子属性任务序列作为一个整体进行调度,得到原子属性任务序列的调度信息;其中,所述调度信息使得所述原子属性任务序列在所述目标设备上连续执行。
3.根据权利要求1所述的方法,其特征在于,根据所述当前任务节点及所述任务序列中任务节点的数据复用需求确定原子属性任务序列包括:
根据所述当前任务节点的任务规模和所述任务序列中的数据复用需求,确定与所述当前任务节点关联的目标原子属性节点,以确定所述原子属性任务序列。
4.根据权利要求3所述的方法,其特征在于,根据所述当前任务节点的任务规模和所述任务序列中的数据复用需求,确定与所述当前任务节点关联的目标原子属性节点,包括:
若所述任务节点与所述当前任务节点之间存在数据复用需求,且所述任务节点与所述当前任务节点的任务规模相同,则将所述任务节点确定为与所述当前任务节点关联的目标原子属性节点。
5.根据权利要求3所述的方法,其特征在于,根据所述当前任务节点的任务规模和所述任务序列中的数据复用需求,确定与所述当前任务节点关联的目标原子属性节点,包括:
若所述任务节点与所述当前任务节点之间存在数据复用需求,且所述任务节点与所述当前任务节点的任务规模相同,且所述任务节点和所述当前任务节点之间的任务节点为内存分配节点,则将所述任务节点确定为与所述当前任务节点关联的目标原子属性节点。
6.根据权利要求2所述的方法,其特征在于,将所述原子属性任务序列作为一个整体进行调度,得到原子属性任务序列的调度信息包括:
获取所述原子属性任务序列中的所述当前任务节点的前置任务,所述当前任务节点为所述原子属性任务序列的首节点;
若所述前置任务执行完毕,则为所述原子属性任务序列分配任务标识,以对所述原子属性任务序列进行整体调度,获取原子属性任务序列的调度信息。
7.根据权利要求6所述的方法,其特征在于,所述方法包括:
确定所述原子属性任务序列的目标设备;
对所述目标设备的进行原子属性配置,以锁定所述目标设备;
其中,所述目标设备用于执行原子属性任务序列中的任务直至所述原子属性任务序列中全部的任务被执行完毕。
8.根据权利要求7所述的方法,其特征在于,对所述待目标设备的进行原子属性配置,以锁定所述目标设备,包括:
在所述原子属性任务序列被执行前,将所述目标设备的原子属性配置为调整为第一预设值,以使所述目标设备处于被占用状态;
在所述原子属性任务序列被执行后,将所述目标设备的原子属性配置为调整为第二预设值,以使所述目标设备处于未占用状态。
9.根据权利要求7所述的方法,其特征在于,确定所述原子属性任务序列的目标设备,包括:
根据所述原子任务序列中任务的任务类型与亲和性获取对应的目标设备范围,若所述目标设备范围内存在空闲设备,则将该所述目标设备范围内的空闲设备作为所述目标设备;
若所述目标设备范围内不存在空闲设备,则查看其他空闲设备。
10.根据权利要求6-9任一项所述的方法,其特征在于,所述方法还包括:
获取所述原子属性任务序列中各个任务同类型且同亲和性的其他任务;
将所述原子属性任务序列中各个任务,以及与获取原子属性任务序列中各个任务同类型且同亲和性的其他任务按照执行顺序派发至同一硬件队列;其中,所述原子属性任务序列中各个任务被连续派发至所述同一硬件队列;所述硬件队列对应的目标设备用于接收所述硬件队列中的任务并执行。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
根据原子属性任务序列中各个任务的依赖关系对所述原子属性任务序列中各个任务在所述目标设备上的处理状态进行监测;
在所述原子属性任务序列中各个任务全部执行完毕后,接收所述目标设备返回的所述原子属性任务序列的执行结果。
12.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至11中任一项所述方法的步骤。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至11中任一项所述的方法的步骤。
CN202010102569.4A 2020-02-19 2020-02-19 任务处理方法、装置、计算机设备和存储介质 Active CN113282382B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010102569.4A CN113282382B (zh) 2020-02-19 2020-02-19 任务处理方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010102569.4A CN113282382B (zh) 2020-02-19 2020-02-19 任务处理方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN113282382A true CN113282382A (zh) 2021-08-20
CN113282382B CN113282382B (zh) 2024-03-19

Family

ID=77275114

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010102569.4A Active CN113282382B (zh) 2020-02-19 2020-02-19 任务处理方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN113282382B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102902573A (zh) * 2012-09-20 2013-01-30 北京搜狐新媒体信息技术有限公司 一种基于共享资源的任务的处理方法及装置
US20170061143A1 (en) * 2015-08-27 2017-03-02 International Business Machines Corporation Task scheduling on hybrid clouds using anonymization
CN108415740A (zh) * 2018-03-09 2018-08-17 成都优易数据有限公司 一种应用于数据分析任务的工作流调度方法
CN110187958A (zh) * 2019-06-04 2019-08-30 上海燧原智能科技有限公司 一种任务处理方法、装置、系统、设备及存储介质
CN110554909A (zh) * 2019-09-06 2019-12-10 腾讯科技(深圳)有限公司 任务的调度处理方法、装置及计算机设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102902573A (zh) * 2012-09-20 2013-01-30 北京搜狐新媒体信息技术有限公司 一种基于共享资源的任务的处理方法及装置
US20170061143A1 (en) * 2015-08-27 2017-03-02 International Business Machines Corporation Task scheduling on hybrid clouds using anonymization
CN108415740A (zh) * 2018-03-09 2018-08-17 成都优易数据有限公司 一种应用于数据分析任务的工作流调度方法
CN110187958A (zh) * 2019-06-04 2019-08-30 上海燧原智能科技有限公司 一种任务处理方法、装置、系统、设备及存储介质
CN110554909A (zh) * 2019-09-06 2019-12-10 腾讯科技(深圳)有限公司 任务的调度处理方法、装置及计算机设备

Also Published As

Publication number Publication date
CN113282382B (zh) 2024-03-19

Similar Documents

Publication Publication Date Title
Stankovic et al. The spring kernel: A new paradigm for real-time systems
US8996811B2 (en) Scheduler, multi-core processor system, and scheduling method
CN114741207B (zh) 一种基于多维度组合并行的gpu资源调度方法和系统
CN111104208B (zh) 进程调度管理方法、装置、计算机设备及存储介质
US10140161B1 (en) Workload aware dynamic CPU processor core allocation
Reano et al. Intra-node memory safe gpu co-scheduling
Tchernykh et al. Mitigating uncertainty in developing and applying scientific applications in an integrated computing environment
US20040093477A1 (en) Scalable parallel processing on shared memory computers
CN116483546B (zh) 分布式训练任务调度方法、装置、设备及存储介质
US9459930B1 (en) Distributed complementary workload scheduling
CN111506400A (zh) 计算资源分配系统、方法、装置和计算机设备
CN116680078A (zh) 云计算资源调度方法、装置、设备以及计算机存储介质
CN113282382A (zh) 任务处理方法、装置、计算机设备和存储介质
Koc et al. Latency constrained task mapping to improve reliability of high critical tasks in mixed criticality systems
Bhardwaj et al. ESCHER: expressive scheduling with ephemeral resources
Ran et al. Approximate optimal AUTOSAR software components deploying approach for automotive E/E system
Bhardwaj et al. An effective load balancing task allocation algorithm using task clustering
Durrieu et al. Grec: Automatic computation of reconfiguration graphs for multi-core platforms
Comprés Ureña et al. Towards elastic resource management
Vasu et al. Architecture-aware mapping and scheduling of ima partitions on multicore platforms
Ali et al. Virtual gang based scheduling of real-time tasks on multicore platforms
Ha et al. Resource management for parallel processing frameworks with load awareness at worker side
Casanova et al. Mapping applications on volatile resource
Paranjape et al. Optimal workload allocation for performance evaluation on multi-core automotive ECUs
US20050050257A1 (en) Nested locks to avoid mutex parking

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