计算机网络中信息传递的调度控制技术可分为拥塞控制、防止死锁和流量控制三类;拥塞控制是通信子网中某一部分的分组数量过多进行控制,网络流量控制是利用软件或硬件方式来实现对网络数据流量进行控制的一种措施。
本教程操作环境:windows10系统、DELL G3电脑。
计算机网络中信息传递的调度控制技术可分为哪三类
计算机网络中信息传递的调度控制技术可以分为:拥塞控制、防止死锁、流量控制
扩展知识
网络控制系统(NetworkControlSystem,NCS)是指传感器、控制器和执行器通过网络形成的闭环反馈控制系统。目前,大部分关于NCS的研究针对NCS存在的问题和特性建立系统模型、分析系统稳定性、给出控制方法和控制规律,以保证系统具有良好的稳定性和高质量的控制性能。然而NCS的性能不仅依赖于控制策略及控制规律的设计,而且还受到网络通信和网络资源的限制。信息调度尽量避免网络中信息的冲突和拥塞现象的发生,从而大大提高了网络控制系统的服务性能。
NCS中的信息特征与信息调度概念
在NCS中网络传输的信息主要分为两类:实时性信息和非实时性信息[3]。实时性信息对时间要求非常苛刻,如果在规定时间的上限内某一信息未能起作用,则该信息将被丢弃,启用最新的信息。而在NCS信息调度策略中主要调度两类数据信息:周期性信息和非周期性信息。周期性信息是一种实时性信息,一般要求在传输周期时间内必须传送给目标节点,周期性信息也被称为时间触发信息或者同步信息。非周期性信息是指节点间的请求服务等信息,它们的发生时刻是随机的,非周期性信息也被称为事件触发信息、异步信息或者随机性信息。
此外,在NCS信息调度中不能忽视突发性信息,突发性信息指一些事先无法预知的突发性的或者随机的事件(例如报警信号、异常处理等),这类信息必须在一定时间内给予处理,否则系统可能出现异常甚至瘫痪。
在网络控制系统中,信息调度发生在应用层,即传感器、控制器与执行器之间信息传递的过程中。当系统网络中某节点发生数据传输碰撞时,信息调度规定节点的优先发送次序、发送时刻和时间间隔,以避免网络冲突。
在NCS中,如果网络控制系统的所有数据传输都能在任务时限内完成,则称网络控制系统的传输是可调度的。
典型的NCS信息调度算法
目前对网络控制系统中信息调度的研究主要分为调度与控制的分开设计和调度与控制的协同设计。
调度与控制的分开设计
在NCS的研究中,一类研究是针对通信网络,研究提高网络服务质量的信息调度方法;另一类研究是在一定的网络信息调度方法基础上,研究提高NCS性能的控制方法。因此,信息调度方法对改善NCS性能起着很大的作用。
根据信息对实时性的要求,信息调度分为静态调度(又称离线调度)、动态调度(又称在线调度)和混合调度。
静态优先级调度
目前静态调度算法很多,本文着重介绍以下几种典型的算法以及算法的改进。
速率单调静态优先级调度(RateMonotonicSchedulingModel)算法的调度优先级由任务周期确定,在任务周期等于时限的同步实时任务系统中是最佳静态调度算法。但是该算法具有调度判定具有指数时间复杂度、对任务的执行周期限制的过于严格、只能处理具有固定周期的任务等缺点。鉴于上述缺点Lehoczky等[23]提出了扩大调度可行性条件的RM算法。Sha等[22]考虑到任务的阻塞,给出了非抢占服务方式下RM算法的可调度条件。叶明等[5]基于RM算法提出了一种新的实时调度算法(HardReal-timeCommunicationScheduler,HRTCS)。文远保等[4]针对任务的周期和调度优先级关系不固定的流媒体提出了改进的RM算法。
截至时间单调调度模型(DeadlineMonotonicSchedulingModel)策略的任务优先级由任务时限来决定。该调度算法要防止任务越过其时限而得不到调度,从而影响系统的实时性。当任务周期和时限相同或者所有同步周期性任务时,DM算法都是最佳静态调度算法。
由Hong等提出的基于时间窗的静态带宽调度算法避免了数据在网络传输过程中产生干扰和数据冲突。Hong等还将该调度方法应用于循环服务型NCS和CAN网下的NCS中。
刘鲁源等鉴于该调度方法只限于调度网络中的周期数据,提出基于同步相和异步相的时间窗调度算法,使非周期数据也可以采用该基于时间窗的静态调度算法。
动态优先级调度
在动态优先级调度算法中,任务的时间约束关系并没有完全确定,新任务的到达时间是未知的。下面介绍几种经典的动态优先级调度算法。
Liu和Layland提出的时限最早的任务优先调度(Earliestdeadlinefirstscheduling),任务优先级是任务时限与任务执行时刻的差,该算法对同步周期任务组是最佳的动态调度算法。鉴于EDF是抢占式调度算法,任务间的切换时需要大量开销。Baker[12]给出了非抢占士服务方式下EDF算法的可调度性条件。张惠娟等[11]提出了一种基于EDF算法的优先级驱动实时调度算法,较大程度地克服了EDF算法在多处理器系统中的调度缺点。刘怀等[10]提出了基于EDF算法的容错调度算法。张奇智等[7]采用非中断的EDF调度方法来改善周期性数据帧的端到端延迟。洪艳伟等[1]提出了分别在简单模型上和复杂模型上如何判定实时任务的可行性。
最小松弛优先调度(Leastlaxityfirst)和EDF算法可看作同类型的调度算法,任务优先级是完成时限和任务执行时刻的差再减去周期任务的执行时间。LLF算法尽量避免了长周期任务的频繁等待、执行,具有较小的抖动性。
最大误差优先—尝试一次丢弃(mosterrorfirst-tryoncediscard)是Walsh等[8]人提出的基于在线获取的网络诱导传输误差和动态分配网络带宽的调度算法。
Otanez等[9]人提出的基于死区的动态调度在确保系统性能的基础上动态地丢弃一定比率的数据,以减轻网络的负荷。但是当多个获准访问网络的数据包同时竞争网络资源时,该策略不能确定数据包发送的优先级。
基于业务平滑的动态调度是Kewon等利用业务平滑的技术控制Ethernet网的通信量,通过在Ethernet网的UDP(TCP/IP)层和MAC层插入定速率业务平滑器和自适应业务平滑器以限定MAC层数据包的到达速率,并且保证网络诱导时延的有界性,从而提高网络的服务质量.
Cena等提出的优先级提升—分布式优先级排队调度(PP-DPQ)可以保证实时数据传输最大间隔具有确定上界,非实时数据在传输中公平地竞争网络资源。
基于时间窗的动态调度(DynamicTimeWindow)是Raja对基于时间窗的静态调度算法进行改进,提出优先级循环服务和动态时间窗的带宽分配策略。
模糊动态调度是白涛[13]等将模糊控制理论引入到NCS信息调度中,利用基于IF2THEN规则的模糊逻辑确定数据传输的优先级。
混合调度
Zuberi等针对CAN下网络控制系统,提出混合通信调度(MTS)策略。在设计调度策略时,考虑到数据实时性要求不同,可以分别采用不同的调度策略,以提高网络资源的可调度性。Tabuada等[27]给出的退火控制任务的事件触发实时调度是基于有反馈事例的事件触发调度器,并且给出了它如何保证系统性能的条件。
调度与控制的协同设计
目前关于控制与调度共同设计成为研究热点受到越来越多的重视,大体可分为开环调度和反馈控制实时调度两方面。
开环调度
对NCS中各个控制环中数据传输节点采样周期和采样时刻的调度
Hong基于“窗口”的概念,给出了一种通过调度采样时间来减少时延的影响并提高网络利用率的调度算法,建立了NCS控制系统性能与网络性能间的约束关系。但该算法是基于令牌环系统(tokenpassingsystem)和轮询系统(pollingsystem)的一维对象的调度,系统中信息类型仅限于周期性信息。Kim等[16]基于相同思想提出了适用于多维对象的采样时间调度算法。刘鲁源等[17]提出了利用剩余的时间窗口调度非实时数据提高了网络资源利用率的调度算法。