一种基于rm策略的偶发任务低能耗调度方法

文档序号:10534617阅读:243来源:国知局
一种基于rm策略的偶发任务低能耗调度方法
【专利摘要】本发明公开了一种基于RM策略的偶发任务低能耗调度方法,包括在任务集调度之前,分配任务的初始优先级和执行优先级;计算任务的最大阻塞时间和最坏情况下的处理器需求;将任务集划分为有资源需求的任务集和没有资源需求的任务集,计算有资源需求任务集的最低运行速度,计算没有资源需求的任务集的最低运行速度;计算任务集离线阶段的运行速度;建立空闲时间管理队列,计算任务的空闲时间,利用DVS技术,调节处理器运行速度,确保最后的运行速度不低于关键速度。本发明考虑了通用的功耗模型、任务的执行时间与处理器速度成非线性关系情形及处理器速度切换开销,同时结合了DVS技术和DPM技术,较大地降低了能耗。
【专利说明】
一种基于RM策略的偶发任务低能耗调度方法
技术领域
[0001] 本发明涉及嵌入式系统领域偶发任务的实时调度,特别涉及一种基于RM策略的偶 发任务低能耗调度方法。
【背景技术】
[0002] 嵌入式设备在生活中的应用越来越广泛,常见的嵌入式设备如手机、MP3、IPAD、笔 记本电脑等,这些设备都是使用电池供电,由于电池容量有限,所提供的能耗也是有限,对 于这些便捷式嵌入式设备而言能耗问题就很凸显。降低能耗不仅能够延长设备的使用时 间,降低设备的发热量;而且能够减少电池的更换周期。因此,低能耗成为嵌入式设备的设 计目标。处理器是嵌入式设备的核心,其功耗主要来自频率翻转造成的动态功耗和漏电流 形成的静态功耗。动态功耗管理(DPM)技术和动态电压调节(DVS)技术是目前降低系统能耗 的常用技术。DPM技术主要通过将闲置的设备关闭来减少系统能耗。而DVS技术主要根据系 统的负载动态调节处理器速度减少系统能耗。
[0003] 目前很多研究者将经典的实时调度理论和低功耗技术结合起来,解决系统的能耗 问题。然而这些研究主要关注周期任务模型和混合任务模型。目前对于偶发任务模型的研 究相对较少。现有的偶发任务低能耗调度方法,利用EDF策略调度任务,适用于动态优先级 系统,忽略处理器的静态功耗和处理器速度切换开销。此外,这些方法假设任务的执行时间 与处理器速度成线性关系。

【发明内容】

[0004] 本发明的目的在于克服现有技术的不足,提出一种基于RM策略的偶发任务低能耗 调度方法,RM(单调速率)策略是固定优先级调度策略,任务的优先级由任务的周期(最小释 放间隔)决定,周期(最小释放间隔)越小,其优先级就越高,高优先级的任务优先执行。该方 法适用于静态优先级任务系统,考虑了通用的功耗模型、任务的执行时间与处理器速度成 非线性关系情形、处理器速度切换开销,同时结合了 DVS技术和DPM技术。
[0005] 本发明解决其技术问题所采用的技术方案是:
[0006] -种基于RM策略的偶发任务低能耗调度方法,包括如下步骤:
[0007] 分配任务的初始优先级和执行优先级;
[0008] 计算任务的最大阻塞时间和最坏情况下的处理器需求;
[0009] 将任务集划分为有资源需求的任务集和没有资源需求的任务集,分别计算有资源 需求任务集和没有资源需求任务集的最低运行速度;
[0010] 计算任务集离线阶段的运行速度;
[0011] 建立空闲时间管理队列;回收任务提早完成产生的空闲时间,将空闲时间分配给 当前时刻队列中优先级最高的任务,计算处理器当前时刻运行速度;将处理器当前时刻运 行速度与预设的关键速度进行比较,利用DVS技术调节处理器运行速度确保其不低于关键 速度。
[0012] 所述分配任务的初始优先级和执行优先级包括:
[0013] 根据RM策略分配任务的初始优先级,任务的最小释放间隔越小,其初始优先级越 尚;
[0014] 将任务集划分为有资源需求和没有资源需求的任务子集;
[0015] 计算所有共享同一资源任务的初始优先级中的最大值;
[0016] 若任务属于没有资源需求任务子集中的任务,分配其执行优先级等于初始优先 级;若任务属于有资源需求任务子集中的任务,分配其执行优先级等于所述所有共享同一 资源任务的初始优先级中的最大值。
[0017] 所述计算任务的最大阻塞时间和最坏情况下的处理器需求步骤中,任务Ti的最大 阻塞时间B(Ti)表不为:
[0018] 5(厂)少少
[0019] 其中,1&表示任务1\的初始优先级,EPjPIPj分别表示任务L的执行优先级和初始 优先级,幻表示任务L在最大处理器速度下最坏情况下的执行时间,^表示任务L的资源需 求,k为整数,其取值范围为1 ,m表示任务共享资源的个数;
[0020] 任务Ti在区间[0,L]最坏情况下的处理器需求Do,l表示为:
[0022]其中,其中ei表示任务1\在最大处理器速度下最坏情况下的执行时间,L为大于0的 实数,其值为,<L< A,&表示使用资源%的所有任务最小释放间隔,Pl表示任务!^的最 小释放间隔,n表示任务1\的资源需求。
[0023]所述将任务集划分为有资源需求的任务集和没有资源需求的任务集,并分别计算 有资源需求任务集和没有资源需求任务集的最低运行速度包括:
[0024]将任务集划分为有资源需求的任务集和没有资源需求的任务集;
[0025] 有资源需求任务集的最低运行速度LSRT(i)根据任务集的最坏情况下的处理器需 求计算,用如下公式表示:
[0026] [SK! (!) - (SKl (J,LJ)
[0027] 其中,SRT(i,L)表示有资源需求的任务集在时刻L所有任务满足其截止期限的最小 运行速度,其值为
表示任务h最坏情况下的执 行时间,表示任务L的最小释放间隔;
[0028] 没有资源需求的任务集的最低运行速度SNRT(i)根据任务集的负载计算,用如下公 式表示:
[0030]其中,DTS表示延迟释放的任务集,DTS中的每个任务释放时间的间隔都大于其最 小释放间隔,Fdn)表示RM策略调度任务集可行的利用率上界。
[0031 ]所述计算任务集离线阶段的运行速度用如下公式表示:
[0032] = <L< Pi r^K'F'^mS
[0033] 其中,Slub(i)表示偶发任务集在区间[0,L]的最小运行速度,用如下公式表示:
[0034] *^iub ^f) + SNMT < L < :〇
[0035] 所述空闲时间用如下公式表示:
[0036] ST = = Q \ V, - r.) i=i
[0037] 其中,示任务1\最坏情况下的剩余执行时间,仏表示任务1\的剩余执行时间 表示在此时刻之前处理器速度切换开销。
[0038] 所述计算处理器当前时刻运行速度包括:
[0039] 计算处理器当前时刻运行速度S,其中
[0040] 将其与速度Ssfpsasr进行比较;若S>Ssfpsasr,设置S = Ssfpsasr;否则所述S保持不变。 [0041 ] 所述速度Ssfpsasr计算方法如下:
[0042] 若处理器空闲时,设置Ssfpsasr = Smin,所述Smin为处理器最低运行速度;
[0043] 当任务Ti释放一个实例,且其属于DTS时,提高Ssfpsasr,提高的量为
[0044] 当任务h没有释放实例,且其不属于DTS时,且当前的时间间隔超过其最小释放间 隔时,降低Ssfpsasr,降低的量为
[0045] 所述任务的初始优先级用如下公式表示:
[0046] IPi = n-i+l
[0047] 其中,n表示偶发任务集中偶发任务的个数,i为大于等于1小于等于n的整数。
[0048] 所述所有共享同一资源任务的初始优先级中的最大值用如下公式表示:
[0049] = max [iP. \ T.. = ij
[0050] 其中,l$i彡m,m表示任务共享资源的个数,^表示任务L的资源需求。
[0051 ]本发明具有如下有益效果:
[0052] (1)本发明提供的基于RM策略的偶发任务低能耗调度方法,不仅考虑了通用的功 耗模型、任务的执行时间与处理器速度成非线性关系情形以及处理器速度切换开销,而且 能够适用于静态优先级任务的系统,同时利用DVS技术和DPM技术,从而比现有的偶发任务 低能耗调度方法节约大约79.37%~82.94%的能耗;
[0053] (2)能够确保偶发任务在其截止期限内完成执行,且能够确保资源被互斥的使用;
[0054] (3)系统能耗的降低,可以降低产品的生产成本,延迟设备的使用时间,减少电池 的更换周期。
[0055] 以下结合附图及实施例对本发明作进一步详细说明,但本发明的一种基于RM策略 的偶发任务低能耗调度方法不局限于实施例。
【附图说明】
[0056] 图1为本发明方法的流程图示意图;
[0057] 图2为本发明的实施例归一化能耗与系统利用率的仿真实验结果图;
[0058] 图3为本发明的实施例归一化能耗与任务真实负载的仿真实验结果图。
【具体实施方式】
[0059] 下面结合附图及实施例对本发明做进一步的详细说明。
[0060] 参见图1,本发明提供的一种基于RM调度策略的资源受限偶发任务低能耗调度方 法,包括如下步骤:
[0061 ]步骤101:分配任务的初始优先级和执行优先级;
[0062]具体的,初始优先级根据RM算法进行分配,任务的最小释放间隔越小,其优先级就 越高;执行优先级是在任务获得CHJ等资源开始执行时分配的,其优先级在任务完成执行之 前都保持不变;对于没有资源需求的任务,其初始优先级等于其执行优先级。
[0063]进一步的,任务Ti的初始优先级IPi根据RM算法分配,其值为IPi = n-i + l,i表示任 务1^的下标,其值为l<i<n之间整数,其中n为偶发任务集中偶发任务的个数;任务的初始 优先级的数值越大,其优先级就越高。
[0064] 所有使用资源心的任务的最高优先级用w表示,其值由下式计算:
[0065] \ rj ~
[0066] 其中,表示任务共享资源的个数,n表示偶发任务集中偶发任务的个数, ^是任务L的资源需求,1匕分别表示任务L的初始优先级。
[0067] 任务的执行优先级分配方法如下:将任务集划分为两个不相交的子集A和B。集合A 中的任务没有资源需求,集合B中的任务有资源需求。集合A中的任务的执行优先级等于其 初始优先级。集合B中的任务的执行优先级等于所有共享同一资源任务的初始优先级中的 最大值。对于集合B中的任务Ti,其执行优先级EPi = Jii。
[0068] 步骤102:计算任务的最大阻塞时间和最坏情况下的处理器需求;
[0069] 具体的,任务Ti的最大阻塞时间B(Ti)是由初始优先级比它低的任务所造成的,其 值为| W '其中幻是任务在最大处理器速度下最坏情况下的执行时 间,n是任务L的资源需求,k是整数,其取值范围为表示任务共享资源的个数, EPj和1匕分别是任务L的执行优先级和初始优先级。任务在区间[0,L]最坏情况下的处理 器需求Do,L,其值为
,其中&表示任务1^在最大处理器速度下最坏情况 下的执行时间,L为大于0的实数,其值为C </-</V &表示使用资源式^的所有任务最小 释放间隔,Pl表示任务1\的最小释放间隔,ri表示任务1\的资源需求。
[0070] 步骤103:将任务集划分为有资源需求的任务集和没有资源需求的任务集,分别计 算有资源需求任务集和没有资源需求任务集的最低运行速度;
[0071] 具体的,将任务集划分为有资源需求的任务集和没有资源需求的任务集;有资源 需求任务集的最低运行速度LSRT(i)根据任务集的最坏情况下的处理器需求计算,没有资源需 求的任务集的任务最低运行速度SNRT( i)根据任务集的负载计算,Snrt( i)是集合NRT( i)在时刻 i:(尽< < A)所有任务满足其截止期限的最小运行速度,其值为
其中DTS是延迟释放的任务集,DTS中的每个任务其释放时间的间隔都大于其最小释放间 隔,ej是任务Tj最坏情况下的执行时间,pj是任务Tj的最小释放间隔,Fc;(n)是RM策略调度任 务集可行的利用率上界,其值为
[0072] SRT(i,L)是有资源需求的任务集在时刻L i < A)所有任务满足其截止期限的 最小运行速度,其值为
所有共享资源1^的最小运 行速度SRT( i,L)的最大值用LSRT( i)表示,其值为1^@
[0073] 步骤104:计算任务集离线阶段的运行速度;
[0074] 具体的,任务h在区间(€?/0是唯一一个有资源需求的任务,偶发任务集T在区间 [0,L]的最小运行速度Siub(i),其值为Si ub(i) = LSRT( i) +SNRT( i,L),$ < £ <爲,假如偶发任 务集不只一个任务共享资源,且其共享的资源不同,任务集离线阶段的运行速度Lsub必须满 足所有任务的处理器需求,其值由下式计算:
[0075] LS^ " i<MaX <L< Pt i'AaT洋 DTS.
[0076] 其中n是任务h的资源需求,DTS是延迟释放的任务集,&是使用资源尤,的所有任 务最小释放间隔,Pi是任务Ti的最小释放间隔。
[0077]步骤105:建立空闲时间管理队列;回收任务提早完成产生的空闲时间,将空闲时 间分配给当前时刻队列中优先级最高的任务,计算处理器当前时刻运行速度;将处理器当 前时刻运行速度与预设的关键速度进行比较,利用DVS技术调节处理器运行速度确保其不 低于关键速度。
[0078]具体的,建立空闲时间管理队列a的方法为:通过建立一个链表,将任务按照其优 先级顺序排列,放在这个链表中,当任务的空闲时间等于〇时,将其从链表中移除,当任务完 成执行时,将其按照其优先级顺序插入链表中。
[0079] 回收任务提早完成产生的空闲时间ST具体是:空闲时间双=Q I巧-巧), i 二1 其中I为任务h最坏情况下的剩余执行时间,山为任务1^的剩余执行时间为在此时刻之 前处理器速度切换开销。具体的,WuUi开始时都是设置为ei,ei是任务最坏情况下的执行时 间,随着任务的执行,WnUi都减小,假如任务执行t个单位的时间,这两种相应减少t的单位, 任务完成执行时将I设置为m是处理器速度切换开销,^iKlSdl,K是常数,Si、&是处 理器的速度。
[0080] 进一步的,将空闲时间分配给此时队列中优先级最高的任务,计算此时处理器运 行速度s,其值为
,将其与速度Ssfpsasr进行比较,S sfpsasr的计算方法如下:
[0081 ] 假如处理器空闲时,设置Ssfpsasr = Smin,Smin为处理器最低运行速度;
[0082]当任务Ti释放一个实例,且其属于DTS时,提高Ssfpsasr,提高的量为
[0083]当任务h没有释放实例,且其不属于DTS时,且当前的时间间隔超过其最小释放间 隔时,降低Ssfpsasr,降低的量为
[0084] 当速度S>Ssfpsasr时,设置S = Ssfpsasr;否则速度S保持不变。
[0085] 将处理器运行速度S与预设的关键速度进行比较,利用DVS技术调节处理器运行速 度S确保其不低于关键速度。所述关键速度是系统能耗最低的运行速度,不同的处理器关键 速度是不一样的。
[0086] 进一步的,当处理器处于空闲状态时,判断此时的空闲间隔是否大于处理器状态 切换的开销,如果大于的话,利用DPM技术,将处理器切换到低功耗状态;否则,不做处理。具 体的,只要空闲间隔大于处理器状态切换的开销时,就会自动切换。
[0087] 如图2所示,本实施例中,设置任务的最坏情况下的执行时间(WCET)与最好情况下 的执行时间(BCET)的比值为5,系统利用率为0.1到0.6,步长为0.05,假设处理器速度切换 开销的常数为0.1。图2中比较了三种方法,第一,RM/DPP方法,该方法任务始终以最大的处 理器速度执行;第二,SFPSASR方法,该方法中假设任务以其最坏情况下的执行时间执行,不 能够回收动态空闲时间,只利用DVS技术节能;第三,本发明的方法,该方法同时结合DVS技 术和DPM技术考虑处理器速度切换开销,能够利用动态空闲时间降低能耗;以RM/DPP方法在 系统利用率为0.6时的能耗为基准进行归一化。从图2中可以看出,所有方法的能耗都受到 系统利用率的影响,系统利用率上升,所有方法的归一化能耗上升;这是因为系统利用率越 高,每个任务的执行时间增加。本发明的方法与其他方法相比有明显的优势,与RM/DPP方法 相比节约73.68%~85.22%的能耗,与SFPSASR相比节约49.08%~64.89%的能耗。
[0088]如图3所示,本实施例中,图3设置系统利用率为0.31812,考察任务真实负载对能 耗的影响,WCET与BCET的比值从1到10,步长为1,假设处理器速度切换开销的常数为0.1,以 RM/DPP算法在WCET与BCET的比值为1的能耗为基准进行归一化。图3中所比较的方法和图2 的相同。从图3中可以看出,RM/DPP方法的能耗受到WCET与BCET的比值的影响;WCET与BCET 的比值上升,其归一化能耗下降;这是因为WCET与BCET的比值越高,任务的真实执行时间越 小。WCET与BCET的比值的变化,对SFPSASR方法和本发明的方法的影响不大。这主要是因为 这两种方法任务的运行速度受到任务集离线阶段的速度限制。本发明的方法的能耗都低于 其他方法的能耗,与RM/DPP方法相比节约79.37%~82.94%的能耗,与SFPSASR相比节约 42.14%~51.73%大约的能耗。
[0089]以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和 原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【主权项】
1. 一种基于RM策略的偶发任务低能耗调度方法,其特征在于,包括: 分配任务的初始优先级和执行优先级; 计算任务的最大阻塞时间和最坏情况下的处理器需求; 将任务集划分为有资源需求的任务集和没有资源需求的任务集,分别计算有资源需求 任务集和没有资源需求任务集的最低运行速度; 计算任务集离线阶段的运行速度; 建立空闲时间管理队列;回收任务提早完成产生的空闲时间,将空闲时间分配给当前 时刻队列中优先级最高的任务,计算处理器当前时刻运行速度;将处理器当前时刻运行速 度与预设的关键速度进行比较,利用DVS技术调节处理器运行速度确保其不低于关键速度。2. 根据权利要求1所述的基于RM策略的偶发任务低能耗调度方法,其特征在于,所述分 配任务的初始优先级和执行优先级包括: 根据RM策略分配任务的初始优先级,任务的最小释放间隔越小,其初始优先级越高; 将任务集划分为有资源需求和没有资源需求的任务子集; 计算所有共享同一资源任务的初始优先级中的最大值; 若任务属于没有资源需求任务子集中的任务,分配其执行优先级等于初始优先级;若 任务属于有资源需求任务子集中的任务,分配其执行优先级等于所述所有共享同一资源任 务的初始优先级中的最大值。3. 根据权利要求1所述的基于RM策略的偶发任务低能耗调度方法,其特征在于,所述计 算任务的最大阻塞时间和最坏情况下的处理器需求步骤中,任务T i的最大阻塞时间B(Ti)表 示为:其中,^:表示任务!\的初始优先级,EPjPIPj分别表示任务Tj的执行优先级和初始优先 级,^表示任务Tj在最大处理器速度下最坏情况下的执行时间,^表示任务Tj的资源需求,k 为整数,其取值范围为I ,m表示任务共享资源的个数; 任务T1在区间[0,L]最坏情况下的处理器需求Do,L表示为:其中,其中ei表示任务!\在最大处理器速度下最坏情况下的执行时间,L为大于0的实 数,其值为C < /W表示使用资源气:的所有任务最小释放间隔,P1表示任务!\的最小 释放间隔,η表示任务1\的资源需求。4. 根据权利要求3所述的基于RM策略的偶发任务低能耗调度方法,其特征在于,所述将 任务集划分为有资源需求的任务集和没有资源需求的任务集,并分别计算有资源需求任务 集和没有资源需求任务集的最低运行速度包括: 将任务集划分为有资源需求的任务集和没有资源需求的任务集; 有资源需求任务集的最低运行速度LSRT(i)根据任务集的最坏情况下的处理器需求计 算,用如下公式表示:其中,SRT(i,L)表示有资源需求的任务集在时刻L所有任务满足其截止期限的最小运行速度,其值戈 ^表示任务乃最坏情况下的执行时 ,: 间也表示任务L的最小释放间隔; 没有资源需求的任务集的最低运行速度SNRT(i)根据任务集的负载计算,用如下公式表 示:其中,DTS表示延迟释放的任务集,DTS中的每个任务释放时间的间隔都大于其最小释 放间隔,FcXn)表示RM策略调度任务集可行的利用率上界。5. 根据权利要求4所述的基于RM策略的偶发任务低能耗调度方法,其特征在于,所述计 算任务集离线阶段的运行谏庠用如下公式衷示:其中,Slub(i)表示偶发任务集在区间[0,L]的最小运行速度,用如下公式表示:6. 根据权利要求1所述的基于RM策略的偶发任务低能耗调度方法,其特征在于,所述空 闲时间用如下公式表示:其中,示任务1\最坏情况下的剩余执行时间,仏表示任务1\的剩余执行时间,T1表示 在此时刻之前处理器速度切换开销。7. 根据权利要求6所述的基于RM策略的偶发任务低能耗调度方法,其特征在于,所述计 算处理器当前时刻运行速度包括: 计算处理器当前时刻运行速度S,溟将其与速度Ssfpsasr进行比较;若S>Ssfpsasr,设置S = Ssfpsasr;否则所述S保持不变。8. 根据权利要求7所述的基于RM策略的偶发任务低能耗调度方法,其特征在于,所述速 度Ssfpsasr计算方法如下: 若处理器空闲时,设置Ssfpsasr = Smin,所述Smin为处理器最低运行速度; 当任务Ti释放一个实例,且其属于DTS时,提高Ssfpsasr,提高的量为当任务Ti没有释放实例,且其不属于DTS时,且当前的时间间隔超过其最小释放间隔时, /:? 降低Ssfpsasr,降低的量为ρ .ρ'^/? .9. 根据权利要求2所述的基于RM策略的偶发任务低能耗调度方法,其特征在于,所述任 务的初始优先级用如下公式表示: IPi = n_i+l 其中,n表示偶发任务集中偶发任务的个数,i为大于等于I小于等于n的整数。10.根据权利要求2所述的基于RM策略的偶发任务低能耗调度方法,其特征在于,所述 所有共享同一资源任务的初始优生铋由的晶十佶田加下公忒表示:其中,表示任务共享资源的个数,^表示任务Tj的资源需求。
【文档编号】G06F9/50GK105893148SQ201610190341
【公开日】2016年8月24日
【申请日】2016年3月30日
【发明人】张忆文, 王成, 周长利, 姜林美
【申请人】华侨大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1