一种适用于实时系统周期任务的混合调度方法

文档序号:6490868阅读:304来源:国知局
一种适用于实时系统周期任务的混合调度方法
【专利摘要】本发明公开一种适用于实时系统周期任务的混合调度方法,其步骤如下:查找就绪的实时系统任务集T,对任务按照截止期限升序排序;找出截止期限最短的任务,以截止期限最短任务的执行时间C、截止期限D作为模糊推理系统的输入数据;利用CPU对输入数据进行处理,即将模糊推理系统的输出的阈值δ映射到它的隶属度函数,根据其隶属度函数确定阈值δ的属性;该方法主要是利用模糊系统的理论将RM算法和EDF算法有机地结合起来的混合调度方法调度执行任务,保证任务不错过截止期限D,充分利用系统的资源。
【专利说明】一种适用于实时系统周期任务的混合调度方法
【技术领域】
[0001]本发明涉及实时系统领域任务的实时调度,具体的说是一种适用于实时系统周期任务的混合调度方法。
【背景技术】
[0002]实时系统是指能够响应外部的随机事件,并能够在规定的时间完成对事件处理的计算机系统,确切地说:其正确性不仅取决于计算的逻辑结果,而且取决于产生结果的时间。它在航空、航天、通信、工业自动化等领域有着广泛的应用,例如数控系统,嵌入式实时系统等。根据任务是否可以错过截止期限,分为硬实时系统和软实时系统。硬实时系统不允许任务错过截止期限,否则会产生严重的后果;软实时系统没有截止期限的限制,允许任务偶尔错过截止期限。实时任务分为周期任务和非周期任务;周期任务是指相邻两个任务之间的时间间隔是固定的。非周期任务是指相邻两个任务之间的时间间隔是随机的。硬实时周期任务具有严格的时限要求,任务错过时限将产生严重的后果。实时调度算法是保证系统实时性的关键。
[0003]目前的实时调度算法采用单调速率(RM)算法和最早截止期限优先(EDF)算法。RM算法是固定优先级调度算法,优先级一旦确定就不可以改变,不够灵活。优点是运行的开销小,可调度性测试简单,可预测性好。EDF算法是根据任务的截止期限确定任务的优先级,截止期限越短,优先级就越高,截止期限越长,优先级越低。任务调度时都要根据截止期限确定任务的优先级,任何时刻总是运行高优先级的任务。任务的优先级动态改变,使得系统的适应性比较好;但要时刻计算任务的优先级,运行的开销大,可预测性差。
[0004]现有的调度硬实时周期任务的算法只单独使用RM算法或者EDF算法,当系统负载低时,使用RM算法会造成任务错过截止期限,系统负载高时,使用EDF会造成大量任务错过截止期限,影响系统的性能。

【发明内容】

[0005]针对上述实时系统存在的问题,为了保证任务不错过截止期限,充分利用系统的资源,本发明提供一种适用于实时系统周期任务的混合调度方法;该方法利用模糊系统的理论将RM算法和EDF算法有机地结合起来,达到发明的目的。
[0006]为实现上述的发明的目的,本发明采用以下的技术方案:
[0007]—种适用于实时系统周期任务的混合调度方法,其特征在于:包括如下步骤:
[0008]查找就绪的任务集T,对任务集T的任务按照截止期限D升序排序,找出截止期限最短的任务;
[0009]以截止期限最短任务的执行时间C、截止期限D作为模糊推理系统的输入数据;
[0010]利用模糊推理系统对上述输入数据进行处理,即将模糊推理系统的输出的阈值δ映射到它的隶属度函数,根据其隶属度函数确定阈值δ的属性;
[0011]判断模糊推理系统输出的阈值δ的属性,如阈值δ的属性为“不重要”或“一般”,米用RM算法调度执行任务。
[0012]如阈值δ的属性为“重要”时,采用EDF算法调度执行任务。
[0013]所述截止期限D、执行时间C、阈值δ的隶属度函数,采用三角形隶属度函数;所述执行时间和截止期限的属性为“短”、“中”、“长”,阈值δ的属性为“不重要”、“一般”或“重要”。
[0014]以截止期限D最短任务的执行时间C、截止期限D作为模糊推理系统的输入数据;所述模糊推理系统包括输入部分、输出部分和CPU处理部分;输入部分将所述输入数据映射到相应的执行时间C和截止期限D的隶属度函数中;CPU处理部分利用所述输入数据并调用模糊规则产生阈值δ的结果;输出部分将所述结果转化为阈值δ的属性。
[0015]上述模糊规则通过任务的截止期限D和执行时间C的属性确定;当任务截止期限的属性为“短”,阈值δ的属性为“重要”;截止期限的属性为“长”,阈值δ的属性为“不重要”;截止期限的属性为“中”,执行时间的属性为“短”或“中”,阈值δ的属性为“一般”。
[0016]本发明具有以下有益效果及优点:
[0017]I)通过实验验证,当系统的负载< I时,本发明的混合调度方法在负载超过0.856时,任务将错过截止期限,此时任务的截止期限丢失率大约为5.67%;而单独使用RM算法调度任务在负载超过0.744时,任务将错过截止期限,此时任务的截止期丢失率大约为
7.24% ;也就是说采用本发明的混合调度方法系统所承受的负载范围比单独使用RM算法的系统负载范围大,截止期丢失率比单独使用RM算法的丢失率小。
[0018]2)通过实验验证,当系统负载> I时(过载),EDF算法的截止期丢失率急剧上升。当在1〈系统的负载〈2时,单独使用EDF算法调度任务集的平均截止期丢失率为58.27%,而使用本发明的混合调度方法平均截止期丢失率为41.36% ;当在系统的负载>2时,单独使用EDF算法调度任务集的平均截止期丢失率为83.43%,而使用本发明的混合调度方法平均截止期丢失率为63.56%。因此说明本发明的混合调度方法使系统执行任务的截止期丢失率大大降低。
【专利附图】

【附图说明】
[0019]图1为本发明方法处理程序流程图;
[0020]图2为本发明模糊推理系统方框图;
[0021]图3为本发明任务执行时间C的隶属函数图;
[0022]图4为本发明任务截止期限D的隶属函数图;
[0023]图5为本发明阈值δ的隶属函数图;
[0024]图6为本发明与R M算法和EDF算法比较结果图。
【具体实施方式】
[0025]下面结合附图和实施例对本发明方案作进一步详细描述。
[0026]参见附图1,是一种适用于实时系统周期任务的混合调度方法,其特征在于:包括如下步骤:
[0027]查找就绪的任务集Τ,对任务集T的任务按照截止期限D升序排序,找出截止期限最短的任务;[0028]以截止期限最短任务的执行时间C、截止期限D作为模糊推理系统的输入数据;
[0029]利用模糊推理系统对上述输入数据进行处理,即将模糊推理系统的输出的阈值δ映射到它的隶属度函数,根据其隶属度函数确定阈值δ的属性;
[0030]判断模糊推理系统输出的阈值δ的属性,如阈值δ的属性为“不重要”或“一般”,米用RM算法调度执行任务。
[0031]如阈值δ的属性为“重要”时,采用EDF算法调度执行任务。
[0032]所述RM算法是根据任务的周期确定其优先级的,周期越短,优先级越高,周期越长,优先级越低。任何时刻都是运行高优先级的任务,就是说任务必须在下一个周期到来之前完成,否则会错过截止期限。
[0033]所述EDF算法是根据任务的截止期限确定任务的优先级,截止期限越短,优先级就越高,截止期限越长,优先级越低。任务调度时都要根据截止期限确定任务的优先级,就是说任何时刻总是运行闻优先级的任务。
[0034]单独使用RM算法或者EDF算法调度任务,当系统负载低时,使用RM算法调度任务会造成任务错过截止期限;系统负载高时,使用EDF算法调度任务会造成大量任务错过截止期限,影响系统的性能。
[0035]为了解决上述问题,本发明的采用RM算法和EDF算法相结合的调度方法.该方法适用于实时系统主要包括数控系统、嵌入式实时系统。其中,数控系统的周期任务主要包括刀具补偿、插补运算、位置控制。下面对混合调度方法用于数控系统的实例加以说明:
[0036]在本实施例中,首先查找就绪的任务集Τ,对任务集T中的数控系统周期任务按照截止期限升序排序,找出截止期限最短的周期任务包括刀具补偿、插补运算、位置控制;以截止期限最短的周期任务的执行时间C、截止期限D作为模糊推理系统输入数据;每当有新的数控系统周期任务到达时将其插入到就绪的任务集T中的合适位置。
[0037]所述截止期限D、执行时间C、阈值δ的隶属度函数,采用三角形隶属度函数;所述执行时间和截止期限的属性为“短”、“中”、“长”,阈值δ的属性为“不重要”、“一般”或“重要”。
[0038]所述周期任务的截止期限D、执行时间C、阈值δ的隶属度函数参见图3?图5:采用通用的三角形隶属度函数作为它们的隶属度函数。从图3可以看出上述周期任务的执行时间分别用“短”、“中”、“长”标记。其中,执行时间C在区间O?7称之为“短”,在区间7?17称之为“中”,大于17称之为“长”。同样用“短”、“中”、“长”来标记,周期任务的截止期限D0截止期限在区间O?13称之为“短”,在区间13?23称之为“中”,大于23的称之为“长”(见图4)。
[0039]阈值δ用“重要”、“一般”、“不重要”来描述。其中“重要”代表周期任务的紧迫性高需要立即执行,“一般”代表周期任务的紧迫性适中不需要立即执行,“不重要”代表周期任务的紧迫性低可以推迟执行。从图5可以看出阈值δ在区间O?0.35称之为“不重要”,在区间0.35?0.7称之为“一般”,大于0.7称之为“重要”。
[0040]附图2是本发明模糊推理系统方框图。以截止期限最短任务的执行时间C、截止期限D作为模糊推理系统的输入数据;所述模糊推理系统包括输入部分、输出部分、CPU处理部分三部分;其输入部分将所述输入数据映射到相应的执行时间C和截止期限D的隶属度函数中;CPU处理部分利用所述输入数据并调用模糊规则产生阈值δ的结果;输出部分将所述结果转化为阈值δ的属性。
[0041]上述模糊规则通过任务的截止期限D和执行时间C的属性确定;当任务截止期限的属性为“短”,阈值δ的属性为“重要”;截止期限的属性为“长”,阈值δ的属性为“不重要”;截止期限的属性为“中”,执行时间的属性为“短”或“中”,阈值δ的属性为“一般”。
[0042]周期任务的模糊规则见表1。从表1可以看出模糊规则是通过所述周期任务的截止期限D和执行时间C的属性确定;当所述周期任务截止期限的属性为“短”,阈值的属性为“重要”;这样可以保证截止期限短的周期任务优先执行,降低截止期丢失率。截止期限的属性为“长”,阈值的属性为“不重要”;截止期限的属性为“中”,执行时间的属性为“短”或“中”,阈值的属性均为“一般”。
[0043]将模糊推理系统的输出值映射到阈值δ的隶属度函数,确定阈值δ的属性,当阈值δ的属性为“不重要”或“一般”时采用RM算法执行周期任务,否则采用EDF算法执行周期任务。
[0044]表1为本发明模糊规则描述
[0045]
【权利要求】
1.一种适用于实时系统周期任务的混合调度方法,其特征在于:包括如下步骤: 查找就绪的任务集T,对任务集T的任务按照截止期限D升序排序,找出截止期限最短的任务; 以截止期限最短任务的执行时间C、截止期限D作为模糊推理系统的输入数据; 利用模糊推理系统对上述输入数据进行处理,即将模糊推理系统的输出的阈值δ映射到它的隶属度函数,根据其隶属度函数确定阈值δ的属性; 判断模糊推理系统输出的阈值δ的属性,如阈值δ的属性为“不重要”或“一般”,采用RM算法调度执行任务。
2.按照权利要求1所述的一种适用于实时系统周期任务的混合调度方法,其特征在于:如阈值δ的属性为“重要”时,采用EDF算法调度执行任务。
3.按照权利要求1所述的一种适用于实时系统周期任务的混合调度方法,其特征在于:所述截止期限D、执行时间C、阈值δ的隶属度函数,采用三角形隶属度函数;所述执行时间和截止期限的属性为“短”、“中”、“长”,阈值δ的属性为“不重要”、“一般”或“重要”。
4.按照权利I所述的一种适用于实时系统周期任务的混合调度方法,其特征在于:以截止期限D最短任务的执行时间C、截止期限D作为模糊推理系统的输入数据;所述模糊推理系统包括输入部分、输出部分、CPU处理部分;输入部分将所述输入数据映射到相应的执行时间C和截止期限D的隶属度函数中;CPU处理部分,利用所述输入数据并调用模糊规则产生阈值δ的结果;输出部分将所述结果转化为阈值δ的属性。
5.按照权利4所述的一种适用于实时系统周期任务的混合调度方法,其特征在于:上述模糊规则通过任务的截止期限D和执行时间C的属性确定;当任务截止期限的属性为“短”,阈值δ的属性为“重要”;截止期限的属性为“长”,阈值δ的属性为“不重要”;截止期限的属性为“中”,执行时间的属性为“短”或“中”,阈值δ的属性为“一般”。
【文档编号】G06F9/46GK103810026SQ201210445745
【公开日】2014年5月21日 申请日期:2012年11月9日 优先权日:2012年11月9日
【发明者】张忆文, 郭锐锋, 刘娴, 王鸿亮 申请人:中国科学院沈阳计算技术研究所有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1