一种基于MaxSAT最优解的过载实时系统可抢占式调度方法技术方案

技术编号:20389226 阅读:25 留言:0更新日期:2019-02-20 02:36
本发明专利技术公开了一种基于MaxSAT最优解的过载实时系统可抢占式调度方法,该方法包括如下步骤:(S1)确定调度问题,将任务属性编码为MaxSAT硬子句;(S2)将调度目标编码为MaxSAT子句;(S3)将(S1)得到的MaxSAT硬子句和(S2)得到的MaxSAT子句,利用合取运算符进行连接,得到MaxSAT问题;(S4)通过MaxSAT解算器计算出MaxSAT问题的最优解,得到最优调度方案。本发明专利技术通过上述方案,提高了过载实时系统中任务可抢占式调度的效率,从而使得本发明专利技术不仅具有很强的可扩展性和执行效率,还具有很高的实用价值和推广价值。

【技术实现步骤摘要】
一种基于MaxSAT最优解的过载实时系统可抢占式调度方法
本专利技术属于计算机应用领域,具体涉及一种基于MaxSAT最优解的过载实时系统可抢占式调度方法。
技术介绍
实时系统在当今的各应用领域占有重要地位,研究过载实时系统的最优调度策略在提升系统稳定性层面产生着积极影响,具有非常重要理论意义和实用价值。在正常工作负载下,经典的调度算法可以确保在截止时间之前完成所有任务,但在实际应用中,系统负载可能因工作环境的不稳定因素而发生变化,一旦系统负荷过重,便不存在任何调度算法可以在截止时间内完成所有任务,这种情况便称为系统过载。当过载问题发生时,若没有合适的调度方案来处理过载情况,将会导致系统性能急剧下降。目前针对过载实时系统的调度算法多致力于求取近似最优解,它们虽然能给出比经典调度算法更有效的调度方案,却无法确保输出的近似解能够稳定接近于最优解。针对过载实时系统,Cheng等人提出基于可满足模理论(SatisfiabilityModuloTheories:SMT)的最优调度算法,但必须循环调用SMT解算器,这在一定程度上增加了计算成本,同时降低了求解效率,不利于大规模推广。
技术实现思路
本专利技术的目的在于提供一种基于MaxSAT最优解的过载实时系统可抢占式调度方法。本专利技术解决了现有技术中存在的求解最优方案困难和效率低下问题,提高了调度的灵活性。为了实现上述目的,本专利技术采用的技术方案如下:一种基于MaxSAT最优解的过载实时系统可抢占调度方法,包括如下步骤:(S1)确定调度问题,将任务属性编码为MaxSAT硬子句;(S2)将调度目标编码为MaxSAT子句;(S3)将(S1)和(S2)得到的子句用合取运算符进行连接,得到MaxSAT问题;(S4)通过MaxSAT解算器计算出MaxSAT问题的最优解,得到最优调度方案。进一步地,所述步骤(S1)中,任务属性属性编码和与之对应的MaxSAT硬子句应同时满足以下规则:第一种规则任务l的第i个分片的开始时刻不早于在它之前的所有任务分片的完成时刻,将该属性编码为如下硬子句:其中,是布尔变量,表示任务l的第i个分片在t或t时刻之后开始执行,ql是任务l的分片数量,rl是任务l的就绪时刻,是任务l的第u个分片的执行时间,n是系统任务总数;第二种规则任务l的第i个分片先于任务l的第i+1个分片执行,将该属性编码为如下硬子句:其中,是布尔变量,表示任务l的第i个分片先于任务l的第i+1个分片执行;第三种规则如果任务k的第i个分片fik和任务l的第j个分片占用同一台处理机,且它们的执行时间段重叠,那么fik先于执行,或者先于fik执行,将该属性编码为如下硬子句:其中,是布尔变量,表示任务k的第i个分片fik先于任务l的第j个分片执行。第四种规则如果任务分片fil开始于时刻t或t之后,则它一定开始于t-1或t-1之后,将该属性编码为如下硬子句:其中,是布尔变量,表示任务l的第i个分片在t或t时刻之后开始执行,ql是任务l的分片数量,rl是任务l的就绪时刻,是任务l的第u个分片的执行时间,dl是任务l的截止时刻,n是系统任务总数;第五种规则如果一个任务分片fil结束于时刻t或t之前,则它一定结束于t+1或t+1之前,将该属性编码为如下硬子句:其中,是布尔变量,表示任务l的第i个分片在t或t时刻之前完成,ql是任务l的分片数量,rl是任务l的就绪时刻,是任务l的第u个分片的执行时间,dl是任务l的截止时刻,n是系统任务总数;第六种规则如果一个任务l在其截止时刻之前完成,则它的每个任务分片fil都在它们各自的最迟完成时刻之前完成,将该属性编码为如下硬子句:其中,是布尔变量,表示任务l的第i个分片在t或t时刻之前完成,ql是任务l的分片数量,是任务l的第u个分片的执行时间;第七种规则如果一个任务分片fil开始于时刻t或t之后,则它一定不能结束于将该属性编码为如下硬子句:其中,是布尔变量,表示任务l的第i个分片在t或t时刻之后开始执行,是布尔变量,表示任务l的第i个分片在t或t时刻之前完成,ql是任务l的分片数量,rl是任务l的就绪时刻,是任务l的第u个分片的执行时间,dl是任务l的截止时刻,n是系统任务总数。进一步地,所述步骤(S1)中,在同时满足七种规则的前提下,任务属性编码和与之对应的MaxSAT硬子句的规则还包括:当任务l依赖于任务k,那么任务k的最后一个分片先于任务l的第一个分片执行,将该任务属性编码为如下两个硬子句:和其中,是布尔变量,表示任务k的第qk个分片先于任务l的第1个分片执行,qk是任务k的分片数量,是任务l的第u个分片的执行时间,dl是任务l的截止时刻,n是系统任务总数。再进一步地,所述步骤(S1)中,对于出现过的布尔变量pri,j,将其生成如下MaxSAT硬子句:其中,rl是任务l的就绪时刻,是任务l的第u个分片的执行时间,dl是任务l的截止时刻。再进一步地,所述步骤(S2)中,调度目标满足以下任意一种类型,并将其编码为与之对应的MaxSAT子句:(1)最大化在截止时刻前完成的任务数量,将该调度目标编码为MaxSAT软子句:(2)在保证关键任务全部完成的前提下,最大化在截止时刻前完成的非关键任务的数量,将所有关键任务k的调度目标编码为MaxSAT硬子句:将所有非关键任务l的调度目标编码为MaxSAT软子句:(3)最大化在截止时刻前完成的任务权重之和,将该调度目标编码为MaxSAT带权软子句:其中,wl表示完成任务l所获得的收益。与现有技术相比,本专利技术具有以下有益效果:(1)本专利技术通过将任务属性和调度目标编码为MaxSAT子句,将它们用合取运算符连接之后得到MaxSAT问题,通过MaxSAT解算器求出最优调度方案。相对于现有技术,本专利技术在求解最优解的过程中不需要循环调用解算器,从而降低了计算成本,提高了求解效率,适于大规模推广应用;(2)本专利技术具有很强的可扩展性和执行效率,可以用于解决多目标优化问题,适用于在较大规模的实时系统中寻求最优的调度方案,力求在系统过载情况下得到最大的效益。附图说明图1为本专利技术的工作流程图。具体实施方式下面结合附图和实施例对本专利技术作进一步说明,本专利技术的实施方式包括但不限于下列实施例。实施例如图1所示,一种基于MaxSAT最优解的过载实时系统可抢占式调度方法,其中,可抢占是指允许任务在执行途中被其他任务打断,待其他任务执行完毕再继续执行先前的任务,该方法的具体步骤如下:步骤一:确定调度问题,将任务属性编码为MaxSAT硬子句,任务属性及其编码如下:(1)任务l的第i个分片的开始时刻不早于在它之前的所有任务分片的完成时刻,将该属性编码为如下硬子句:其中,是布尔变量,表示任务l的第i个分片在t或t时刻之后开始执行,ql是任务l的分片数量,rl是任务l的就绪时刻,是任务l的第u个分片的执行时间,n是系统任务总数;(2)任务l的第i个分片先于任务l的第i+1个分片执行,将该属性编码为如下硬子句:其中,是布尔变量,表示任务l的第i个分片先于任务l的第i+1个分片执行;(3)如果任务k的第i个分片fik和任务l的第j个分片占用同一台处理机,且它们的执行时间段重叠,那么fik先于执行,或者先于fik执行,将该属性编码为如下硬子句:其中,是布尔变量,表示任本文档来自技高网...

【技术保护点】
1.一种基于MaxSAT最优解的过载实时系统可抢占式调度方法,其特征在于,包括如下步骤:(S1)确定调度问题,将任务属性编码为MaxSAT硬子句;(S2)将调度目标编码为MaxSAT子句;(S3)将(S1)和(S2)得到的子句用合取运算符进行连接,得到MaxSAT问题;(S4)通过MaxSAT解算器计算出MaxSAT问题的最优解,得到最优调度方案。

【技术特征摘要】
1.一种基于MaxSAT最优解的过载实时系统可抢占式调度方法,其特征在于,包括如下步骤:(S1)确定调度问题,将任务属性编码为MaxSAT硬子句;(S2)将调度目标编码为MaxSAT子句;(S3)将(S1)和(S2)得到的子句用合取运算符进行连接,得到MaxSAT问题;(S4)通过MaxSAT解算器计算出MaxSAT问题的最优解,得到最优调度方案。2.根据权利要求1所述的一种基于MaxSAT最优解的过载实时系统可抢占式调度方法,其特征在于,所述步骤(S1)中,任务属性属性编码和与之对应的MaxSAT硬子句应同时满足以下规则:第一种规则任务l的第i个分片的开始时刻不早于在它之前的所有任务分片的完成时刻,将该属性编码为如下硬子句:其中,是布尔变量,表示任务l的第i个分片在t或t时刻之后开始执行,ql是任务l的分片数量,rl是任务l的就绪时刻,是任务l的第u个分片的执行时间,n是系统任务总数;第二种规则任务l的第i个分片先于任务l的第i+1个分片执行,将该属性编码为如下硬子句:其中,是布尔变量,表示任务l的第i个分片先于任务l的第i+1个分片执行;第三种规则如果任务k的第i个分片fik和任务l的第j个分片占用同一台处理机,且它们的执行时间段重叠,那么fik先于执行,或者先于fik执行,将该属性编码为如下硬子句:其中,是布尔变量,表示任务k的第i个分片fik先于任务l的第j个分片执行。第四种规则如果任务分片fil开始于时刻t或t之后,则它一定开始于t-1或t-1之后,将该属性编码为如下硬子句:其中,是布尔变量,表示任务l的第i个分片在t或t时刻之后开始执行,ql是任务l的分片数量,rl是任务l的就绪时刻,是任务l的第u个分片的执行时间,dl是任务l的截止时刻,n是系统任务总数;第五种规则如果一个任务分片fil结束于时刻t或t之前,则它一定结束于t+1或t+1之前,将该属性编码为如下硬子句:其中,是布尔变量,表示任务l的第i个分片在t或t时刻之前完成,ql是任务l的分片数量,rl是任务l的就绪时刻,是任务l的第u个分片的执行时间,dl是任务l的截止时刻,n是系统任务总数;第六种规则如果一个任务l在其截止时刻之前完成,则它的每个任务分片fil都在它们各自的最迟完成时刻之前完成,将该属性编码为如下硬子句:其...

【专利技术属性】
技术研发人员:廖晓鹃张辉黄荣
申请(专利权)人:成都理工大学
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1