CN114880111A - 基于dag任务拓扑结构的处理器资源分配方法、存储介质 - Google Patents

基于dag任务拓扑结构的处理器资源分配方法、存储介质 Download PDF

Info

Publication number
CN114880111A
CN114880111A CN202210295009.4A CN202210295009A CN114880111A CN 114880111 A CN114880111 A CN 114880111A CN 202210295009 A CN202210295009 A CN 202210295009A CN 114880111 A CN114880111 A CN 114880111A
Authority
CN
China
Prior art keywords
task
dag
subtasks
dag task
tasks
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
CN202210295009.4A
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 CN202210295009.4A priority Critical patent/CN114880111A/zh
Publication of CN114880111A publication Critical patent/CN114880111A/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/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
    • 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/505Allocation 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 load
    • 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)
  • Complex Calculations (AREA)

Abstract

本发明涉及数据处理领域,特别提供了一种有向无环图DAG任务模型的实时系统中基于DAG任务拓扑结构的处理器资源分配方法。研究了DAG任务内拓扑结构的特点对其执行时产生的影响进行深度分析,提出了提出一个基于拓扑结构的DAG任务分配方法。该方法可以有效的降低DAG任务集在系统上的最坏情况下响应时间,从而提升系统处理器资源利用率。通过理论分析和真实平台测试这两个维度的实验结果表明TDTA处理器资源分配方法相较于最新的处理器资源分配方法而言可以平均降低DAG任务集42.43%的最坏情况下响应时间。

Description

基于DAG任务拓扑结构的处理器资源分配方法、存储介质
技术领域
本发明涉及数据处理领域,特别涉及一种基于DAG任务拓扑结构的处理器资源分配方法及存储介质。
背景技术
随着实时系统被广泛的应用在边缘计算,物联网以及无人驾驶等对执行时间要求越来越严苛的领域,受限于计算平台的算力以及功耗等方面的需求,嵌入式平台多核处理器资源分配问题已成为学者们研究的热点问题[1][2][3]
新的应用场景下实时系统上部署的实时任务其内部的执行逻辑也越来越复杂,这给系统运行时分析带来了挑战。为了分析任务在多核处理器平台上的执行特点以及预测系统运行时状态,学者们通常使用有向无环图(Directed acyclic graphic,DAG)任务模型对这些执行逻辑复杂的实时任务建模[4]
实时多处理器系统上的调度问题可以分为划分调度(partitioned scheduling)和全局调度(global scheduling),这取决于任务是否被绑定在特定的处理器上执行。与全局调度相比,划分调度具有无核间迁移开销、分析更简单、执行更容易等优点。由于这些优点,许多实时任务是基于划分调度的[5]。
对于系统中相同的任务采取不同的划分调度策略会导致其不同的执行时间。如图1所示为一个智能避障小车。其中避障和循迹两个任务分别被建模成了τ1和τ2这2个DAG任务。接下来使用两种不同的划分策略strategy(策略1和策略2)将τ1和τ2中的子任务分配到了两个处理器processor上。通过观察时序图可以看出,使用策略1分配的DAG任务相较于策略2而言其执行时间更小。
一个好的DAG任务分配策略可以使DAG任务更好地利用处理器资源,从而更有效地执行。然而,任务分配问题已被证明是一个NP-hard问题[6]。DAG 任务的复杂拓扑结构使这个问题变得更加困难。设计有效的任务分配策略,使具有不同拓扑结构的DAG任务能够有效地利用处理器资源,这是一个挑战。
发明内容
本发明提供一种基于DAG任务拓扑结构的处理器资源分配方法及存储介质,旨在有效地利用处理器资源。
本发明提供一种基于DAG任务拓扑结构的处理器资源分配方法,首先对 DAG任务进行分层预处理,之后基于预处理的DAG任务从高优先级任务开始进行分配;所述DAG任务分配过程包括基于剩余利用率排序的分配步骤,所述基于剩余利用率排序的分配步骤包括以下步骤:
a1.输入包括当前系统中处理器的剩余利用率
Figure BDA0003562977300000021
待分配的子任务集合Δ以及任务周期Ti
a2.对于待分配的子任务,选出μ个剩余利用率最大的处理器用来负载均衡地分配待分配的子任务;
a3.使用
Figure BDA0003562977300000022
重新初始化μ个剩余利用率最大的处理器;
a4.选择待分配子任务中最坏情况响应时间WCET最大的子任务分配给
Figure BDA0003562977300000023
中剩余利用率最大的处理器;
a5.更新Δ,
Figure BDA0003562977300000024
Figure BDA0003562977300000025
重复步骤a4的分配过程,直至待分配任务的集合为空;
a6.将分配后的系统剩余利用率和待分配子任务对应的分配结果返回。
作为本发明的进一步改进,所述基于剩余利用率排序的分配步骤具体包括:
a11.输入当前系统中处理器的剩余利用率
Figure BDA0003562977300000026
待分配的子任务集台
Figure BDA0003562977300000027
任务周期Ti
a21.定义
Figure BDA0003562977300000028
选出剩余利用率最大的μ个处理器θ={θ1,...,θμ};
a31.对
Figure BDA0003562977300000029
中的每个元素初始化为1,对
Figure BDA00035629773000000210
中每个元素初始化为空;
a41.当分配任务的集合Δ不为空时,执行分配过程
Figure BDA0003562977300000031
其中
Figure BDA0003562977300000032
是Δ中
Figure BDA0003562977300000033
最大的子任务,ω是
Figure BDA0003562977300000034
中剩余利用率最大的处理器;
a51.更新赋值
Figure BDA0003562977300000035
重复分配过程直至待分配任务的集合Δ为空;
a61.返回输出分配后的系统剩余利用率
Figure BDA0003562977300000036
待分配子任务对应的分配结果
Figure BDA0003562977300000037
作为本发明的进一步改进,所述DAG任务分配过程包括基于拓扑结构的 DAG任务分配步骤,所述基于拓扑结构的DAG任务分配步骤包括:
b1.输入DAG任务τi、所有层的集合
Figure BDA0003562977300000038
所有并行子结构的集合ξi以及系统中处理器剩余利用率的集合
Figure BDA0003562977300000039
b2.当所分配的DAG任务是系统任务集中优先级最高的任务时,初始化每个处理器的剩余利用率为1;
b3.对于未分配的最高优先级DAG任务,根据其层顺序从小到大进行分配;
b4.输出任务τi中子任务的分配策略Pi和分配完τi后处理器剩余利用率的集合
Figure BDA00035629773000000310
作为本发明的进一步改进,所述步骤b3中,DAG任务的每层最多包含两种类型的子任务:第一种为属于某个并行子结构的子任务;第二种为不属于任何一种并行子结构的子任务。
作为本发明的进一步改进,所述步骤b3包括步骤:
b31.对于未分配的层优先分配其并行子结构中的子任务;
b32.对于每个并行子结构中的子任务,使用SRU算法将其负载均衡的分配到处理器上;
b33.更新分配结果及该层带分配的子任务集合;
b34.再分配剩余不属于任何并行子结构的子任务:对于剩余不属于任何并行子结构的任务同样使用SRU算法进行分配,并更新分配结果。
作为本发明的进一步改进,所述DAG任务分层预处理的步骤包括:
使用
Figure BDA0003562977300000041
来表示τi的第x层,同时
Figure BDA0003562977300000042
也表示τi中处在第x层子任务的集合;对于每一层至少含有1个子任务;
Figure BDA0003562977300000043
表示τi中所有层的集合,其中
Figure BDA0003562977300000044
表示τi的层数;
Figure BDA0003562977300000045
表示子任务Vi,j被分配的层数,
Figure BDA0003562977300000046
通过公式(4) 计算得到:
Figure BDA0003562977300000047
其中,
Figure BDA0003562977300000048
表示Vi,j所有前继子任务的集合,Vi,j表示任务τi的第j个子任务。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序配置为实现权利要求1至6中任一项所述的DAG 任务执行逻辑复杂度优化方法的步骤。
本发明的有益效果是:提供了一种有向无环图(Directed acyclic graph,DAG)任务模型的实时系统中基于DAG任务拓扑结构的处理器资源分配方法。深入研究了DAG任务内拓扑结构的特点对其执行时产生的影响进行深度分析,提出了提出一个基于拓扑结构的DAG任务分配(Topology-based DAG tasks allocation,TDTA)方法。该方法可以有效的降低DAG任务集在系统上的最坏情况下响应时间(the worst-case response time,WCRT),从而提升系统处理器资源利用率。通过理论分析和真实平台测试这两个维度的实验结果表明TDTA处理器资源分配方法相较于最新的处理器资源分配方法而言可以平均降低DAG 任务集42.43%的最坏情况下响应时间。
附图说明
图1是本发明中现有的DAG任务建模划分调度示意图;
图2是本发明中处理器资源分配方法的DAG任务示意图;
图3是本发明中处理器资源分配方法的DAG任务分层示意图;
图4是本发明中DAG任务集平均WCRT随利用率变化图;
图5是本发明中不同系统调度方案下DAG任务集的WCRT随利用率变化图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。
一、系统模型:
本发明针对包含n个可抢占式任务组成的任务集在具有m个同构处理器平台上调度的系统。系统中每个任务都是一个DAG任务且具有独立的优先级。使用πi表示任务τi的优先级。如果τi优先级高于τj,当且仅当πi<πj。每个DAG 任务都被划分到m个处理器上执行。任意一个DAG任务τi由表示任务内部执行单元(子任务)的集合Vi和表示任务内部执行单元之间的优先约束关系(边) 的集合Ei组成。
使用Vi,j表示任务τi的第j个子任务,其中Vi,j∈Vi。每一个子任务Vi,j都有其对应的最坏情况下执行时间(the worst-case execution time,WCET)。使用Ci,j和 Pi,j来分别表示子任务Vi,j的WCET和其所分配到的处理器。如图2所示,Vi,2的 WCET为5,其被分配到了处理器p1上执行。
e(Vi,j,Vi,k)表示一条从子任务Vi,j指向子任务Vi,k的有向边,其中e(Vi,j,Vi,k)∈Ei。对于e(Vi,j,Vi,k),称Vi,j是Vi,k的前继子任务。相对地,Vi,k为Vi,j的后继子任务。
定义1:使用
Figure BDA0003562977300000051
表示Vi,j所有前继子任务的集合。
Figure BDA0003562977300000052
表示Vi,j所有后继子任务的集合。子任务Vi,j
Figure BDA0003562977300000053
中的所有子任务完成之前,不能开始其执行。
e(Vi,j,Vi,k)隐含了子任务Vi,j和子任务Vi,k之间的优先约束关系,即如果子任务Vi,j没有完成其执行时子任务Vi,k不能开始其执行,称Vi,j和Vi,k之间具有优先约束并且Vi,j优先约束于Vi,k,记做Vi,j→Vi,k。很容易可以得到优先约束具有传递性。也就是如果Vi,a→Vi,b且Vi,b→Vi,c,那么Vi,a→Vi,c
对于没有任何前继子任务的子任务称其为源子任务(source subtask),用Si表示。类似地,称没有任何后继子任务的子任务叫做终止子任务(final subtask),用Fi表示。任何一个DAG子任务有且仅有一个源子任务和一个终止子任务,对于有多个源子任务或多个终止子任务的DAG任务可以通过添加一个WCET为 0的前继子任务或后继子任务来改变为只有一个源子任务和一个终止子任务的 DAG任务。
定义2:称一个DAG任务内从源子任务出发到终止子任务的一条有向边组成的通路为一条路径(path)。使用
Figure BDA0003562977300000061
表示DAG任务τi的第k 条路径。路径的顺序仅仅是为了区分不同路径,不具有排序意义。
每一个DAG任务至少包含1条路径。使用
Figure BDA0003562977300000062
表示τi中所有路径的集合,其中|λi|为τi中路径的总数。
使用L(λi,k)表示路径λi,k的WCET,L(λi,k)可以通过公式(1)计算得到。
Figure BDA0003562977300000063
定义3:称Vi,a是Vi,b的间接前继子任务,当且仅当Vi,a和Vi,b之间没有有向边并且Vi,a优先约束于Vi,b。对应地,Vi,b是Vi,a的间接后继子任务。
对于任意一个DAG任务τi而言都包含3个参数:Ci、Di和Ti。其中,Ci表示τi的总WCET,可以通过对中τi所有子任务求和得到,Di和Ti分别表示τi的截止期限和周期。使用Ui表示τi的利用率,Ui=Ci/Ti
图2为一个DAG任务τi的例子。τi包含7个子任务,这7个子任务被分配到p1和p2这两个处理器上执行。Ci=22,假设Di=Ti=100,因此Ui=0.22。 Vi,1和Vi,7分别为τi的源子任务和终止子任务,即
Figure BDA0003562977300000064
并且
Figure BDA0003562977300000065
τi有 9条边和4条路径。Vi,1是Vi,2的前继子任务(Vi,2是Vi,1的后继子任务),因为τi中存在边e(Vi,1,Vi,2)。Vi,1是Vi,4的间接前继子任务(Vi,4是Vi,1的间接后继子任务),因为τi中不存在边e(Vi,1,Vi,4)但Vi,1→Vi,4。假设λi,1={Vi,1,Vi,2,Vi,4,Vi,7},则 L(λi,1)=15。
二、最坏情况下响应时间分析:
使用R(τi)表示DAG任务τi的最坏情况下响应时间(worst-case response time,WCRT)。如果R(τi)≤Di,则称τi是可调度的(schedulable),否则称τi是不可调度的(unschedulable)。如果任务集中所有的任务都是可调度的,则称该任务集是可调度的,否则称其为不可调度的。
由于多核处理器上的任务分配问题已被证实为NP-hard问题[6],无法在多项式时间内给出最优的分配策略。因此,学者们通过分析任务集的WCRT上界来估算其真正的WCRT,进而预测系统在最坏情况下的执行情况。WCRT分析是证明任务是否可调度的充分条件,是一种离线的高效的DAG任务分配策略的评估手段。
用R(τi)和R(λi,k)来分别表示DAG任务τi的WCRT和路径λi,k的WCRT。最新的DAG任务WCRT分析算法(RRC算法)表明,DAG任务的WCRT等价于其内部所有路径的WCRT中的最大值[7],如公式(2)所示,其中R(λi,k)可以通过公式(3)计算得到。
Figure BDA0003562977300000071
Figure BDA0003562977300000072
其中,Ci,j为DAG任务τi中第j个子任务的最坏情况下执行时间;Isi,k)表示任务τi内对路径λi,k造成的自干扰的子任务的最坏情况下执行时间的总和, Ihi,k)表示任务集中优先级高于τi的DAG任务对路径λi,k造成的高干扰总和。
R(λi,k)由三部分组成,其中第一部分为该路径所包含所有子任务的WCET 总和;第二部分为该DAG任务对该路径造成的自干扰(self-interference);第三部分为系统中其他高优先级的任务对该路径造成的高干扰(high-interference)。公式(3)第一部分由DAG任务自认特性决定,即DAG任务的拓扑结构确定下来则每条路径总的WCET即为定值。因此,本发明的动机是提出一种能够降低λi,k自干扰和高干扰的分配策略以降低R(λi,k)从而降低R(τi)。
三、DAG任务分配策略:
根据公式(3)可知,高优先级任务的分配结果会影响低优先级的WCRT 分析。因此,从高优先级的任务开始分配。在分配前,首先对DAG任务进行预处理,之后基于预处理的DAG任务进行分配。
3.1.DAG任务分层预处理:
使用
Figure BDA0003562977300000081
来表示τi的第x层,同时
Figure BDA0003562977300000082
也表示τi中处在第x层子任务的集合。对于每一层而言,至少含有1个子任务。
Figure BDA0003562977300000083
表示τi中所有层的集合,其中
Figure BDA0003562977300000084
表示τi的层数。
Figure BDA0003562977300000085
表示子任务Vi,j被分配的层数,
Figure BDA0003562977300000086
可以通过公式(4)计算得到。
Figure BDA0003562977300000087
如图3所示为图2中DAG任务τi的示意图。τi一共被分为了4层。因为 Vi,1=Si,所以
Figure BDA0003562977300000088
并且
Figure BDA0003562977300000089
3.2.基于拓扑结构的分配策略:
本发明提出的基于DAG任务拓扑结构的分配策略旨在通过充分并行化 DAG任务内子任务来降低任务路径的自干扰和高干扰,进而降低DAG任务的 WCRT。
定义4:称有且仅有一个相同前继子任务的子任务为一个并行子结构(并行子结构至少包含2个子任务)。使用ξi,j表示任务τi的第j个并行子结构,
Figure BDA00035629773000000810
表示τi中所有并行子结构的集合。
如图3所示,τi有2个并行子结构ξi,1和ξi,2。其中,ξi,1={Vi,2,Vi,3},ξi,2={Vi,4,Vi,5}。Vi,6不属于任何一个并行子结构,因为其具有2个前继子任务Vi,2和Vi,3
引理1:属于同一并行子结构的任务所在的层数也相同。
证明:根据定义4可知,同一个并行子结构中的所有子任务其前继节点有且仅有一个。不失一般性,假设Vi,x为该并行子结构的前继子任务。根据公式4 可知,该并行子结构中的所有子任务所在层数均为
Figure BDA0003562977300000091
引理2:属于相同层的任意两个子任务之间不存在优先约束关系。
证明:假设Vi,a和Vi,b属于同层
Figure BDA0003562977300000092
且Vi,a和Vi,b之间存在优先约束关系。因为Vi,a和Vi,b是同层的任意两个子任务,不妨假设Vi,a优先约束于 Vi,b,即Vi,a→Vi,b。然而,根据公式(4)可知
Figure BDA0003562977300000093
与假设矛盾,所以Vi,a和Vi,b之间不存在优先约束关系。
Figure BDA0003562977300000094
表示待分配的子任务集合,
Figure BDA0003562977300000095
表示Δ中子任务对应分配到的处理器。用
Figure BDA0003562977300000096
表示系统第x处理器的剩余利用率,可以通过公式(5)计算得到。
Figure BDA0003562977300000097
表示所有m个处理器的剩余利用率集合。
Figure BDA0003562977300000098
算法1展示了基于剩余利用率排序(sort-based remain utilization,SRU)分配算法。算法1的输入包括当前系统中处理器的剩余利用率、待分配的子任务集合以及任务周期;输出为分配后的系统剩余利用率和待分配子任务对应的分配结果。对于待分配的子任务而言,首先选出μ个剩余利用率最大的处理器用来负载均衡地分配待分配的子任务,用θ={θ1,...,θμ}储存(第02~第03行)。使用
Figure BDA0003562977300000099
来暂时重新初始化μ个剩余利用率最大的处理器,这样可以避免多个子任务因当前处理器之间剩余利用率差距过大而导致分配负载不均衡的问题。接下来选择待分配子任务中WCET最大的子任务分配给
Figure BDA00035629773000000910
中剩余利用率最大的处理器 (第07行)。最后,更新Δ,
Figure BDA00035629773000000911
Figure BDA00035629773000000912
重复分配过程,直至待分配任务的集合为空。最后,将分配后的系统剩余利用率和待分配子任务对应的分配结果返回(第12行)。
Figure BDA0003562977300000101
算法1中,θ是选出μ个剩余利用率最大的处理器;若μ≥2,则按照剩余利用率数值大小的顺序,选取前μ个剩余利用率大的处理器。
Figure BDA0003562977300000102
用来暂时初始化θ中找到的μ个处理器剩余利用率的临时变量,对
Figure BDA0003562977300000103
中的元素初始化为1是使算法后续能够负载均衡的分配子任务。
Figure BDA0003562977300000104
表示Δ中最坏情况下执行时间最大的子任务
Figure BDA0003562977300000105
所分配到的处理器;θω中ω表示当前θ中剩余利用率最大的处理器;
Figure BDA0003562977300000106
表示
Figure BDA0003562977300000107
中的第ω个元素,
Figure BDA0003562977300000108
表示
Figure BDA0003562977300000109
中第θω个元素。
算法1的时间复杂度:
算法1包含2次排序,即选出剩余利用率最大的μ个处理器和在Δ中选择最大WCET的子任务分配处理器。这两次排序的时间复杂度分别为O(μ*logμ)和 O(|Δ|*log|Δ|)。根据μ的定义可知μ≤|Δ|。因此,算法1的时间复杂度为 O(|Δ|*log|Δ|)。
算法1的空间复杂度:
算法1的变量最多占用|Δ|空间。因此,算法1的空间复杂度为O(|Δ|)。
统计了参考文献[8]中的1100个DAG任务集(共计11000个DAG任务)执行时不同层间子任务的干扰次数。如表1所示,第一行表示发生自干扰的子任务对之间的层差,第二行表示在该层差下共计发生了多少次自干扰。表1显示,11000个DAG任务共发生了3460022次自干扰,其中70.84%的自干扰来自于同层。因此,将降低同层自干扰作为任务分配的主要优化目标。
表1跨层自干扰次数统计表
自干扰层数差 0 1 2 3 4 5 6 7
自干扰次数 2450985 894619 106288 7055 937 138 0 0
算法2给出了基于拓扑结构的DAG任务分配(topology-based DAG taskallocation,TDTA)算法。算法2的输入是DAG任务τi、所有层的集合
Figure BDA0003562977300000111
所有并行子结构的集合ξi以及系统中处理器剩余利用率的集合
Figure BDA0003562977300000112
输出为任务τi中子任务的分配策略
Figure BDA0003562977300000113
和分配完τi后处理器剩余利用率的集合
Figure BDA0003562977300000114
当所分配的DAG任务是系统任务集中优先级最高的任务时,初始化每个处理器的剩余利用率为1(第02行~第04行)。对于未分配的最高优先级的DAG 任务,根据其层顺序从小到达进行分配(第05行~第16行)。DAG任务的每层最多包含两种类型的子任务:1)属于某个并行子结构的子任务和2)不属于任何一种并行子结构。最新的WCRT分析方法证明并行子结构不仅会影响该任务路径的自干扰,而且会影响比起优先级低的任务的高干扰[7]。因此,算法2对于未分配的层优先分配其并行子结构中的子任务(第07行~第11行)。对于每个并行子结构中的子任务,都使用SRU算法将其负载均衡的分配到处理器上 (第08行),然后更新分配结果(第09行)以及该层带分配的子任务集合(第 10行)。最后再分配剩余不属于任何并行子结构的子任务(第12行~第15行)。对于剩余不属于任何并行子结构的任务同样使用SRU算法进行分配(第13行),并更新分配结果(第14行)。
Figure BDA0003562977300000121
算法2中,
Figure BDA0003562977300000122
是个临时变量,储存
Figure BDA0003562977300000123
用的,避免直接操作
Figure BDA0003562977300000124
会造成错乱。
算法2的时间复杂度:
本质上算法2通过调用SRU算法分配子任务到处理器上。假设算法2共计调用x次SRU算法,第y次调用共分配了
Figure BDA0003562977300000125
个子任务。因此,算法2共计花费
Figure BDA0003562977300000126
的时间。因为x≤|Vi|、
Figure BDA0003562977300000127
并且
Figure BDA0003562977300000128
所以
Figure BDA0003562977300000129
因此,算法2的时间复杂度为O(|Vi|*log|Vi|)。
算法2的空间复杂度:
算法2的变量最多占用|Vi|空间。因此,算法2的空间复杂度为O(|Vi|)。
四、实验:
本发明对比目前最先进的两种DAG任务分配策略:dagP方法[9]和BLM方法[10]来验证其性能。为了避免不同优先级分配方案对DAG任务分配策略的性能产生影响而干扰实验结果,本发明选择了两种传统的优先级分配方案: Deadline monotone(DM)方案和Ratemonotone(RM)方案来对相同的DAG 任务分配不同的优先级。结合本发明提出的TDTA方法和上述对比方法,本发明实验部分共计包含6种情况:“TDTA-DM”、“TDTA-RM”、“dagP-DM”、“dagP-RM”、“BLM-DM”、“BLM-RM”。其中“TDTA-DM”表示DAG任务的分配方法为TDTA并且其优先级分配方案为DM,其他5种情况表示内容以此类推。
1)理论分析实验:由于实时任务根据其功能特点的不同会导致DAG任务不同的拓扑结构。因此,基于随机大样本空间的DAG任务集(数据集1),对其中任务的WCRT进行理论分析,来验证本发明的方法在统计学意义上的性能。
2)真实平台实验:由于现实中系统内部存在中断、上下文切换等微小不可控的开销。因此,在[7]中搭建的真实多核处理器嵌入式平台上测试合成负载(数据集2)在其上运行的结果,来验证真事情况下本发明的方法的性能。
4.1.数据集:
数据集1[11]:数据集1中的数据由不同利用率的DAG任务集组成,其中 DAG任务集的利用率从0.5到1.5以0.1位步长递增。每个利用率下都包含1000 组利用率相同的DAG任务集,计算每个利用率下1000组任务集的平均值作为该利用率下的执行结果。每个任务集包含10个DAG任务,每个DAG任务包含20个子任务。
数据集2[12]:数据集2中的数据由不同利用率的DAG任务集组成,其中 DAG任务集的利用率从0.4到2.4以0.2位步长递增。每个利用率下都包含100 组利用率相同的DAG任务集,计算每个利用率下100组任务集的平均值作为该利用率下的执行结果。每个任务集包含10个DAG任务,每个DAG任务包含20个子任务。
4.2.实验结果及分析:
4.2.1.理论分析实验:
如图4所示,显示了数据集1中DAG任务集的平均WCRT随利用率变化图。从图4中可以看出,随着DAG任务集利用率的增加,DAG任务集的平均 WCRT呈上升趋势。对于相同利用率的情况下,使用本发明提出的TDTA算法分配的DAG任务集的平均WCRT均要低于最新的dagP算法和BLM算法。相较于dagP算法和BLM算法分配的相同DAG任务集而言,TDTA算法可以平均减少24.4%和19.03%的WCRT。TDTA算法相较于dagP算法而言,在利用率为1.2并且优先级分配方案为RM时DAG任务的WCRT减少百分比最多,为39.8%。TDTA算法相较于BLM算法而言,在利用率为1.3并且优先级分配方案为DM时DAG任务的WCRT减少百分比最多,为35.56%。
4.2.2.真实平台实验:
图5为6种任务分配算法和优先级分配方案组合在真实多核处理器平台上, DAG任务集WCRT随利用率变化图。随着DAG任务集利用率的增加,DAG 任务集的平均WCRT呈缓慢上升趋势。对于相同利用率的情况下,使用本发明提出的TDTA算法分配的DAG任务集的平均WCRT均要低于最新的dagP算法和BLM算法。相较于dagP算法和BLM算法分配的相同DAG任务集而言, TDTA算法可以平均减少42.79%和42.06%的WCRT。TDTA算法相较于dagP 算法而言,在利用率为2.4并且优先级分配方案为DM时DAG任务的WCRT 减少百分比最多,为50.02%。TDTA算法相较于BLM算法而言,在利用率为 2.4并且优先级分配方案为DM时DAG任务的WCRT减少百分比最多,为 48.76%。
五、参考文献:
[1]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.
[2]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.
[3]Lee J.Improved schedulability analysis using carry-in limitationfor non-preemptive fixed-priority multiprocessor scheduling[J].IEEETransactions on Computers,2017,66(10):1816-1823.
[4]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.
[5]Fisher N,Baruah S,Baker T P.The partitioned scheduling of sporadictasks according to static-priorities[C]//18th Euromicro Conference on Real-Time Systems (ECRTS'06).IEEE,2006:10pp.-127.
[6]Xu M,Phan L T X,Choi H Y,et al.Holistic resource allocation formulticore real-time systems[C]//2019IEEE Real-Time and Embedded Technologyand Applications Symposium(RTAS).IEEE,2019:345-356.
[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/database.git
[9]Herrmann J,Kho J,
Figure BDA0003562977300000151
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.
[10]
Figure BDA0003562977300000152
M Y,Benoit A,
Figure BDA0003562977300000153
B,et al.A scalable clustering-basedtask scheduler for homogeneous processors using DAG partitioning[C]//2019IEEEInternational Parallel and Distributed Processing Symposium(IPDPS).IEEE,2019:155-165.
[11]https://github.com/DrWuYulong/A-Topology-based-DAG-Tasks-Allocatio n-Strategy/tree/main/Database
[12]https://github.com/DrWuYulong/A-Topology-based-DAG-Tasks-Allocatio n-Strategy/tree/main/Database/real%20platform。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

Claims (7)

1.一种基于DAG任务拓扑结构的处理器资源分配方法,其特征在于,首先对DAG任务进行分层预处理,之后基于预处理的DAG任务从高优先级任务开始进行分配;所述DAG任务分配过程包括基于剩余利用率排序的分配步骤,所述基于剩余利用率排序的分配步骤包括以下步骤:
a1.输入包括当前系统中处理器的剩余利用率
Figure FDA0003562977290000011
待分配的子任务集合Δ以及任务周期Ti
a2.对于待分配的子任务,选出μ个剩余利用率最大的处理器用来负载均衡地分配待分配的子任务;
a3.使用
Figure FDA0003562977290000012
重新初始化μ个剩余利用率最大的处理器;
a4.选择待分配子任务中最坏情况响应时间WCET最大的子任务分配给
Figure FDA0003562977290000013
中剩余利用率最大的处理器;
a5.更新Δ,
Figure FDA0003562977290000014
Figure FDA0003562977290000015
重复步骤a4的分配过程,直至待分配任务的集合为空;
a6.将分配后的系统剩余利用率和待分配子任务对应的分配结果返回。
2.根据权利要求1所述基于DAG任务拓扑结构的处理器资源分配方法,其特征在于,所述基于剩余利用率排序的分配步骤具体包括:
a11.输入当前系统中处理器的剩余利用率
Figure FDA0003562977290000016
待分配的子任务集合
Figure FDA0003562977290000017
任务周期Ti
a21.定义
Figure FDA0003562977290000018
选出剩余利用率最大的μ个处理器θ={θ1,…,θμ};
a31.对
Figure FDA0003562977290000019
中的每个元素初始化为1,对
Figure FDA00035629772900000110
中每个元素初始化为空;
a41.当分配任务的集合Δ不为空时,执行分配过程
Figure FDA00035629772900000111
其中
Figure FDA00035629772900000112
是Δ中
Figure FDA00035629772900000113
最大的子任务,ω是
Figure FDA00035629772900000114
中剩余利用率最大的处理器;
a51.更新赋值
Figure FDA00035629772900000115
重复分配过程直至待分配任务的集合Δ为空;
a61.返回输出分配后的系统剩余利用率
Figure FDA0003562977290000021
待分配子任务对应的分配结果
Figure FDA0003562977290000022
3.根据权利要求1所述基于DAG任务拓扑结构的处理器资源分配方法,其特征在于,所述DAG任务分配过程包括基于拓扑结构的DAG任务分配步骤,所述基于拓扑结构的DAG任务分配步骤包括:
b1.输入DAG任务τi、所有层的集合
Figure FDA0003562977290000023
所有并行子结构的集合ξi以及系统中处理器剩余利用率的集合
Figure FDA0003562977290000024
b2.当所分配的DAG任务是系统任务集中优先级最高的任务时,初始化每个处理器的剩余利用率为1;
b3.对于未分配的最高优先级DAG任务,根据其层顺序从小到大进行分配;
b4.输出任务τi中子任务的分配策略Pi和分配完τi后处理器剩余利用率的集合
Figure FDA0003562977290000025
4.根据权利要求3所述基于DAG任务拓扑结构的处理器资源分配方法,其特征在于,所述步骤b3中,DAG任务的每层最多包含两种类型的子任务:第一种为属于某个并行子结构的子任务;第二种为不属于任何一种并行子结构的子任务。
5.根据权利要求3所述基于DAG任务拓扑结构的处理器资源分配方法,其特征在于,所述步骤b3包括步骤:
b31.对于未分配的层优先分配其并行子结构中的子任务;
b32.对于每个并行子结构中的子任务,使用SRU算法将其负载均衡的分配到处理器上;
b33.更新分配结果及该层带分配的子任务集合;
b34.再分配剩余不属于任何并行子结构的子任务:对于剩余不属于任何并行子结构的任务同样使用SRU算法进行分配,并更新分配结果。
6.根据权利要求1所述基于DAG任务拓扑结构的处理器资源分配方法,其特征在于,所述DAG任务分层预处理的步骤包括:
使用
Figure FDA0003562977290000031
来表示τi的第x层,同时
Figure FDA0003562977290000032
也表示τi中处在第x层子任务的集合;对于每一层至少含有1个子任务;
Figure FDA0003562977290000033
表示τi中所有层的集合,其中
Figure FDA0003562977290000034
表示τi的层数;
Figure FDA0003562977290000035
表示子任务Vi,j被分配的层数,
Figure FDA0003562977290000036
通过公式(4)计算得到:
Figure FDA0003562977290000037
其中,
Figure FDA0003562977290000038
表示Vi,j所有前继子任务的集合,Vi,j表示任务τi的第j个子任务。
7.一种计算机可读存储介质,其特征在于:所述计算机可读存储介质存储有计算机程序,所述计算机程序配置为实现权利要求1至6中任一项所述的DAG任务执行逻辑复杂度优化方法的步骤。
CN202210295009.4A 2022-03-24 2022-03-24 基于dag任务拓扑结构的处理器资源分配方法、存储介质 Pending CN114880111A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210295009.4A CN114880111A (zh) 2022-03-24 2022-03-24 基于dag任务拓扑结构的处理器资源分配方法、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210295009.4A CN114880111A (zh) 2022-03-24 2022-03-24 基于dag任务拓扑结构的处理器资源分配方法、存储介质

Publications (1)

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

Family

ID=82668050

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210295009.4A Pending CN114880111A (zh) 2022-03-24 2022-03-24 基于dag任务拓扑结构的处理器资源分配方法、存储介质

Country Status (1)

Country Link
CN (1) CN114880111A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115964184A (zh) * 2023-03-16 2023-04-14 北京大学 确定算力资源的方法,装置及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106648846A (zh) * 2016-09-23 2017-05-10 郑州云海信息技术有限公司 一种改进的异构多核任务调度的方法
US20190182169A1 (en) * 2017-12-11 2019-06-13 State Grid Henan Information & Telecommunication Company Method for dynamically allocating resources in an sdn/nfv network based on load balancing
CN111176817A (zh) * 2019-12-30 2020-05-19 哈尔滨工业大学 一种多核处理器上基于划分调度的dag实时任务间的干扰分析方法
CN113553103A (zh) * 2021-06-03 2021-10-26 中国人民解放军战略支援部队信息工程大学 基于cpu+gpu异构处理平台的多核并行调度方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106648846A (zh) * 2016-09-23 2017-05-10 郑州云海信息技术有限公司 一种改进的异构多核任务调度的方法
US20190182169A1 (en) * 2017-12-11 2019-06-13 State Grid Henan Information & Telecommunication Company Method for dynamically allocating resources in an sdn/nfv network based on load balancing
CN111176817A (zh) * 2019-12-30 2020-05-19 哈尔滨工业大学 一种多核处理器上基于划分调度的dag实时任务间的干扰分析方法
CN113553103A (zh) * 2021-06-03 2021-10-26 中国人民解放军战略支援部队信息工程大学 基于cpu+gpu异构处理平台的多核并行调度方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
DRWUYULONG: "A-Topology-based-DAG-Tasks-Allocation-Strategy", 《GITHUB》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115964184A (zh) * 2023-03-16 2023-04-14 北京大学 确定算力资源的方法,装置及存储介质
CN115964184B (zh) * 2023-03-16 2023-06-13 北京大学 确定算力资源的方法,装置及存储介质

Similar Documents

Publication Publication Date Title
Glushkova et al. Mapreduce performance model for Hadoop 2. x
Masdari et al. Towards workflow scheduling in cloud computing: a comprehensive analysis
Li et al. Feedback dynamic algorithms for preemptable job scheduling in cloud systems
Arabnejad et al. Multi-QoS constrained and profit-aware scheduling approach for concurrent workflows on heterogeneous systems
Wang et al. Scheduling online mixed-parallel workflows of rigid tasks in heterogeneous multi-cluster environments
Goutam et al. Preemptable priority based dynamic resource allocation in cloud computing with fault tolerance
Arif et al. Parental prioritization-based task scheduling in heterogeneous systems
Shah et al. Dynamic multilevel hybrid scheduling algorithms for grid computing
CN114880111A (zh) 基于dag任务拓扑结构的处理器资源分配方法、存储介质
Shah et al. Agent based priority heuristic for job scheduling on computational grids
Saule et al. Optimizing the stretch of independent tasks on a cluster: From sequential tasks to moldable tasks
Hsu et al. On improving resource utilization and system throughput of master slave job scheduling in heterogeneous systems
Chen et al. Minimum makespan workflow scheduling for malleable jobs with precedence constraints and lifetime resource demands
Tong et al. H2ACO: An optimization approach to scheduling tasks with availability constraint in heterogeneous systems
Mishra et al. Time efficient task allocation in cloud computing environment
Xiao et al. An application-level scheduling with task bundling approach for many-task computing in heterogeneous environments
Mao et al. Associate task scheduling algorithm based on delay-bound constraint in cloud computing
Nath et al. A novel task assignment heuristic using local search in distributed computing systems
Shah et al. Design and evaluation of agent based prioritized dynamic round robin scheduling algorithm on computational grids
Barbosa et al. A list scheduling algorithm for scheduling multi-user jobs on clusters
CN114860417B (zh) 多核神经网络处理器及用于该处理器多任务分配调度方法
Trejo-Sánchez et al. A multi-agent architecture for scheduling of high performance services in a GPU cluster
Kumar et al. Multi criteria based task scheduling in cloud environment
Abed et al. Competition-based load balancing for distributed systems
Sukhoroslov Scheduling of Workflows with Task Resource Requirements in Cluster Environments

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