基于可调度性与全局延迟的分布式嵌入系统实时通信中的总线访问优化本文在对TTP通信协议进行研究的基础上,发现嵌入式实时系统通信过程中的消息调度算法只考虑消息的可调度性而没有对全局延迟进行考虑的问题,从而提出基于可调度性及全局延迟的实时通信的总线访问优化的研究课题,随后对实时通信总线的访问优化算法进行了研究,其中包括:静态单消息算法、静态多消息算法、动态消息分配算法以及动态数据包分配,并对可调度性的判断依据进行了说明,最后通过研究现有可调度性最优算法,从而给出改进后的算法描述并加以实现。
第一章绪论1.1课题背景随着网络技术以及和数字信息技术的高速发展,在信息家电、医疗仪器、智能汽车、工业控制、通信设备各个领域中,嵌入式系统无处不在。
随着网络技术的飞速发展,在许多嵌入式应用中,往往包含许多设备,譬如只能中央空调,这时分布式系统就是实现这种系统最方便、最现实的方法[1]。
由于分布式系统具有如下特点:时间关键的任务放在不同的CPU中可以更容易保证满足它的死线要求;把处理器放在设备级上更便于实现设备之间的接口;如果系统中包含从供应商购买的几个设备或系统,它们之间也含有自己的CPU,或者还包含有通信接口,通常不可能把系统的任务放到这些设备中,或者相反把设备的任务放到系统中;使用几个小CPU比使用一个大CPU更便宜;分布式的系统能够利用本身的高度容错性使得在高性能领域分布式系统系统中具有得天独厚的优势。
所以,许多嵌入式系统利用分布式系统实现,在分布的处理器之间利用通讯链路连接起来,数据链路可以是高速并行数据总线(紧耦合型),也可以是串行数据链路。
但是,随着电控单元的增多、功能日益复杂、网络通信数据量不断增大、要1求更高的传输带宽、通信数据传输的高实时性和高可靠性等问题的出现,就需要一种更新、更可靠和更实时的高速通信网络技术来满足上述技术要求。
目前,符合高带宽,实时性特点的总线类型有很多,其中TTP(Time-Trigger Protocol)总线技术是极具发展潜力的总线之一。
TTP是分布式嵌入系统的一种总线访问协议,一般使用于对安全性有高要求的分布式嵌入系统中。
而对于运行在分布式嵌入系统中的实时任务是否能够在满足时限的前提下完成,这取决于分布式节点间的消息通信情况。
在已有文献中,可调度性是衡量实时系统的可预测性指标之一,其值越大则说明该系统的实时任务越不易错失其时限,则其安全性能够得到更好的保障。
而运行在分布式嵌入系统上的周期任务集(链)中第一个任务开始到最后一个任务结束的时间间隔称为该任务集(链)的全局延迟,该值越小那么说明系统到下一次周期任务集(链)开始执行时刻的时间间隔越大,而该时间间隔可以用于进行其他操作,如:非周期任务的处理;让系统处于待机状态,达到节能的目的。
而在以往的实时通信中的总线访问优化,往往只注重系统中的可调度性或全局延迟的优化,而忽略该优化过程中对另一个指标的影响。
如在文献[1]中基于TTP协议的总线访问优化算法就存在这样的问题。
其分布式嵌入系统架构如图1所示[2]:图1.分布式嵌入系统的节点间通信共享同一总线示意该系统中,所有分布节点间的通信采用TDMA (Time-Devision-Multiple-access)方式进行消息传递。
处于N0节点上的实时任务若需要与N1节点上的任务进行通信,则需要先将传输的消息放置发送队列中,当总线的使用时间片轮到N0使用时,N0再依次从消息发送队列中取出消息放置到总线上进行传输。
最后,位于总线上的消息被N1节点获取,放置到自己的接受消息缓冲区中进行消息重组,最后在提供给需要使用该消息的任务使用。
为了满足实时任务的时限要求,消息传输的调度起到了至关重要的作用。
消息传输的调度一方面影响了该系统中实时任务集合的可调度性(该定义详见[1]),同时也影响到了整个实时任务集合在最坏情况下的全局延迟(WCGD)(该定义详见[5]),因此,如何在消息调度过程中,实现任务集合具有最大可调度性的同时,而且还能得到最优或者近优的全局延时(WCGD),这是本课题研究的主要内容。
1.2国内外研究现状计算机控制的发展f6_iol至今主要经历了以下几个阶段:传统的集中式控制系统、七十年代中期发展起来的集散控制系统、八十年代末发展起来的现场总线控制系统、九十年代发展起来的基于以太网的控制系统。
网络控制系统中,网络调度就是对网络中信息的调度。
目前网络控制系统中信息调度的研究主要分为调度与控制的分开设计和调度与控制的协同设计[3-5]。
1.2.1调度与控制的分开设计在NCS的研究中,一类研究是针对通信网络,研究提高网络服务质量的信息调度方法;另一类研究是在一定的网络信息调度方法基础上,研究提高NCS性能的控制方法。
因此,信息调度方法对改善NCS性能起着很大的作用。
根据信息对实时性的要求,信息调度分为静态调度(又称离线调度)、动态调度(又称在线调度)和混合调度。
(1)静态优先级调度目前静态调度算法很多,本文着重介绍以下几种典型的算法以及算法的改进。
速率单调静态优先级调度(Rate Monotonic Scheduling Model)算法的调度优先级由任务周期确定,在任务周期等于时限的同步实时任务系统中是最佳静态调3度算法。
但是该算法具有调度判定具有指数时间复杂度、对任务的执行周期限制的过于严格、只能处理具有固定周期的任务等缺点。
鉴于上述缺点Lehoczky等提出了扩大调度可行性条件的RM算法。
Sha等考虑到任务的阻塞,给出了非抢占服务方式下RM算法的可调度条件。
叶明等基于RM算法提出了一种新的实时调度算法(Hard Real-time Communication Scheduler, HRTCS)。
文远保等针对任务的周期和调优先级关系不固定的流媒体提出了改进的RM算法。
截至时间单调调度模型(Deadline Monotonic Scheduling Model)策略的任务优先级由任务时限来决定。
该调度算法要防止任务越过其时限而得不到调度,从而影响系统的实时性。
当任务周期和时限相同或者所有同步周期性任务时,DM算法都是最佳静态调度算法。
由Hong等提出的基于时间窗的静态带宽调度算法避免了数据在网络传输过程中产生干扰和数据冲突。
Hong等还将该调度方法应用于循环服务型NCS和CAN 网下的NCS中。
刘鲁源等鉴于该调度方法只限于调度网络中的周期数据,提出基于同步相和异步相的时间窗调度算法,使非周期数据也可以采用该基于时间窗的静态调度算法[6-8]。
(2)动态优先级调度在动态优先级调度算法中,任务的时间约束关系并没有完全确定,新任务的到达时间是未知的。
下面介绍几种经典的动态优先级调度算法。
Liu和Layland提出的时限最早的任务优先调度(Earliest deadline first scheduling,任务优先级是任务时限与任务执行时刻的差,该算法对同步周期任务组是最佳的动态调度算法。
鉴于EDF是抢占式调度算法,任务间的切换时需要大量开销。
B aker给出了非抢占士服务方式下EDF算法的可调度性条件。
张惠娟等提出了一种基于EDF算法的优先级驱动实时调度算法,较大程度地克服了EDF 算法在多处理器系统中的调度缺点。
刘怀等提出了基于EDF算法的容错调度算法。
张奇智等采用非中断的EDF调度方法来改善周期性数据帧的端到端延迟。
洪艳伟等提出了分别在简单模型上和复杂模型上如何判定实时任务的可行性。
最小松弛优先调度((Least laxity first)和EDF算法可看作同类型的调度算法,任务优先级是完成时限和任务执行时刻的差再减去周期任务的执行时间。
LLF算法尽量避免了长周期任务的频繁等待、执行,具有较小的抖动性。
最大误差优先一尝试一次丢弃(most error first-try once discard)是Walsh等人提出的基于在线获取的网络诱导传输误差和动态分配网络带宽的调度算法。
Otanez等人提出的基于死区的动态调度在确保系统性能的基础上动态地丢弃一定比率的数据,以减轻网络的负荷。
但是当多个获准访问网络的数据包同时竞争网络资源时,该策略不能确定数据包发送的优先级。
基于业务平滑的动态调度是Kewon等利用业务平滑的技术控制Ethernet网的通信量,通过在Ethernet网的UDP( TCP/ IP)层和MAC层插入定速率业务平滑器和自适应业务平滑器以限定MAC层数据包的到达速率,并且保证网络诱导时延的有界性,从而提高网络的服务质量。
Cena等提出的优先级提升一分布式优先级排队调度(PP-DPQ)可以保证实时数据传输最大间隔具有确定上界,非实时数据在传输中公平地竞争网络资源。
基于时间窗的动态调度(Dynamic Time Window)是Raja对基于时间窗的静态调度算法进行改进,提出优先级循环服务和动态时间窗的带宽分配策略[9-10]。
模糊动态调度是白涛等将模糊控制理论引入到NCS信息调度中,利用基于IF2THEN规则的模糊逻辑确定数据传输的优先级。
(3)混合调度Zuberi等针对CAN下网络控制系统,提出混合通信调度(MTS)策略。
在设计调度策略时,考虑到数据实时性要求不同,可以分别采用不同的调度策略,以提高网络资源的可调度性。
Tabuada等给出的退火控制任务的事件触发实时调度是基于有反馈事例的事件触发调度器,并且给出了它如何保证系统性能的条件。
1.2.2调度与控制的协同设计目前关于控制与调度共同设计成为研究热点受到越来越多的重视,大体可分为开环调度和反馈控制实时调度两方面。
(1)开环调度A.对NCS中各个控制环中数据传输节点采样周期和采样时刻的调度Hong基于“窗口”的概念,给出了一种通过调度采样时间来减少时延的影响并提高网络利用率的调度算法,建立了NCS控制系统性能与网络性能间的约束关系。
但该算法是基于令牌环系统(token passing system)和轮询系统(polling system)的一维对象的调度,系统中信息类型仅限于周期性信息。
Kim等基于相同5思想提出了适用于多维对象的采样时间调度算法。
刘鲁源等提出了利用剩余的时间窗口调度非实时数据提高了网络资源利用率的调度算法。
B.调度优化Seto针对性能指标是单调递减并且是每一任务频率的凸函数的这样一类控制系统,提出了一种通过改变采样频率使得任务能被EDF和RM调度的新算法,而且系统的性能在有限计算资源的约束下能达到最优。
但该算法没有考虑执行时间的变化与扰动问题。
Cervin考虑了具有时延变化的控制系统采样周期的选择问题,对低于一个采样周期的时延系统的采样周期进行了分析。
Ryu等以稳定状态误差、过冲、上升时间、沉降速度等作为控制性能参数,并将它们表示为采样周期和输入输出延时的函数,在可调度约束条件下用迭代算法对这些性能参数进行优化。