车载CAN网络中的动态调度算法的特点是可调度分析需在动态下进行,在运行过程中,系统要对网络节点传输信息进行动态构建,任务调度的优先级随各控制任务的执行时间或截止时间而相应的产生动态变化。动态调度算法里最常用的是EDF(Earliest Deadline First)算法,即最早时间限优先算法。
EDF调度算法的特点是优先级不是固定不变的,而是随着时间的变化而变化,对于一组N个相互独立的实时周期消息,用EDF调度算法的可调度条件为信息的总资源利用率满足下面的等式。
其中,ci为信息的执行时间,hi为信息周期。
EDF调度算法能获得更高的网络资源利用率,并且EDF算法能动态地调节信息的优先级,能满足任务实时性高的要求,可以在负载较多的情况下能将有限的资源更加合理的分配。为了验证该调度算法对网络的影响,举个例子分析。假设在同一时间里,有两个并发的周期任务需要处理,它们的执行时间为3ms,其信息周期分别为h1=6ms,h2=4ms,则两个信息的总资源利用率U为:
由于EDF调度算法的特点是任务时限越小,其优先级就越高。因此分析,在0时刻,两信息同时到达,但是2号信息的周期小,所以时限小,优先级高,将会先被得到处理,当执行3ms处理完2号信息之后才处理1号信息,但是在2号信息周期来之前并不会抢占1号信息的执行,因为2号信息下一个周期举例时限为4ms,而现在处理的1号信息距离时限为2ms,因此继续执行1号信息。
动态调度算法的提出大大减少了再系统运行前的工作量。动态调度算法有如下优点:
1)灵活性增强;
2)可实时适应系统结构与配置的变化。
但缺点是很难对系统进行有效的可调度分析,同时要消耗大量的系统资源来动态计算网络中传输信息的优先级。
|