CN114880083A - 一种dag任务执行逻辑复杂度的优化方法及存储介质 - Google Patents

一种dag任务执行逻辑复杂度的优化方法及存储介质 Download PDF

Info

Publication number
CN114880083A
CN114880083A CN202210294290.XA CN202210294290A CN114880083A CN 114880083 A CN114880083 A CN 114880083A CN 202210294290 A CN202210294290 A CN 202210294290A CN 114880083 A CN114880083 A CN 114880083A
Authority
CN
China
Prior art keywords
dag
task
tasks
dag task
execution
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
CN202210294290.XA
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.)
Shenzhen Graduate School Harbin Institute of Technology
Original Assignee
Shenzhen Graduate School Harbin Institute of Technology
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 Shenzhen Graduate School Harbin Institute of Technology filed Critical Shenzhen Graduate School Harbin Institute of Technology
Priority to CN202210294290.XA priority Critical patent/CN114880083A/zh
Publication of CN114880083A publication Critical patent/CN114880083A/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
    • 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/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)
  • Devices For Executing Special Programs (AREA)

Abstract

本发明涉及数据处理领域,特别涉及一种DAG任务执行逻辑复杂度的优化方法及存储介质。基于DAG任务内拓扑结构的特点对其执行时产生的影响进行深度分析,提出了能够有效降低DAG任务执行逻辑复杂度的无效边删除优化方法。首先提出DAG任务内无效边的概念,即DAG任务中子任务之间多余的执行逻辑约束条件。证明了从DAG任务中删除无效边可以在不影响DAG任务固有的执行逻辑和对DAG任务的最坏情况下响应时间分析的前提下来降低其执行逻辑的复杂度。通过大样本空间的数据的实验结果表明,IED优化方法能够平均减少DAG任务中36.96%的无效边,并且平均减少86.9%的DAG任务WCRT分析时间。

Description

一种DAG任务执行逻辑复杂度的优化方法及存储介质
技术领域
本发明涉及数据处理领域,特别涉及一种DAG任务执行逻辑复杂度的优化方法及存储介质。
背景技术
实时系统已经被广泛的应用在了例如边缘计算[1]、工业自动网络[2]以及物联网[3]等领域中。然而,单核处理器的算力不足以满足新场景下实时程序愈加复杂需求。因此,越来越多的实时系统被部署在具有多核处理器的平台上[4],同时对于多核处理器上实时任务调度问题的研究也成为了学者们的热点研究问题[5]
随着上述场景下实时程序(任务)的执行逻辑越来越复杂的趋势,为了分析任务在多核处理器平台上的执行特点以及预测系统运行时状态,这些任务通常建模成有向无环图(Directed acyclic graphic,DAG)任务模型[6]。一个DAG任务由子任务集合和边集合组成。其中,子任务表示实时任务中的执行单元,边表示两个执行单元之间的优先级约束。因此,对于实时任务的执行逻辑的分析可以转变为对于DAG任务拓扑结构的分析。
通过对DAG任务的最坏情况响应时间(the worst-case response time,WCRT) 进行高效分析,可以快速评估任务分配计划的质量,从而在有限的时间内利用大的设计状态空间来寻找好的任务分配策略。然而,随着实时任务的日益复杂,导致对于系统上任务集的WCRT分析的复杂度越来越高,使得DAG任务的 WCRT分析通常会产生过高的开销,从而限制了对好的分配策略的高效搜索降低了系统资源分配的效率。
发明内容
本发明提供一种DAG任务执行逻辑复杂度的优化方法及存储介质,旨在解决系统资源分配效率低的问题。
本发明提供一种DAG任务执行逻辑复杂度的优化方法,包括以下步骤:
S1.输入DAG任务τi的拓扑图为Gi,遍历DAG任务τi中的每一个子任务并判断其是否属于某条无效边;
S2.对于某一子任务Vi,j,判断其前继子任务的个数,对于前继子任务数大于等于2的子任务,遍历其所有不相等的前继子任务对<Vi,a,Vi,b>;Vi,j表示任务τi的第j个子任务;
S3.判断该前继子任务对是否具有优先约束关系Vi,a→Vi,b,如果满足约束关系,则表示e(Vi,a,Vi,j)是一条无效边,将其从Gi中删除;e(Vi,a,Vi,j)表示一条从子任务Vi,a指向子任务Vi,j的有向边;
S4.重复步骤S2、S3将所有无效边都删除,返回删除无效边后DAG任务τi的拓扑图Gi
S5.计算删除无效边后拓扑图Gi内部所有路径的最坏情况下响应时间 WCRT最大值,得到DAG任务的WCRT值。
作为本发明的进一步改进,所述步骤S5中,DAG任务τi的WCRT等价于其内部所有路径的WCRT中的最大值,R(τi)和R(λi,k)分别表示DAG任务τi的WCRT和路径λi,k的WCRT,通过公式(1)、(2)计算得到R(λi,k);
Figure BDA0003562675000000021
Figure BDA0003562675000000022
其中,Ci,j为DAG任务τi中第j个子任务的最坏情况下执行时间;Isi,k)表示任务τi内对路径λi,k造成的自干扰的子任务的最坏情况下执行时间的总和, Ihi,k)表示任务集中优先级高于τi的DAG任务对路径λi,k造成的高干扰总和。
作为本发明的进一步改进,所述R(λi,k)由三部分组成,第一部分为该路径λi,k所包含所有子任务的WCET总和;第二部分为该DAG任务对该路径λi,k造成的自干扰;第三部分为系统中其他高优先级的任务对该路径λi,k造成的高干扰。
作为本发明的进一步改进,所述步骤S2中,j的取值范围为1到|Vi|,|Vi|表示DAG任务τi中子任务的个数。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序配置为实现所述DAG任务执行逻辑复杂度优化方法的步骤。
本发明的有益效果是:本发明提供了一种基于有向无环图(Directed acyclicgraph,DAG)任务模型的系统中DAG任务执行逻辑复杂度的优化方法。基于DAG任务内拓扑结构的特点对其执行时产生的影响进行深度分析,提出了能够有效降低DAG任务执行逻辑复杂度的Invalid Edge Deletion(IED)优化方法。首先提出DAG任务内无效边的概念,即DAG任务中子任务之间多余的执行逻辑约束条件。证明了从DAG任务中删除无效边可以在不影响DAG任务固有的执行逻辑(子任务之间固有的执行优先顺序)和对DAG任务的最坏情况下响应时间(the worst-case response time,WCRT)分析的前提下来降低其执行逻辑的复杂度。通过大样本空间的数据的实验结果表明,IED优化方法能够平均减少DAG任务中36.96%的无效边,并且平均减少86.9%的DAG任务WCRT分析时间。
附图说明
图1是本发明中DAG任务示意图;
图2是本发明中路径数量随边密度变化图;
图3是本发明中不同系统调度方案下WCRT分析时间对比图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。
一、系统模型:
本发明针对DAG任务模型展开研究。DAG任务τi由表示任务内部执行单元(子任务)的集合Vi和表示任务内部执行单元之间的优先约束关系(边)的集合Ei组成。使用Vi,j表示任务τi的第j个子任务,其中Vi,j∈Vi。每一个子任务Vi,j都有其对应的最坏情况下执行时间(the worst-case execution time,WCET)。使用Ci,j来表示Vi,j的WCET。
定义1:如果子任务Vi,j没有完成其执行时子任务Vi,k不能开始其执行,称Vi,j和Vi,k之间具有优先约束并且Vi,j优先约束于Vi,k,记做Vi,j→Vi,k
引理1:根据定义1对优先约束的定义,很容易可以得到优先约束具有传递性。也就是如果Vi,a→Vi,b且Vi,b→Vi,c,那么Vi,a→Vi,c
e(Vi,j,Vi,k)表示一条从子任务Vi,j指向子任务Vi,k的有向边,其中(Vi,j,Vi,k)∈Ei。e(Vi,j,Vi,k)隐含了子任务Vi,j和子任务Vi,k之间的优先约束关系,即Vi,j→Vi,k。对于e(Vi,j,Vi,k),称Vi,j是Vi,k的前继子任务。相对地,Vi,k为Vi,j的后继子任务。对于没有任何前继子任务的子任务称其为源子任务(source subtask)。类似地,称没有任何后继子任务的子任务叫做终止子任务(final subtask)。任何一个DAG 子任务有且仅有一个源子任务和一个终止子任务,对于有多个源子任务或多个终止子任务的DAG任务可以通过添加一个WCET为0的前继子任务或后继子任务来改变为只有一个源子任务和一个终止子任务的DAG任务。
称一个DAG任务内从源子任务出发到终止子任务的一条有向边组成的通路为一条路径(path)。使用λi,k表示DAG任务τi的第k条路径(注意:路径的顺序仅仅是为了区分不同路径,不具有排序意义)。例如,图1为一个DAG 任务τi的例子。τi包含7个子任务、11条边以及7条路径。Vi,1没有完成其执行时Vi,2不能开始其执行,因为有一条有向边e(Vi,1,Vi,2)从Vi,1指向Vi,2
二、DAG任务执行逻辑复杂度优化算法:
用R(τi)和R(λi,k)来分别表示DAG任务τi的WCRT和路径λi,k的WCRT。最新的DAG任务WCRT分析算法表明,DAG任务的WCRT等价于其内部所有路径的WCRT中的最大值[7],如公式(1)所示,其中R(λi,k)可以通过公式(2) 计算得到。
Figure BDA0003562675000000051
Figure BDA0003562675000000052
Figure BDA0003562675000000053
表示求和路径λi,k上所有子任务的最坏情况下执行时间,其中, Ci,j为DAG任务τi中第j个子任务的最坏情况下执行时间;Isi,k)表示任务τi内对路径λi,k造成的自干扰的子任务的最坏情况下执行时间的总和,Is中s为上角标self-interference缩写,用以区分Ih;Ihi,k)表示任务集中优先级高于τi的DAG 任务对路径λi,k造成的高干扰总和,Ih中的h为上角标high-interference缩写,用以区分Is
R(λi,k)由三部分组成,其中第一部分为该路径所包含所有子任务的WCET 总和;第二部分为该DAG任务对该路径造成的自干扰(self-interference);第三部分为系统中其他高优先级的任务对该路径造成的高干扰(high-interference)。这三部分都与被分析路径中所包含的子任务的特性有关(子任务的WCET,所分配的处理器等)有关。
对于每个DAG任务,需要计算其内部所有路径的WCRT并选择最大值作为该DAG任务的WCRT。这导致DAG任务的WCRT分析的开销随着其内部执行逻辑的复杂而增加。然而,基于DAG任务拓扑的特点,不需要分析DAG 任务的所有路径。这是因为可能存在一些不影响DAG任务执行逻辑和其WCRT 分析的边。称这种边为无效边,定义如下。
定义2:对于边e(Vi,a,Vi,b),如果τi内存在不同于Vi,a和Vi,b的子任务Vi,c,Vi,c是Vi,b的前继子任务并且Vi,a优先约束于Vi,c,则称e(Vi,a,Vi,b)为任务τi中的一条无效边。
如图1所示,边e(Vi,1,Vi,4)为一条无效边。因为对于Vi,4而言,存在Vi,2使得 Vi,2是Vi,4的前继子任务并且Vi,1优先约束于Vi,2
引理2:如果DAG任务τi中的路径λi,k包含无效边e(Vi,a,Vi,b),那么τi中一定存在另一条路径
Figure BDA0003562675000000061
使得λi,k中的子任务所构成的集合是
Figure BDA0003562675000000062
中子任务构成的集合的真子集,即
Figure BDA0003562675000000063
证明:首先根据边e(Vi,a,Vi,b)将λi,k分成3个部分:1)从源子任务到Vi,a,用
Figure BDA0003562675000000064
表示;2)e(Vi,a,Vi,b),用
Figure BDA0003562675000000065
表示;3)从Vi,b到终止子任务,用
Figure BDA0003562675000000066
表示。根据引理2的假设和定义2可以知道,存在一个子任务Vi,c,Vi,c是Vi,b的前继子任务并且Vi,a优先约束于Vi,c。因此,在Vi,a和Vi,b之间一定存在一条e(Vi,a,Vi,b)以外的有向边通路
Figure BDA0003562675000000067
其中
Figure BDA0003562675000000068
包含子任务Vi,c。令
Figure BDA0003562675000000069
那么,λi,k中的子任务所构成的集合是
Figure BDA00035626750000000610
中子任务构成的集合的真子集,即
Figure BDA00035626750000000611
定理1:删除DAG任务中的无效边既不会影响其内部子任务之间的执行逻辑也不会影响其WCRT分析。
证明:定理1的证明可以分为两个部分:
1)删除DAG任务中的无效边不会影响其内部子任务之间的执行逻辑;
2)删除DAG任务中的无效边不会影响其WCRT分析结果;
不失一般性,假设边e(Vi,a,Vi,b)为DAG任务τi内的一条无效边。根据定义 2,假设Vi,c是Vi,b的前继子任务并且Vi,a优先约束于Vi,c
DAG任务中任意两个子任务之间的优先约束关系都由其内部的边表示。因此,删除边e(Vi,a,Vi,b)不会对除Vi,a和Vi,b之外的其他子任务产生影响。只需要证明删除e(Vi,a,Vi,b)后Vi,a仍然优先约束于Vi,b即可。
删除e(Vi,a,Vi,b)后,因为Vi,c是Vi,b的前继子任务,所以Vi,c优先约束于Vi,b。此外,Vi,a优先约束于Vi,c,根据引理1所描述的优先约束的传递性可知删除 e(Vi,a,Vi,b)后Vi,a仍然优先约束于Vi,b。因此,删除无效边不会影响其内部子任务之间的执行逻辑;
接下来证明第二部分。假设路径λi,k为包含无效边e(Vi,a,Vi,b)的所有路径中具有最大WCRT的路径。根据引理2可知,DAG任务τi中一定存在一条路径
Figure BDA0003562675000000071
使得λi,k中的子任务所构成的集合是
Figure BDA0003562675000000072
中子任务构成的集合的真子集。因此,根据公式(2)和公式(1)可知
Figure BDA0003562675000000073
因此删除DAG任务中的无效边不会影响其WCRT分析。
2.1.无效边删除算法(IED):
算法1展示了如何在DAG任务拓扑图Gi中发现并删除无效边。因为IED 算法仅依赖和作用于DAG任务的拓扑图,所以算法1的输入输出均为Gi。算法1遍历τi中的每一个子任务并判断其是否属于某条无效边(第02行~第10行)。对于某一子任务Vi,j,首先判断其前继子任务的个数(第03行)。根据定义2可知,如果Vi,j是某条无效边所指向的节点,那么其前继子任务数一定不小于2。对于前继子任务数大于等于2的子任务,遍历其所有不相等的前继子任务对 <Vi,a,Vi,b>(第04行),并判断该子任务对是否具有优先约束关系,即满足定义 2中的条件Vi,a→Vi,b(第05行)。如果满足,则表示e(Vi,a,Vi,j)是一条无效边,将其从Gi中删除(第06行)。最后将所有无效边都删除之后的DAG任务τi的拓扑图Gi返回(第11行)。
Figure BDA0003562675000000074
2.2.算法1的时间复杂度:
最坏情况下,Gi是全联通图。因为Gi是有向无环图,所以最多存在
Figure BDA0003562675000000075
条有向边,其中|Vi|表示DAG任务τi中子任务的个数。因为算法1中的两层循环,所以至多需要检查
Figure BDA0003562675000000081
个子任务对来判断他们之间是否存在优先约束关系。其中
Figure BDA0003562675000000082
Figure BDA0003562675000000083
因此算法1的时间复杂度为O(|Vi|3)。
2.3.算法1的空间复杂度:
DAG任务的拓扑结构以及任意两个子任务之间的优先约束关系均需要
Figure BDA0003562675000000084
的空间来存储。因此,算法1的空间复杂度为O(|Vi|2)。
基于以上算法过程,本发明的一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序配置为实现DAG任务执行逻辑复杂度优化方法的步骤。
三、实验:
本发明实验分为两个部分:
1)IED算法性能验证;
2)IED算法适用性验证。
3.1.数据集:
数据集1[8]:数据集1中的数据由不同执行逻辑复杂度的DAG任务组成,其中DAG任务的执行逻辑复杂度用其边密度(该DAG任务中边的数量与其内子任务全连同时边的数量的比值)表示。数据集1中DAG任务边密度从10%到40%以5%为步长递增,每种边密度情况下都有1000个DAG任务,总共有 7000个DAG任务。
数据集2[9]:数据集2中包含1000组任务集,每个任务集都包含有10个 DAG任务,踪迹10000个DAG任务。数据集2中的1000组任务集使用了2 种优先级分配策略和2种任务划分策略的组合,共计4种系统调度方案。其中,优先级分配策略为传统的Deadline Monotonous(DM)策略和Rate Monotonous (RM)策略,任务划分策略为dagP策略[10]和BLM策略[11]
3.2.实验结果及分析:
3.2.1.IED算法性能验证:
如图2所示,显示了数据集1中DAG任务执行IED算法前后其内部路径数量对比图。从图2中可以看出,随着DAG任务边密度的增加,DAG任务内的路径数量呈上升趋势。对于相同的DAG任务边密度情况下,执行IED算法后DAG任务中路径的数量均比未执行IED算法的相同DAG任务中路径的数量少。并且,随着DAG任务边密度的增加,执行IED算法前后相同DAG任务中路径数量的差值也增大。数据集1中的7000个任务执行IED算法后相较于未执行而言DAG任务内部路径数量平均减少58.39%。
图3为不同优先级分配策略和任务划分策略的组合的系统调度方案下数据集2中DAG任务集使用IED算法前后任务的WCRT分析时间对比图。其中“dagP-DM”、“BLM-DM”、“dagP-RM”、“BLM-RM”分别表示“任务划分策略使用dagP算法优先级分配使用DM算法”、“任务划分策略使用BLM 算法优先级分配使用DM算法”、“任务划分策略使用dagP算法优先级分配使用RM算法”、“任务划分策略使用BLM算法优先级分配使用RM算法”。不同的系统调度方案下执行IED算法后DAG任务的WCRT分析时间均小于未执行IED算法的相同的DAG任务。四种系统调度策略下,IED算法可以使DAG 任务的WCRT分析时间平均降低86.98%。
3.2.2.IED算法适用性验证:
统计了数据集1中不同边密度的DAG任务中无效边百分比(DAG任务中无效边的数量与其总边数的比值)。如表1所示,随着DAG人物中边的密度增加,其内部无效边的百分比也随之增加。数据集1中7000个DAG任务无效边的百分比平均为36.97%。当DAG任务中边的密度为40%时,无效边的百分比最大,为61.88%。
分析表1中的数据可以发现,从统计学意义上讲无效边广泛的存在于DAG 任务中。此外,根据公式(1)和4.2.1中实验结果显示,使用IED算法可有效减少DAG任务中无效边的数量,从而降低DAG任务的WCRT分析时间,提高了系统资源分配的效率。因此,IED算法具有较高的适用性。
表1不同执行逻辑复杂度的DAG任务中无效边百分比统计表
DAG任务中边的密度(%) 10 15 20 25 30 35 40
无效边百分比(%) 7.45 17.65 29.15 38.87 48.08 55.65 61.88
四、参考文献:
[1]Rodrigues T G,Suto K,Nishiyama H,et al.Hybrid method forminimizing service delay in edge cloud computing through VM migration andtransmission power control[J].IEEE Transactions on Computers,2016,66(5):810-819.
[2]Wu Y,Zhang W,He H,et al.A new method of priority assignment forreal-time flows in the wirelesshart network by the TDMA protocol[J].Sensors,2018, 18(12):4242.
[3]Zhou L,Hu Y,Makris Y.A hardware-based architecture-neutralframework for real-time iot workload forensics[J].IEEE Transactions onComputers,2020, 69(11):1668-1680.
[4]Zhao S,Chang W,Wei R,et al.Priority assignment on partitionedmultiprocessor systems with shared resources[J].IEEE Transactions onComputers, 2020,70(7):1006-1018.
[5]Pathan R M,Jonsson J.Load regulating algorithm for static-prioritytask scheduling on multiprocessors[C]//2010IEEE International Symposium onParallel &Distributed Processing(IPDPS).IEEE,2010:1-12.
[6]Saifullah A,Ferry D,Li J,et al.Parallel real-time scheduling ofDAGs[J]. IEEE Transactions on Parallel and Distributed Systems,2014,25(12):3242-3252.
[7]Wu Y,Zhang W,Guan N,et al.Improving Interference Analysis forReal-Time DAG Tasks under Partitioned Scheduling[J].IEEE Transactions onComputers,2021.
[8]https://github.com/DrWuYulong/A-Topology-based-DAG-Tasks-Allocation -Strategy/tree/main/Database/WCRT%20of%20IED
[9]https://github.com/DrWuYulong/A-Topology-based-DAG-Tasks-Allocation -Strategy/tree/main/Database/applicacbility%20of%20the%20IED%20method
[10]Herrmann J,Kho J,
Figure BDA0003562675000000101
B,et al.Acyclic partitioning of largedirected acyclic graphs[C]//2017 17th IEEE/ACM international symposium oncluster,cloud and grid computing(CCGRID).IEEE,2017:371-380.
[11]
Figure BDA0003562675000000111
M Y,Benoit A,
Figure BDA0003562675000000112
B,et al.A scalable clustering-based taskscheduler for homogeneous processors using DAG partitioning[C]//2019 IEEEInternational Parallel and Distributed Processing Symposium(IPDPS).IEEE,2019:155-165.
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

Claims (5)

1.一种DAG任务执行逻辑复杂度的优化方法,其特征在于,包括以下步骤:
S1.输入DAG任务τi的拓扑图为Gi,遍历DAG任务τi中的每一个子任务并判断其是否属于某条无效边;
S2.对于某一子任务Vi,j,判断其前继子任务的个数,对于前继子任务数大于等于2的子任务,遍历其所有不相等的前继子任务对<Vi,a,Vi,b>;Vi,j表示任务τi的第j个子任务;
S3.判断该前继子任务对是否具有优先约束关系Vi,a→Vi,b,如果满足约束关系,则表示e(Vi,a,Vi,j)是一条无效边,将其从Gi中删除;e(Vi,a,Vi,j)表示一条从子任务Vi,a指向子任务Vi,j的有向边;
S4.重复步骤S2、S3将所有无效边都删除,返回删除无效边后DAG任务τi的拓扑图Gi
S5.计算删除无效边后拓扑图Gi内部所有路径的最坏情况下响应时间WCRT最大值,得到DAG任务的WCRT值。
2.根据权利要求1所述DAG任务执行逻辑复杂度的优化方法,其特征在于,所述步骤S5中,DAG任务τi的WCRT等价于其内部所有路径的WCRT中的最大值,R(τi)和R(λi,k)分别表示DAG任务τi的WCRT和路径λi,k的WCRT,通过公式(1)、(2)计算得到R(λi,k);
Figure FDA0003562674990000011
Figure FDA0003562674990000012
其中,Ci,j为DAG任务τi中第j个子任务的最坏情况下执行时间;Isi,k)表示任务τi内对路径λi,k造成的自干扰的子任务的最坏情况下执行时间的总和,Ihi,k)表示任务集中优先级高于τi的DAG任务对路径λi,k造成的高干扰总和。
3.根据权利要求2所述DAG任务执行逻辑复杂度的优化方法,其特征在于,所述R(λi,k)由三部分组成,第一部分为该路径λi,k所包含所有子任务的WCET总和;第二部分为该DAG任务对该路径λi,k造成的自干扰;第三部分为系统中其他高优先级的任务对该路径λi,k造成的高干扰。
4.根据权利要求1所述DAG任务执行逻辑复杂度的优化方法,其特征在于,所述步骤S2中,j的取值范围为1到|Vi|,|Vi|表示DAG任务τi中子任务的个数。
5.一种计算机可读存储介质,其特征在于:所述计算机可读存储介质存储有计算机程序,所述计算机程序配置为实现权利要求1至4中任一项所述的DAG任务执行逻辑复杂度优化方法的步骤。
CN202210294290.XA 2022-03-24 2022-03-24 一种dag任务执行逻辑复杂度的优化方法及存储介质 Pending CN114880083A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210294290.XA CN114880083A (zh) 2022-03-24 2022-03-24 一种dag任务执行逻辑复杂度的优化方法及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210294290.XA CN114880083A (zh) 2022-03-24 2022-03-24 一种dag任务执行逻辑复杂度的优化方法及存储介质

Publications (1)

Publication Number Publication Date
CN114880083A true CN114880083A (zh) 2022-08-09

Family

ID=82667922

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210294290.XA Pending CN114880083A (zh) 2022-03-24 2022-03-24 一种dag任务执行逻辑复杂度的优化方法及存储介质

Country Status (1)

Country Link
CN (1) CN114880083A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111176817A (zh) * 2019-12-30 2020-05-19 哈尔滨工业大学 一种多核处理器上基于划分调度的dag实时任务间的干扰分析方法
CN112463346A (zh) * 2020-12-31 2021-03-09 哈尔滨工业大学(深圳) 一种基于划分调度的dag任务的启发式处理器划分方法、系统及存储介质
CN113255914A (zh) * 2021-04-14 2021-08-13 浙江工业大学 一种结构化表示智能体目标实现过程的方法
CN113961439A (zh) * 2021-10-26 2022-01-21 东北大学秦皇岛分校 一种基于smt方法的dag任务wcrt计算方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111176817A (zh) * 2019-12-30 2020-05-19 哈尔滨工业大学 一种多核处理器上基于划分调度的dag实时任务间的干扰分析方法
CN112463346A (zh) * 2020-12-31 2021-03-09 哈尔滨工业大学(深圳) 一种基于划分调度的dag任务的启发式处理器划分方法、系统及存储介质
CN113255914A (zh) * 2021-04-14 2021-08-13 浙江工业大学 一种结构化表示智能体目标实现过程的方法
CN113961439A (zh) * 2021-10-26 2022-01-21 东北大学秦皇岛分校 一种基于smt方法的dag任务wcrt计算方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
常爽爽等: "基于异构多核的多类型DAG任务的响应时间分析", 《计算机学报》 *

Similar Documents

Publication Publication Date Title
US9031994B1 (en) Database partitioning for data processing system
Zhang et al. An effective data locality aware task scheduling method for MapReduce framework in heterogeneous environments
CN111176817B (zh) 一种多核处理器上基于划分调度的dag实时任务间的干扰分析方法
Djigal et al. Task scheduling for heterogeneous computing using a predict cost matrix
Moreira et al. Graph partitioning with acyclicity constraints
Bok et al. An efficient MapReduce scheduling scheme for processing large multimedia data
Kodase et al. Improving scalability of task allocation and scheduling in large distributed real-time systems using shared buffers
Maurya et al. An edge priority‐based clustering algorithm for multiprocessor environments
Breß et al. A framework for cost based optimization of hybrid CPU/GPU query plans in database systems
Zhao et al. Minimizing stack memory for partitioned mixed-criticality scheduling on multiprocessor platforms
Mo et al. Heet: Accelerating Elastic Training in Heterogeneous Deep Learning Clusters
Daoud et al. Efficient compile-time task scheduling for heterogeneous distributed computing systems
Sandokji et al. Dynamic variant rank HEFT task scheduling algorithm toward exascle computing
Franklin et al. A general matrix iterative model for dynamic load balancing
Nasr et al. Task scheduling algorithm for high performance heterogeneous distributed computing systems
CN114880083A (zh) 一种dag任务执行逻辑复杂度的优化方法及存储介质
Beltrán et al. How to balance the load on heterogeneous clusters
Geng et al. A task scheduling algorithm based on multi-core processors
Mishra et al. Communication-aware job scheduling using slurm
Lin et al. Joint deadline-constrained and influence-aware design for allocating MapReduce jobs in cloud computing systems
Wu et al. Latency modeling and minimization for large-scale scientific workflows in distributed network environments
Yassir et al. Graph-based model and algorithm for minimising big data movement in a cloud environment
CN115509926A (zh) 一种基于改进粒子群算法的多任务调度云端测试方法
HoseinyFarahabady et al. A dynamic resource controller for resolving quality of service issues in modern streaming processing engines
CN114880111A (zh) 基于dag任务拓扑结构的处理器资源分配方法、存储介质

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20220809