掌桥专利:专业的专利平台
掌桥专利
首页

一种基于异构多核平台上类型化DAG任务的分析及调度方法

文献发布时间:2024-04-18 19:58:21


一种基于异构多核平台上类型化DAG任务的分析及调度方法

技术领域

本发明涉及DAG任务调度技术领域,具体涉及基于异构多核平台上类型化DAG任务的分析及调度方法。

背景技术

异构多核架构被广泛地应用在实时系统中来满足复杂并行任务在自动驾驶[1]和工业自动化[2]等领域日益增长的算力和节能需求。异构多核架构将不同计算能力和不同功耗的核心封装在一个芯片上,从而满足任务算力和节能的需求。例如,ARM提出了大小核架构(big.LITTLE architecture)将两种不同类型的核心封装在同一个芯片中[3]。其中,大核(性能核心)具有更高的计算性能,小核(能效核心)具有更低的能耗表现。

学者们通常将对于性能和功耗都有需求的并行任务建模成类型化有向无环图(typed DAG)任务。有向无环图中的每个节点(子任务)表示一个连续的工作负载。子任务之前的有向边表示他们之间的优先约束关系,即一条从子任务1到子任务2的有向边表示子任务1完成执行后子任务2才能开始执行。由于每个子任务的性能和功耗需求都不同,因此子任务只能在特定某一类型的核心上被执行,所属核心类型在类型化DAG任务生成时由用户需求确定且子任务在执行时不能在其他类型核心上执行。尽管异构多核架构兼顾了计算性能和能耗开销,但由于系统结构复杂以及多类型子任务和多核之间的相互作用,在此架构上分析类型化DAG任务和相应的资源分配存在许多挑战。

目前对于类型化DAG任务的调度主要采用连续工作(work-conserving)调度方法[3]-[6]。基于该方法下的调度器总是选择满足所有优先约束的子任务在其所属类型的核心空闲时执行该子任务(子任务之间不可抢占)。然而,连续工作调度方法由于没有考虑类型化DAG任务内部的拓扑结构在执行时产生的影响,可能导致相同的类型化DAG任务的最坏情况下响应时间(worst-case response time WCRT)延长。图1展示了在具有两种类型核心(每种类型均具有两个核心)的平台上,同一类型化DAG任务局域两种调度方法下的最坏执行情况。通过分析例子中类型化DAG任务的拓扑结构可知v

综上所述,划分调度相较于连续工作调度在某些情况下能够更好的利用异构多核处理器的计算资源。因此,对于异构多核平台上基于划分调度的类型化DAG任务的分析和处理器资源分配等问题的研究具有重要意义。基于异构多核处理器的平台结合了不同架构核心的优点,能够同时兼顾高性能和高能效。因此,异构多核平台受到了学者们的广泛关注。但是关于基于异构多核平台上类型化DAG任务的调度分析技术没有人提出。

发明内容

本发明要解决的技术问题是:

本发明的目的是提供一种基于异构多核平台上类型化DAG任务的分析及调度方法,以实现在异构多核平台上基于划分调度的类型化DAG任务的分析和处理器资源分配,提高核心的资源利用率。

本发明为解决上述技术问题所采用的技术方案为:

一种基于异构多核平台上类型化DAG任务的分析及调度方法,所述分析及调度方法的实现过程包括类型化DAG任务的WCRT分析过程和基于剩余负载的分配策略的过程,具体为:

类型化DAG任务的WCRT分析

一)、基于生命周期的WCRT分析

首先给出的定义和引理:

定义1:用EBT(v

EFT(v

定义2:用LBT(v

LFT(v

引理1:对于任意一个属于集合Δ(v

(1)EBT(v

(2)LFT(v

证明(引理1的正确性):假设EBT(v

对于任意一个属于集合Δ(v

1)x

2)x

3)x

那么会得到如下真命题:

V表示或,/>

为真,因此引理1得证;

根据引理1可知,如果v

根据LFT(v

定义3:定义两个子集为:

1)

2)

引理2:v

证明(引理1的正确性):首先使用反证法证明

在最坏情况下,

对于

定理1:v

定理1可以通过引理1和引理2证明;

推论1:基于划分调度的类型化DAG任务的WCRT上界可以由公式(9)计算计算得到

其中

证明(用于证明推论1):对于任意一个子任务v

1)PCB(v

2)B(v

3)c

其中PCB(v

用R′(v

根据公式(10)可知,

二)、基于最早开始时间的迭代(EOI)算法计算

EBT-order iteration简称EOI,earliest beginning time简称EBT;

输入:类型化DAG任务G

输出:

步骤1:根据公式(4)和公式(5)计算每个子任务的最早开始时间和最早结束时间;

步骤2:初始化每个子任务的

步骤3:根据公式(3)初始化Δ={Δ(v

步骤4:创建临时变量Temp_V储存子任务集合V;

步骤5:若Temp_V不为空,则从Temp_V中选择子任务v

步骤5.1:初始化变量I′(v

步骤5.2:对于

步骤5.3:更新

步骤5.4:初始化

步骤5.5:如果

步骤5.5.1:对于Δ(v

步骤5.5.1.1:更新

步骤5.5.1.2:对于每一个des(v

步骤5.5.1.3:如果v

步骤5.5.2:重复步骤5.5;

步骤5.6:将v

步骤6:输出

基于剩余负载的分配策略

根据上述分析算法式(10)和式(11)可知,集合pre(v

进一步地,利用最小化剩余负载启发式分配策略降低

输入:类型化DAG任务G,系统核心类型集合Θ={Θ

输出:子任务被分配的核心集合T;

步骤1:根据公式(4)和公式(5)初始化每个子任务的最早开始时间;

步骤2:初始化每个核心的剩余负载

步骤3:初始化当前时间CT=0;

步骤4:创建临时变量Temp_V储存子任务集合V;

步骤5:如果Temp_V不为空,则从Temp_V中选择子任务v

步骤5.1:对于每个类型的每个核心,更新其剩余负载

步骤5.2:CT=EBT(v

步骤5.3:分配v

步骤5.4:更新

步骤5.5:将v

步骤6:输出T。

进一步地,所述基于最早开始时间的迭代(EOI)算法包含4重循环,且每层循环最多不超过|V|次,其时间复杂度为O(|V|

进一步地,最小化剩余负载启发式分配策略是一种以贪心策略为核心的最小化剩余负载(Minimizing Remaining Workload MRW)启发式分配策略算法,用于减少类型化DAG任务的最坏情况下响应时间,所述算法是分配每个子任务时都计算其所属类型所有核心的当前剩余负载,并将该子任务分配到剩余负载最小的核心上,从而减少其最晚结束时间,进而降低

一种基于异构多核平台上类型化DAG任务的分析及调度系统,其特征在于:该系统具有与上述权利要求1-4任一项权利要求的步骤对应的程序模块,运行时执行上述的种基于异构多核平台上类型化DAG任务的分析及调度方法中的步骤。

一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序配置为由处理器调用时实现上述的种基于异构多核平台上类型化DAG任务的分析及调度方法的步骤。

本发明具有以下有益技术效果:

基于异构多核处理器的平台结合了不同架构核心的优点,能够同时兼顾高性能和高能效。因此,基于异构多核平台上类型化DAG任务的调度分析非常关键。本发明研究基于异构多核平台上采用划分调度的类型化DAG任务的最坏情况响应时间(the worst-caseresponse time WCRT)和分配策略。本发明通过深入分析类型化DAG任务的拓扑结构的特点提出了一种全新的WCRT上界,并给出了一种基于迭代方法的分析算法。该算法能够在多项式时间内计算出本发明提出的最新WCRT上界。此外,本发明还提出了一种启发式的分配策略,该策略将DAG任务中的子任务分配到不同的核心上从而提升系统处理器资源的利用率。实验结果表明,本发明提出的WCRT分析方法和分配策略在可调度性测试方面相较于最新的方法分别提高了34.9%和26.4%。

基于DAG任务的分配问题已经被证明是NP-complete问题[8],因此,本发明特别提出了一种最小化剩余负载(Minimizing Remaining Workload MRW)启发式分配策略,用来减少类型化DAG任务的最坏情况下响应时间。该算法的主要思想是每个子任务时都计算当前他所属类型所有核心的剩余负载,并将该子任务分配到剩余负载最小的核心上。

目前对于类型化DAG任务的调度主要采用连续工作(work-conserving)调度方法[3]-[6],基于该方法下的调度器总是选择满足所有优先约束的子任务在其所属类型的核心空闲时执行该子任务(子任务之间不可抢占)。然而,连续工作调度方法由于没有考虑类型化DAG任务内部的拓扑结构在执行时产生的影响,可能导致相同的类型化DAG任务的最坏情况下响应时间(worst-case response time WCRT)延长。图1展示了在具有两种类型核心(每种类型均具有两个核心)的平台上,同一类型化DAG任务局域两种调度方法下的最坏执行情况。通过分析例子中类型化DAG任务的拓扑结构可知v

综上所述,划分调度相较于连续工作调度在某些情况下能够更好的利用异构多核处理器的计算资源。因此,对于异构多核平台上基于划分调度的类型化DAG任务的分析和处理器资源分配等问题的研究具有重要意义。

附图说明

图1为相同类型化DAG任务基于两种调度策略的最坏情况执行结果示意图;图2为类型化DAG任务示意图;图3为图2中类型化DAG任务的最坏执行情况示意图;图4为基于PA核心分配方法的可调度率实验结果;图5为基于PA核心分配方法的WCRT实验结果。

具体实施方式:

结合附图1-5对本发明的实现进行如下阐述:

1本发明的主要贡献在于:1)、提升对于某一子任务的潜在阻塞子任务的识别精度;2)、提出了一个更紧类型化DAG任务WCRT上界,和一个多项式时间复杂度计算该上界的方法;3)、提出了一个启发式分配方法将子任务分配到核心上以提高核心的资源利用率。

2划分调度相较于连续工作调度在某些情况下能够更好的利用异构多核处理器的计算资源,因此,对于异构多核平台上基于划分调度的类型化DAG任务的分析和处理器资源分配等问题的研究具有重要意义。

3本发明所述技术方案的实现(系统及任务模型)

3.1系统模型

本发明研究的异构多核平台由S(S≥2)个不同类型的核心构成,用Θ={θ

3.2任务模型

基于划分调度的并行任务通常被建模为类型化DAG任务G=。其中V表示子任务集合。每个子任务表示一段只能在特定类型核心上执行的连续工作负载,其中v

用pre(v

如果有一条完全路径经过v

图2展示了一个基于划分调度的类型化DAG任务。该类型化DAG任务的12个子任务属于两种类型(红色表示类型1和蓝色表示类型2)系统包含两种类型的核心,每种类型核心的数量均为2个,即Θ={θ

4类型化DAG任务的WCRT分析

4.1最新的WCRT分析方法及存在问题

目前最新适用于基于划分调度的类型化DAG任务的WCRT分析算法如公式(2)所示[7],其中

目前基于划分调度的DAG任务的WCRT主要的方式是将其转换为分析所有完全路径的最坏情况下响应时间(如公式(2)和公式(3)所示)。由于该种方法没有深入的分析类型化DAG任务的拓扑结构给WCRT分析带来的影响。因此,该类分析方法具有较高的分析误差。例如,图3展示了图2中所示的类型化DAG任务的最坏情况执行情况。我们假设λ

综上所述,尽管类型化DAG任务基于划分调度相较于基于连续工作调度而言在某些情况下更具有优势,但现存的WCRT分析方法误差较大。因此,对于基于划分调度的类型化DAG任务有必要提出一种更精确的WCRT分析方法。

4.2基于生命周期的WCRT分析

在介绍基于生命周期的WCRT分析方法之前,我们首先介绍几个必要的定义和引理。

定义1:我们用EBT(v

EFT(v

定义2:我们用LBT(v

LFT(v

引理1:对于任意一个属于集合Δ(v

(1)EBT(v

(2)LFT(v

证明:假设EBT(v

对于任意一个属于集合Δ(v

1)x

2)x

3)x

那么我们会得到如下真命题:

为真。因此,引理得证。

根据引理1可知,如果v

接下来我们根据LFT(v

定义3:我们定义两个子集。

1)

2)

引理2:v

证明:我们首先使用反证法证明

在最坏情况下,

对于

定理1:v

定理1可以通过引理1和引理2轻松证明。

推理1:基于划分调度的类型化DAG任务的WCRT上界可以由公式(9)计算计算得到

其中

证明:对于任意一个子任务v

1)PCB(v

2)B(v

3)c

其中PCB(v

用R′(v

4.3基于最早开始时间的迭代(EOI)算法

算法1展示了EOI算法的伪代码来计算

5基于剩余负载的分配策略

根据第4章中提出的分析算法(公式(10)和公式(11))可知,集合pre(v

算法2主要包含两层循环,即步骤5及其子步骤。在最坏情况下,类型化DAG任务中的任意一个子任务v

6实验

6.1类型化DAG任务生成

我们假设每个任务的相对截止期限D=1000。因此,我们不仅可以比较相同类型化DAG任务使用不同的分配和分析算法所得到的WCRT,还可以比较任务的可调度率。一个类型化DAG任务如果能够在其截止期限内完成,我们则称其是可调度的。否则,则称其为不可调度。我们使用U

表格1类型化DAG任务生成参数表

我们使用[7]和[9]中提到的Randfixedsum方法来生成每个子任务的利用率。之后通过公式c

我们使用[3]中提出的按比例分配方法(proportion assignment PA)方法初始化每个子任务的类型。此外,我们使用Worst-Fit(WF)算法和本文提出的MRW算法作为子任务分配给核心的两种策略,来比较本文提出的EOI分析算法和[7]中提出的最新分析算法的性能。本文共计比较4种分析场景(两种核心分配策略,两种分析算法)。例如PA-WF-Wu表示使用[7]中的分析算法分析基于PA类型分配方法和WF分配策略的类型化DAG任务。对于实验中每个不同的调度场景(不同的类型分配方法和核心分配策略的4种组合)的对比样本,我们都生成5000个类型化DAG任务。

6.2实验结果及分析

图4显示了基于PA核心分配方法的可调度率对比图,其中图4(a)展示了四种分析场景下不同U

图5展示了基于PA核心分配方法的最坏情况下响应时间对比图。图5(a)-(d)分别展示了图4(a)-(d)实验结果对应的最坏情况下响应时间。四个子图结果显示,基于EOI分析算法的最坏情况下响应时间相较于Wu分析算法平均低28.22%,31.27%,40.87%和44.27%。类似地,基于MRW分配策略的最坏情况下响应时间相较于WF分配算法平均低26.34%,16.27%,12.11%和10.06%。

综合图4和图5的实验结果,PA-MRW-EOI相较于PA-WF-Wu的可调度率和最坏情况下响应时间的性能提升分别为34.96%和26.46%。

本发明中援引的参考文献明细:

[1]Chishiro,Hiroyuki,et al.″Towards heterogeneous computing platformsfor autonomous driving.″2019IEEE International Conference on EmbeddedSoftware and Systems(ICESS).IEEE,2019.

[2]Andrade,Hugo,et al.″Software challenges in heterogeneouscomputing:A multiple case study in industry.″201945th Euromicro Conference onSoftware Engineering and Advanced Applications(SEAA).IEEE,2019.

[3]Han,Meiling,et al.″Response time bounds for typed DAG paralleltasks on heterogeneous muIti-cores.″IEEE Transactions on Parallel andDistributed Systems 30.11(2019):2567-2581.

[4]Jaffe,Jeffrey M.″Bounds on the scheduling of typed task systems.″SIAM Journal on Computing 9.3(1980):541-551.

[5]Serrano,Maria A.,and Eduardo Quinones.″Response-time analysis ofDAG tasks supporting heterogeneous computing.″Proceedings of the 55th AnnualDesign Automation Conference.2018.

[6]Zhao,Shuai,et al.″DAG scheduling and analysis on multiprocessorsystems:Exploitation of parallelism and dependency.″2020IEEE Real-TimeSystems Symposium(RTSS).IEEE,2020.

[7]Wu,Yulong,et al.″Improving interference analysis for real-time dagtasks under partitioned scheduling.″IEEE Transactions on Computers 71.7(2021):1495-1506.

[8]López,José María,José Luis Díaz,and Daniel F.García.″Utilizationbounds for EDF scheduling on real-time multiprocessor systems.″Real-TimeSystems 28(2004):39-68.

[9]Emberson,Paul,Roger Stafford,and Robert I.Davis.″Techniques forthe synthesis of muItiprocessor tasksets.″proceedings 1st InternationalWorkshop on Analysis Tools and Methodologies for Embedded and Real-timeSystems(WATERS 2010).2010。

相关技术
  • 一种多核处理器上基于划分调度的DAG实时任务间的干扰分析方法
  • 异构多核可重构计算平台上任务调度的方法和装置
技术分类

06120116484154