基于可调度性与全局延迟的分布式嵌入系统实时通信中的总线访问优化
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于可调度性与全局延迟的分布式嵌入系统实时通信中的
总线访问优化
本文在对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算法尽量避免了长周期任务的频繁等待、执行,具有较小的抖动性。