CN111176637B - 基于缓存抢占延迟约束下aadl模型的可调度性分析方法 - Google Patents

基于缓存抢占延迟约束下aadl模型的可调度性分析方法 Download PDF

Info

Publication number
CN111176637B
CN111176637B CN201911263167.6A CN201911263167A CN111176637B CN 111176637 B CN111176637 B CN 111176637B CN 201911263167 A CN201911263167 A CN 201911263167A CN 111176637 B CN111176637 B CN 111176637B
Authority
CN
China
Prior art keywords
task
preemption
execution
crpd
cache
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
Application number
CN201911263167.6A
Other languages
English (en)
Other versions
CN111176637A (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.)
Northwestern Polytechnical University
Original Assignee
Northwestern Polytechnical University
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 Northwestern Polytechnical University filed Critical Northwestern Polytechnical University
Priority to CN201911263167.6A priority Critical patent/CN111176637B/zh
Publication of CN111176637A publication Critical patent/CN111176637A/zh
Application granted granted Critical
Publication of CN111176637B publication Critical patent/CN111176637B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven

Abstract

本发明公开了一种基于缓存抢占延迟约束下AADL模型的可调度性分析方法,用于解决现有可调度性分析方法实时性差的技术问题。技术方案是根据可执行构件分配的存储资源大小初始化构件缓存利用率,并在特定调度算法下获取任务集在一次调度过程中的抢占序列,结合可执行构件的缓存利用率提出了基于抢占序列的CRPD计算方法。由于本发明方法是通过AADL线程构件存储资源预估值计算CRPD,因此在没有具体程序也可以对构件的缓存抢占延迟进行计算,故而可以普适地应用在AADL模型可调度性验证。特定调度策略下抢占序列刻画了调度过程中任务之间抢占行为,基于抢占序列的CRPD计算方法较UCB‑Union方法更为准确。

Description

基于缓存抢占延迟约束下AADL模型的可调度性分析方法
技术领域
本发明涉及一种可调度性分析方法,特别涉及一种基于缓存抢占延迟约束下AADL模型的可调度性分析方法。
背景技术
文献“Timing analysis for preemptive multitasking real-time systemswith caches,Transactions on Embedded Computing Systems,2007,Vol6(1):7”提出CRPD(Cache Related Preemption Delay,缓存相关抢占延迟)计算方法,该方法首先建立可执行任务的CFG(Control Flow Graph,控制流图),然后为CFG中的每一个节点定义有用缓存块(UCB,Useful Cache Block)以及抢占缓存块(ECB,Evicting Cache Block),最后提出抢占任务路径分析以及UCB-Union计算方法对任务的CRPD进行计算。文献提供了很好的思路去计算可执行组件动态运行时抢占行为所造成的抢占代价。但是,文献所计算出的缓存相关抢占延迟时建立在任务程序控制流图基础上,也就是说在代码层面去建立一种CRPD的计算方法。AADL(Architecture Analysis Design Language)建模语言在MDA(ModelDriven Architecture)设计思想下广泛应用于嵌入式系统建模,然而在绝大数情况下并不关心模型组件的具体代码实现,因此基于CFG的CRPD计算方法不能普适的去分析AADL调度模型在CRPD约束下的可调度性;除此之外,文献中提出的UCB-Union方法在计算被抢占任务的CRPD时,假设高优先级任务都会对低优先级任务造成抢占,因此会高估被抢占任务的CRPD。
发明内容
为了克服现有可调度性分析方法实时性差的不足,本发明提供一种基于缓存抢占延迟约束下AADL模型的可调度性分析方法。该方法根据可执行构件分配的存储资源大小初始化构件缓存利用率,并在特定调度算法下获取任务集在一次调度过程中的抢占序列,结合可执行构件的缓存利用率提出了基于抢占序列的CRPD计算方法。本发明通过迭代的方法计算构件CRPD以及CRPD约束的WCET(Worst Case Execution Time,最坏执行时间),保证了任务集在特定调度策略下生成的抢占序列考虑了所有可能发生的任务抢占。由于该方法是通过AADL线程构件存储资源预估值计算CRPD,因此在没有具体程序也可以对构件的缓存抢占延迟进行计算,故而可以普适地应用在AADL模型可调度性验证。特定调度策略下抢占序列刻画了调度过程中任务之间抢占行为,基于抢占序列的CRPD计算方法较UCB-Union方法更为准确。
本发明解决其技术问题所采用的技术方案:一种基于缓存抢占延迟约束下AADL模型的可调度性分析方法,其特点是包括以下步骤:
步骤一、建立AADL调度模型并提取AADL调度属性,提取的AADL调度属性包括Cache大小、Cache块大小、分区时间片大小、分区之间调度策略、分区内调度策略、分区内线程存储资源使用量、线程的执行时间、线程截止期、线程周期、线程优先级和线程标识;
步骤二、根据公式(1)计算线程所使用缓存块数Bi,ROM(τi)表示任务τi的ROM资源使用量,RAM(τi)表示任务τi的RAM资源使用量,Line_Size为缓存块容量。
Figure BDA0002312137180000021
步骤三、根据公式(2)计算线程τi的缓存利用率CUτi,初始化线程的CRPD为0,Bi为τi所使用缓存块数,CacheSize为Cache大小的。
CUτi=Bi/(CacheSize/Line_Size) (2)
步骤四、将任务的缓存利用率CUτi作为离散均匀分布的概率,在Cache块中以均匀分布的方式产生线程的ECBs。UCBs通过ECBs乘以一个重用因子ρ,UCBs是ECBs的一个子集并且UCBs数量为ρ·|ECBs|。ρ为缓存块重用率,取值空间为[0,1]的随机变量,服从均匀分布。
步骤五、计算任务集的超周期以及任务执行断点的有序集合,任务执行断点集合为任务的释放点集合与分区切换点的集合的并集,初始化第一个任务执行断点为当前执行点,初始化任务集可调度性为true,初始化线程的状态为finish、剩余执行时间置0和未完成的任务记录置为空。
步骤六、当前任务执行断点处有任务要释放,如果在该执行断点处被释放的任务状态不为Runnable,设置任务的状态为Runnable,否则设置任务集可调度性为false跳转至步骤十五;
步骤七、如果任务执行断点为分区切换点则切换分区;
步骤八、选则当前分区内调度算法下优先级最高且处于Runnable状态的任务作为当前任务执行断点处将要执行的任务;
步骤九、如果上一个执行断点处的未执行完成的任务不为空并且与当前执行断点处选择的任务不同则发生抢占,同时记录抢占任务、被抢占任务、抢占发生时间和抢占发生周期;
步骤十、设置当前任务执行断点处即将执行的任务状态为Running;
步骤十一、如果任务的剩余执行时间大于下一个执行断点与当前执行断点的时间间隔,设置当前处于执行状态任务的状态为Runnable,并记录该任务为当前执行断点处未完成的任务,选择下一个执行断点为当前执行断点并跳转到步骤六,否则跳转到步骤十二。
步骤十二、设置当前执行断点处正在执行任务的状态为finish,在任务执行断点列表的首部插入一个执行断点,值为当前执行断点处的时间点与任务剩余时间之和,并将任务剩余执行时间置0;
步骤十三、如果当前任务执行断点为最后一个执行断点,跳转步骤十五,否则跳转到十四;
步骤十四、选择下一个执行断点作为当前执行断点并跳转至步骤六;
步骤十五、根据任务执行断点处抢占信息的记录输出抢占序列以及任务集可调度性;
步骤十六、按照公式(3)计算基于抢占序列的任务缓存相关抢占代价CRPD,preemtingSequence(i)表示任务τi从被抢占到恢复执行这一时间段内高优先级任务的执行序列。ECBst表示抢占任务τt的ECB集合,UCBsi表示被抢占任务τi的UCB集合CacheMissTime为从内存中加载一个缓存块的时间。
Figure BDA0002312137180000031
步骤十七、根据公式(4)计算任务在一个周期内的
Figure BDA0002312137180000033
Figure BDA0002312137180000034
表示任务i在第k个周期的第j次抢占发生时的缓存相关抢占延迟,其中任务i在第K周期的抢占序列个数为N。
Figure BDA0002312137180000032
步骤十八、根据公式(5)计算任务i在一个超周期内的CRPDi,CRPDi,k为任务i在超周期的第k个周期所计算出的缓存相关抢占延迟;
CRPDi=max{CRPDi,1,CRPDi,2...CRPDi,k} (5)
步骤十九、如果计算出任务的CRPDi小于任务i的CRPD或者任务集不可调度,跳转至步骤二十,否则更新任务i的CRPD为CRPDi,根据公式(6)更新每个任务的WCET并跳转至步骤五,Execution_Time为AADL架构模型中任务τi的最坏执行时间,CRPDi为任务τi的缓存相关抢占延迟;
WCETi=Execution_Time+CRPDi (6)
步骤二十、输出各个任务的CRPD约束下的WCET以及任务集可调度性。
本发明的有益效果是:该方法根据可执行构件分配的存储资源大小初始化构件缓存利用率,并在特定调度算法下获取任务集在一次调度过程中的抢占序列,结合可执行构件的缓存利用率提出了基于抢占序列的CRPD计算方法。本发明通过迭代的方法计算构件CRPD以及CRPD约束的WCET(Worst Case Execution Time,最坏执行时间),保证了任务集在特定调度策略下生成的抢占序列考虑了所有可能发生的任务抢占。由于该方法是通过AADL线程构件存储资源预估值计算CRPD,因此在没有具体程序也可以对构件的缓存抢占延迟进行计算,故而可以普适地应用在AADL模型可调度性验证。特定调度策略下抢占序列刻画了调度过程中任务之间抢占行为,基于抢占序列的CRPD计算方法较UCB-Union方法更为准确。
(1)提出的CRPD计算方法中,任务的UCB和ECB来源于AADL模型构件的存储资源容量预估值,因此计算时不用关心AADL线程构件具体代码实现,更适用于软件开发前期AADL架构模型实时性分析场景;
(2)基于具体调度算法调度过程中的抢占序列,使得CRPD计算结果相较于UCB-Union与ECB-Union计算方法更为精确。在实验中相较于UCB-Union下降幅度最高为25%,相较于ECB-Union方法CRPD值下降幅度最高为8.8%;
(3)提出了AADL模型的CRPD计算方法和基于CRPD的WECT计算方法,避免在嵌入式软件开发过程中由于任务之间抢占代价过高而导致系统实时性不达标进而造成的重复开发。
下面结合附图和具体实施方式对本发明作详细说明。
附图说明
图1是CRPD约束下可调度性分析方法的流程图。
图2是本发明调度模型的抢占序列集可调度性计算方法流程图。
图3是不考虑CRPD情况下任务调度序列甘特图。
图4是考虑CRPD情况下任务调度序列甘特图。
图5是AADL分区调度架构模型。
图6是AADL单层调度架构模型。
图7是任务抢占序列图。
图8是图5分区架构模型中在不同的cache大小下CRPD计算结果折线图。
图9是图6架构模型在cache为200Kbytes下CRPD约束的最坏执行时间柱状图。
图10图6中调度模型的CRPD计算结果与传统计算方法结果对比柱状图。
具体实施方式
参照图1-10。本发明基于缓存抢占延迟约束下AADL模型的可调度性分析方法具体步骤如下:
步骤一:建立AADL调度模型并进行模型解析用于调度属性提取;分区调度模型需要提取的属性如表1,图5为AADL分区调度架构模型,Cache大小为200KB,Cache块大小为32byte,处理器主频为250MHZ,CacheMissTime为40ns。图5中分区信息如表2。分区内的任务的属性信息如表3。
表1分区调度需要提取的属性
Figure BDA0002312137180000051
Figure BDA0002312137180000061
表2分区时间属性以及调度属性
Figure BDA0002312137180000062
表3分区内任务集调度属性
Figure BDA0002312137180000063
不分区调度模型需要提取的属性包括:Cache大小、Cache块大小、线程的执行时间、线程截止期、线程周期、线程优先级、线程标识,调度策略、线程存储资源使用量。图6中任务调度就是不分区调度模型,采用RM调度算法,采用Leon处理器,其中Cache大小为200KB,Cache块大小为32byte,处理器主频为250MHZ,故一次Cache Miss耗时40ns也就是CacheMissTime为40ns。表4为图6中任务调度属性;
表4图6中任务集调度属性数据
Figure BDA0002312137180000064
Figure BDA0002312137180000071
步骤二:根据公式(1)计算AADL线程所使用缓存块数,步骤一中提取出线程的存储资源划分为ROM、RAM两种类型,ROM(τi),RAM(τi)为在线程τi中提取属性ROMBudget、RAMBudget的值,Line_Size为32byte。
Figure BDA0002312137180000072
步骤三:根据公式(2)计算每个线程的缓存利用率CUτi,初始化线程的CRPD为0,CacheSize为200KB,Line_Size为32byte,。
CUτi=Bi/(CacheSize/Line_Size) (2)
步骤四:生成每个任务的ECBs和UCBs。根据CUτi在缓存中以离散型均匀分布的方式来产生线程的ECBs,其中CUτi为该均匀分布的概率。UCBs通过ECBs乘以一个重用因子ρ,UCBs是ECBs的一个子集因此|UCBs|=ρ·|ECBs|。ρ为缓存块重用率,取值空间为[0,1]的随机变量,服从均匀分布。
步骤五:计算任务集的超周期以及执行断点集合,初始化线程的状态为finish、剩余执行时间置0,初始化第一个执行断点处未完成的任务为空,初始化第一个任务执行断点为当前执行点断点。任务集的超周期为各个任务周期的最小公倍数,任务集的执行断点集合是有序的任务集释放点集合与分区切换点集合的并集。图2为抢占序列计算和可调度性验证具体的流程图。
任务集的释放点集合也就是计算任务集在一个超周期内所有释放时刻的集合。例如两个周期任务的周期分别是20ms,30ms,那么超周期为周期最小公倍数60ms,任务的释放点集合为超周期内所有能整除该任务周期的时间点集合。任务1的释放点集合为{0ms,20ms,40ms},任务2的释放点集合为{0ms,30ms},任务集释放点集合为每个任务释放点集合的并集,那么上述例子的任务集释放点集合为{0ms,20ms,30ms,40ms}。
如果是分区调度方式则需要计算分区切换点集合,根据分区时间片信息计算在一个超周期内分区切换点集合。例如分区1的时间片为10ms,分区2的时间片为30ms,分区3的时间片为15ms,分区之间为时间片轮转调度策略,那么上述例子中在60ms的超周期内分区切换点集合为{0ms,10ms,40ms,55ms};
步骤六:当前任务执行断点处有任务要释放,如果该执行断点处将被释放的任务状态不为Runnable,则设置任务的状态为Runnable,否则设置任务集可调度性为false表示任务集不可调度,并跳转至步骤十五;
步骤七:如果任务执行断点为分区切换点则切换下一个分区;
步骤八:选则当前分区内调度算法下优先级最高且处于Runnable状态的任务作为当前任务执行断点处将要执行的任务,调度算法支持传统的单处理器RM、EDF调度。支持分区调度,其中分区间调度策略为时间片轮转,分区内兼容RM、EDF调度策略。其中RM算法选择周期最小且处于Runnable状态的任务,EDF选择当前任务截止期最小且处于Runnable状态的任务;
步骤九:如果上一个执行断点处的未执行完成的任务不为空并且与当前执行断点处将要执行的任务不同则发生抢占,同时记录抢占任务、被抢占任务、抢占发生时间、周期。以图7中任务T1和T2的执行序列为例,可以看出从第Kms到K+5ms处的执行断点集合为{K,K+1,K+2,K+4},假设当前执行断点为k+1,那么上一个执行断点则为K。K处释放线程T1且执行时间为1.5ms,那么在当前执行断点处T1并未执行完成,并且当前执行断点K+1处释放的线程为T2,因此T1在当前执行断点处被抢占,记录抢占任务T2和被抢占任务T1、T1被抢占的周期数。
步骤十:设置当前任务执行断点处即将执行的任务状态为Running;
步骤十一:如果当前执行断点处将执行任务的剩余执行时间大于下一个执行断点与当前执行断点之间的时间间隔则设置当前处于执行状态任务的状态为Runnable,并记录当前执行断点处未完成任务为该任务,选择下一个执行断点为当前执行断点并跳转到步骤六,否则转到步骤十二。
步骤十二:在有序的任务执行断点集合中插入一个执行断点,其值为当前执行断点处的时间点与任务剩余时间之和,并将任务剩余执行时间置0,设置任务状态为finish;
步骤十三:如果当前任务执行断点为最后一个执行断点,跳转至步骤十五;
步骤十四:选择下一个执行断点作为当前执行断点并跳转至步骤六;
步骤十五:根据任务执行断点处抢占信息的记录输出抢占序列以及可调度性结果。
步骤十六:按照公式(3)计算基于抢占序列的任务的CRPD,preemtingSequence(i)表示任务τi从被抢占到恢复执行这一时间段内高优先级任务的执行序列。ECBst表示抢占任务τt的ECB集合,UCBsi表示被抢占任务τi的UCB集合。例如preemtingSequence(i)=(τy,τx,τj)表示任务τi被任务τy抢占,在y没执行完的情况下又被τx抢占,同样任务τx被任务τj抢占,等τj执行完任务τi恢复执行。将调度序列中任务τi的抢占序列计算出来,根据该序列将所有抢占任务的ECB集合ECBst做一个并集,然后与被抢占任务的UCB集合UCBsi做交集,运算结果就是要被替换出缓存的主存块集合,CacheMissTime在特定硬件体系结构中可以为一个常数。
Figure BDA0002312137180000091
表4为图6中的AADL调度属性,任务集在一个超周期执行结束时间为13186ms,表5为在一个超周期内,图6中任务集在RM调度策略下产生的抢占序列;
表5任务集一个超周期内抢占序列信息表
Figure BDA0002312137180000092
为了说明其计算过程,假设T23的UCBs={1,2,3,4},T12的ECBs={2,3,4},T11的ECBs={4,5,7},那么根据公式(3)在抢占序列PreemtingSequence(T23)=(T12,T11)下对T23造成的CRPD为3·CacheMissTime,计算过程如下:
Figure BDA0002312137180000093
步骤十七:根据公式(4)计算任务在一个周期内的
Figure BDA0002312137180000101
Figure BDA0002312137180000102
表示任务i在第k个周期的第j次抢占发生时的抢占代价;
Figure BDA0002312137180000103
步骤十八:根据公式(5)计算任务在一个超周期内最大CRPDi,超周期为任务集中任务周期的最小公倍数,CRPDi,k为任务i在第k个周期内所计算出的抢占延迟。
CRPDi=max{CRPDi,1,CRPDi,2...CRPDi,k} (5)
步骤十九:如果计算出任务的CRPDi小于当前任务的CRPD或者任务集不可调度,则跳转至步骤二十,否则更新任务的CRPD为CRPDi,根据公式(6)更新每个任务的WCET并跳转至步骤五。步骤十九的作用是迭代计算任务的WCET,是为了考虑到基于CRPD下调度所带来的隐式抢占点所导致的抢占代价计算不准确的问题,在图3中,在没有考虑到CRPD时,抢占点发生在10ms处,但是如果τ1由于重复加载而导致的缓存时间比较大,在图4中,由于10ms处的抢占代价CRPD比较大时,导致任务τ1在30ms处被抢占,在计算任务τ1的抢占代价时忽略了30ms的抢占代价,因此有可能低估抢占代价;
步骤二十:输出任务的CRPD、CRPD约束下的WCET以及任务集可调度性。
图8为在不同的Cache大小下基于抢占序列的CRPD计算值,可以看出随着Cache的增大,CRPD呈负增长。由于边际效应,随着Cache的持续增大,CRPD趋于稳定。图8中T31任务的CRPD为计算不为0,这是因为Cache对操作系统透明,所以分区切换也会造成缓存块替换进而产生CRPD;
图9为表4中任务集在RM调度算法下所计算出的CRPD约束下最坏执行时间对比柱状图。由于T11优先级最高,因此没有被抢占所以抢占代价为0;
图10为表4中任务集在抢占序列下CRPD计算结果与UCB-Union、ECB-Union方法计算结果的对比,基于抢占序列计算的CRPD小于等于UCB-Union与ECB-Union方法的计算结果,因为UCB-Union与ECB-Union计算过程中没有考虑到高优先级任务是否处于就绪状态,所以未就绪状态的高优先级任务也参与了抢占点处CRPD的计算,导致高估了CRPD。

Claims (1)

1.一种基于缓存抢占延迟约束下AADL模型的可调度性分析方法,其特征在于包括以下步骤:
步骤一、建立AADL调度模型并提取AADL调度属性,提取的AADL调度属性包括Cache大小、Cache块大小、分区时间片大小、分区之间调度策略、分区内调度策略、分区内线程存储资源使用量、线程的执行时间、线程截止期、线程周期、线程优先级和线程标识;
步骤二、根据公式(1)计算线程所使用缓存块数Bi,ROM(τi)表示任务τi的ROM资源使用量,RAM(τi)表示任务τi的RAM资源使用量,Line_Size为缓存块容量;
Figure FDA0002312137170000011
步骤三、根据公式(2)计算线程τi的缓存利用率CUτi,初始化线程的CRPD为0,Bi为τi所使用缓存块数,CacheSize为Cache大小的;
CUτi=Bi/(CacheSize/Line_Size) (2) ;
步骤四、将任务的缓存利用率CUτi作为离散均匀分布的概率,在Cache块中以均匀分布的方式产生线程的ECBs;UCBs通过ECBs乘以一个重用因子ρ,UCBs是ECBs的一个子集并且UCBs数量为ρ·|ECBs|;ρ为缓存块重用率,取值空间为[0,1]的随机变量,服从均匀分布;
步骤五、计算任务集的超周期以及任务执行断点的有序集合,任务执行断点集合为任务的释放点集合与分区切换点的集合的并集,初始化第一个任务执行断点为当前执行点,初始化任务集可调度性为true,初始化线程的状态为finish、剩余执行时间置0和未完成的任务记录置为空;
步骤六、当前任务执行断点处有任务要释放,如果在该执行断点处被释放的任务状态不为Runnable,设置任务的状态为Runnable,否则设置任务集可调度性为false跳转至步骤十五;
步骤七、如果任务执行断点为分区切换点则切换分区;
步骤八、选则当前分区内调度算法下优先级最高且处于Runnable状态的任务作为当前任务执行断点处将要执行的任务;
步骤九、如果上一个执行断点处的未执行完成的任务不为空并且与当前执行断点处选择的任务不同则发生抢占,同时记录抢占任务、被抢占任务、抢占发生时间和抢占发生周期;
步骤十、设置当前任务执行断点处即将执行的任务状态为Running;
步骤十一、如果任务的剩余执行时间大于下一个执行断点与当前执行断点的时间间隔,设置当前处于执行状态任务的状态为Runnable,并记录该任务为当前执行断点处未完成的任务,选择下一个执行断点为当前执行断点并跳转到步骤六,否则跳转到步骤十二;
步骤十二、设置当前执行断点处正在执行任务的状态为finish,在任务执行断点列表的首部插入一个执行断点,值为当前执行断点处的时间点与任务剩余时间之和,并将任务剩余执行时间置0;
步骤十三、如果当前任务执行断点为最后一个执行断点,跳转步骤十五,否则跳转到十四;
步骤十四、选择下一个执行断点作为当前执行断点并跳转至步骤六;
步骤十五、根据任务执行断点处抢占信息的记录输出抢占序列以及任务集可调度性;
步骤十六、按照公式(3)计算基于抢占序列的任务缓存相关抢占代价CRPD,preemtingSequence(i)表示任务τi从被抢占到恢复执行这一时间段内高优先级任务的执行序列;ECBst表示抢占任务τt的ECB集合,UCBsi表示被抢占任务τi的UCB集合CacheMissTime为从内存中加载一个缓存块的时间;
Figure FDA0002312137170000021
步骤十七、根据公式(4)计算任务在一个周期内的
Figure FDA0002312137170000022
表示任务i在第k个周期的第j次抢占发生时的缓存相关抢占延迟,其中任务i在第K周期的抢占序列个数为N;
Figure FDA0002312137170000023
步骤十八、根据公式(5)计算任务i在一个超周期内的CRPDi,CRPDi,k为任务i在超周期的第k个周期所计算出的缓存相关抢占延迟;
CRPDi=max{CRPDi,1,CRPDi,2...CRPDi,k} (5) ;
步骤十九、如果计算出任务的CRPDi小于任务i的CRPD或者任务集不可调度,跳转至步骤二十,否则更新任务i的CRPD为CRPDi,根据公式(6)更新每个任务的WCET并跳转至步骤五,Execution_Time为AADL架构模型中任务τi的最坏执行时间,CRPDi为任务τi的缓存相关抢占延迟;
WCETi=Execution_Time+CRPDi (6) ;
步骤二十、输出各个任务的CRPD约束下的WCET以及任务集可调度性。
CN201911263167.6A 2019-12-11 2019-12-11 基于缓存抢占延迟约束下aadl模型的可调度性分析方法 Active CN111176637B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911263167.6A CN111176637B (zh) 2019-12-11 2019-12-11 基于缓存抢占延迟约束下aadl模型的可调度性分析方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911263167.6A CN111176637B (zh) 2019-12-11 2019-12-11 基于缓存抢占延迟约束下aadl模型的可调度性分析方法

Publications (2)

Publication Number Publication Date
CN111176637A CN111176637A (zh) 2020-05-19
CN111176637B true CN111176637B (zh) 2023-01-13

Family

ID=70657134

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911263167.6A Active CN111176637B (zh) 2019-12-11 2019-12-11 基于缓存抢占延迟约束下aadl模型的可调度性分析方法

Country Status (1)

Country Link
CN (1) CN111176637B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113742158A (zh) * 2020-06-15 2021-12-03 北京沃东天骏信息技术有限公司 系统容量规划的方法和装置
CN113238501A (zh) * 2021-05-08 2021-08-10 西安联乘智能科技有限公司 一种基于rtos操作系统的车联网控制方法和系统
CN113868142B (zh) * 2021-10-08 2024-02-27 西北工业大学 一种多处理器系统aadl模型可调度性分析方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101615120A (zh) * 2009-08-13 2009-12-30 电子科技大学 Aadl模型的一种调度分析方法
CN104598302A (zh) * 2015-02-09 2015-05-06 西北工业大学 基于资源竞争模型的aadl模型可调度性验证方法
CN107589993A (zh) * 2017-08-15 2018-01-16 郑州云海信息技术有限公司 一种基于linux实时操作系统的动态优先级调度算法
CN107766140A (zh) * 2017-10-30 2018-03-06 华中科技大学 一种带抢占点实时任务的可调度性分析方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9766931B2 (en) * 2012-04-30 2017-09-19 Massachusetts Institute Of Technology Uniprocessor schedulability testing for non-preemptive task sets
US10863522B2 (en) * 2017-05-03 2020-12-08 Huawei Technologies Co., Ltd. System and method for coexistence of low latency and latency tolerant communications
US10296382B2 (en) * 2017-05-17 2019-05-21 Imam Abdulrahman Bin Faisal University Method for determining earliest deadline first schedulability of non-preemptive uni-processor system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101615120A (zh) * 2009-08-13 2009-12-30 电子科技大学 Aadl模型的一种调度分析方法
CN104598302A (zh) * 2015-02-09 2015-05-06 西北工业大学 基于资源竞争模型的aadl模型可调度性验证方法
CN107589993A (zh) * 2017-08-15 2018-01-16 郑州云海信息技术有限公司 一种基于linux实时操作系统的动态优先级调度算法
CN107766140A (zh) * 2017-10-30 2018-03-06 华中科技大学 一种带抢占点实时任务的可调度性分析方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于UPPAAL的AADL模型可调度性验证;刘倩等;《计算机应用》;20090701(第07期);全文 *

Also Published As

Publication number Publication date
CN111176637A (zh) 2020-05-19

Similar Documents

Publication Publication Date Title
CN111176637B (zh) 基于缓存抢占延迟约束下aadl模型的可调度性分析方法
Xiao et al. {AntMan}: Dynamic scaling on {GPU} clusters for deep learning
CN110413391B (zh) 基于容器集群的深度学习任务服务质量保证方法和系统
US8397235B2 (en) User tolerance based scheduling method for aperiodic real-time tasks
CN109542603B (zh) 一种提高不同优先级任务间隔离性的多维资源隔离系统
Fonseca et al. A multi-dag model for real-time parallel applications with conditional execution
CN112416585B (zh) 面向深度学习的gpu资源管理与智能化调度方法
CN108205469B (zh) 一种基于MapReduce的资源分配方法及服务器
CN114217966A (zh) 基于资源调整的深度学习模型动态批处理调度方法和系统
Liu et al. Elastic job bundling: An adaptive resource request strategy for large-scale parallel applications
CN111861412A (zh) 面向完成时间优化的科学工作流调度方法及系统
CN112015765B (zh) 基于缓存价值的Spark缓存淘汰方法及系统
US20180039514A1 (en) Methods and apparatus to facilitate efficient scheduling of digital tasks in a system
US20080271041A1 (en) Program processing method and information processing apparatus
CN112231081B (zh) 云环境下基于pso-ahp的单调速率资源调度方法及系统
Ambati et al. Good things come to those who wait: Optimizing job waiting in the cloud
US20230123634A1 (en) Dynamic, low-latency, dependency-aware scheduling on simd-like devices for processing of recurring and non-recurring executions of time-series data
CN110088730A (zh) 任务处理方法、装置、介质及其设备
Tia et al. Aperiodic Request Scheduling in Fixed-Priority Preemptive Systems
Rughetti et al. Dynamic feature selection for machine-learning based concurrency regulation in STM
CN111581041A (zh) 一种磁盘性能测试的方法和设备
US20230367633A1 (en) Gpu and gpu method
Qamhieh et al. An experimental analysis of DAG scheduling methods in hard real-time multiprocessor systems
CN112379998B (zh) 一种基于任务融合和任务调度的切换时延优化方法
US11720394B2 (en) Automatic code path determination

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