一种优化混合关键实时系统使用寿命的任务调度方法与流程

文档序号:16244430发布日期:2018-12-11 23:26阅读:221来源:国知局
本发明涉及实时系统与混合关键性系统,尤其涉及容错调度,通过权衡可靠性和系统可调度性,在系统不可以修复永久性故障的情况下,利用dvfs技术设计一套自适应的调度方案,具体地说是一种优化混合关键性系统使用寿命的任务调度方法。
背景技术
:在现代嵌入式实时系统中,由于集成技术的发展,越来越多的嵌入式实时系统考虑在一个单一的共享计算平台上集成多个功能。由于原本隔离运行的不同关键性级别的应用程序如今共享处理器,所以这种通用计算平台不但需要考虑功能之间的协作,更需要考虑系统关键性的混合,混合关键性系统应运而生。在汽车与航天等领域,有关键性任务的存在的混合关键性系统是很昂贵的,所以设备使用寿命是值得研究的课题。另外,一些混合关键性系统包含了安全关键性任务(如嵌入式人体医疗设备等),显然这些系统不适合频繁地更换,即对系统的设备使用寿命也有很高的要求。因此,如何优化这些系统的使用寿命具有很高的研究价值和重大的现实意义。在保证使用寿命最大化的基础上,如何保证系统的安全需求(高可靠性)也是学术界和工业界关注的焦点。系统可靠性是指在可能产生故障的情况下,系统能够正确运行的概率,它会随着故障率的升高而降低,系统性能会变得越来越差。计算机系统常见的系统级别故障可以分为两类:瞬时故障和永久故障。当故障发生后,如果通过一定延时,故障点能够消失,则称这类故障是瞬时性故障。如果故障不能自动消失,延时之后故障点仍然存在,则称这类故障是永久性故障。已经有很多模型与方法来降低瞬时故障率,因为提升系统的运行电压/频率会导致瞬时故障率减少,所以通常利用动态电压频率调整技术来调节瞬时故障率,并且采用重执行技术来容忍瞬时故障。然而,动态电压频率调整技术会带来一些问题,比如它产生的热损耗影响。研究表明,系统的温度会随着系统运行电压/频率的提高而升高,进而导致老化加速,永久故障率增高。所以,系统应当降低运行电压/频率来减少永久故障的发生。但是,过低的运行电压/频率会导致处理器能力不足,任务错过自身的截止时间,违背了系统的实时性。并且,系统运行电压/频率过低还会引起瞬时错误率增加,威胁系统设备使用寿命。因此,如何在混合关键性系统中合理地进行系统配置(分配运行电压/频率),在保证高可靠性和可调度性的前提下,使得设备的使用寿命最长具有很高的研究价值和重大的现实意义。技术实现要素:本发明提出了一种满足可靠性与可调度性约束下,能优化设备使用寿命的调度策略。使用dvfs技术来降低热循环效应对设备寿命的损害,然后利用重执行技术在确保可靠性与可调度性的前提下,进一步减小任务执行带给设备寿命的损害。本发明的目的是这样实现的:一种优化混合关键实时系统使用寿命的任务调度方法,该方法包括以下步骤:步骤1:处理器模型、任务集模型、功耗模型与温度模型的建立;步骤2:任务集预处理,计算系统约束;步骤3:确定任务工作频率以消除热效应影响;步骤4:构建混合整数线性规划(milp)问题,确定任务重执行次数;步骤5:根据步骤2、3与4的结果对任务进行分配调度;步骤6:任务集执行完毕。所述步骤1具体包括:步骤a1:单处理器单元支持的l组离散的工作电压/频率,即处理器是可以变频的:{(v1,f1),(v2,f2),…,(vl,fl)}并满足工作电压v1≤v2≤…≤vl,并且为了表述简便,对频率进行标准化0<fmin=f1≤f2≤…≤fl=fmax=1,fmin是处理器支持的最小工作频率,fmax是处理器支持的最大工作频率:步骤a2:双关键任务集γ模型的建立:γ={τ1,τ2,…,τi,…τq}其中:q为任务集γ中相互独立实时周期性任务的个数;步骤a3:双关键任务τi模型的建立:其中:1≤i≤n,pi为任务τi的周期,di为任务τi的相对截止时间,χi∈{lo,hi}为任务τi的关键性,为任务τi在系统模式为χi并且处理器频率为fbase下的执行时间最坏情况执行时间;步骤a4:实时约束关系的建立:步骤a5:功耗模型p(t)与温度模型ti的建立:基于cmos电路的处理器在t时刻的功耗可以表示为静态功耗与动态功耗之和,即其中,α,β和δ是非负的处理器相关参数,μi是任务的活跃因子,(μi,fi)是处理器调度任务时的电压与频率,t(t)是处理器在t时刻的温度;热模型:其中,q是处理器热容,a是处理器的热阻,tamb是初始环境温度;用ti-1来代表任务τi开始执行时的处理器温度,用ti来代表任务τi执行完毕时的处理器温度,则因为处理器支持dvfs技术,而且处理器的工作频率与工作电压近似线性相关。为了表述简洁一致,对所有常系数项进行合并,令其中c0,c1,c2和c4是处理器硬件相关的正参数,c3是处理器硬件以及任务相关的正参数,而c5是处理器硬件相关的负参数。那么任务τi执行完毕时的处理器温度可以简化成可以进一步推导出,由于任务τi的执行导致的处理器温度变化表示为所述步骤2具体包括:步骤b1:计算任务执行时间:其中,ni代表任务τi的重执行次数,nmax代表系统设计者规定的最大重执行次数。步骤b2:计算任务最低运行频率:步骤b3:保证每个任务τi的重执行次数都必须有实际意义:ni是整数其中,amax是重执行次数系统上限。而且重执行技术需要有效,也就是至少有一个任务要被重执行,即步骤b4:令双关键性系统的低关键性等级为x,高关键性等级为y,即x≠y步骤b5:保证可靠性,即pfhlo≤pfhxpfhhi≤pfhy步骤b6:保证可调度性,即所述步骤3具体包括:步骤c1:对任务集进行遍历步骤c2:构建任务τi无热循环效应影响的设备环境温度等式:步骤c3:求解步骤c2中的方程,得到四个解(fi1,fi2,fi3,fi4):或的解步骤c4:根据实时性约束筛选最优工作频率候选集;步骤c5:根据实际情况,分两种场景讨论,如果提供的l组频率恰好能提供最优解时,转步骤c8;否则继续步骤c6:计算系统提供的工作频率和最优解的最小绝对差距afi_j=min(|fi1-fi_j|,|fi2-fi_j|,|fi3-fi_j|,|fi4-fi_j|)其中,j是对电压/频率集进行遍历的迭代变量。步骤c7:计算l组频率中距离任务τi最优解差距最小的频率;步骤c8:选定当前频率为任务τi最优工作频率;步骤c9:如果任务集仍未遍历完毕,转步骤c2;否则,继续;步骤c10:得到所有任务最优工作频率的频率集f。所述步骤4具体包括:步骤d1:把步骤3中计算出的所有约束加入到约束集中步骤d2:构造目标函数:步骤d3:通过目标函数与约束集st构造moinlp问题,输入到matlab中;步骤d4:返回包含所有任务及其最优重执行次数的映射集n。所述步骤5具体包括:步骤e1:构造冷热变化因子:步骤e2:定义触发器a,当系统有任务超时的时候触发,切换系统工作状态;步骤e3:定义触发器b,当等待队列中所有的高关键性任务执行完毕时触发,切换系统工作状态;步骤e4:定义触发器c,当有新任务达到时触发,计算相关信息之后把任务加入到等待队列;步骤e5:如果当前时间没有达到等待队列中的最小最晚开始执行时间时,系统依据任务的冷热性质调度任务;否则,转步骤e7;步骤e6:选出等待队列中最大的冷热变化因子对应的任务,如果该任务在全部执行完毕也不会超过等待队列中最小的任务最晚开始时间,计算最大可执行时间,把该任务所对应的信息移除等待队列,转e8;否则,转e7;步骤e7:计算最大可执行时间,更新剩余执行时间;步骤e8:更新系统当前时间,记录当前调度编号,记录此次调度情况记录在调度表table中,并且迭代调度编号;步骤e9:如果调度编号小于任务数,转步骤e1;步骤e10:调度结束。本发明在给定一个支持l层工作频率{f1,f2…,fl}的可变频单处理器平台,一个独立的实时离散双关键性任务集γ={τ1,τ2,…,τq}以及在系统不可以修复永久性故障的情况下,利用动态电压频率调整技术设计一套自适应的调度方案,确定系统中的任务以何种频率运行以及重执行多少次,会使系统使用寿命最长。同时,保证了混合关键性系统的可靠性、安全性与可调度性。附图说明图1为本发明流程图;图2为6个不同基准任务集测试中系统使用寿命的结果图;图3为本发明中的算法在初始温度为25℃时,与其他4种算法在合成基准任务集测试中的系统最终温度对比示意图;图4为本发明中的算法在初始温度为45℃时,与其他4种算法在合成基准任务集测试中的系统最终温度对比示意图;图5为本发明中的算法在初始温度为65℃时,与其他4种算法在合成基准任务集测试中的系统最终温度对比示意图;图6为本发明中的算法在初始温度为25℃时,与其他4种算法在合成基准任务集测试中的系统使用寿命对比示意图;图7为本发明中的算法在初始温度为45℃时,与其他4种算法在合成基准任务集测试中的系统使用寿命对比示意图;图8为本发明中的算法在初始温度为65℃时,与其他4种算法在合成基准任务集测试中的系统使用寿命对比示意图;图9为本发明中的算法和其他4种算法在合成基准任务集测试中的运行时间对数归一化后的对比示意图;图10为本发明中的算法相较于其他4种算法在合成基准任务集测试中对系统使用寿命提升率的对比示意图。具体实施方式以下结合附图及具体实施例,对本发明作进一步的详细说明。本发明中的双关键性混合系统中的实时离散任务集γ={τ1,τ2,…,τq}中的任务相互独立,不存在数据依赖关系。在满足给定的吞吐量的情况下,任务集连续不断地执行。采用动态电压频率调整技术,该处理器单元支持的l组离散的工作电压/频率,即处理器是可以变频的,记为{(v1,f1),(v2,f2),…,(vl,fl)},并满足v1≤v2≤…≤vl。为了表述简便,对频率进行标准化0<fmin=f1≤f2≤…≤fl=fmax=1,其中fmin是处理器支持的最小工作频率,fmax是处理器支持的最大工作频率。本发明具体包括6个步骤。步骤1和2对任务集进行预处理,建立相关系统模型与约束。步骤3主要利用基于消除热循环效应优化算法,为任务选出最优的工作频率。它根据任务与处理器的具体特性,通过dvfs技术来调节不同任务的工作频率,旨在消除热循环效应带来的温度变化,从而进一步减少热效应对处理器寿命的损伤,达到延长系统使用寿命的目的。第一:构建无热循环效应影响的设备环境温度等式,求解最优工作频率候选项。在迭代过程中,初始化当前任务τi的最优工作频率候选集(fi1,fi2,fi3,fi4)=(0,0,0,0)。对当前任务构建无热循环效应影响的设备环境温度等式:该式的具体参数由处理器的硬件特性和任务具体特性决定,相关变量是任务的工作频率。对等式进行数学分析,得到一个直接的解和一个一元三次方程,依据圣金公式求解得到无热循环效应影响的设备环境温度等式的余下三个解并记录到最优工作频率候选集中。第二:对处理器提供的l个工作频率进行筛选,过滤掉不满足实时性约束的频率候选项。任务最低运行频率是指任务如果工作在低于这个频率的环境下,一定会错过自身的截止时间,从而违背实时性原则。先计算当前任务的最低运行频率,初始化循环控制变量j为1,用来遍历处理器工作频率集θ中的每一个频率,把低于最低运行频率的任务去除掉。第三:考虑处理器设备是否能提供最优频率的情形,分两种情况讨论。初始化最优解标识flag为0。初始化最小差距δfi_j,用它来记录处理器提供的频率与理想频率的差值。当提供的l组频率恰好能提供最优解时,这是最理想的情况,任务的最优工作频率就是该值,记录下相关信息结束此次任务迭代。当提供的l组频率不能提供最优解时,计算处理器能提供的当前频率和当前任务最优工作频率之间的最小绝对差距,并用δfi_j来记录此差距值,迭代次数加1,直到遍历完处理器工作频率集θ中的所有频率为止。第四:结合实际情况,确定最优解求解情况。如果实际情况中处理器不能提供最优解,那么挑选处理器频率集θ中最小差距值δfi_j最小的,并记录下此时的频率作为当前任务的最优工作频率。第五:确定当前任务的最优工作频率,更新最优工作频率集合f。迭代次数加1,继续为下一个任务寻找最优工作频率。最后,当迭代循环过程结束之后,获得由每个任务的最优工作频率组成的处理器最优工作频率集合f,其中记录了每一个任务应该以什么频率运行才可以避免热循环效应,从而减少对处理器的损伤,达到延长处理器设备使用寿命的目的。把每个任务的最优工作频率作为步骤4和步骤5的输入,并进入步骤4。步骤4利用重执行次数自适应优化算法,为任务选出最优的重执行次数。根据步骤4,利用重执行次数自适应优化算法,为任务选出最优的重执行次数。它通过减少任务的重执行次数来减少处理器负载,从而进一步减少对处理器寿命的损伤,达到延长设备使用寿命的目的。通过理论分析确定系统的最优化目标并根据可调度性构建约束条件:再根据可靠性以及安全需求构造系统约束条件:x,y∈{a,b,c,d,e}x≠ypfhlo≤pfhxpfhhi≤pfhy然后,构造milp的问题与约束条件作为matlab的输入;最后,整理matlab的返回结果,获得每个任务的最优重执行次数,并把它作为步骤5的输入,并进入步骤5。步骤5是根据输出的任务相关调度信息,充分利用处理器空闲时间。定义三个触发器a、b、c用于监控系统的状态,它们可以在系统中任何时候被触发,并且打断其他代码的运行。定义触发器a,当系统中存在任务超时的情况下触发,系统工作状态切换到高关键性工作状态,并且阻塞所有低关键性任务;定义触发器b,当等待队列中所有的高关键性任务执行完毕的情况下触发,系统工作状态切换到低关键性工作状态,恢复所有被阻塞的低关键性等级任务,使它们可以被正常调度。定义触发器c,当有新任务达到时触发,系统当前时间t更新为任务τi的到达时间;计算新任务的剩余执行时间、最晚开始执行时间以及冷热变化因子任务及其相关信息加入到任务等待队列queue,并更新queue。遍历任务等待队列,有三种情况。第一种:当前时间没有达到等待队列中的最小最晚开始执行时间的情况。因为此时的处理器存在空闲时间可以利用,所以设计调度算法依据任务的冷热性质进行调度。如果系统的当前时间不超过等待队列中最小的任务最晚开始时间,那么对等待队列进行遍历,选出等待队列中最大的冷热变化因子对应的任务记录编号为j。如果任务j在全部执行完毕时也不会超过等待队列中最小的任务最晚开始时间,那么说明任务可以在所有触发器都没有被触发的情况下,完全被执行完,所以把它移出等待队列;不然说明在所有触发器都没有被触发的情况下,任务没有足够的时间被完全执行,所以令任务尽可能地执行并更新任务剩余的需要执行的时间。更新系统当前时间,记录当前调度编号,并且在调度表table中记录此次调度情况,然后调度编号迭代,为下一次任务的调度做好准备。第二种:当前时间达到等待队列中的最小最晚开始执行时间的情况。此时,系统需要立即调度此任务来满足实时要求,记录该任务的编号为j,计算最大可执行时间,并且把任务j所对应的信息移除等待队列queue。更新系统当前时间,然后记录当前调度任务的编号,并且在调度表table中记录此次调度情况。最后调度编号迭代,为下一次任务的调度做好准备。第三种:当前时间超过等待队列中的最小最晚开始执行时间的情况,这会导致系统中任务的超时,从而触发了触发器c。最后,得到并输出系统完整的调度表table,按照调度表中的任务工作频率、重执行次数以及调度顺序对任务进行调度即可。步骤6,系统完成任务调度。在本发明中,全面考虑可调度性和可靠性的情况下,实现系统使用寿命最大,优化完毕。为了说明本发明中提出的算法对系统使用寿命的优化,实验部分将按照以下步骤来进行:实施例1设置不同任务集来排除其他可能性对算法对比的影响步骤1:如表1所示,构造了六个不同的任务集,以任务集1为基准,之后的每一个任务集都与它做对比,依次控制变量:任务集大小、高关键性任务占总任务的比例、低关键性任务的执行时间范围、同一个任务在高关键性状态下的执行时间与是低关键性状态下的几倍、同一个任务在高关键性状态下的执行时间与是低关键性状态下的几倍以及任务最大重执行次数。表1任务集基本参数设置参数编号步骤2:利用65纳米制造技术工艺的微处理器作为硬件平台,处理器频率/电压层次分别为:0.85v/0.801ghz、0.9v/0.829ghz、0.95v/0.855ghz、1v/0.880ghz、1.05v/0.903ghz和1.1v/1.00ghz,利用hotspot5.0得到温度曲线,环境温度设置为45℃。处理器的热阻为0.008j/℃、热容量为1.83℃/w。步骤3:设置处理器的初始温度,分别为25℃、45℃和65℃,对用表1中的六组参数经过随机任务生成器生成的六组任务集用本文算法进行调度,并分别记录系统最终的使用寿命情况。对系统使用寿命进行归一化处理,汇总实验结果如图2所示。实施例2在合成任务集基准测试中,本发明中的算法和其他4种算法的对比情况。步骤1:利用65纳米制造技术工艺的微处理器作为硬件平台,处理器频率/电压层次分别为:0.85v/0.801ghz、0.9v/0.829ghz、0.95v/0.855ghz、1v/0.880ghz、1.05v/0.903ghz和1.1v/1.00ghz,利用hotspot5.0得到温度曲线,温度设置为45℃。处理器的热阻为0.008j/℃、热容量为1.83℃/w。步骤2:设置处理器的初始温度,分别为25℃、45℃和65℃共三种情况,每种情况中实验会进行5次,每一次实验作为一个样本,每个样本中对100组不同的任务集进行优化。每次生成的任务集有100个任务,并且任务集将会被重复执行直到处理器出现第一个永久故障导致系统使用寿命耗尽为止。在每一个任务集中,高关键性任务占总任务的比例范围从0~1;低关键性任务执行时间范围为10~40ms;当系统处于高关键性模式时,任务的执行时间将会是低关键模式下执行时间的1~8倍。此外,最小间隔时间是低关键性任务执行时间的8~15倍。步骤3:四种对照算法分别为:rand算法:在满足给定处理器参数的条件下,算法随机选择任务的工作频率和重执行次数。mfpr(maximalfrequencypossiblere-execution)算法:在满足给定处理器参数的条件下,每个任务以最大频率执行,任务的松弛时间被尽可能地用来重新执行任务。mrpf(maximalre-executionpossiblefrequency)算法:在满足给定处理器参数的条件下,每个任务以最大重执行次数执行,尽可能提高任务工作频率。dpas算法:一种基于动态功耗的mc系统调度算法,它利用高关键性任务预留的空闲时间来确定节能频率。由于dpas算法本身缺乏容错机制,为了比较的公正性,本发明为它设置的容错方案为:如果任务执行发生错误,那么在系统性能约束下,随机选择重新执行次数。步骤4:6组基于合成任务集随机集成的基准测试来验证本发明的算法和其他4种算法,系统最终温度在25℃、45℃和65℃的对比实验结果分别如图3、图4和图5所示。步骤5:6组基于合成任务集随机集成的基准测试来验证本发明的算法和其他4种算法,系统使用寿命归一化在25℃、45℃和65℃的对比实验结果分别如图6、图7和图8所示。步骤6:6组基于合成任务集随机集成的基准测试来验证本发明的算法和其他4种算法,运行时间的对数标准化实验结果如图9所示。步骤7:6组基于合成任务集随机集成的基准测试来验证本发明的算法和其他4种算法,对系统使用寿命的提升情况实验结果如图10所示。图10的结果表明本发明的优化混合关键实时系统使用寿命的任务调度方法优于rand、mfpr、mrpf和dpas四种算法,能够最有效地延长系统使用寿命,平均有27.3%、17.2%、18.2%和23.1%的提升,最多有38.1%、56.8%、52.5%和43.6%的提升。本发明提出了一种延长混合关键性系统使用寿命的方法。实验表明,相对于4种具有代表性的算法,算法对于系使用寿命有很好的优化。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1