一种基于任务模糊多特征的嵌入式实时调度方法

文档序号:6483150阅读:131来源:国知局

专利名称::一种基于任务模糊多特征的嵌入式实时调度方法
技术领域
:本发明涉及计算机领域,具体地说是一种基于任务模糊多特征的嵌入式实时调度方法。
背景技术
:嵌入式实时系统是目前计算机领域最重要的应用和研究方向,该系统的主要特点为1、系统中的任务一般均为周期任务,即任务在固定的时间间隔重复执行;2、任务的调度机制通常基于优先级驱动,即优先级高的任务最先得到运行;3、每一周期任务往往对应一截止期限,系统应尽可能满足重要任务在截止期限到来之前完成。嵌入实时系统中被调度的实时任务可形式化地描述为、-(Si,Ci,Di,Ti),0<Ci《Di,0<Pi,0《Si其中,Si为任务的到达时间;Ci为任务的最坏执行时间;Di为任务的相对截止期限;Ti为任务的周期。对于周期任务Ti的第k次执行(k》1),其就绪时间为Si+(k-1)*T\,最大计算时间为Ci;截止期限为S,+(k-1)*Ti+仏。周期任务在每个周期的一次执行可称为该周期任务的一个实例或一次执行请求。对于如何确定嵌入式实时系统中任务的最终调度优先级,通常有静态与动态两种方式。在静态方式中,任务的最终调度优先级是由其静态特征(如任务的关键度、周期长短)确定的;而动态方式是根据任务的动态特征决定的,如根据任务的已执行时间比例或任务的截止期限距离确定其最终的调度优先级。根据嵌入式实时周期任务的特点,其参与调度的任务控制块数据结构中通常增加如下信息域-任务周期表示任务需重复执行的时间间隔;任务到达时间即任务的产生时刻,一般假定任务产生时便进入就绪状态,等待调度执行;任务的相对截止期限任务完成的时间限制,通常相对于其执行周期而言,该时间值可能大于或小于其中期,但通常等于其周期值;任务的最坏估计执行时间由于任务的执行时间通常只有在执行完毕后才能得到精确值,故在任务执行之前只能给出一个最坏情形下的估计值;任务的负载也称为任务的CPU利用率,是指任务运行占有CPU的比例,周期任务的负载定义为任务的执行时间(通常为最坏估计执行时间)与任务周期的比值;整个嵌入式实时系统的负载则定义为该系统中所有任务的任务负载之和。在嵌入式实时系统中两种最经典的调度方法分别为单调速率调度算法和最短截止期限距离驱动方法。1、在单调速率调度方法中,任务周期最短的优先级最高,从而优先得到运行,其实现步骤如下-步骤一系统初始化系统初始化包括l)根据任务的特征在任务控制块中对任务周期,截止期限、最坏估计执行时间及任务负载的赋值与计算;2)系统中所有就绪任务按其周期长短在就绪队列中排序,周期越短,在就绪队列中的位置越靠前,如果周期相同,则按其最坏估计时间排序,最坏估计时间小的排前面。步骤二任务调度当任务调度发生时,取就绪队列队首的任务参与执行,即任务周期最短的任务优先获得执行权。步骤三就绪队列的调整当当前任务执行完毕或阻塞,或有新的周期任务重新就绪,则需按任务周期重新排序。由于嵌入式实时系统中任务的周期通常是固定不变的,故该方法为静态调度方法。2、最短截止期限距离驱动方法规定离截止期限最近的任务优先权最高,最先被调度。由于不同时刻调度发生时各任务离截止期限的时间距离是动态变化的,所以该算法是一种动态确定优先级的调度方法。为了实现该调度方法,需在任务控制块中增加动态记录任务的截止期限距离的信息域。最短截止期限驱动方法的步骤如下步骤一系统初始化系统初始化包括l)根据任务的特征在任务控制块中对任务周期、截止期限、最坏估计执行时间及任务负载的赋值与计算;2)系统中所有就绪任务的截止期限距离等于其截止期限;3)系统中所有就绪任务按其截止期限距离在就绪队列中排序,距离越短,在就绪队列中的位置越靠前,如果距离相同,则按其最坏估计时间排序,最坏估计时间小的排前面。步骤二任务调度当任务调度发生时,取就绪队列队首的任务参与执行,即任务截止期限最短的任务优先获得执行权。步骤三截止期限距离的计算与就绪队列的调整.任务截止期限的计算通常发生在如下几种情形1)采样时刻理想的采样时刻为系统的计时时钟中断发生时刻,但考虑到系统计算的额外时间开销,通常为若干个计时时钟的发生时刻。2)当前任务执行完毕或阻塞。3)有新的周期任务重新就绪。在上述时刻,均须对每个就绪任务的进行截止期限距离进行计算,并对就绪队列按截止期限距离重新排序。上述方法主要存在如下一些不足-1)优先级的确定仅仅考虑任务的单一特征,如单调速率方法仅考虑任务的周期长短,最短截止期限距离驱动方法仅考虑任务的截止期限距离。实际上,一个任务的调度应综合考虑其多种特征,如任务的重要性,任务的执行时间,任务的截止期限距离等。特别是任务的重要性,一个系统应优先保证最重要的任务及时执行,不错过截止期限。2)调度优先级的确定是基于任务特征的精确取值,而实际上,由于系统运行环境(如网络通信应用环境)的不稳定性等特征,取得任务特征的精确较困难,也不太符合运行环境的实际情况,因此不太适合用精确值描述。如任务的截止期限距离等,更适宜使用"很近"、"很远"等模糊概念描述。另外,任务的重要性和最终的调度优先级往往取决于多种因素的人为估计,也更适合使用诸如"很重要","一般","不重要"等模糊概念进行描述。
发明内容6本发明为解决上述技术问题提供了一种基于任务模糊多特征的嵌入式实时调度方法,不仅适用于现有的嵌入式通信设中,而且其截止期错失率非常低。本发明的技术方案如下.-一种基于任务模糊多特征的嵌入式实时调度方法,其特征在于步骤如下A初始化1、首先对参与调度的任务控制块数据结构中设置信息域任务周期,任务到达吋间,任务的相对截止期限,任务的最坏估计执行时间,任务的截止期限距离,任务负载,任务的关键度,并根据任务的特征对任务周期、任务的最坏估计执行时间及任务负载进行赋值与计算;2、对所有就绪任务的截止期限距离与任务的关键度进行模糊初始化;所述任务的关键度为任务的静态特征,任务产生时根据其重要程度直接给出其相应的估计模糊集合,该模糊集合能标识任务的关键程度,并作为决定其最终调度优先级的重要因素;而模糊集合的确定决定于模糊集合论域与隶属度函数,模糊集合论域指模糊集合的研究对象,模糊集合的隶属度函数指类属于模糊集合论域中元素的程度,通常为0到1之间的实数;如模糊集合论域为{0.0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0},表示把关注对象或因素分为11个级别,分别用大括号中的数字代替;对于任务关键度而言,隶属于论域中越小值的程度越高,该任务越重要;一个很重要的任务的模糊集合可能如下{R竺竺兰MMMMM_},,,0.3,U,,,^T7,,U,"HT该集合表示在综合考虑一个任务的关键程度时,0.0,0.1,0.2对应因素完全满足(其对应的隶属度值全为1.0);任务的截止期限距离是决定任务调度优先级的另一重要因素,使用模糊集合的方式表示距离的远近,任务的截止期限模糊化方法则为初始化后进行的步骤;3、把所有就绪任务分为若干个就绪子队列,每一就绪子队列对应一个最终调度模糊优先级集合;如可给系统分为三个就绪子队列,分别对应三个最终调度模糊优先级"高"、"一般"和"低";为了实现模糊调度方法,调度系统中的就绪任务根据任务的关键度与任务的截止期限距离的特征模糊集合通过模糊规则表进入不同的优先级就绪子队列;同一子队列的任务按任务的截止期限距离有序排列;4、系统中同一就绪子队列中任务按任务的截止期限距离在就绪队列中排序,距离越短,在就绪队列中的位置越靠前;当距离相同时,则按任务的最坏估计执行时间排序,最坏估计时间小的排前面;B任务调度优先级的调整随着系统的运行,所有任务的截止期限距离发生动态变化,任务的最终调度优先级也会随之变化,就绪任务所处的就绪子队列也会进行动态调整,其调整的方法如下-1、任务的截止期限距离的模糊化由于所有周期任务的相对截止期限距离分布在[O,MAX一DEADLINE]中,其中MAX_DEADLINE为所有任务中相对截止期限的最大值,即最大截止期限距离,通过计算任务的截止期限距离与最大截止期限距离MAX—DEADLINE的比值,使该距离动态特征值落在模糊论域中;2、根据模糊规则表确定任务的调度优先级,所述模糊规则表是根据一个或若干个标准模糊输入集合确定标准输出模糊集合规则集,标准模糊集合是根据实际问题选取的用于形成模糊规则的参考模糊集合;模糊规则表通常从常识和解决实际问题的经验中获得,表二是本发明实施方案中使用的模糊规则表。模糊规则表实际决定了如何根据任务特征值模糊集合得到最终的模糊调度优先级。由于任务的关键度在任务产生之时即为模糊集合,而经过第一步后,任务的截止期限距离也已经模糊化,这两个任务特征取值模糊集合根据模糊规则表便可确定最终的调度模糊优先级;3、就绪队列调整一个任务确定新的最终调度优先级后,如果该优先级对应的就绪子队列与计算之前的相同,则只需根据任务的截止期限距离调整在该就绪队列的位置;否则,调整到新的就绪子队列中;C任务调度时,根据对应的策略选取最高调度优先级的任务运行。步骤B中所述任务的截止期限距离的模糊化方法如下-1、经过步骤B第一步转换后的任务截止期限距离等于模糊论域中的元素值,然后采用单点模糊化方法;如模糊集合论域为{0.0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0},当该取值为0.2时,其对应的模糊集为-{E"5T"^JUITJ2、当经过步骤B第一步转换后的任务截止期限距离不属于模糊论域中的元素值时,则线性比例法进行模糊化;所述线性比例法为当一个给定值位于模糊集合论域两个元素值之间时,根据该值到两元素值之间的距离比值确定隶属两参考值的程度;如转换后的任务截止期限取值为ft》J时,其对应的模糊集合为iM,M,,H,M,竺,竺,兰,竺,兰,M"{"^75""O"5TY"5TT"5T'F^"ETIT^步骤C中所述对应的策略如下1、对处于不同模糊级优先队列中的任务,较高优先级队列中的就绪任务优先被调度,只有当较高模糊优先级就绪队列为空时,才考虑较低模糊优先级就绪队列中的任务;2、同一模糊优先级队列中的任务调度采用任务的截止期限距离最短优先的原则,即同一模糊优先级就绪队列中的任务采用EDF调度策略;3、任务在运行的过程中,当有比当前任务更高优先权的任务就绪时,当前任务运行被剥夺,更高优先运行权的任务被调度投入运行;所述新就绪的更高优先权任务分两种情况新就绪任务的最终模糊优先级比当前运行任务高;新就绪任务的模糊优先级与当前运行的模糊优先级相同,但截止期限距离比当前运行任务的截止期限更短。本发明的有益效果如下本发明与传统的最短截止期限距离驱动方法相比,其截止期错失率非常低,而且特别适用于现有的嵌入式通信设;与传统的嵌入式实时系统调度相比,本发明既考虑到任务的多重特征因素,又使用模糊方法适应通信网络应用的不确定性运行环境特点。既考虑尽可能保证重要任务优先运行,减少其错过截止期限的几率,同时也考虑到一般任务截止期限较近时,使之尽快投入运行,从而提高整个系统的利用率。图1为本发明的基本流程示意图具体实施例方式一种基于任务模糊多特征的嵌入式实时调度方法,其步骤如下A初始化首先,对参与调度的任务控制块数据结构中设置信息域任务周期,任务到达时间,任务的相对截止期限,任务的最坏估计执行时间,任务的截止期限距离,任务负载,任务的关键度;并根据任务的特征对任务周期、任务的最坏估计执行时间及任务负载进行赋值与计算;任务的周期与任务的相对截止期限相同,任务的截止期限距离等于任务的相对截止期限;然后对所有就绪任务的截止期限距离与任务的关键度进行模糊初始化;2、模糊集合论域可设置为U={0.0,0.1,0.2,0.3,0.4,0,5,0.6,0.7,0.8,0.9,1.0},如对如下的模糊集合I1AMMMMMM_M_M_M_^对任务关键度而言,该模糊集合表示该任务的关键度较高,对任务的截止期限距离而言,该模糊集合则表示某任务当前离其截止期限很近。3、任务特征的模糊化1)对任务关键度的模糊化,可直接根据任务的多种因素在系统初始化时直接给出一估计的模糊集合。2)对任务截止期限距的模糊化分两步进行第一步由于任务的截止期限距离分本在O与任务的相对截止期限之间,为了把该值转换到模糊集合论域中,通过计算任务的截止期限距离与所有周期任务最大截止期限的比值来进行转换。第二步,对转换后的比值进行模糊化,其具体方法为-4如果该比值正好为模糊论域中的元素值,则采用单点模糊化方法。如模糊集合论域为{0.0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0},当该取值为0.2时,其对应的模糊集为"^T5"o.iT"5T"^TH"5TTT上令如果该值不属于模糊论域中的离散元素值,则采用线性比例法进行模糊化。如取值为fti^时,其对应的模糊集合为{M_,M,M_,^LA,,兰'M,M_,M_}1o.o"5T^ryO""fu,ry)4、调度模糊优先级在实现中,选择3种模糊优先级,分别表示优先级模糊概念的高、一般和低。同时也相应的对应三种优先级就绪任务子队列,每一就绪任务根据其最终的调度10优先级进入相应的子队列,并在子队列中按截止期限距离排序。5、模糊规则表模糊规则表是根据任务的模糊关键度与模糊截止期限得到其最终的模糊调度优先级。实现中使用的模糊规则表如表二所示-<table>tableseeoriginaldocumentpage11</column></row><table><table>tableseeoriginaldocumentpage12</column></row><table>6、任务最终模糊优先级的获取为了利用模糊规则表一获得最终的模糊调度优先级,需对任务关键度和截止期限距离模糊集合进行"标准化",本发明采取贴近度方法来确认任务关键度和截止期限距离模糊集合应归属的标准模糊集合。假定模糊集合A为表三或表四中一标准模糊集合,集合B为系统运行中某任务特征的模糊集合,则集合B与集合A的贴近度可定义为(A,B)=1/2[A.B+(1—A〇B)〗其中"."为求两模糊向量的内积运算符,"〇"为求两模糊向量的外积运算符。模糊向量内积与外积的定义如下假定A二(ai,a2,...ak),B二(b丄,b2,…,bk),贝UA.B=v(ajAbi),A〇B=0(a;vb》上式中"v"表示取最小值,"v"表示求最大值,ai,a2,...,ak和b,,b2…bk分别为模糊集合A与模糊集合B相对于其模糊集合论域的隶属度值。如图1所示,任务让出运行权通常指某周期内任务运行完成或任务等待其它事件,从而让出处理器使用权。调整任务所属优先级子队列包括根据模糊推理结果调整到不同子队列和在同一子队列中但需按截止期限距离有序调整。获取任务的模糊调度优先级包括任务截止期限距离的模糊化、任务关键度和截止期限距离模糊集合的标准化匹配及通过模糊推理规则表获得最终的调度优先级等步骤。选取新的运行任务首先考虑高优先级模糊就绪子队列中的就绪任务,如果高优先级就绪子队列没有任务,则考虑较低级别优先级子队列中的任务。由于同一优先级就绪子队列已按截止期限距离有序,故只需取对头任务即可。对于采样周期的选12取,最理想的是系统时钟节拍,但考虑到计算开销,通常选取时钟节拍的2k倍。本发明应用于现有的嵌入式通信设中,己经取得了较满意的效果,表一为当系统负载为200%时,本发明方法和经典的最短截止期限距离驱动方法的比较。表l任务调度截止期错失率比较(测试任务负载200%)<table>tableseeoriginaldocumentpage13</column></row><table>从表一可以看出,由于考虑到任务的重要性等多种任务特征,相对于最短截止期限距离驱动方法,本发明方法能明显减少重要任务的截止期错失率(截止期错失率定义为错过截止期的任务实例数/系统中总的任务实例数)。权利要求1、一种基于任务模糊多特征的嵌入式实时调度方法,其特征在于步骤如下A初始化a、首先对参与调度的任务控制块数据结构中设置信息域任务周期,任务到达时间,任务的相对截止期限,任务的最坏估计执行时间,任务的截止期限距离,任务负载,任务的关键度;并根据任务的特征对任务周期、任务的最坏估计执行时间及任务负载进行赋值与计算;b、对所有就绪任务的截止期限距离与任务的关键度进行模糊初始化;c、把所有就绪任务分为若干个就绪子队列,每一就绪子队列对应一个最终调度模糊优先级集合;调度系统中的就绪任务根据任务的关键度与任务的截止期限距离的特征模糊集合通过模糊规则表进入不同的优先级就绪子队列;同一子队列的任务按任务的截止期限距离有序排列;d、系统中同一就绪子队列中任务按任务的截止期限距离在就绪队列中排序,距离越短,在就绪队列中的位置越靠前;当距离相同时,则按任务的最坏估计执行时间吧排序,最坏估计时间小的排前面;B任务调度优先级的调整随着系统的运行,所有任务的截止期限距离发生动态变化,任务的最终调度优先级也会随之变化,就绪任务所处的就绪子队列也会进行动态调整,其调整的方法如下a、任务的截止期限距离的模糊化由于所有周期任务的相对截止期限距离分布在中,其中MAX_DEADLINE为所有任务中相对截止期限的最大值,即最大截止期限距离,通过计算任务的截止期限距离与最大截止期限距离MAX_DEADLINE的比值,使该距离动态特征值落在模糊论域中;b、根据模糊规则表确定任务的调度优先级,所述模糊规则表是根据一个或若干个标准模糊输入集合确定标准输出模糊集合规则集,标准模糊集合是根据实际问题选取的用于形成模糊规则的参考模糊集合;c、就绪队列调整一个任务确定新的最终调度优先级后,如果该优先级对应的就绪子队列与计算之前的相同,则只需根据任务的截止期限距离调整在该就绪队列的位置;否则,调整到新的就绪子队列中;C任务调度时,根据对应的策略选取最高调度优先级的任务运行。2、根据权利要求1所述一种基于任务模糊多特征的嵌入式实时调度方法,其特征在于步骤A所述对所有就绪任务的截止期限距离与任务的关键度进行模糊初始化是指在任务产生时根据任务关键度的重要程度给出相应的模糊集合,该模糊集合能标识任务的关键程度,并作为决定其最终调度优先级的重要因素;而模糊集合由模糊集合论域与隶属度函数决定,模糊集合论域指模糊集合的研究对象模糊集合的隶属度函数指类属于模糊集合论域中元素的程度,通常为0到1之间的实数;对于任务关键度而言,隶属于论域中越小值的程度越高,该任务越重要。3、根据权利要求1所述一种基于任务模糊多特征的嵌入式实时调度方法,其特征在于步骤B中所述任务的截止期限距离的模糊化方法如下a、经过步骤B第a步转换后的任务截止期限距离等于模糊论域中的元素值,然后采用单点模糊化方法;b、当经过步骤B第a步转换后的任务截止期限距离不属于模糊论域中的元素值时,则线性比例法进行模糊化;所述线性比例法为当一个给定值位于模糊集合论域两个元素值之间时,根据该值到两元素值之间的距离比值确定隶属两参考值的程度。4、根据权利要求1所述一种基于任务模糊多特征的嵌入式实时调度方法,其特征在于步骤C中所述对应的策略如下a、对处于不同模糊级优先队列中的任务,较高优先级队列中的就绪任务优先被调度,只有当较高模糊优先级就绪队列为空时,才考虑较低模糊优先级就绪队列中的任务;b、同一模糊优先级队列中的任务调度采用任务的截止期限距离最短优先的原则,即同一模糊优先级就绪队列中的任务釆用EDF调度策略;c、任务在运行的过程中,当有比当前任务更高优先权的任务就绪时,当前任务运行被剥夺,更高优先运行权的任务被调度投入运行。5、根据权利要求4所述一种基于任务模糊多特征的嵌入式实时调度方法,其特征在于所述新就绪的更高优先权任务分为新就绪任务的最终模糊优先级比当前运行任务高;新就绪任务的模糊优先级与当前运行的模糊优先级相同,但截止期限距离比当前运行任务的截止期限更短。全文摘要本发明公开了一种基于任务模糊多特征的嵌入式实时调度方法,通过初始化,任务调度优先级的调整,根据对应的策略选取最高调度优先级的任务运行进行任务调度,可以实现与传统的最短截止期限距离驱动方法相比,其截止期错失率非常低,而且特别适用于现有的嵌入式通信设;与传统的嵌入式实时系统调度相比,本发明既考虑到任务的多重特征因素,又使用模糊方法适应通信网络应用的不确定性运行环境特点。既考虑尽可能保证重要任务优先运行,减少其错过截止期限的几率,同时也考虑到一般任务截止期限较近时,使之尽快投入运行,从而提高整个系统的利用率。文档编号G06F9/46GK101620550SQ20091005943公开日2010年1月6日申请日期2009年5月27日优先权日2009年5月27日发明者何先波,徐宝磊,超李,李孝杰,莉杨申请人:西华师范大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1