CN116880994B - 基于动态dag的多处理器任务调度方法、装置及设备 - Google Patents
基于动态dag的多处理器任务调度方法、装置及设备 Download PDFInfo
- Publication number
- CN116880994B CN116880994B CN202311151854.5A CN202311151854A CN116880994B CN 116880994 B CN116880994 B CN 116880994B CN 202311151854 A CN202311151854 A CN 202311151854A CN 116880994 B CN116880994 B CN 116880994B
- Authority
- CN
- China
- Prior art keywords
- task
- processor
- scheduling
- dag
- nodes
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000012163 sequencing technique Methods 0.000 claims abstract description 35
- 238000005265 energy consumption Methods 0.000 claims abstract description 20
- 230000005484 gravity Effects 0.000 claims description 17
- 230000003068 static effect Effects 0.000 claims description 10
- 238000004458 analytical method Methods 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 4
- 238000012545 processing Methods 0.000 description 13
- 238000004422 calculation algorithm Methods 0.000 description 11
- 238000004364 calculation method Methods 0.000 description 10
- 230000001419 dependent effect Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000001174 ascending effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种基于动态DAG的多处理器任务调度方法、装置及设备,该方法包括:根据任务之间的调度依赖关系构建DAG图;统计每一个任务在处理器上运行时间内的能量消耗;统计每一个处理器以最大频率运行时每一个任务节点的可靠性;根据DAG图计算每一个任务节点的出度并根据出度的大小降序排序构建出度队列;根据DAG图计算每一个任务节点的向上排序值并根据排序值降序构建向上排序队列;设定平衡比重参数,遍历并判断向上排序队列中的任务节点在出度队列中的相对位置,使用相关的公式进行任务节点的调度分配,直到遍历完节点完成调度分配。通过本发明方法能够在能量损耗、及时性和可靠性上达到较好的平衡,提高任务调度性能。
Description
技术领域
本发明涉及计算机计算应用领域,尤其涉及一种基于动态DAG的多处理器任务调度方法、装置及设备。
背景技术
随着近年来技术的发展,计算机体系结构带来巨大的改变。单处理计算系统在某些领域内逐步不能满足人们对计算性能的需求,一些特定领域内计算系统逐步从单处理器往多处理器上进行发展。伴随着人工智能等新技术的到来,无人驾驶,工业自动化,无人机等对任务需要实时反馈计算结果的应用上,需要多处理器系统来实现任务的处理。同时又由于它们在能源和安全性上的限制,所以对计算的能量损耗和结果可靠性要求极高。出于以上原因,在多处理器上进行任务调度面临着严格的考验。
早期的任务调度主要集中在单处理器上。在单个处理器上进行任务调度主要分为:先来先服务,短作业优先,高响应比优先调度,时间片轮转,多级反馈队列等,其中个别调度策略中又可以进一步分为可抢占式和非可抢占式调度。它们在单处理器上进行任务调度式只考虑了单个任务的完成时间或者整体任务的完成时间,在能量损耗,任务之间的依赖和及时性上并有没过多的考量。
近年来对计算性能的渴求,多处理器计算系统逐步广泛的应用到的计算任务中。与此同时,多处理器上的任务调度逐步成为在多处理器计算系统中的重点研究对象。应用程序调度问题已经被证明是一个NP完备问题,现存的多处理器上的任务调度多基于启发式算法或者随机搜索引导算法来解决任务调度问题,同时任务调度也要建模为有向无环图DAG来获取任务之间的依赖。例如:HEFT算法,一种面向异构的低复杂度的任务调度算法,就是利用启发式算法以及DAG在处理器上进行任务调度。在HEFT算法中重点考虑了任务的完成时间而并没有考虑调度后的任务能量损耗。LEC (Least Energy Cost) 和MR (MaximumReliability) 调度算法虽然考虑了能量损耗但是在其他性能上相比之下也有不足之处。
过去的研究中虽然取得了很大的进展,但是当前大部分的多任务调度算法中在能量损耗、及时性和可靠性上并没有取得一个较好的平衡。尤其是在边缘计算平台,例如无人机,无人驾驶汽车等对实时性和可靠性要求极高的各种应用场景。
发明内容
本发明的目的在于针对现有技术的不足,提供了基于动态DAG的多处理器任务调度方法、装置及设备。
为实现上述目的,本发明提供了一种基于动态DAG的多处理器任务调度方法,包括以下步骤:
(1)根据任务之间的调度依赖关系,构建动态调度的DAG图,所述DAG图包括多个任务节点;
(2)计算任务在计算系统中每一个处理器上的运行时间,统计任务节点在每一个处理器上的能量损耗;
(3)统计每一个处理器以最大运行频率运行时每一个任务节点的可靠性;
(4)根据步骤(1)构建的DAG图,计算每一个任务节点的出度,并根据出度的大小将每个任务节点按照降序排序构成出度队列;
(5)根据步骤(1)构建的DAG图以及向上排序公式,计算每一个任务节点的向上排序值,并根据每一个任务节点的向上排序值大小按照降序排序构成向上排序队列;
(6)设定平衡比重参数,遍历步骤(5)得到的向上排序队列,判断向上排序队列中的任务节点在步骤(4)得到的出度队列中根据平衡比重参数划分的相对位置,基于步骤(2)得到的能量损耗和步骤(3)得到的可靠性进行任务节点的调度分配,直到遍历完节点完成调度分配。
进一步地,任务开始调度之前先进行依赖性分析,依赖性分析包括分析任务之间的先后执行顺序和依赖性。
进一步地,在计算系统中有多个处理器,其中的每一个处理器都有自己独立的参数,根据处理器的负载电容、加载电压、最大运行频率和硬件相关的硬件因子,计算处理器的最大功耗;并根据最大功耗计算任务在运行时间内每一个处理器上的能量损耗。
进一步地,根据处理器参数计算所有处理器的功耗,所述功耗包含频率相关的动态功耗和静态功耗,所述静态功耗包含频率相关的静态功耗和频率不相关的静态功耗。
进一步地,所述平衡比重参数用于平衡任务完成时间和能量损耗的比重。
进一步地,所述步骤(6)具体为:设定平衡比重参数,从向上排序队列中依次取出任务节点,判断此任务节点在出度队列中根据平衡比重参数划分的相对位置;若节点在出度队列的/>位置之间,则根据可依赖-完成时间公式计算满足公式的任务节点,并将此任务节点分配到对应的处理器上;若节点在出度队列的/>位置之间,则根据耗能公式计算满足公式的任务节点,其中n为任务节点数量,并将此任务节点分配到对应的处理器上。
进一步地,所述步骤(6)中,多次遍历出度队列,动态调整平衡比重参数,选择最优的平衡比重参数,并以最优的平衡比重参数完成调度分配。
为实现上述目的,本发明还提供了一种基于动态DAG的多处理器任务调度装置,包括一个或多个处理器,用于实现上述的基于动态DAG的多处理器任务调度方法。
为实现上述目的,本发明还提供了一种电子设备,包括存储器和处理器,所述存储器与所述处理器耦接;其中,所述存储器用于存储程序数据,所述处理器用于执行所述程序数据以实现上述的基于动态DAG的多处理器任务调度方法。
为实现上述目的,本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述的基于动态DAG的多处理器任务调度方法。
与现有技术相比,本发明的有益效果是:
(1)本发明利用DAG获取任务之间的依赖性,在决策把计算任务分配到计算处理器的时候,同时考虑了任务的计算能量消耗和任务完成的及时性与可靠性,根据处理器的硬件信息计算统计任务的在处理器上的运行能耗和可靠性;
(2)本发明为解决DAG节点任务的分配提出了根据图中的出度和向上排名相结合的方法,进行任务到处理器的分配调度算法;通过设定平衡参数,并利用向上排序队列根据它们在出度队列中的相对位置进行调度分配进而提高了调度性能;
(3)本发明基于DAG进行任务分配后的处理器上的分布,在满足可靠性的前提下进行能量损耗的优化。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1是本发明方法的整体计算流程图;
图2是本发明方法中的DAG示意图;
图3是本发明实施例中的快速傅里叶变换DAG示意图;
图4为本发明装置的示意图;
图5为本发明一种电子设备的示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
实施例1
参见图1,本发明提供的一种基于动态DAG的多处理器任务调度方法,包括以下步骤:
(1)首先根据任务之间的调度依赖关系,构建动态调度的DAG图,所述DAG图包括多个任务节点。
具体地,任务开始调度之前先进行依赖性分析,分析任务之间的先后执行顺序和依赖性;如图2所示,整个计算任务包含了12个计算任务节点,分别为T1-T12,其中T1 是计算任务的初始节点;计算任务节点之间的有向箭头代表了计算任务之间的依赖。箭头初始点的计算任务要在箭头指向节点之前完成计算。根据任务之间的依赖关系构建任务之间的DAG依赖图。其中,箭头上的数字代表两个任务节点之间的通信或者调度消耗权重;根据每两个任务节点之间的通信或者调度消耗权重,构建完整的DAG调度图。
(2)然后计算该计算任务在每一个处理器上的运行时间,统计计算任务节点在每一个处理器上的能量损耗。
在计算系统中有多个处理器,其中的每一个处理器都有自己独立的参数,根据处理器的负载电容、加载电压、最大运行频率和硬件相关的硬件因子,可以计算处理器的最大功耗;并根据最大功耗计算任务在运行时间内每一个处理器上的能量损耗。
根据处理器参数设置,利用总功耗公式计算所有处理器的功耗;并利用能量损耗公式统计最大频率下的运行时间/>的能量损耗。
对于一个处理器来说,其功耗主要来源于三个方面:频率相关的动态功耗,频率相关的静态功耗,以及频率不相关的静态功耗(即cpu加电启动后,电流经过晶体管,在相应的晶体管部件中因为各种泄露或竞争电流产生的基本功耗);其中频率相关的动态功耗占主导地位。动态功耗可以建模为,其中/>是硬件相关的动态因子,/>是负载电容,/>是加载电压,/>是动态的频率。由于频率正比于电压,所以动态功耗可以简单建模为/>,其中/>近似3;其余的功耗可以表示为/>;则总功耗为:/>。
对处理器的频率进行归一化,使得最大频率。假设/>是子任务/>在具有最大频率/>处理器上的执行时间,当操作频率为/>时,子任务/>的执行时间可以计算为:/>。完成子任务/>所需的能量是处理器功耗和执行时间的乘积,有如下能量损耗公式:/>。
(3)根据处理器参数统计每个处理器以最大频率运行时每个任务节点的可靠性。
在计算系统中的每一个处理器在最大运行频率下都有一定的瞬时故障的发生。可以根据硬件相关的故障发生率计算在运行时间内每一个处理器上任务节点的故障发生概率。
任务的可靠性被定义为在执行过程中没有故障的概率。与许多其他工作类似,关注的主要是瞬态故障。这些故障与处理器频率有关,可以用以下指数分布进行建模:
其中,表示最大运行频率下的每秒平均故障次数,d是硬件相关常数,/>是最小可用频率。根据处理器的参数设置,在具有频率/>的处理器上执行的子任务/>的可靠性可以计算为:
。
(4)根据步骤(1)构建的DAG图,计算每一个节点的出度,并根据出度的大小将每个任务节点按照降序排序构成出度队列OQ。
(5)根据构建的DAG图以及向上排序公式,计算每一个任务节点的向上排序值,并根据每一个任务节点的向上排序值大小按照降序排序构成向上排序队列RQ。
假设有m个处理器,则有向上排序公式如下:
其中,公式为计算/>节点的向上排序公式,/>为第/>个节点/>在第k个处理器上的运行时间,/>是节点/>的后继节点集合,/>是/>的后继节点,/>是节点i到节点j的通信消耗或者调度消耗。
(6)设定相应的平衡比重参数,遍历向上排序队列RQ判断队列中的任务节点在出度队列OQ中根据平衡比重参数划分的相对位置,并分别使用相关的公式进行任务节点的调度分配,直到遍历完任务节点,完成调度分配。
具体地,设置参数为平衡比重参数,并根据任务节点总数的中位数初始化平衡比重参数/>,用来平衡任务完成时间和能量消耗的比重。从向上排序队列RQ中依次取出节点/>,判断此节点在出度队列OQ中根据平衡比重参数划分的相对位置。若任务节点在之间,则根据可依赖-完成时间公式:/>,计算满足公式的任务节点,并将此任务节点分配到对应的处理器上;若在/>之间,则根据耗能公式:/>,计算满足公式的任务节点,把此任务节点分配到对应的处理器上。多次遍历出度队列 OQ,动态调整平衡比重参数,选择最优的平衡比重参数,最终按最优的平衡比重参数完成调度分配。
其中,是任务节点i以最大运行频率在处理器节点k上运行的完成时间,/>是任务节点i在k上的可靠性,/>是节点i在k上的执行时间,n为节点数量;/>都是可学习的超参数,共同用来动态平衡完成时间、可靠性和能量消耗;/>是节点/>在处理器k上以最大运行频率运行时的能量消耗。
实施例2
通过以下实验对本发明的一种基于动态DAG的多处理器任务调度方法和一些经典的调度算法进行对比,并验证了本发明方法良好的性能。本实施例在具有 16 GB 内存的i7 处理器的笔记本电脑上模拟具有32个处理器的计算系统。处理器的参数在以下范围内随机设置:,c∈[0.8,1.3],f∈[0.3,1.0],/>,,d∈[1,3]。
在本实施例中,利用快速傅里叶变换任务,来生成对应的任务节点集合进而构建任务的DAG图。如图3所示,快速傅里叶变换的一个简单例子构成的DAG图。快速傅里叶变换具有高度的并行度以及计算依赖,在图3示例中此项任务有15个子任务节点,计算节点T2与T3是两个并行的分支;分别地,在T2分支中,T4与T5又是两个并行的分支;具体到T9又同时依赖 T4和T5,后续分支依赖也如图3中箭头所示;在T3中类似;如此高度并行的又具有复杂依赖的计算任务,可以很好的以此来评估调度算法的性能。
本实施例的具体步骤为:
(1)获取计算任务DAG。
根据计算任务之间的依赖关系,构建任务之间的DAG计算依赖图以及每一个任务节点之间的通信或者调度消耗权重,构建完整的DAG调度图。
(2)计算统计任务在每个处理器上的能耗。
根据处理器参数设置,利用总功耗公式:,计算所有的处理器的功耗。在此基础上统计最大频率下/>的运行时间/>的能量损耗,此步骤使用能量损耗公式:。
(3)计算任务在每个处理器上的可靠性。
根据处理器的参数设置,利用可靠性公式:,计算每个任务以最大运行频率在每一个处理器上执行时间/>的可靠性。
(4)构建出度队列。
根据DAG图计算每一个任务节点的出度,并根据出度的大小把每个任务节点按照降序排序构成出度队列OQ。
(5)构建向上排序队列。
根据DAG图以及向上排序公式:,计算每一个任务节点的向上排序值,并根据每一个任务节点的向上排序值大小按照降序排序构成向上排序队列RQ。
(6)进行节点分配。
设置参数用来平衡完成时间和能量消耗的比重。从向上排序队列RQ中依次取出任务节点/>,判断此任务节点在出度队列中的位置。若任务节点在/>之间,则根据公式:/>,计算满足公式的任务节点,并此任务节点分配到对应的处理器上;若在/>之间,则根据公式:/>,计算满足公式的任务节点,把此任务节点分配到对应的处理器上。
实施例3
与前述基于动态DAG的多处理器任务调度方法的实施例相对应,本发明还提供了基于动态DAG的多处理器任务调度装置的实施例。
参见图4,本发明实施例提供的基于动态DAG的多处理器任务调度装置,包括一个或多个处理器,用于实现上述实施例中的基于动态DAG的多处理器任务调度方法。
本发明基于动态DAG的多处理器任务调度装置的实施例可以应用在任意具备数据处理能力的设备上,该任意具备数据处理能力的设备可以为诸如计算机等设备或装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在任意具备数据处理能力的设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图4所示,为本发明基于动态DAG的多处理器任务调度装置所在任意具备数据处理能力的设备的一种硬件结构图,除了图4所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的任意具备数据处理能力的设备通常根据该任意具备数据处理能力的设备的实际功能,还可以包括其他硬件,对此不再赘述。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
实施例4
与前述基于动态DAG的多处理器任务调度方法的实施例相对应,本申请实施例还提供一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述的基于动态DAG的多处理器任务调度方法。如图5所示,为本申请实施例提供的基于动态DAG的多处理器任务调度方法所在任意具备数据处理能力的设备的一种硬件结构图,除了图5所示的处理器、内存、DMA控制器、磁盘、以及非易失内存之外,实施例中装置所在的任意具备数据处理能力的设备通常根据该任意具备数据处理能力的设备的实际功能,还可以包括其他硬件,对此不再赘述。
实施例5
与前述基于动态DAG的多处理器任务调度方法的实施例相对应,本发明实施例还提供一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现上述实施例中的基于动态DAG的多处理器任务调度方法。
所述计算机可读存储介质可以是前述任一实施例所述的任意具备数据处理能力的设备的内部存储单元,例如硬盘或内存。所述计算机可读存储介质也可以是任意具备数据处理能力的设备,例如所述设备上配备的插接式硬盘、智能存储卡(Smart Media Card,SMC)、SD卡、闪存卡(Flash Card)等。进一步的,所述计算机可读存储介质还可以既包括任意具备数据处理能力的设备的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述任意具备数据处理能力的设备所需的其他程序和数据,还可以用于暂时地存储已经输出或者将要输出的数据。
上述内容仅为本发明的较佳实施例,不能因此而理解为对本发明专利的范围的限制。对本领域的技术人员而言,进行各种变化、组合、简化、修饰、替代和重新调整等,均应为等效的置换方式,不会脱离本发明的保护范围。因此,虽然通过上述实施示例对本发明进行了较为详细的描述,但是本发明不仅仅限于以上实施示例,在本发明的保护范围之内,还包括更多其它等效实施示例。
Claims (6)
1.一种基于动态DAG的多处理器任务调度方法,其特征在于,包括以下步骤:
(1)根据任务之间的调度依赖关系,构建动态调度的DAG图,所述DAG图包括多个任务节点;
(2)计算任务在计算系统中每一个处理器上的运行时间,统计任务节点在每一个处理器上的能量损耗;根据处理器的负载电容、加载电压、最大运行频率和硬件相关的硬件因子,计算处理器的最大功耗,所述功耗包含频率相关的动态功耗和静态功耗,所述静态功耗包含频率相关的静态功耗和频率不相关的静态功耗;并根据最大功耗计算任务在运行时间内每一个处理器上的能量损耗;
(3)统计每一个处理器以最大运行频率运行时每一个任务节点的可靠性;
(4)根据步骤(1)构建的DAG图,计算每一个任务节点的出度,并根据出度的大小将每个任务节点按照降序排序构成出度队列;
(5)根据步骤(1)构建的DAG图以及向上排序公式,计算每一个任务节点的向上排序值,并根据每一个任务节点的向上排序值大小按照降序排序构成向上排序队列;
(6)设定平衡比重参数,遍历步骤(5)得到的向上排序队列,判断向上排序队列中的任务节点在步骤(4)得到的出度队列中根据平衡比重参数划分的相对位置,基于步骤(2)得到的能量损耗和步骤(3)得到的可靠性进行任务节点的调度分配,直到遍历完节点完成调度分配;
其中,所述平衡比重参数用于平衡任务完成时间和能量损耗的比重;设定平衡比重参数,从向上排序队列RQ中依次取出任务节点/>,判断此任务节点在出度队列OQ中根据平衡比重参数划分的相对位置,若任务节点在/>之间,则根据可依赖-完成时间公式:/>,计算满足公式的任务节点,并将此任务节点分配到对应的处理器上;若在/>之间,则根据耗能公式:/>,计算满足公式的任务节点,并将此任务节点分配到对应的处理器上;多次遍历出度队列,动态调整平衡比重参数,选择最优的平衡比重参数,并以最优的平衡比重参数完成调度分配;k表示第k个处理器,m表示有m个处理器,/>是任务节点i以最大运行频率在处理器节点k上运行的完成时间,/>是任务节点i在k上的可靠性,/>是任务节点i在k上的执行时间,n为任务节点数量;/>都是可学习的超参数,/>是任务节点/>在处理器k上以最大运行频率运行时的能量消耗。
2.根据权利要求1所述的基于动态DAG的多处理器任务调度方法,其特征在于,任务开始调度之前先进行依赖性分析,依赖性分析包括分析任务之间的先后执行顺序和依赖性。
3.根据权利要求1所述的基于动态DAG的多处理器任务调度方法,其特征在于,在计算系统中有多个处理器,其中的每一个处理器都有自己独立的参数。
4.一种基于动态DAG的多处理器任务调度装置,其特征在于,包括一个或多个处理器,用于实现权利要求1-3中任一项所述的基于动态DAG的多处理器任务调度方法。
5.一种电子设备,包括存储器和处理器,其特征在于,所述存储器与所述处理器耦接;其中,所述存储器用于存储程序数据,所述处理器用于执行所述程序数据以实现上述权利要求1-3任一项所述的基于动态DAG的多处理器任务调度方法。
6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-3任一项所述的基于动态DAG的多处理器任务调度方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311151854.5A CN116880994B (zh) | 2023-09-07 | 2023-09-07 | 基于动态dag的多处理器任务调度方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311151854.5A CN116880994B (zh) | 2023-09-07 | 2023-09-07 | 基于动态dag的多处理器任务调度方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116880994A CN116880994A (zh) | 2023-10-13 |
CN116880994B true CN116880994B (zh) | 2023-12-12 |
Family
ID=88268459
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311151854.5A Active CN116880994B (zh) | 2023-09-07 | 2023-09-07 | 基于动态dag的多处理器任务调度方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116880994B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117891584B (zh) * | 2024-03-15 | 2024-05-14 | 福建顶点软件股份有限公司 | 基于dag分组的任务并行度调度方法、介质和设备 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110069341A (zh) * | 2019-04-10 | 2019-07-30 | 中国科学技术大学 | 边缘计算中结合功能按需配置的有依赖关系任务的调度方法 |
CN111367644A (zh) * | 2020-03-17 | 2020-07-03 | 中国科学技术大学 | 一种面向异构融合系统的任务调度方法及装置 |
CN112346828A (zh) * | 2019-08-06 | 2021-02-09 | 北京沃东天骏信息技术有限公司 | 基于分布式异构系统的任务配置方法、装置及存储介质 |
CN112764903A (zh) * | 2021-01-22 | 2021-05-07 | 西安电子科技大学 | 异构环境下带有特殊任务的任务调度方法、系统及应用 |
CN114327526A (zh) * | 2022-01-05 | 2022-04-12 | 安徽大学 | 一种移动边缘计算环境中的任务卸载方法及其应用 |
CN114756358A (zh) * | 2022-06-15 | 2022-07-15 | 苏州浪潮智能科技有限公司 | 一种dag任务调度方法、装置、设备及存储介质 |
CN114756345A (zh) * | 2022-04-06 | 2022-07-15 | 网易(杭州)网络有限公司 | 任务调度方法及装置、计算机可读存储介质、电子设备 |
CN116048758A (zh) * | 2023-01-06 | 2023-05-02 | 深信服科技股份有限公司 | 调度方法、装置、设备及存储介质 |
CN116233927A (zh) * | 2023-03-15 | 2023-06-06 | 桂林电子科技大学 | 一种在移动边缘计算中负载感知的计算卸载节能优化方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10831633B2 (en) * | 2018-09-28 | 2020-11-10 | Optum Technology, Inc. | Methods, apparatuses, and systems for workflow run-time prediction in a distributed computing system |
KR20220045829A (ko) * | 2020-10-06 | 2022-04-13 | 삼성전자주식회사 | 태스크 수행 방법 및 이를 이용하는 전자 장치 |
-
2023
- 2023-09-07 CN CN202311151854.5A patent/CN116880994B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110069341A (zh) * | 2019-04-10 | 2019-07-30 | 中国科学技术大学 | 边缘计算中结合功能按需配置的有依赖关系任务的调度方法 |
CN112346828A (zh) * | 2019-08-06 | 2021-02-09 | 北京沃东天骏信息技术有限公司 | 基于分布式异构系统的任务配置方法、装置及存储介质 |
CN111367644A (zh) * | 2020-03-17 | 2020-07-03 | 中国科学技术大学 | 一种面向异构融合系统的任务调度方法及装置 |
CN112764903A (zh) * | 2021-01-22 | 2021-05-07 | 西安电子科技大学 | 异构环境下带有特殊任务的任务调度方法、系统及应用 |
CN114327526A (zh) * | 2022-01-05 | 2022-04-12 | 安徽大学 | 一种移动边缘计算环境中的任务卸载方法及其应用 |
CN114756345A (zh) * | 2022-04-06 | 2022-07-15 | 网易(杭州)网络有限公司 | 任务调度方法及装置、计算机可读存储介质、电子设备 |
CN114756358A (zh) * | 2022-06-15 | 2022-07-15 | 苏州浪潮智能科技有限公司 | 一种dag任务调度方法、装置、设备及存储介质 |
CN116048758A (zh) * | 2023-01-06 | 2023-05-02 | 深信服科技股份有限公司 | 调度方法、装置、设备及存储介质 |
CN116233927A (zh) * | 2023-03-15 | 2023-06-06 | 桂林电子科技大学 | 一种在移动边缘计算中负载感知的计算卸载节能优化方法 |
Non-Patent Citations (4)
Title |
---|
Adaptive Energy-Minimized Scheduling of Real-Time Applications in Vehicular Edge Computing;Hu, Biao等;《IEEE TRANSACTIONS ON INDUSTRIAL INFORMATICS》;第19卷;全文 * |
基于有向无环图的移动边缘计算任务调度研究;尚颖;《中国优秀硕士学位论文全文数据库(信息科技辑)》(第7期);全文 * |
异构计算环境下基于优先队列划分的调度算法;王兰;张龙信;满君丰;周立前;李肯立;;小型微型计算机系统(第02期);全文 * |
移动边缘计算中的端到端任务分配算法;左超;武继刚;史雯隽;;计算机应用研究(第07期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116880994A (zh) | 2023-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AlEbrahim et al. | Task scheduling for heterogeneous computing systems | |
Chen et al. | Scheduling energy consumption-constrained workflows in heterogeneous multi-processor embedded systems | |
Zhu et al. | Scheduling stochastic multi-stage jobs to elastic hybrid cloud resources | |
Mayer et al. | The tensorflow partitioning and scheduling problem: it's the critical path! | |
US10678594B2 (en) | System and method for optimizing resource allocation using GPU | |
Gupta et al. | Efficient workflow scheduling algorithm for cloud computing system: a dynamic priority-based approach | |
Mashayekhy et al. | Incentive-compatible online mechanisms for resource provisioning and allocation in clouds | |
CN116880994B (zh) | 基于动态dag的多处理器任务调度方法、装置及设备 | |
Subramoney et al. | Multi-swarm PSO algorithm for static workflow scheduling in cloud-fog environments | |
Wu et al. | Optimizing the performance of big data workflows in multi-cloud environments under budget constraint | |
Zhou et al. | Concurrent workflow budget-and deadline-constrained scheduling in heterogeneous distributed environments | |
Yao et al. | Cutting your cloud computing cost for deadline-constrained batch jobs | |
CN104793993A (zh) | 基于Levy飞行的人工蜂群粒子群算法的云计算任务调度方法 | |
Xu et al. | Laser: A deep learning approach for speculative execution and replication of deadline-critical jobs in cloud | |
Liu et al. | Intelligent energy-efficient scheduling with ant colony techniques for heterogeneous edge computing | |
Thai et al. | Budget constrained execution of multiple bag-of-tasks applications on the cloud | |
Sun et al. | A priority-based task scheduling algorithm in grid | |
Ji et al. | Adaptive workflow scheduling for diverse objectives in cloud environments | |
CN114297041A (zh) | 网络异构计算平台测试方法、装置和计算机设备 | |
Oliveira et al. | Optimizing query prices for data-as-a-service | |
Lee et al. | On resource efficiency of workflow schedules | |
Zheng et al. | A randomization approach for stochastic workflow scheduling in clouds | |
Sahal et al. | GPSO: An improved search algorithm for resource allocation in cloud databases | |
CN112148475B (zh) | 综合负载与功耗的龙芯大数据一体机任务调度方法及系统 | |
Wu et al. | Modeling the virtual machine launching overhead under fermicloud |
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 |