CN101499019A - 电信级以太网系统及用于该系统的实时任务调度方法 - Google Patents
电信级以太网系统及用于该系统的实时任务调度方法 Download PDFInfo
- Publication number
- CN101499019A CN101499019A CNA2009101282644A CN200910128264A CN101499019A CN 101499019 A CN101499019 A CN 101499019A CN A2009101282644 A CNA2009101282644 A CN A2009101282644A CN 200910128264 A CN200910128264 A CN 200910128264A CN 101499019 A CN101499019 A CN 101499019A
- Authority
- CN
- China
- Prior art keywords
- task
- priority
- scheduling
- expression
- period
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明提供了一种面向电信级以太网系统的基于任务复合价值密度-截止期-开销的实时任务调度方法和电信级以太网系统,所述方法包括:在每个调度时刻,判断所述系统是否处于过载状态;如果系统处于非过载状态,采用早截止期优先EDF方法分配任务的优先级,如果系统处于过载状态,则基于任务复合价值密度、任务截止期和开销来分配任务的优先级;采用基于优先级的抢先式任务调度方式执行任务调度,以尽可能地获得最大的系统价值。
Description
技术领域
本发明涉及一种电信级以太网系统及电信级以太网系统上的任务调度方法,具体涉及一种电信级以太网系统及应用于电信级以太网系统的基于复合任务价值-截止期-资源的实时任务调度方法。
背景技术
与传统以太网相比,电信级以太网具有下列五个特性:提供可靠的业务保护模式、可扩展性、对TDM(Time Division Multiplexing)业务的支持、高QoS(Quality of Service)、OAM(Operation,Administration,Management)能力,这就要求应用各种技术和方法改善电信级以太网系统的功能和性能。电信级以太网软件子系统在电信级以太网系统中占有极其重要的地位,这就要求这部分既是高效的,同时也是可靠的,这也决定了电信级以太网系统对时间特性有较高的要求,它是一种实时系统。当前的电信级以太网产品,基本上以实时多任务操作系统+ASIC或NP厂家的驱动开发包+协议栈+网管的模式来开发软件子系统,系统设计时首先考虑的是功能的实现和堆砌,并未充分考虑和利用硬件平台和具体应用的特性,导致设计的软件子系统在任务调度、资源共享以及外部事件响应和处理等方面尤其是任务调度方面存在不足的地方。
任务调度技术是实时系统中的关键技术之一,在非实时系统中,调度的主要目标是减小系统平均响应时间,提高系统资源利用率,或优化某一项指标。而实时任务调度的目的则是尽可能地保证每个任务满足他们的时间约束,及时对外部请求做出响应。实时调度技术通常有多种划分方法,如抢占式调度和非抢占式调度,静态表驱动策略和优先级驱动策略等等。
一个实时系统中,硬截止期任务、固截止期任务和软截止期任务同时存在,另一方面,定期任务和非定期任务也是同时存在的。定期任务和非定期任务的调度各自具有自身的特性。
定期任务调度最常用的方法是基于优先级的调度,而基于优先级的调度主要有静态优先级和动态优先级两类方法。
静态优先级方法的代表是单调速率RM(Rate Monotonic)调度方法,动态优先级方法中使用较多的是早截止期优先EDF(Early Deadline First)调度方法。这两类方法建立在如下的假设上:
(1)所有具有硬截止期的任务的请求是周期性的,任务的两次请求之间的时间间隔为常数。
(2)截止期由可运行性唯一决定,换句话说,每个任务必须在下一个请求到来之前完成本次执行。
(3)任务是相对独立的,也即一个任务实例的执行不依赖于其它任务实例的开始和结束。
(4)每个任务的运行时间不随时间而改变,也就是说,所有实例的运行时间都是相同的。
(5)所有非周期性任务都不具有硬截止期,且不影响周期性任务的行为。
一般情况下,实时系统涉及混合任务集的调度处理,其中不仅有定期任务与非定期任务,而且任务可能具有硬截止期、固截止期或者软截止期。具有混合任务集的实时调度算法的目标是:1.保证硬截止期任务满足截止期;2.最大化固截止期任务的完成数量;2.最小化软截止期任务的平均响应时间。
在实时混合任务调度中,处理软截止期非定期任务的方法主要有后台执行方法、基于服务器的算法和基于空闲时间的算法。
(1)后台执行方法,它是在处理器空闲(未执行任何未完成的定期任务)时以FCFS次序执行这些非定期任务,如果定期任务的负载很高,则用于后台处理非定期任务的处理器时间就相当少,因此非定期任务的响应时间是不可预测的。
(2)基于服务器的方法,该方法又称作带宽保留算法,其主要思想是,在保证满足定期任务截止期的前提下,引入一个或者几个额外的定期任务作为服务器来处理非定期任务,这些任务使用指定的处理器带宽,根据定期任务调度算法的不同,带宽预留算法又可以归结为固定优先级服务器算法与动态优先级服务器算法。
(3)基于空闲时间的方法,包括空闲时间偷取算法(slack stealingalgorithm)、时间片移位算法(slot shifting algorithm)与双重优先级算法(dualpriority algorithm),这些算法都是通过离线或者在线分析从定期任务调度的空隙获得尽可能多的处理时间来处理非定期任务。
归纳起来,当前对实时任务调度的研究,多集中在从理论上探讨,在保证硬截止期定期任务不错过时限的基础上,如何提高CPU的利用率上。这些研究在下列方面存在不足:
(1)为理论研究方便,常常假设任务调度开销可以忽略,假设任务之间相对独立,假设任务不受CPU以外的资源的影响。这些因素在实际实时系统中是不可忽略的。
(2)当前的研究多集中在以确保定期任务的截止期为前提来调度非定期任务,如不可行,则舍弃非定期任务。实际上系统多受外部事件驱动,对外部事件的快速响应往往要求非定期任务也具有硬截止期,舍弃非定期任务同样有很严重的后果。
(3)研究多以周期和截止期依据决定任务的优先级,而忽视了实时任务对整个系统的影响度和任务的价值,使得实际的调度在输出上不是最优。有部分研究虽然考虑了任务的价值和价值密度,但无合适的量化方法,而且基于价值密度仅考虑了处理机资源,而未考虑其它资源的影响,不完全合乎实际系统的特性。
(4)未考虑外部事件产生的中断带来的开销,而中断处理程序往往运行在核心态,往往具有更高的执行优先权,同时对系统资源的影响不能忽略。
(5)大多数算法的实现时间和空间复杂度较高,难以在实际系统实现。
发明内容
本发明的目的是为提高电信级以太网系统的性能,提出了一种基于任务复合价值密度、截止期和开销的调度算法来完成电信级以太网系统的软件调度,设计任务的价值时,合理考虑外部事件的紧急程度,以改善对外部事件的响应和处理速度,同时考虑任务之间的依赖性及资源的使用情况。当外部事件发生时,既考虑处理外部事件的中断处理程序的执行时间,同时被中断服务程序激活的非定期任务可根据事件的性质设置不同的价值和任务截止期。将定期任务和非定期任务统一管理,综合考虑复合价值、截止期和资源的使用情况确定任务的优先级,从而使系统运行的价值尽可能最大化。
本发明的方法可简称为价值密度-截止期-开销VDDC(ValueDensity-Deadline-Cost)算法,它采用基于优先级的调度方法。但设计任务优先级时,综合考虑截止期、复合价值密度和资源开销三种因素。它基于电信级以太网系统的若干评价因子建立评价函数来确定系统中任务的价值,评价因子包括对任务按期执行对系统的贡献、任务响应外部事件的紧迫程度、任务错过截止期的后果等等。
另一方面,需综合考虑任务的开销,也就是任务对资源的使用情况,如某任务对资源的使用影响其它更重要任务的执行甚至可能危及整个系统,则需对该任务作特别处理。
在每个调度时刻,综合考虑当前活跃任务集的截止期、复合价值密度和资源开销等属性,动态决定任务的优先级,并基于优先级实现抢先式调度。
先给出调度时刻的定义:调度时刻是指如下任一情况发生的时刻:调度时间片到,外部事件发生引起非定期任务就绪,当前执行的任务完成或执行时间到,阻塞的高优先级任务活跃,当前执行的任务由于资源请求失败而阻塞等等。
本发明包括如下步骤:
(1)在系统初始化阶段,统计系统的总资源Rsum并表示成资源图模型RGM,估算各中断服务程序需要的CPU时间Tint[i](i表示中断向量号),估算调度模块最坏执行情况需要的CPU时间Tsch,设计各任务的属性并表示成任务图模型TGM,计算每个任务的价值和资源使用情况。
(2)从任务图模型的底部开始,计算每个任务的复合价值。
(3)在每个调度时刻,统计处于就绪状态的任务集Sready,计算任务集的超周期SP和在超周期内的剩余执行时间之和LCsum,并计算当前调度时刻直至一个超周期结束的CPU可用时间Tavt。计算CPU时间时,如果调度时刻出现外部事件引起的中断,则需去掉中断处理程序需要的执行时间,还需要去掉调度模块最坏执行情况所需CPU执行时间的估计值。
(4)根据CPU可用时间和任务的当前情况,判断系统是否过载,如果未过载,则按EDF算法分配优先级。如果过载,则按照下文所述的(4)式分配各任务的优先级。
(5)最后按照优先级的高低进行任务调度。
根据本发明的一个方面,提供了一种面向电信级以太网系统的基于任务复合价值密度-截止期-开销的实时任务调度方法,包括如下步骤:在每个调度时刻,判断所述系统是否处于过载状态;如果系统处于非过载状态,采用EDF方法分配任务的优先级,如果系统处于过载状态,则基于任务复合价值密度、任务截止期和开销来分配任务的优先级;采用基于优先级的抢先式任务调度方式执行任务调度,以尽可能地获得最大的系统价值。
根据本发明的另一方面,提供了一种电信级以太网系统,包括:判断模块,用于在每个调度时刻判断所述系统是否处于过载状态;优先级分配模块,如果系统处于非过载状态,则采用EDF方法分配任务的优先级,如果系统处于过载状态,则基于任务复合价值密度、任务截止期和开销来分配任务的优先级;调度模块,采用基于优先级的抢先式任务调度方式执行任务调度,以尽可能地获得最大的系统价值。
归纳起来本发明有如下一些改进的地方:
(1)设计任务的自身价值时考虑了任务对系统的贡献,同时也考虑了任务对外部事件响应的因素以及任务错过截止期时的后果。
(2)评价任务的价值不单是考虑任务本身的价值,还考虑任务关联的任务(也就是任务的前驱任务和后继任务)价值。
(3)通过过载判断,使得系统在非过载的情况下,采用最优的EDF调度,过载时则采用结合EDF的价值密度调度,可以获取尽可能大的系统价值。
(4)同时考虑中断服务程序的执行时间和任务调度模块的执行时间对CPU可用时间的影响。
(5)由于在调度之前已检查了任务之间由于资源限制带来的制约,通过对资源不能满足的重要程度相对较低的任务降低优先级以避免死锁。
附图说明
图1为基于任务复合价值密度-截止期-开销的实时任务调度方法的工作原理示意图。
图2a为一个任务集的任务图模型示意图。
图2b为图2a所示任务集的任务属性描述图。
图2c为针对图2a所示任务集的各种静态调度方法获得的任务价值的描述。
图3a为一个实时系统的资源图模型示意图。
图3b为一个任务集的任务属性描述图。
图3c为针对图3a所示系统和3b所示任务集,采用EDF调度方法,在一个超周期内任务的执行情况。
图4a为不考虑任务的依赖关系,对任务数为16的任务集采用几种动态调度方法的评测结果。
图4b为不考虑任务的依赖关系,对任务数为32的任务集采用几种动态调度方法的评测结果。
图4c为不考虑任务的依赖关系,对任务数为64的任务集采用几种动态调度方法的评测结果。
图5a为考虑任务的依赖关系,对任务数为16的任务集采用几种动态调度方法的评测结果。
图5b为考虑任务的依赖关系,对任务数为32的任务集采用几种动态调度方法的评测结果。
图5c为考虑任务的依赖关系,对任务数为64的任务集采用几种动态调度方法的评测结果。
图6为本发明的电信级以太网系统的示意框图。
具体实施方式
下面结合附图对本发明进行详细的描述。
●问题的提出
为弥补基于截止期和空闲时间的调度算法未考虑任务输出或对整个系统的贡献的不足,有些研究提出了基于价值和价值密度的算法。基于价值的算法给每个任务分配一个关键度表示该任务对系统的重要程度,而基于关键度分配任务的优先级。基于价值密度的算法则在分配任务的关键度的同时考虑该任务耗费的CPU时间,基于关键度/CPU时间来分配任务的优先级。但这些算法的共同缺陷是,未充分考虑系统其它资源的使用情况和系统各任务之间的相互依赖的特性,而且价值、价值密度也未能有效与截止期关联起来。因此,基于价值和价值密度的算法在实际系统中常常不能获得良好的调度性能。
考察图2a所示的任务图模型对应的任务集。该任务集包含的任务属性用图2b描述,各任务都是硬截止期任务,任务的相对截止期与任务的周期相同且相位都为0。图2c是按照RM、基于价值、基于价值密度以及最具价值执行情况分配优先级并按照静态优先级调度的结果。图2c列出了几种调度算法下该任务集的执行顺序,如果“任务n/价值”列对应的单元格为空,则表明在该调度算法下不能再加入任务,否则调度不可行。显然,用RM、基于价值、基于价值密度等三种优先级分配方法产生的调度产生的价值距最大价值距离甚远。
再考察一个动态优先级情况下的例子,考察图3a所示的资源图模型。而四个任务组成的任务集如图3b所示。如果不考虑资源的限制,则在EDF调度算法下该任务集执行情况如图3c所示。由图3b和图3c可知,该任务集的超周期为36,在一个超周期内,任务τ4共执行了18次,每次执行1个时间单位。任务τ3共执行了9次,每次执行1个时间单位。任务τ2共执行了3次,每次执行2个时间单位。任务τ1共执行了1次,每次执行3个时间单位。在t=4,16,28三个时刻,任务τ2没有完成执行,但被任务τ4抢先。在时刻t=12,24,任务τ1没有完成执行,但同样被任务τ4抢先。
在资源限制的情况下,调度情况则有很大的不同。这里,假设任务对资源的申请在任务开始时就进行,而在任务执行完毕后才释放已占用的资源。那么,对于本例,在时刻t=17,任务τ1和τ2个执行了一个时间单位,但都没结束,而任务τ4由于截止期更近获得较高优先级,因而抢先任务τ2。但抢先后,通信带宽和缓存量大部分已被τ1和τ2占用,不能满足τ4的运行所需,而τ1和τ2已被τ4抢先而挂起,这时系统出现死锁。
●本发明概述
本发明的方法为VDDC算法,它采用基于优先级的调度方法。但设计任务优先级时,综合考虑截止期、复合价值密度和资源开销三种因素。它基于电信级以太网系统的若干评价因子建立评价函数来确定系统中任务的价值,评价因子包括对任务按期执行对系统的贡献、任务响应外部事件的紧迫程度、任务错过截止期的后果等等。
另一方面,需综合考虑任务的开销,也就是任务对资源的使用情况,如某任务对资源的使用影响其它更重要任务的执行甚至可能危及整个系统,则需对该任务作特别处理。
在每个调度时刻,综合考虑当前活跃任务集的截止期、复合价值密度和资源开销等属性,动态决定任务的优先级,并基于优先级实现抢先式调度。
●算法的详细描述
给定一个系统的任务集TS=PT∪AT,其中PT是周期任务集,而AT是非周期性任务集。PT={ρτ1,ρτ2...ρτn},而ρτi(i=1,2...n)可用属性集{Φi,Ci,Di,Pi,TU(ρτi),TD(ρτi),TC(ρτi),TV(ρτi)}来描述,各属性解释如下:
Φi—任务ρτi的相位,也即ρτi的释放时间。
Ci—任务ρτi的执行时间,也即任务ρτi在一个周期内的最坏执行时间。
Di—任务ρτi的相对截止期。
Pi—任务的周期。
TU(ρτi)—定义TU(τ)为任务τ的直接前驱任务集函数,则TU(ρτi)为ρτi的直接前驱任务集,也就是ρτi必须等到TU(ρσi)的所有任务都执行完毕后才可以开始执行。
TD(ρτi)—定义TD(τ)为任务τ的直接后继任务集函数,则TD(ρτi)为ρσi的直接后继任务集,也就是说,TD(ρτi)里的所有任务必须等到ρτi执行完毕后才可以开始执行。
TC(ρτi)—定义TC(τ)为任务τ的开销函数,则TC(ρτi)为ρτi执行需要的全部物理资源以及由于占用资源对系统的影响,物理资源包括处理机时间、内存数量、关键队列、通信带宽等等。
TV(ρτi)---定义TV(τ)为任务τ的价值函数,则TV(ρτi)为ρτi正常执行(未错过截止期)的价值。
AT={στ1,στ2...στm},而στI(i=1,2...m)可以用属性集{ai,pi,di,TU(στi),TD(στi),TC(στi),TV(στi)}来描述,其中ai是任务στi的到达时间,可以理解为由于某个外部事件触发而启动该任务的时间。pi表示任务στi的执行时间,di是任务的截止期,如果στi没有硬截止期,则di=+∞,TU(στi)、TD(στi)、TC(στi)、TV(στi)的含义分别与TU(ρτi)、TD(ρτi)、TC(ρτi)和TV(ρτi)相同。
在一般实时系统中,不同的周期性任务错过截止期带来的后果严重程度不同。例如,在电信级以太网系统中,性能统计任务错过截止期,仅仅会导致网络管理用户的抱怨,而故障检测任务错过截止期则可能导致不能提供故障情况下的快速倒换,导致网络数据的大量丢失。
任务τ自身的价值TV(τ)的具体取值可由多个因素的综合评价所得到。记任务τ按期正确执行对系统的贡献为V(τ),错过截止期给系统带来的后果为R(τ),响应外部事件的紧迫等级为G(τ),则可用下面的(1)式计算TV(τ),
TV(τ)=α1*V(τ)+α2*R(τ)+α3*G(τ)(1)
在(1)式中α1-α3是各子项的系数,表示各评价因子在综合评价中所占权重。
定义:任务τ的复合价值CTV(τ)定义为任务自身的价值和它的所有后继任务对该任务的附加价值之和,其中,所述任务的后继任务是指必须等到所述任务执行完毕后才可以开始执行的任务。以Γ(τi,τj)表示任务τj对任务τi产生的附加价值,Γ(τi,τj)和CTV(τ)分别可以由下面的(2)和(3)式计算。
在(2)式中,其中,Γ(τi,τj)表示任务τj对任务τi产生的附加价值,函数MN(TU(τj))用于获得集合TU(τj)的成员个数,TU(τj)是任务τj的直接前驱任务集。
任务的开销
任务τ的开销TC(τ)的具体取值也是由各资源的使用情况得到,例如任务(τ)正常执行占用处理器的情况、占用内存资源的情况、占用关键队列的情况以及占用通信带宽的情况等等。如果某项资源在任务按任何顺序执行时都能够完全满足要求,则该资源不影响任务的调度,因此,开销带来的影响主要是在某项资源不能完全满足要求时才发生作用。
在表述定理之前,先给出几个定义。系统过载:在某个时刻,如果系统不能对所有的请求给以及时的响应,导致某些请求错过截止期,则称在那个时刻系统过载。系统价值:在某个时间段内,系统执行的所有任务对系统的贡献总和称为那段时间的系统价值。
定理1:在系统不处于过载的情况下,不存在任何一种调度算法,它获得的系统价值比EDF算法大。
证明:如果调度的任务集S由n个任务组成,如果采取某种调度算法,使得这n个任务的执行都不存在超过执行截止期的情况,则得到的系统价值最大。而在系统不处于过载的情况下,EDF调度算法是最优的。也就是对任一任务集,只要存在一种调度算法可调度,那EDF调度算法必然也可调度。那么,在系统不处于过载的情况下,EDF调度算法获得的系统价值已经最大化,也就意味着不存在任何一种调度算法,它获得的系统价值比EDF算法大。
定理1说明,在无过载现象出现时,EDF算法在系统价值方面仍然是最优。
定理2:在系统处于过载的情况下,EDF算法的获得的最大系统价值的概率随任务数的增加而减少。
证明:不失一般性,假设系统中的所有任务都具有硬截止期,且相对截止期等于任务的周期(非定期任务可看作只有一个周期的定期任务)。由于系统过载,也就是说所有活跃任务需要的处理器使用率之和大于1,实质上意味着采用EDF算法调度该任务集不可行,换句话说至少存在某个任务的某个实例错过截止期。
如果是定期任务的某个实例错过截止期,那么定期任务的特点决定了其某个实例错过截止期将产生多米诺效应,导致后面的所有实例错过截止期。而非定期任务可看成只有一个实例的定期任务,它错过截止期实际上也意味着整个任务失效。因此,该任务调度可以看作是去掉错过截止期任务的可行调度。
假设只有一个任务错过截止期,且错过的任务为τr(1<=r<=n),一般来说任务的价值不依赖于任务的截止期,那么从EDF调度算法的特点可知,用τr去替换可调度任务集中任何一个任务调度仍然可行。那么只有当可调度任务集中的所有任务的价值高于τr时EDF调度算法才获得最大的系统价值。这种情况下EDF调度算法获得最大价值的概率 用同样的分析可得到,当有r个任务错过截止期时,EDF调度算法获得最大价值的概率 显然,在n>=2时,定理成立。
定理2说明,在系统过载的情况下,采用EDF算法调度在大多数情况下不会获得最大的系统价值。这也表明在系统过载情况下,调度算法有改进的余地。
在系统过载时,该算法中的任务的优先级的设置综合考虑了任务复合价值密度、任务截止期以及任务的开销等多重因素。
定义任务τ的综合优先数为PR(τ),AD(τ)为τ的截止期,则PR(τ)可以由下面的(4)式计算。
在(4)式中,CTV(τi)表示任务τi的复合任务价值,AD(τ)表示τ的截止期,T表示进行调度的时间,LC(τi)表示任务τi的剩余执行时间,τ→!τ1表示由于τ的调度,τi将错过截止期,τ→#τi表示由于τ的调度和资源申请,τi将申请不到某项资源,TC(τ)为任务τ的开销,TV(τ)为任务τ自身的价值。任务的优先数越大,该任务的调度优先级越低。
先给出调度时刻的定义:调度时刻是指如下任一情况发生的时刻:调度时间片到,外部事件发生引起非定期任务就绪,当前执行的任务完成或执行时间到,阻塞的高优先级任务活跃,当前执行的任务由于资源请求失败而阻塞等等。
算法开始阶段,也就是在系统初始化阶段,统计系统的总资源Rsum并表示成资源图模型RGM,估算各中断服务程序需要的CPU时间Tint[i](i表示中断向量号),估算调度模块最坏执行情况需要的CPU时间Tsch,设计各任务的属性并表示成任务图模型TGM,计算每个任务的价值和资源使用情况。可以按照上述(1)式计算每个任务的价值。将系统的总资源Rsum表示成资源图模型RGM的方法以及将各任务表示成任务图模型TGM的方法是本领域公知的,因此为简单起见而在这里省略对它们的描述。
然后,从任务图模型的底部开始,计算每个任务的复合价值。可以按照上述(2)式和(3)式计算每个任务的复合价值。
随后,生成调度服务进程并使其处于休眠状态。
在每个调度时刻,统计处于就绪状态的任务集Sready,计算任务集的超周期SP和在超周期内的剩余执行时间之和LCsum,并计算当前调度时刻直至一个超周期结束的CPU可用时间Tavt。计算CPU时间时,如果调度时刻出现外部事件引起的中断,则需去掉中断处理程序需要的执行时间,还需要去掉调度模块最坏执行情况所需CPU执行时间的估计值。
然后根据CPU可用时间和任务的当前情况,判断系统是否过载,如果系统未过载,则按EDF算法分配各任务的优先级。如果系统过载,则基于任务的复合价值密度、任务的截止期和任务的开销来分配任务的优先级,例如,可以按照上式(4)分配各任务的优先级。
最后按照各任务的优先级的高低进行抢先式任务调度。算法的具体实现参见图1。
●算法带来的改进
归纳起来算法有如下一些改进的地方:
(1)设计任务的自身价值时考虑了任务对系统的贡献,同时也考虑了任务对外部事件响应的因素以及任务错过截止期时的后果。
(2)评价任务的价值不单是考虑任务本身的价值,还考虑与该任务关联的任务(也就是任务的前驱任务和后继任务)价值。
(3)通过过载判断,使得系统在非过载的情况下,采用最优的EDF调度,过载时则采用结合EDF的价值密度调度,可以获取尽可能大的系统价值。
(4)同时考虑中断服务程序的执行时间和任务调度模块的执行时间对CPU可用时间的影响。
(5)由于在调度之前已检查了任务之间由于资源限制带来的制约,通过对资源不能满足的重要程度相对较低的任务降低优先级以避免死锁。
●模拟测试、分析和应用
为了对VDDC方法的性能进行合理的评价,设计了一个应用程序来模拟任务调度的过程。该程序一共实现了四种调度算法:EDF、基于价值、基于价值密度和VDDC方法。该程序模拟调度使用的任务的贡献值、资源情况、截止期、执行时间等属性,任务之间的依赖关系,以及中断产生的时机和中断向量号都由伪随机数发生器生成。程序的输入是任务集的任务个数、中断源的个数和模拟调度次数等信息,程序的输出是四种调度算法得到的系统价值。
首先模拟的是任务之间没有相互制约和相互依赖关系的情况,也就是说,任务之间没有执行的先后顺序,所有的资源也都能满足所有任务的需要。在这种情况下,VDDC方法实际上相当于运行在它的一个简化版本下。通过记录每次模拟调度得到的四种调度算法的系统价值并绘制成折线图,可得到图4a、4b和4c。
在图4a、4b和4c中,横轴表示的是每次调度任务集中所有任务正常执行将导致的CPU利用率,大于1的值表示系统将处于过载情况,反之则系统没有处于过载情况。纵轴则表示调度算法产生的系统价值。图4a、4b和4c分别是任务数为16、32和64时的模拟调度结果。
从图4a、4b和4c可以看出,在非过载的情况下,EDF算法产生的系统价值不小于其它三种算法,大部分情况下优于基于价值和基于价值密度的方法。而在过载情况下,如果以系统价值评价调度算法的性能,则EDF算法的性能非常差,是这四种方法中最差的。而对于VDDC方法,虽然在个别实例中,产生的系统价值低于其它三种方法,但产生的系统价值的平均值则是最好的。
接着模拟任务之间存在执行顺序关系和资源限制的情况。同样,通过记录每次模拟调度得到的四种调度算法的系统价值并绘制成折线图,可得到图5a、5b和5c。由图5a、5b和5c可以看出,在考虑任务存在执行顺序和资源约束的情况下,如果系统过载,则VDDC方法所产生的系统价值远比其它三种方法好。
可用于实现本发明的VDDC方法的电信级以太网系统如图6所示。该电信级以太网系统100包括任务价值确定模块102、任务复合价值确定模块104、开销确定模块106、判断模块108、优先级分配模块110和调度模块112,并且执行上述VDDC方法。
任务价值确定模块102在系统初始化阶段,统计系统的总资源Rsum并表示成资源图模型RGM,估算各中断服务程序需要的CPU时间Tint[i](i表示中断向量号),估算调度模块最坏执行情况需要的CPU时间Tsch,设计各任务的属性并表示成任务图模型TGM,计算每个任务的价值和资源使用情况。可以按照上述(1)式计算每个任务的价值。
任务复合价值确定模块104从任务图模型的底部开始,计算每个任务的复合价值。可以按照上述(2)式和(3)式计算每个任务的复合价值。
开销确定模块106在每个调度时刻,统计处于就绪状态的任务集Sready,计算任务集的超周期SP和在超周期内的剩余执行时间之和LCsum,并计算当前调度时刻直至一个超周期结束的CPU可用时间Tavt。计算CPU时间时,如果调度时刻出现外部事件引起的中断,则需去掉中断处理程序需要的执行时间,还需要去掉调度模块最坏执行情况所需CPU执行时间的估计值。
判断模块108根据CPU可用时间和任务的当前情况,判断系统100是否过载。
优先级分配模块110根据判断模块108的判断结果来分配各任务的优先级。如果系统未过载,则优先级分配模块110按EDF算法分配各任务的优先级。如果系统过载,则优先级分配模块110基于任务的复合价值密度、任务的截止期和任务的开销来分配任务的优先级,例如,可以按照上式(4)分配各任务的优先级。
调度模块112按照分配给各任务的优先级的高低进行抢先式任务调度。
应当认识到,所述系统及其各个模块可以用硬件、软件、或者硬件和软件的组合来实现。
实现和应用
本发明的上述方法和系统在烽火网络公司自主开发的M8428电信级以太网设备(以下简称M8428设备)上开始实现和应用。M8428设备背板交换带宽为800G,单一交换控制盘交换容量为400G。M8428设备具有两个主控槽位、8个业务槽位,两块主控卡同时在位时实行1:1保护。该设备最多可支持384个10/100/1000端口、192个千兆接口以及16个10GE接口。
M8428设备的软件子系统本身设计的任务共有73个。为应用VDDC方法,设计一个高优先级任务VDDC Server来实现VDDC算法,因此系统共有74个任务。由于M8428设备配置很高,资源方面能够满足应用要求,因此,应用VDDC算法时简化了对资源约束的处理。同时,为了能将标志调度时刻的各种事件通告到VDDC Server任务,设计了一个操作系统核心适配层将操作系统的任务同步和通信等核心功能调用封装起来,以便各任务调用。有关各任务的设计并不需修改代码,只是涉及系统功能调用部分的标识符被重定义为核心适配层的功能,而不是原操作系统本身提供的功能。同时在操作系统核心控制块外,定义一个任务扩展描述块来存放任务的各个属性及任务之间的关系等信息,对于中断来说,除中断向量外,还定义一个扩展中断描述结构存放中断服务程序的执行时间等操作。
每个调度时刻,VDDC Server首先被激活,然后执行VDDC算法,得到各个任务的优先数,将这个优先数映射为操作系统的优先级并重新分配给各任务,然后VDDC Server自动挂起,让其它任务按照优先级调度。
目前M8428设备上带有VDDC Server的软件子系统运行情况良好。
综上所述,本发明的基于任务复合价值密度、截止期和开销的实时任务调度方法和电信级以太网系统以任务执行对系统的综合贡献(价值)为设计目标,同时兼顾任务的截止期和任务对系统资源的使用情况等因素。设计任务的价值时,合理考虑外部事件的紧急程度,以改善对外部事件的响应和处理速度,同时考虑任务之间的依赖性及资源的使用情况。当外部事件发生时,既考虑处理外部事件的中断处理程序的执行时间,同时被中断服务程序激活的非定期任务可根据事件的性质设置不同的价值和任务截止期。将定期任务和非定期任务统一管理,综合考虑复合价值密度、截止期和资源的使用情况确定任务的优先级,从而使系统运行的价值尽可能最大化。
尽管已经示出和描述了本发明的示例实施例,本领域技术人员应当理解,在不背离权利要求及其等价物中限定的本发明的范围和精神的情况下,可以对这些示例实施例做出各种形式和细节上的变化。
Claims (10)
1.一种面向电信级以太网系统的实时任务调度方法,包括如下步骤:
在每个调度时刻,判断所述系统是否处于过载状态;
如果系统处于非过载状态,采用早截止期优先EDF方法分配任务的优先级,如果系统处于过载状态,则基于任务复合价值密度、任务截止期和开销来分配任务的优先级;
采用基于优先级的抢先式任务调度方式执行任务调度,以尽可能地获得最大的系统价值。
3.如权利要求2所述的面向电信级以太网系统的实时任务调度方法,其特征在于:CTV(τ)为任务τ自身的价值与其所有后继任务对任务τ的附加价值之和。
5.如权利要求4所述的面向电信级以太网系统的实时任务调度方法,其特征在于:TV(τ)由下列算式决定:
TV(τ)=α1*V(τ)+α2*R(τ)+α3*G(τ)
在上式中,V(τ)是表示任务τ按期正确执行对系统的贡献的评价因子,R(τ)是表示任务τ错过截止期给系统带来的后果的评价因子,G(τ)表示任务τ响应外部事件的紧迫等级的评价因子,α1-α3是表示所述各评价因子在综合评价中所占的权重。
6.一种电信级以太网系统,包括:
判断模块,用于在每个调度时刻判断所述系统是否处于过载状态;
优先级分配模块,如果系统处于非过载状态,则采用早截止期优先EDF方法分配任务的优先级,如果系统处于过载状态,则基于任务复合价值密度、任务截止期和开销来分配任务的优先级;
调度模块,采用基于优先级的抢先式任务调度方式执行任务调度,以尽可能地获得最大的系统价值。
8.如权利要求7所述的电信级以太网系统,还包括:
任务复合价值确定模块,用于确定所述CTV(τ),所述CTV(τ)为任务τ自身的价值与其所有后继任务对任务τ的附加价值之和。
9.如权利要求7或8所述的电信级以太网系统,其特征在于:任务复合价值确定模块按照下式来确定CTV(τ):
其中,Γ(τi,τj)表示任务τj对任务τi产生的附加价值,函数MN(TU(τj))用于获得集合TU(τj)的成员个数,TU(τj)是任务τj的直接前驱任务集。
10.如权利要求9所述的电信级以太网系统,还包括:
价值确定模块,用于按照下式确定所述TV(τ):
TV(τ)=α1*V(τ)+α2*R(τ)+α3*G(τ)
在上式中,V(τ)是表示任务τ按期正确执行对系统的贡献的评价因子,R(τ)是表示任务τ错过截止期给系统带来的后果的评价因子,G(τ)表示任务τ响应外部事件的紧迫等级的评价因子,α1-α3是表示所述各评价因子在综合评价中所占的权重。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910128264 CN101499019B (zh) | 2009-03-24 | 2009-03-24 | 电信级以太网系统及用于该系统的实时任务调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910128264 CN101499019B (zh) | 2009-03-24 | 2009-03-24 | 电信级以太网系统及用于该系统的实时任务调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101499019A true CN101499019A (zh) | 2009-08-05 |
CN101499019B CN101499019B (zh) | 2011-01-12 |
Family
ID=40946103
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910128264 Active CN101499019B (zh) | 2009-03-24 | 2009-03-24 | 电信级以太网系统及用于该系统的实时任务调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101499019B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102012837A (zh) * | 2010-10-18 | 2011-04-13 | 西南交通大学 | 优先级位图算法的一种空间优化方法 |
CN103163870A (zh) * | 2013-04-07 | 2013-06-19 | 沈阳化工大学 | 一种极大容忍时延无线网络化控制系统调度的方法 |
CN103365711A (zh) * | 2013-07-03 | 2013-10-23 | 南京邮电大学 | 应用于物联网业务平台的任务调度机制和方法 |
CN103457874A (zh) * | 2012-05-28 | 2013-12-18 | 华为技术有限公司 | 数据包调度方法和装置 |
CN104270418A (zh) * | 2014-09-15 | 2015-01-07 | 中国人民解放军理工大学 | 面向用户需求Deadline的云代理预约分配方法 |
US9128754B2 (en) | 2012-05-31 | 2015-09-08 | Hewlett-Packard Development Company, L.P. | Resource starvation management in a computer system |
CN106326378A (zh) * | 2016-08-16 | 2017-01-11 | 华中科技大学 | 一种实时数据库的截止期分配方法 |
CN106453141A (zh) * | 2016-10-12 | 2017-02-22 | 中国联合网络通信集团有限公司 | 全局队列调整方法、业务流队列调整方法和网络系统 |
CN106603215A (zh) * | 2017-03-02 | 2017-04-26 | 重庆邮电大学 | 一种基于ZigBee非公平网络信道资源共享方法 |
CN108563494A (zh) * | 2018-04-04 | 2018-09-21 | 吉林省星途科技有限公司 | 一种自适应动态调整的线程调度系统及方法 |
CN109308212A (zh) * | 2017-07-26 | 2019-02-05 | 上海华为技术有限公司 | 一种任务处理方法、任务处理器及任务处理设备 |
CN113094158A (zh) * | 2021-03-15 | 2021-07-09 | 国政通科技有限公司 | 服务的驱动调用方法、调用装置、电子设备及存储介质 |
CN116069471A (zh) * | 2023-01-12 | 2023-05-05 | 苏州畅行智驾汽车科技有限公司 | 一种任务的确定性调度方法、装置及电子设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6317774B1 (en) * | 1997-01-09 | 2001-11-13 | Microsoft Corporation | Providing predictable scheduling of programs using a repeating precomputed schedule |
KR100524763B1 (ko) * | 2003-07-23 | 2005-10-31 | 엘지전자 주식회사 | 개선된 edf 스케쥴링 방법 |
CN101290585B (zh) * | 2007-04-19 | 2011-09-21 | 中兴通讯股份有限公司 | 一种嵌入式系统实时任务的调度方法 |
-
2009
- 2009-03-24 CN CN 200910128264 patent/CN101499019B/zh active Active
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102012837B (zh) * | 2010-10-18 | 2012-12-19 | 西南交通大学 | 优先级位图算法的一种空间优化方法 |
CN102012837A (zh) * | 2010-10-18 | 2011-04-13 | 西南交通大学 | 优先级位图算法的一种空间优化方法 |
CN103457874A (zh) * | 2012-05-28 | 2013-12-18 | 华为技术有限公司 | 数据包调度方法和装置 |
US9128754B2 (en) | 2012-05-31 | 2015-09-08 | Hewlett-Packard Development Company, L.P. | Resource starvation management in a computer system |
CN103163870A (zh) * | 2013-04-07 | 2013-06-19 | 沈阳化工大学 | 一种极大容忍时延无线网络化控制系统调度的方法 |
CN103365711B (zh) * | 2013-07-03 | 2017-06-30 | 南京邮电大学 | 应用于物联网业务平台的任务调度系统和方法 |
CN103365711A (zh) * | 2013-07-03 | 2013-10-23 | 南京邮电大学 | 应用于物联网业务平台的任务调度机制和方法 |
CN104270418A (zh) * | 2014-09-15 | 2015-01-07 | 中国人民解放军理工大学 | 面向用户需求Deadline的云代理预约分配方法 |
CN104270418B (zh) * | 2014-09-15 | 2017-09-15 | 中国人民解放军理工大学 | 面向用户需求Deadline的云代理预约分配方法 |
CN106326378A (zh) * | 2016-08-16 | 2017-01-11 | 华中科技大学 | 一种实时数据库的截止期分配方法 |
CN106326378B (zh) * | 2016-08-16 | 2018-05-11 | 华中科技大学 | 一种实时数据库的截止期分配方法 |
CN106453141A (zh) * | 2016-10-12 | 2017-02-22 | 中国联合网络通信集团有限公司 | 全局队列调整方法、业务流队列调整方法和网络系统 |
CN106453141B (zh) * | 2016-10-12 | 2019-11-15 | 中国联合网络通信集团有限公司 | 全局队列调整方法、业务流队列调整方法和网络系统 |
CN106603215A (zh) * | 2017-03-02 | 2017-04-26 | 重庆邮电大学 | 一种基于ZigBee非公平网络信道资源共享方法 |
CN106603215B (zh) * | 2017-03-02 | 2019-12-06 | 重庆邮电大学 | 一种基于ZigBee非公平网络信道资源共享方法 |
CN109308212A (zh) * | 2017-07-26 | 2019-02-05 | 上海华为技术有限公司 | 一种任务处理方法、任务处理器及任务处理设备 |
CN108563494A (zh) * | 2018-04-04 | 2018-09-21 | 吉林省星途科技有限公司 | 一种自适应动态调整的线程调度系统及方法 |
CN113094158A (zh) * | 2021-03-15 | 2021-07-09 | 国政通科技有限公司 | 服务的驱动调用方法、调用装置、电子设备及存储介质 |
CN116069471A (zh) * | 2023-01-12 | 2023-05-05 | 苏州畅行智驾汽车科技有限公司 | 一种任务的确定性调度方法、装置及电子设备 |
CN116069471B (zh) * | 2023-01-12 | 2024-03-19 | 苏州畅行智驾汽车科技有限公司 | 一种任务的确定性调度方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN101499019B (zh) | 2011-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101499019B (zh) | 电信级以太网系统及用于该系统的实时任务调度方法 | |
CN101452404B (zh) | 一种嵌入式操作系统的任务调度装置及方法 | |
Lin et al. | Scheduling scientific workflows elastically for cloud computing | |
CN105045658B (zh) | 一种利用多核嵌入式dsp实现动态任务调度分发的方法 | |
CN110515704B (zh) | 基于Kubernetes系统的资源调度方法及装置 | |
Bril et al. | Worst-case response time analysis of real-time tasks under fixed-priority scheduling with deferred preemption revisited | |
CN108268317B (zh) | 一种资源分配方法及装置 | |
Srinivasan et al. | The case for fair multiprocessor scheduling | |
WO2019001092A1 (zh) | 负载均衡引擎,客户端,分布式计算系统以及负载均衡方法 | |
CN103336714A (zh) | 一种作业调度方法和装置 | |
CN102096602A (zh) | 一种任务调度方法及其系统和设备 | |
CN106445659B (zh) | 一种空间飞行器周期性混成随机任务调度方法 | |
CN108958944A (zh) | 一种多核处理系统及其任务分配方法 | |
CN103455375A (zh) | Hadoop云平台下基于负载监控的混合调度方法 | |
CN102402461A (zh) | 一种基于作业规模的均衡调度方法 | |
Jonsson et al. | Deadline assignment in distributed hard real-time systems with relaxed locality constraints | |
Isovic et al. | Handling mixed sets of tasks in combined offline and online scheduled real-time systems | |
Mäki-Turja et al. | Efficient development of real-time systems using hybrid scheduling | |
CN115269140A (zh) | 一种基于容器的云计算工作流调度方法、系统及设备 | |
CN107301085B (zh) | 一种基于队列的云平台任务分配方法 | |
CN111026809B (zh) | 一种调度流程分布式执行系统 | |
Sharma | Task migration with edf-rm scheduling algorithms in distributed system | |
JP6688240B2 (ja) | 分散同期処理システムおよび分散同期処理方法 | |
CN106325983A (zh) | 一种内存占用小、支持并发的微程模型及调度方法 | |
CN111601006B (zh) | 一种基于呼叫任务分配呼叫坐席的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20170323 Address after: 430074 East Lake high tech Development Zone, Hubei Province, No. 6, No., high and new technology development zone, No. four Patentee after: Fenghuo Communication Science &. Technology Co., Ltd. Address before: 430074 Wuhan, Hongshan Province District Road, Department of mail, No. 88 hospital Patentee before: Wuhan Fenghuo Network Co., Ltd. |
|
TR01 | Transfer of patent right |