CN111030835A - 一种ttfc网络的任务调度模型及消息调度表生成方法 - Google Patents
一种ttfc网络的任务调度模型及消息调度表生成方法 Download PDFInfo
- Publication number
- CN111030835A CN111030835A CN201911012741.0A CN201911012741A CN111030835A CN 111030835 A CN111030835 A CN 111030835A CN 201911012741 A CN201911012741 A CN 201911012741A CN 111030835 A CN111030835 A CN 111030835A
- Authority
- CN
- China
- Prior art keywords
- task
- link
- tasks
- network
- frame
- 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
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000004891 communication Methods 0.000 claims abstract description 28
- 238000004364 calculation method Methods 0.000 claims abstract description 12
- 238000012360 testing method Methods 0.000 claims abstract description 9
- 230000003068 static effect Effects 0.000 claims abstract description 6
- 230000005540 biological transmission Effects 0.000 claims description 59
- 230000006870 function Effects 0.000 claims description 19
- 238000001514 detection method Methods 0.000 claims description 11
- 230000001960 triggered effect Effects 0.000 claims description 11
- 239000000370 acceptor Substances 0.000 claims description 3
- 229960001948 caffeine Drugs 0.000 claims description 3
- 230000000644 propagated effect Effects 0.000 claims description 3
- RYYVLZVUVIJVGH-UHFFFAOYSA-N trimethylxanthine Natural products CN1C(=O)N(C)C(=O)C2=C1N=CN2C RYYVLZVUVIJVGH-UHFFFAOYSA-N 0.000 claims description 3
- 239000004744 fabric Substances 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 6
- 230000003139 buffering effect Effects 0.000 description 3
- 238000007689 inspection Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 101150050759 outI gene Proteins 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0896—Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种TTFC网络的任务调度模型及消息调度表生成方法。TTFC网络任务调度模型综合考虑运行在端系统上的计算任务和通过网络进行数据交换的通信任务,支持对时间触发(Time‑Triggered,TT)流量类和速率受限(Rate‑Constrained,RC)流量类的建模,支持多播通信。该模型由网络拓扑模型,任务、链路树、数据帧模型,以及一组任务调度模型约束条件构成。TTFC网络的消息调度表生成方法设计了一种TT任务和RC任务的分阶段调度框架。该方法先执行任务的可调度性检验,如通过检验,再针对TT任务调用具体的调度表生成算法求得TT任务的静态调度表,在此基础上检验链路是否有足够的剩余带宽完成RC任务调度,最终获得满足模型所有约束条件的静态调度表,解决了TTFC网络中的任务调度问题。
Description
技术领域
本发明涉及属于网络通信技术领域中的TTFC网络中时间触发流量类的调度方法研究领域,特别涉及一种TTFC网络中任务调度模型及消息调度表生成方法。
背景技术
近年来,网络通信技术在军事、航空电子系统、制造业等领域得到了快速发展,日益增长的网络化需求意味着更复杂的网络布线、更拥塞的信息传输和更高的成本。在FC网络中,端系统通过交换以太网帧进行通信,数据帧通过从发送端到接收端的交换机逐跳转发。通常当数据帧被同时转发到同一个链路时,它被存储在队列中,并根据输出调度程序发送。因此,交换机排队会导致传输延迟,而传输延迟又进一步依赖于拓扑结构。这种不确定性的时间行为使得传统的FC网络不适合具有严格时序要求的安全关键应用。为了保障强实时性,近年来时间触发机制开始引入航空电子网络,在FC协议中加入时间触发的机制,结合时间触发机制和FC协议两者的优点来传输实时性和非实时性业务,在航电或车载等领域成为一种必然的趋势。
国内现有的关于时间触发网络的研究大多数通过把流量划分成不同的类,应用于具有不同时间要求的通信。常见的方法是将流量划分为时间触发(Time-triggered)流量类、速率受限(Rate-constrained)流量类和尽力传输(Best-Effort)流量类。在实时性方面,现有大多数关于时间触发网络的消息调度表生成算法仅针对网络流量进行调度,但实际上分布式应用系统的实时性同时取决于端系统上的计算任务和链路上的通信任务,分布式系统的实时调度问题不能简化为单独的通信调度问题。此外,现有针对时间触发网络的大多数解决方案仅考虑时间触发流量调度,对速率受限流量调度的支持不够;仅考虑单播应用,对多播应用的支持不够,因此无法满足更复杂的应用需求。目前对于时间触发网络的研究刚刚起步,对于相关标准的指定,FC网络交换机软件的设计等工作还需要进一步的投入
发明内容
为了克服上述现有技术中存在的不足,解决TTFC网络系统中的任务调度问题,本发明提供一种TTFC网络的任务调度模型及消息调度表生成方法;对TTFC网络以及网络上的TT任务和RC任务进行形式化描述,并确定TTFC网络中终端和交换机在网络中发送TT数据帧的确切时间点,使得终端网卡和交换机可以按照这些时间点进行TT消息的转发,确保TT任务和RC任务同时满足调度要求;此外,本发明还支持对多播应用的描述和调度。
为实现上述目的,本发明采用以下技术方案:
一种TTFC网络的任务调度模型,综合考虑运行在端系统上的计算任务和通过网络进行数据交换的通信任务,支持TT任务和RC任务的描述及约束条件的表达,同时支持单播和多播应用,模型包括如下模块:
模块S11:描述TTFC网络结构的网络拓扑模型;
模块S12:描述TTFC网络中的TT任务、RC任务及其数据帧的任务模型、链路树模型和数据帧模型;
模块S13:描述TTFC网络中任务调度要求的一组任务调度模型约束条件。
进一步地,所述模块S11对交换式网络结构建立网络模型:G=(V,E),顶点集V(vertex):表示网络中所有的设备节点,包括终端节点和交换机节点;边集E(edges):表示网络中交换机和终端以及交换机与交换机相连的所有全双工通信链路;链路[vm,vn]表示为:{[vm,vn].bw,[vm,vn].d,[vm,vn].b},其中,[vm,vn].bw表示链路带宽;[vm,vn].d表示链路延迟,[vm,vn].b表示链路的缓存能力,即节点vn最多可以缓存来自节点vm的帧的数量。
进一步地,所述模块S12采用任务、链路树及数据帧等概念对TTFC网络中的TT任务、RC任务、多播任务以及网络中消息的传输进行形式化描述;
所述模块S12包括以下模型:S121:任务模型;S122:链路树模型、S123:数据帧模型;
S121、任务模型包括:TT任务和RC任务,
所述TT任务:
Ti={{Ti,1,Ti,2…Ti,n},Ti.Tr,Ti.p,Ti.D,Ti.rt,Ti.Fi}
其中,{Ti,1,Ti,2...Ti,n}表示Ti的子任务序列,子任务个数为n;Ti.Tr表示任务Ti所涉及的所有物理链路构成一棵链路树;Ti.p表示任务Ti的周期;Ti.D表示任务Ti的截止期;Ti.rt表示任务Ti的响应时间,即任务Ti的最后一个子任务完成时间与周期开始时间之间的时长;Ti.Fi表示任务Ti产生的数据帧集合。
进一步地,其中任务Ti中的单个子任务Ti,j可表示为如下元组:
其中,表示任务Ti,j的偏移量;任意Ti,j.link=[vm,vn]∈E,当m≠n时,Ti, j.link=[vm,vn]表示通信子任务Ti,j的传输链路,当m=n时,Ti,j.link=[vm,vm]表示计算子任务Ti,j在节点vm上执行。任务Ti中,消息发送者端系统上的计算任务称为消息的生产者子任务,同理,消息接受者端系统上的计算任务称为消息的消费者子任务。在多播任务的情况,将一个任务Ti中所有的消费者子任务集合记为Tci。
Ti,j.c表示任务Ti,j的执行时间,当Ti,j.link=[vm,vm]时,Ti,j.c为WCET(Worst-case Execution Time),即最坏情况执行时间,运行于端系统va上的一个计算任务的执行时间记作:wcet(va);当Ti,j.link=[vm,vn]时:其中Fi,s.L为当前任务数据帧长度,[vm,vn].bw表示链路[vm,vn]上的网络带宽,[vm,vn].d表示链路延迟。Ti,j.p:表示任务Ti,j的周期,满足关系:Ti,j.p=Ti.p。
所述RC任务:
区别于强实时任务,系统中所有的RC(rate-constrained,速率受限)任务集合记为R,其中Ri∈R,是第i个任务。同TT消息相比,Ri可描述为:
Ri={{Ri,1,Ri,2...Ri,n},Ri.Tr,Ri.bw,Ri.BAG,Ri.Fi}
其中,{Ri,1,Ri,2...Ri,n}表示RC任务Ri的子任务;Ri.Tr表示任务Ri所涉及的所有物理链路构成一棵链路树;Ri.bw表示任务Ri的带宽;Ri.BAG表示任务Ri的最小帧间隙,即任务Ri发送两个连续帧的起始二进制位之间的最小间隔;Ri.Fi:表示任务Ri产生的数据帧集合。
进一步,任务Ri中的单个任务Ri,j可表示为如下元组:
其中,表示任务Ri,j的偏移量;任意Ri,j.link=[vm,vn]∈E,当m≠n时,Ri, j.link=[vm,vn]表示通信子任务Ri,j的传输链路,当m=n时,Ri,j.link=[vm,vm]表示计算子任务Ti,j在节点vm上执行;Ri,j.c表示任务Ri,j的执行时间,当Ri,j.link=[vm,vn]时,Ri,j.c为WCET(Worst-case Execution Time),即最坏情况执行时间,其执行时间长度同TT任务;当Ri,j.link=[vm,vn]时:[vm,vn].d,其中Fi,s.L为当前RC任务数据帧长度,[vm,vn].bw表示链路[vm,vn]上的网络带宽,[vm,vn].d表示链路延迟。
S122、链路树模型;对一个应用程序任务来说,其产生的数据帧会在网络链路上进行传播。一个任务中所有通信子任务的link构成一棵链路树。任务Ti对应的链路树记为Ttri,树中的顶点集合记为Ttri.V,边的集合记为Ttri.E。同理,任务Ri对应的链路树记为Rtri。任务系统中所有的链路树构成的集合记为LT。
其中,表示任务Γi产生的第s个帧在链路[vm,vn]上的传输偏移量,即数据帧在链路上的发送时间;表示任务Γi产生的第s个帧在链路[vm,vn]上的传输周期;表示任务Γi产生的第s个帧在链路[vm,vn]上传输时的数据帧长度。
进一步地,所述模块S13根据任务相关约束及网络自身约束定义一组模型约束条件。所述模块S13包括:
S131、数据帧约束;
对于在网络链路上调度的任何TT数据帧,偏移量不能取负值或任何会导致帧结束时间超过数据帧周期的值。
S132、端系统计算任务约束;
对于网络拓扑中的任意端系统,需要确保在每个处理器上,只有当处理器空闲时,才能够触发一个计算任务。即在端系统中不可存在计算任务冲突的情况。
上式定义表示:TTFC系统中,在任意一个端系统上执行的任意两个任务τi,j和τx,y,满足:任务τi,j偏移量比任务τx,y的偏移量与执行时间之和大,或者任务τx,y的偏移量比任务τi,j的偏移量与执行时间之和大,即端系统上的计算任务需满足时域内不重叠。
S133、链路约束;
在同一链路上传输的任何两个不同任务的TT数据帧不会发生冲突,即:对于某一条链路,两个TT数据帧在时域内没有重叠。
Ti,j.link=[va,vb],Tk,h.link=[va,vb],
上式定义表示:TTFC系统中,在同一段链路[va,vb]上传输的任意两个任务所包含的任意两个数据帧在任务周期内,等待数据帧传输完成后,帧才能够在该链路上传输或者等待数据帧传输完成后,帧才能够在该链路上传输,即这两个数据帧在同一链路上的传输满足在时域内不重叠。
S134、链路树约束;
一条链路上的传输窗口的开始与前一条链路上的传输窗口的结束之间的差距必须大于前一条链路的一跳延迟加上整个网络的精度。
上式定义表示:数据帧fi,1在两个连续链路[va,vx],[vx,vb]上传输,帧fi,1在链路[vx,vb]上的偏移量数值必须比在中间端点vx上的最一个任务的偏移量加上其执行时间,加上前一条链路一跳延迟以及整个网络的精度之后的时间值大,即满足连续链路传输条件。
S135、端到端延迟约束;
每一个TT消费者任务的结束和第一个生产者任务的开始之间的差距必须小于或等于允许的最大端到端延迟
其中,dest(Ttri)表示链路树Ttri上的叶子结点集合(消息的消费者节点集合),src(Ttri)表示Ttri的根节点(消息的生产者节点),max_lantency表示生产者任务所在的节点和消费者任务所在的节点之间允许的最大端到端延迟。
S136、任务依赖关系约束:
两个任务之间的开始时间和结束时间可根据实际需要,满足一定的关系,Ti, 1.link=[va,va]对应Ti消息的生产者子任务,Ti,n.link=[vb,vb]对应Ti消息的消费者子任务(多播情况下,取决于最后完成计算任务的消费者子任务);同理,Tm,1.link=[vc,vc]对应Tm消息的生产者子任务,Tm,k.link=[vd,vd]对应Tm消息的消费者子任务。则:
依赖关系共有如下三种:
(1)如图1所示,Tm,1在Ti,n结束之后开始,且Tm,1开始时间与Ti,n结束时间之间满足关系:
(2)如图2所示,Tm,1在Ti,1开始之后开始,且Tm,1与Ti,1开始时间满足关系:
(3)如图3所示,Tm,k和Ti,n的结束时间必须同时属于某个时间区间,即Tm,k的结束时间与Ti,n的结束时间差满足:Δt∈[p,q],p,q∈R:
上式定义表示:任务Tm的最后一个消费者子任务在终端vd上的执行完成时间与任务Ti的最后一个消费者子任务在终端vb上的执行完成时间的差值属于区间[p,q],0<=p<q。
S137、内存约束;
节点中输入端口缓存的帧个数不能超过端口的最大缓存能力。
其中,函数G定义如下:
式中:
表示经过vx后在[vx,vb]上传输的帧;函数G表示如果任务Tm在[va,vx]上传输的帧在到达vx时仍在缓存队列中,则返回1,否则返回0。而上第三行则统计了到达vx时所有尚在缓存队列中的帧的数量,并确保该数值不超过限制。
上式定义表示:当数据帧fi,j经过链路[vx,vb]到达节点vx时,该节点将利用G函数对此时缓存队列中任务Tm的数据帧进行合计,对于此时仍与节点中的数据帧返回1,否则返回0,对G函数求和汇总,得出节点数据帧fi,j到达节点vx时缓存队列中的数据帧个数,其数值必须小于其链路的缓存能力[va,vx].b。
S138、多播约束;
多播树上的交换机节点将一个帧发送到多个不同的输出端口时,各输出端口的帧的偏移量相同。
S139、RC帧约束:
同一个消费者任务的前后两个RC帧的接收时间差满足:Δt∈(1×BAG,1.5×BAG]。
其中,Rtri是Ri对应的链路树,dest(Rtri)是Rtri的叶子结点集合。
上式定义表示:TTFC系统中的同一个RC任务的任意两个相邻RC帧之间的传输间隔满足在1个BAG到1.5个BAG之间,如前文所述,BAG是由RC任务周期和链路带宽计算得出的RC帧间隙。
一种TTFC网络的消息调度表生成方法,基于提出的任务调度模型,提出TT任务和RC任务的分阶段调度框架,该框架用于生成满足任务调度约束条件的TT任务消息调度表,包括以下步骤:
S21、对任务进行可调度性检验,检验TTFC网络系统中的所有TT任务和RC任务是否满足基本的可调度性约束;
S22、在检验结果为任务可调度的基础上,调用消息调度表生成方法,求得TT任务的静态调度表S;
S23、在结果S的基础上,进一步检验链路的剩余带宽能否完成RC任务调度,若检验通过,返回结果S。
进一步地,所述步骤S21由系统模型定义一组任务的基本可调度性约束条件,检验系统中任务集是否可调度。
所述步骤S21包括:
S211、消息总带宽约束检验:链路的带宽约束是决定任务是否可调度的前提条件。TTFC网络中的链路集合中的任意一段链路上的TT任务和RC任务传输所需总带宽不能超过链路本身的带宽;
给定网络拓扑G=(V,E)、TT任务集合T以及RC任务集合R,在确定消息的传输路径后,对于链路集合E={L1,L2...Lk...Ln},任务在任意链路Lk上的消息传输总带宽用Bk表示,Bk∈B={B1,B2...Bk...Bn}。若任意Bk满足下式,则该链路带宽能够保证所有链路消息集的发送和调度。
其中,I和J分别表示表示TT任务总数和RC任务总数,X和Y分别表示经过链路Lk的任务Ti的消息总数和任务Rj的消息总数。
S212、TT消息总执行时间约束检验;
S214、BAG约束检验;对于系统中的任意RC任务Ri,由任务Ri的预设带宽和发送周期,计算Ri.BAG,判断其值是否在可调度范围内,即RC任务调度需满足以下公式:
进一步地,所述步骤S22采用具体的消息调度表生成算法求解系统中TT任务调度问题,通用算法可依据情况选择SMT理论模型、MIP混合整数规划模型等。
进一步地,所述步骤S23,所述步骤S23验证RC任务是否可调度,基于TT任务调度结果S,进一步检验各链路的剩余可用带宽是否能够调度所有的RC任务;
所述步骤S23包括:
S231、RC任务可调度性约束检验:TTFC系统在进行RC任务调度之前,各链路在排好所有的TT任务之后,需要检验各链路空余可用带宽能否满足所有RC任务的排布。
用下面公式所示的分段函数h([va,vb],i),对任意链路[va,vb]上相邻的TT帧间空余带宽进行可用性判断,判断规则如下:相邻TT帧间空余带宽至少足够传输两个最长RC帧(其一作为最后一个RC帧之后的TT帧的保护时间),即称之为空余可用带宽;用I([va,vb])对任意链路[va,vb]上所有相邻TT帧间空余可用带宽能够传输的RC帧个数进行汇总,其总和必须大于该链路上需要传输的RC帧总数。
其中:
Ti,p.link=[va,vb],Ti,p.c表示表示帧ffi在链路[va,vb]上的执行时间,RC_max表示任务集合R中的最长数据帧在链路[va,vb]上的传输时间,即:max(Fri)表示RC任务中最大的数据帧的帧长。
本发明的有益效果是:
1.本发明提出的一种TTFC网络的任务调度模型综合考虑端系统上的计算任务和通信链路上的通信任务,计算任务和通信任务协同调度能有效提升应用系统的实时性;且该任务调度模型考虑到多播应用,模型描述方法具有一定的通用性,适用于复杂网络拓扑结构和广泛的上层应用需求。
2.本发明提出的一种TTFC网络的消息调度表生成方法,适用于以TTFC网络为通信网络的分布式系统任务调度。该方法通过建立网络模型、任务模型、链路树模型以及数据帧模型对工程问题进行形式化描述,将任务的多种约束及网络本身的约束转化为一组模型约束条件,并设计TTFC网络的任务调度总体执行框架,使得TTFC网络上的任务调度问题更加流程化。
(3)本发明提出的一种TTFC网络的消息调度表生成方法,在执行任务调度之前先进行任务可调度性检验,在确保TT任务和RC任务满足一系列可调度性约束条件之后,采用具体的调度表生成算法对TT任务进行调度,得到TT任务的静态消息调度表后再检验剩余带宽是否满足RC任务的调度。先进行可调度性检验能够避免不必要的计算,节约计算资源;先生成TT任务的消息调度表再检验RC任务的可调度性,一方面准确反映了TT任务和RC任务在应用层面的重要程度差异,另一方面也降低了生成消息调度表的计算量和难度,避免了因条件过于苛刻而找不到可行解,为后期寻找最优解奠定基础。
附图说明
图1为任务依赖关系约束中示意图。
图2为任务依赖关系约束中示意图;
图3为任务依赖关系约束中的示意图;
图4为算法总体执行框架流程图;
图5为本发明提出的分布式系统网络拓扑结构图;
图6为本发明提出的任务和链路示意图。
具体实施方式
下面结合附图对本发明技术方案进行详细说明。本实施例的一种TTFC网络的任务调度模型及消息调度表生成方法主要分为任务调度模型描述和消息调度表生成方法两个部分。
其中,任务调度模型部分主要描述TTFC网络的拓扑结构和任务模型,并定义一组模型约束条件,形成完整的TTFC网络任务调度模型。
所述模型构建包括如:
模块S11:描述TTFC网络结构的网络拓扑模型;所述模块S11对交换式网络结构建立网络模型:G=(V,E),顶点集V(vertex):表示网络中所有的设备节点,包括终端节点和交换机节点;边集E(edges):表示网络中交换机和终端以及交换机与交换机相连的所有全双工通信链路;链路[vm,vn]表示为:{[vm,vn].bw,[vm,vn].d,[vm,vn].b},其中,[vm,vn].bw表示链路带宽;[vm,vn].d表示链路延迟,[vm,vn].b表示链路的缓存能力,即节点vn最多可以缓存来自节点vm的帧的数量。
模块S12:描述TTFC网络中的TT任务、RC任务及其数据帧的任务模型、链路树模型和数据帧模型;所述模块S12采用任务、链路树及数据帧等概念对TTFC网络中的TT任务、RC任务、多播任务以及网络中消息的传输进行形式化描述,所述模块S12包括以下模型:S121:任务模型;S122:链路树模型、S123:数据帧模型;
S121、任务模型:TT任务和RC任务,
所述TT任务:
Ti={{Ti,1,Ti,2...Ti,n},Ti.Tr,Ti.p,Ti.D,Ti.rt,Ti.Fi}
其中,{Ti,1,Ti,2...Ti,n}表示Ti的子任务序列,子任务个数为n;Ti.Tr表示任务Ti所涉及的所有物理链路构成一棵链路树;Ti.p表示任务Ti的周期;Ti.D表示任务Ti的截止期;Ti.rt表示任务Ti的响应时间,即任务Ti的最后一个子任务完成时间与周期开始时间之间的时长;Ti.Fi表示任务Ti产生的数据帧集合。
进一步地,任务Ti中的单个子任务Ti,j可表示为如下元组:
其中,表示任务Ti,j的偏移量;任意Ti,j.link=[vm,vn]∈E,当m≠n时,Ti, j.link=[vm,vn]表示通信子任务Ti,j的传输链路,当m=n时,Ti,j.link=[vm,vm]表示计算子任务Ti,j在节点vm上执行。任务Ti中,消息发送者端系统上的计算任务称为消息的生产者子任务,同理,消息接受者端系统上的计算任务称为消息的消费者子任务。在多播任务的情况,将一个任务Ti中所有的消费者子任务集合记为Tci。
Ti,j.c表示任务Ti,j的执行时间,当Ti,j.link=[vm,vm]时,Ti,j.c为WCET(Worst-case Execution Time),即最坏情况执行时间,运行于端系统va上的一个计算任务的执行时间记作:wcet(va);当Ti,j.link=[vm,vn]时:其中Fi,s.L为当前任务数据帧长度,[vm,vn].bw表示链路[vm,vn]上的网络带宽,[vm,vn].d表示链路延迟。Ti,j.p:表示任务Ti,j的周期,满足关系:Ti,j.p=Ti.p。
所述RC任务区别于强实时任务,系统中所有的RC(rate-constrained,速率受限)任务集合记为R,其中Ri∈R,是第i个任务。同TT消息相比,Ri可描述为:
Ri={{Ri,1,Ri,2...Ri,n},Ri.Tr,Ri.bw,Ri.BAG,Ri.Fi}
其中,{Ri,1,Ri,2...Ri,n}表示RC任务Ri的子任务;Ri.Tr表示任务Ri所涉及的所有物理链路构成一棵链路树;Ri.bw表示任务Ri的带宽;Ri.BAG表示任务Ri的最小帧间隙,即任务Ri发送两个连续帧的起始二进制位之间的最小间隔;Ri.Fi:表示任务Ri产生的数据帧集合。
进一步,任务Ri中的单个任务Ri,j可表示为如下元组:
其中,表示任务Ri,j的偏移量;任意Ri,j.link=[vm,vn]∈E,当m≠n时,Ri, j.link=[vm,vn]表示通信子任务Ri,j的传输链路,当m=n时,Ti,j.link=[vm,vm]表示计算子任务Ti,j在节点vm上执行;Ri,j.c表示任务Ri,j的执行时间,当Ri,j.link=[vm,vm]时,Ri,j.c为WCET(Worst-case Execution Time),即最坏情况执行时间,其执行时间长度同TT任务;当Ri,j.link=[vm,vn]时: 其中Fi,s.L为当前RC任务数据帧长度,[vm,vn].bw表示链路[vm,vn]上的网络带宽,[vm,vn].d表示链路延迟。
S122、链路树模型;对一个应用程序任务来说,其产生的数据帧会在网络链路上进行传播。一个任务中所有通信子任务的link构成一棵链路树。任务Ti对应的链路树记为Ttri,树中的顶点集合记为Ttri.V,边的集合记为Ttri.E。同理,任务Ri对应的链路树记为Rtri。任务系统中所有的链路树构成的集合记为LT。
其中,表示任务Γi产生的第s个帧在链路[vm,vn]上的传输偏移量,即数据帧在链路上的发送时间;表示任务Γi产生的第s个帧在链路[vm,vn]上的传输周期;表示任务Γi产生的第s个帧在链路[vm,vn]上传输时的数据帧长度。
模块S13:描述TTFC网络中任务调度要求的一组任务调度模型约束条件。
所述模块S13包括:
S131、数据帧约束;
对于在网络链路上调度的任何TT数据帧,偏移量不能取负值或任何会导致帧结束时间超过数据帧周期的值。
S132、端系统计算任务约束;
对于网络拓扑中的任意端系统,需要确保在每个处理器上,只有当处理器空闲时,才能够触发一个计算任务。即在端系统中不可存在计算任务冲突的情况。
上式定义表示:TTFC系统中,在任意一个端系统上执行的任意两个任务τi,j和τx,y,满足:任务τi,j偏移量比任务τx,y的偏移量与执行时间之和大,或者任务τx,y的偏移量比任务τi,j的偏移量与执行时间之和大,即端系统上的计算任务需满足时域内不重叠。
S133、链路约束;
在同一链路上传输的任何两个不同任务的TT数据帧不会发生冲突,即:对于某一条链路,两个TT数据帧在时域内没有重叠。
Ti,j.link=[va,vb],Tk,h.link=[va,vb],
上式定义表示:TTFC系统中,在同一段链路[va,vb]上传输的任意两个任务所包含的任意两个数据帧在任务周期内,等待数据帧传输完成后,帧才能够在该链路上传输或者等待数据帧传输完成后,帧才能够在该链路上传输,即这两个数据帧在同一链路上的传输满足在时域内不重叠。
S134、链路树约束;
一条链路上的传输窗口的开始与前一条链路上的传输窗口的结束之间的差距必须大于前一条链路的一跳延迟加上整个网络的精度。
上式定义表示:数据帧fi,1在两个连续链路[va,vx],[vx,vb]上传输,帧fi,1在链路[vx,vb]上的偏移量数值必须比在中间端点vx上的最一个任务的偏移量加上其执行时间,加上前一条链路一跳延迟以及整个网络的精度之后的时间值大,即满足连续链路传输条件。
S135、端到端延迟约束;
每一个TT消费者任务的结束和第一个生产者任务的开始之间的
差距必须小于或等于允许的最大端到端延迟。
其中,dest(Ttri)表示链路树Ttri上的叶子结点集合(消息的消费者节点集合),src(Ttri)表示Ttri的根节点(消息的生产者节点),max_lantency表示生产者任务所在的节点和消费者任务所在的节点之间允许的最大端到端延迟。
S136、任务依赖关系约束:
两个任务之间的开始时间和结束时间可根据实际需要,满足一定的关系,Ti, 1.link=[va,va]对应Ti消息的生产者子任务,Ti,n.link=[vb,vb]对应Ti消息的消费者子任务(多播情况下,取决于最后完成计算任务的消费者子任务);同理,Tm,1.link=[vc,vc]对应Tm消息的生产者子任务,Tm,k.link=[vd,vd]对应Tm消息的消费者子任务。则:
依赖关系共有如下三种:
(1)如图1所示,Tm,1在Ti,n结束之后开始,且Tm,1开始时间与Ti,n结束时间之间满足关系:
(2)如图2所示,Tm,1在Ti,1开始之后开始,且Tm,1与Ti,1开始时间满足关系:
(3)如图3所示,Tm,k和Ti,n的结束时间必须同时属于某个时间区间,即Tm,k的结束时间与Ti,n的结束时间差满足:Δt∈[p,q],p,q∈R:
上式定义表示:任务Tm的最后一个消费者子任务在终端vd上的执行完成时间与任务Ti的最后一个消费者子任务在终端vb上的执行完成时间的差值属于区间[p,q],0<=p<q。
S137、内存约束;
节点中输入端口缓存的帧个数不能超过端口的最大缓存能力。
其中,函数G定义如下:
表示经过vx后在[vx,vb]上传输的帧;函数G表示如果任务Tm在[va,vx]上传输的帧在到达vx时仍在缓存队列中,则返回1,否则返回0。而上第三行则统计了到达vx时所有尚在缓存队列中的帧的数量,并确保该数值不超过限制。
上式定义表示:当数据帧fi,j经过链路[vx,vb]到达节点vx时,该节点将利用G函数对此时缓存队列中任务Tm的数据帧进行合计,对于此时仍与节点中的数据帧返回1,否则返回0,对G函数求和汇总,得出节点数据帧fi,j到达节点vx时缓存队列中的数据帧个数,其数值必须小于其链路的缓存能力[va,vx].b。
S138、多播约束;
多播树上的交换机节点将一个帧发送到多个不同的输出端口时,
各输出端口的帧的偏移量相同。
S139、RC帧约束:
同一个消费者任务的前后两个RC帧的接收时间差满足:Δt∈(1×BAG,1.5×BAG]。
其中,Rtri是Ri对应的链路树,dest(Rtri)是Rtri的叶子结点集合。
上式定义表示:TTFC系统中的同一个RC任务的任意两个相邻RC帧之间的传输间隔满足在1个BAG到1.5个BAG之间,如前文所述,BAG是由RC任务周期和链路带宽计算得出的RC帧间隙。
一种TTFC网络的消息调度表生成方法,基于提出的任务调度模型,提出TT任务和RC任务的分阶段调度框架,该框架用于生成满足任务调度约束条件的TT任务消息调度表,包括以下步骤:
S21、对任务进行可调度性检验,检验TTFC网络系统中的所有TT任务和RC任务是否满足基本的可调度性约束;
所述步骤S21包括:
S211、消息总带宽约束检验:链路的带宽约束是决定任务是否可调度的前提条件。
给定网络拓扑G=(V,E)、TT任务集合T以及RC任务集合R,在确定消息的传输路径后,对于链路集合E={L1,L2...Lk...Ln},任务在任意链路Lk上的消息传输总带宽用Bk表示,Bk∈B={B1,B2...Bk...Bn}。若任意Bk满足下式,则该链路带宽能够保证所有链路消息集的发送和调度。
其中,I和J分别表示表示TT任务总数和RC任务总数,X和Y分别表示经过链路Lk的任务Ti的消息总数和任务Rj的消息总数。
S212、TT消息总执行时间约束检验;
S213、终端CPU利用率检验;
S214、BAG约束检验;
对于系统中的任意RC任务Ri,由任务Ri的预设带宽和发送周期,计算Ri.BAG,判断其值是否在可调度范围内,即RC任务调度需满足以下公式:
S22、在检验结果为任务可调度的基础上,调用消息调度表生成方法,求得TT任务的静态调度表S;
所述步骤S22采用具体的消息调度表生成算法求解系统中TT任务调度问题,通用算法可依据情况选择SMT理论模型、MIP混合整数规划模型。
算法总体框架描述如下:
表1:算法总体框架
其中,输入为网络拓扑、TT任务集和RC任务集。算法首先通过Check1依次进行消息总带宽约束检测、TT消息执行时间约束检测、BAG约束检测以及终端利用率约束检测,若全部通过,则调用对应的调度求解方法求得TT任务的调度表S。算法接着判断TT调度结果是否为空,若TT调度有解,则通过Check2函数进行RC任务的可调度性检测,若全部通过则返回S,否则返回值为空。算法最终的返回结果由TT任务调度和RC任务可调度性检测结果共同决定。
消息调度算法总体执行流程如图4所示。表1中的scheduleAlgorithm(G,T)的具体实现可采用SMT理论模型进行求解,也可以采用MIP混合整数规划模型求解,以SMT模型为例,算法的具体实现如下:
表2:基于SMT的调度表求解算法
以上算法中,输入为网络拓扑和任务集合,输出为帧的偏移量集合(如果存在可行解)。算法通过Assert函数将定义的约束添加到解算器上下文C中,并调用SMT解算器计算可行解(SMTSolve函数)。解决方案S包含所有TT数据帧的偏移量。
S23、在结果S的基础上,进一步检验各链路的剩余带宽能否完成RC任务调度,若检验通过,返回结果S。
所属步骤S23包括:
S231、RC任务可调度性约束检验:TTFC系统在进行RC任务调度之前,各链路在排好所有的TT任务之后,需要检验各链路空余可用带宽能否满足所有RC任务的排布。
用下面公式所示的分段函数h([va,vb],i),对任意链路[va,vb]上相邻的TT帧间空余带宽进行可用性判断,判断规则如下:相邻TT帧间空余带宽至少足够传输两个最长RC帧(其一作为最后一个RC帧之后的TT帧的保护时间),即称之为空余可用带宽;用I([va,vb])对任意链路[va,vb]上所有相邻TT帧间空余可用带宽能够传输的RC帧个数进行汇总,其总和必须大于该链路上需要传输的RC帧总数。
其中:
Ti,p.link=[va,vb],Ti,p.c表示表示帧ffi在链路[va,vb]上的执行时间,RC_max表示任务集合R中的最长数据帧在链路[va,vb]上的传输时间,即:max(Fri)表示RC任务中最大的数据帧的帧长。
表1中的Check2(E,S,R)是用来确保在TT任务调度之后,链路中的剩余可用带宽足够保证所有RC任务的调度,具体算法描述如下:
表3:RC任务可调度性检测算法
函数实现RC任务可调度性约束检测。算法输入为TT调度返回值S、网络拓扑中边集E、RC任务集合R,算法输出为布尔变量b,其值表示RC任务是否可调度。其中subset([va,vb])函数统计了链路[va,vb]上排布的TT帧总数,I([va,vb])统计链路[va,vb]上TT帧间空余可用带宽能够传输的RC帧个数总和,n([va,vb])表示链路[va,vb]上需传输的RC帧总数。
实施例1
该实施例考虑一个分布式系统,该系统由5个通过交换式光网连接的终端系统组成,系统参数为bw=100Mbps,数据帧长设为64字节,网络延迟为5μs,由各参数计算得一条消息在链路上传输时间为517μs。网络拓扑如图5所示:
就图5所示的分布式系统,建立网络模型:G=(V,E),顶点集V中,ESi(End System)和SWi(Switch)分别表示终端和交换机,用表示一个终端节点,表示一个交换机节点,不加区分时将某个节点记为vi。
在该系统中,端系统上的计算任务和网络链路上的通信任务共构成5个应用程序,其中3个为TT任务,2个为RC任务,系统中5个应用程序任务被映射到ES1至ES5这5个端系统处理器上,每一个应用程序任务都有相应的发送端和接收端,且其所有通信子任务的link构成一颗链路树,任务与链路示意图如图6所示:
如上图所示,以多播任务T1为例,T1包含子任务{T1,1,T1,2,T1,3,T1,4,T1,5,T1,6,T1,7},其所有通信子任务构成的链路树记为Ttr1,其中树的根节点为v1,叶子节点为v3和v4,节点v6和v7是树上节点,且v7是v6的孩子节点。
系统中应用程序任务的详细信息如表4所示。
表4:应用程序任务信息表
在一个周期内,15个计算任务被映射到5个不同的处理器上,7个数据帧发送到网络上,其中1个数据帧是多播的。应用程序任务先由端系统发起,端系统执行完相应的生产者子任务后将任务以消息的形式发往接收端,消息最终被对端系统接收,并在其处理器上执行相应的接受者子任务。
每个子任务都有自己的周期,且其周期与所属的应用程序任务周期相同,每个计算子任务都有自己的执行时间,都会周期性地发送或者接收相应的数据帧。应用程序中计算子任务的详细信息如表5所示。
表5:计算子任务信息表
任务最终将以数据帧的形式在网络中传输,因此,需要对消息进行详细分析,每一个在网络中传输的帧都有其源宿地址,数据帧有特定的长度设定和周期信息,通信子任务的周期与所属的应用程序任务的周期相同。消息传输信息如表6所示。
表6:消息传输信息表
如上所述,对于给定的TTFC网络系统,进行了任务、链路树、数据帧模型构建,由于该系统没有特殊的任务依赖关系,因此仅定义前文所述数据帧约束、端系统计算任务约束、链路约束、链路树约束、端到端延迟约束、内存约束、多播约束、RC帧约束共八个模型约束条件。基于此模型,采用前文所述的消息调度表生成方法的总体执行框架,对TTFC网络中的任务进行消息调度。在给定参数下检验消息总带宽约束、TT消息总执行时间约束以及终端利用率均满足约束条件。即系统中任务可调度。采用具体的消息调度表生成算法,得出TT消息偏移量:在TT消息调度结果的基础上,进一步检测RC任务的BAG约束及RC任务可调度性检测约束,所述约束均可满足,由此得出该TTFC网络系统的消息调度结果。
Claims (9)
1.一种TTFC网络的任务调度模型,其特征在于,综合考虑运行在端系统上的计算任务和通过网络进行数据交换的通信任务,支持TT任务和RC任务的描述及约束条件的表达,同时支持单播和多播应用,模型包括如下模块:
模块S11:描述TTFC网络结构的网络拓扑模型;
模块S12:描述TTFC网络中的TT任务、RC任务及其数据帧的任务模型、链路树模型和数据帧模型;
模块S13:描述TTFC网络中任务调度要求的一组任务调度模型约束条件。
2.如权利要求1所述的一种TTFC网络的任务调度模型,其特征在于,所述模块S11对交换式网络结构建立网络模型:G=(V,E),顶点集V(vertex):表示网络中所有的设备节点,包括终端节点和交换机节点;边集E(edges):表示网络中交换机和终端以及交换机与交换机相连的所有全双工通信链路;链路[vm,νn]表示为:{[vm,νn].bw,[vm,νn].d,[vm,νn].b},其中,[vm,νn].bw表示链路带宽;[vm,νn].d表示链路延迟,[vm,νn].b表示链路的缓存能力,即节点νn最多可以缓存来自节点vm的帧的数量。
3.如权利要求1所述的一种TTFC网络的任务调度模型,其特征在于,所述模块S12包括以下模型:
S121:任务模型;S122:链路树模型、S123:数据帧模型;
S121、任务模型包括:TT任务和RC任务,
所述TT任务:
Ti={{Ti,1,Ti,2…Ti,n},Ti.Tr,Ti.p,Ti.D,Ti.rt,Ti.Fi}
其中,{Ti,1,Ti,2…Ti,n}表示Ti的子任务序列,子任务个数为n;Ti.Tr表示任务Ti所涉及的所有物理链路构成一棵链路树;Ti.p表示任务Ti的周期;Ti.D表示任务Ti的截止期;Ti.rt表示任务Ti的响应时间,即任务Ti的最后一个子任务完成时间与周期开始时间之间的时长;Ti.Fi表示任务Ti产生的数据帧集合;其中任务Ti中的单个子任务Ti,j可表示为如下元组:
其中,表示任务Ti,j的偏移量;任意Ti,j.link=[vm,νn]∈E,当m≠n时,Ti,j.link=[vm,νn]表示通信子任务Ti,j的传输链路,当m=n时,Ti,j.link=[vm,νm]表示计算子任务Ti,j在节点vm上执行;任务Ti中,消息发送者端系统上的计算任务称为消息的生产者子任务,消息接受者端系统上的计算任务称为消息的消费者子任务。在多播任务的情况,将一个任务Ti中所有的消费者子任务集合记为Tci;
Ti,j.c表示任务Ti,j的执行时间,当Ti,j.link=[vm,νm]时,Ti,j.c为WCET(Worst-caseExecution Time),即最坏情况执行时间,运行于端系统va上的一个计算任务的执行时间记作:wcet(va);当Ti,j.link=[vm,νn]时:其中Fi,s.L为当前任务数据帧长度,[vm,νn].bw表示链路[vm,νn]上的网络带宽,[vm,νn].d表示链路延迟。Ti,j.p:表示任务Ti,j的周期,满足关系:Ti,j.p=Ti.p;
所述RC任务:
区别于强实时任务,系统中所有的RC(rate-constrained,速率受限)任务集合记为R,其中Ri∈R,是第i个任务。同TT消息相比,Ri可描述为:
Ri={{Ri,1,Ri,2…Ri,n},Ri.Tr,Ri.bw,Ri.BAG,Ri.Fi}
其中,{Ri,1,Ri,2…Ri,n}表示RC任务Ri的子任务;Ri.Tr表示任务Ri所涉及的所有物理链路构成一棵链路树;Ri.bw表示任务Ri的带宽;Ri.BAG表示任务Ri的最小帧间隙,即任务Ri发送两个连续帧的起始二进制位之间的最小间隔;Ri.Fi:表示任务Ri产生的数据帧集合;
其中任务Ri中的单个任务Ri,j可表示为如下元组:
其中,表示任务Ri,j的偏移量;任意Ri,j.link=[vm,νn]∈E,当m≠n时,Ri,j.link=[vm,νn]表示通信子任务Ri,j的传输链路,当m=n时,Ri,j.link=[vm,νm]表示计算子任务Ti,j在节点vm上执行;Ri,j.c表示任务Ri,j的执行时间,当Ri,j.link=[vm,νm]时,Ri,j.c为WCET(Worst-case Execution Time),即最坏情况执行时间,其执行时间长度同TT任务;当Ri, j.link=[vm,νn]时: 其中Fi,s.L为当前RC任务数据帧长度,[vm,νn].bw表示链路[vm,νn]上的网络带宽,[vm,νn].d表示链路延迟;
S122、链路树模型:
对一个应用程序任务来说,其产生的数据帧会在网络链路上进行传播。一个任务中所有通信子任务的link构成一棵链路树。任务Ti对应的链路树记为Ttri,树中的顶点集合记为Ttri.V,边的集合记为Ttri.E;同理,任务Ri对应的链路树记为Rtri;任务系统中所有的链路树构成的集合记为LT;
S123、数据帧模型:
4.如权利要求1所述的一种TTFC网络的任务调度模型,其特征在于,所述模块S13包括:
S131、数据帧约束:对于在链路上调度的任何TT数据帧,偏移量不能取负值或任何会导致帧结束时间超过数据帧周期的值;
S132、端系统计算任务约束:对于网络拓扑中的任意端系统,需要确保在每个处理器上,只有当处理器空闲时,才能够触发一个应用程序任务。即在端系统中不可存在计算任务冲突的情况;
上式定义表示:TTFC系统中,在任意一个端系统上执行的任意两个任务τi,j和τx,y,满足:任务τi,j偏移量比任务τx,y的偏移量与执行时间之和大,或者任务τx,y的偏移量比任务τi,j的偏移量与执行时间之和大,即端系统上的计算任务需满足时域内不重叠;
S133、链路约束:在同一链路上传输的任何两个不同任务的TT数据帧不会发生冲突,即:对于某一条链路,两个TT数据帧在时域内没有重叠;
上式定义表示:TTFC系统中,在同一段链路[va,vb]上传输的任意两个任务所包含的任意两个数据帧和在任务周期内,等待数据帧传输完成后,帧才能够在该链路上传输或者等待数据帧传输完成后,帧才能够在该链路上传输,即这两个数据帧在同一链路上的传输满足在时域内不重叠;
S134、链路树约束:一条链路上的传输窗口的开始与前一条链路上的传输窗口的结束之间的差距必须大于前一条链路的一跳延迟加上整个网络的精度;
上式定义表示:数据帧fi,1在两个连续链路[va,vx],[vx,vb]上传输,帧fi,1在链路[vx,vb]上的偏移量数值必须比在中间端点vx上的最一个任务的偏移量加上其执行时间,加上前一条链路一跳延迟以及整个网络的精度之后的时间值大,即满足连续链路传输条件;
S135、端到端延迟约束:每一个TT消费者任务的结束和第一个生产者任务的开始之间的差距必须小于或等于允许的最大端到端延迟;
其中,dest(Ttri)表示链路树Ttri上的叶子结点集合(消息的消费者节点集合),src(Ttri)表示Ttri的根节点(消息的生产者节点),max_lantency表示生产者任务所在的节点和消费者任务所在的节点之间允许的最大端到端延迟;
S136、任务依赖关系约束:两个任务之间的开始时间和结束时间可根据实际需要,满足一定的关系;Ti,1.link=[va,νa]对应Ti消息的生产者子任务,Ti,n.link=[vb,νb]对应Ti消息的消费者子任务;Tm,1.link=[vc,νc]对应Tm消息的生产者子任务,Tm,k.link=[vd,νd]对应Tm消息的消费者子任务。则:依赖关系有如下三种:Tm,1在Ti,n结束之后开始,且Tm,1开始时间与Ti,n结束时间之间差满足Δt∈[p.q],p,q∈R;Tm,1在Ti,1开始之后开始,且Tm,1与Ti,1开始时间差满足Δt∈[p.q],p,q∈R;Tm,k和Ti,n的结束时间必须同时属于某个时间区间,即Tm,k的结束时间与Ti,n的结束时间差满足Δt∈[p.q],p,q∈R;
S137、内存约束:节点中输入端口缓存的帧个数不能超过端口的最大缓存能力;
其中,函数G定义如下:
式中表示经过vx后在[vx,vb]上传输的帧;函数G表示如果任务Tm在[va,vx]上传输的帧在到达vx时仍在缓存队列中,则返回1,否则返回0。而上第三行则统计了到达vx时所有尚在缓存队列中的帧的数量,并确保该数值不超过限制。
上式定义表示:当数据帧fi,j经过链路[vx,vb]到达节点vx时,该节点将利用G函数对此时缓存队列中任务Tm的数据帧进行合计,对于此时仍与节点中的数据帧返回1,否则返回0,对G函数求和汇总,得出节点数据帧fi,j到达节点vx时缓存队列中的数据帧个数,其数值必须小于其链路的缓存能力[va,vx].b;
S138、多播约束:多播树上的交换机节点将一个帧发送到多个不同的输出端口时,各输出端口的帧的偏移量相同;
S139、RC帧约束:同一个消费者任务的前后两个RC帧的接收时间差:Δt∈(1×BAG,1.5×BAG]。
其中,Rtri是Ri对应的链路树,dest(Rtri)是Rtri的叶子结点集合。
上式定义表示:TTFC系统中的同一个RC任务的任意两个相邻RC帧之间的传输间隔满足在1个BAG到1.5个BAG之间,如前文所述,BAG是由RC任务周期和链路带宽计算得出的RC帧间隙。
5.一种TTFC网络的消息调度表生成方法,其特征在于,基于提出的任务调度模型,提出TT任务和RC任务的分阶段调度框架,该框架用于生成满足任务调度约束条件的TT任务消息调度表,包括以下步骤:
S21、对任务进行可调度性检验,检验TTFC网络系统中的所有TT任务和RC任务是否满足基本的可调度性约束;
S22、在检验结果为任务可调度的基础上,调用消息调度表生成方法,求得TT任务的静态调度表S;
S23、在结果S的基础上,进一步检验链路的剩余带宽能否完成RC任务调度,若检验通过,返回结果S。
6.如权利要求5所述的一种TTFC网络的消息调度表生成方法,其特征在于,所述步骤S21由系统模型定义一组任务的基本可调度性检验条件,检验系统中任务集是否可调度;
所述步骤S21包括:
S211、消息总带宽约束检验:TTFC网络中的链路集合中的任意一段链路上的TT任务和RC任务传输所需总带宽不能超过链路本身的带宽;
S214、BAG约束检验:对于系统中的任意RC任务Ri,由任务Ri的预设带宽和发送周期,计算Ri.BAG,当BAG在[0.1ms,128ms]范围内时,RC任务可调度。
7.如权利要求5所述的一种TTFC网络的消息调度表生成方法,其特征在于,所述步骤S22采用具体的消息调度表生成算法求解系统中TT消息调度表,通用算法可依据情况选择SMT理论模型、MIP混合整数规划模型或者其他计算模型。
8.如权利要求5所述的一种TTFC网络的消息调度表生成方法,其特征在于,所述步骤S23验证RC任务是否可调度,基于TT任务调度结果S,进一步检验各链路的剩余可用带宽是否能够调度所有的RC任务;
所述步骤S23包括:
S231、RC任务可调度性约束检验:TTFC系统在进行RC任务调度之前,各链路在排好所有的TT任务之后,需要检验各链路空余可用带宽能否满足所有RC任务的排布。
9.根据权利要求8所述所述的一种TTFC网络的消息调度表生成方法,其特征在于,所述步骤S231:用下面公式所示的分段函数h([va,vb],i),对任意链路[va,vb]上相邻的TT帧间空余带宽进行可用性判断,判断规则如下:相邻TT帧间空余带宽至少足够传输两个最长RC帧(其一作为最后一个RC帧之后的TT帧的保护时间),即称之为空余可用带宽;用I([va,vb])对任意链路[va,vb]上所有相邻TT帧间空余可用带宽能够传输的RC帧个数进行汇总,其总和必须大于该链路上需要传输的RC帧总数;
其中:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911012741.0A CN111030835B (zh) | 2019-10-23 | 2019-10-23 | 一种ttfc网络的任务调度模型及消息调度表生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911012741.0A CN111030835B (zh) | 2019-10-23 | 2019-10-23 | 一种ttfc网络的任务调度模型及消息调度表生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111030835A true CN111030835A (zh) | 2020-04-17 |
CN111030835B CN111030835B (zh) | 2022-08-09 |
Family
ID=70201457
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911012741.0A Active CN111030835B (zh) | 2019-10-23 | 2019-10-23 | 一种ttfc网络的任务调度模型及消息调度表生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111030835B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112528450A (zh) * | 2021-01-15 | 2021-03-19 | 博智安全科技股份有限公司 | 网络拓扑结构构建方法、终端设备和计算机可读存储介质 |
CN112532427A (zh) * | 2020-11-05 | 2021-03-19 | 中国航空工业集团公司西安航空计算技术研究所 | 一种时间触发通信网络的规划调度方法 |
CN112804151A (zh) * | 2021-01-21 | 2021-05-14 | 烽火通信科技股份有限公司 | 一种数据处理的方法、装置以及电子设备 |
CN113254177A (zh) * | 2021-05-31 | 2021-08-13 | 广州虎牙科技有限公司 | 基于集群的任务提交方法、计算机程序产品及电子设备 |
CN113765825A (zh) * | 2021-08-10 | 2021-12-07 | 北京交通大学 | 一种链式业务流调度的规划方法和系统架构 |
CN113794654A (zh) * | 2021-09-15 | 2021-12-14 | 电子科技大学 | 一种tt-fc网络中时间触发消息的分组调度方法 |
CN113840384A (zh) * | 2021-11-29 | 2021-12-24 | 成都成电光信科技股份有限公司 | 一种tt-fc网络中时间触发消息的变步长调度方法 |
CN115022233A (zh) * | 2022-06-16 | 2022-09-06 | 电子科技大学 | 一种可定制点到多点数据传输完成时间的传输方法 |
CN115225587A (zh) * | 2022-07-05 | 2022-10-21 | 国家电网有限公司 | 基于约束规划的异步终端系统调度优化方法 |
CN116633808A (zh) * | 2023-07-19 | 2023-08-22 | 成都成电光信科技股份有限公司 | 一种时间触发光纤通道网络下的数据监控系统及其方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108777660A (zh) * | 2018-05-29 | 2018-11-09 | 电子科技大学 | 一种在时间触发fc网络中业务调度的方法 |
CN109150559A (zh) * | 2017-06-15 | 2019-01-04 | 中国航空工业集团公司洛阳电光设备研究所 | 时间触发以太网仿真系统 |
CN109697058A (zh) * | 2018-12-11 | 2019-04-30 | 中国航空工业集团公司西安航空计算技术研究所 | 一种适用于嵌入式系统的网络建模方法、装置及存储介质 |
CN109743144A (zh) * | 2018-12-14 | 2019-05-10 | 西安电子科技大学 | 基于时间触发以太网的静态调度表生成方法、航电系统 |
-
2019
- 2019-10-23 CN CN201911012741.0A patent/CN111030835B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109150559A (zh) * | 2017-06-15 | 2019-01-04 | 中国航空工业集团公司洛阳电光设备研究所 | 时间触发以太网仿真系统 |
CN108777660A (zh) * | 2018-05-29 | 2018-11-09 | 电子科技大学 | 一种在时间触发fc网络中业务调度的方法 |
CN109697058A (zh) * | 2018-12-11 | 2019-04-30 | 中国航空工业集团公司西安航空计算技术研究所 | 一种适用于嵌入式系统的网络建模方法、装置及存储介质 |
CN109743144A (zh) * | 2018-12-14 | 2019-05-10 | 西安电子科技大学 | 基于时间触发以太网的静态调度表生成方法、航电系统 |
Non-Patent Citations (2)
Title |
---|
WILFRIED STEINER: ""An Evaluation of SMT-Based Schedule Synthesis for Time-Triggered Multi-hop Networks"", 《 2010 31ST IEEE REAL-TIME SYSTEMS SYMPOSIUM》 * |
白江涛 等: ""基于OPNET的混合关键性网络建模与仿真分析"", 《电讯技术》 * |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112532427A (zh) * | 2020-11-05 | 2021-03-19 | 中国航空工业集团公司西安航空计算技术研究所 | 一种时间触发通信网络的规划调度方法 |
CN112532427B (zh) * | 2020-11-05 | 2023-03-14 | 中国航空工业集团公司西安航空计算技术研究所 | 一种时间触发通信网络的规划调度方法 |
CN112528450A (zh) * | 2021-01-15 | 2021-03-19 | 博智安全科技股份有限公司 | 网络拓扑结构构建方法、终端设备和计算机可读存储介质 |
CN112804151B (zh) * | 2021-01-21 | 2022-11-08 | 烽火通信科技股份有限公司 | 一种数据处理的方法、装置以及电子设备 |
CN112804151A (zh) * | 2021-01-21 | 2021-05-14 | 烽火通信科技股份有限公司 | 一种数据处理的方法、装置以及电子设备 |
CN113254177A (zh) * | 2021-05-31 | 2021-08-13 | 广州虎牙科技有限公司 | 基于集群的任务提交方法、计算机程序产品及电子设备 |
CN113765825A (zh) * | 2021-08-10 | 2021-12-07 | 北京交通大学 | 一种链式业务流调度的规划方法和系统架构 |
CN113794654B (zh) * | 2021-09-15 | 2023-04-25 | 电子科技大学 | 一种tt-fc网络中时间触发消息的分组调度方法 |
CN113794654A (zh) * | 2021-09-15 | 2021-12-14 | 电子科技大学 | 一种tt-fc网络中时间触发消息的分组调度方法 |
CN113840384B (zh) * | 2021-11-29 | 2022-03-08 | 成都成电光信科技股份有限公司 | 一种tt-fc网络中时间触发消息的变步长调度方法 |
CN113840384A (zh) * | 2021-11-29 | 2021-12-24 | 成都成电光信科技股份有限公司 | 一种tt-fc网络中时间触发消息的变步长调度方法 |
CN115022233A (zh) * | 2022-06-16 | 2022-09-06 | 电子科技大学 | 一种可定制点到多点数据传输完成时间的传输方法 |
CN115225587A (zh) * | 2022-07-05 | 2022-10-21 | 国家电网有限公司 | 基于约束规划的异步终端系统调度优化方法 |
CN115225587B (zh) * | 2022-07-05 | 2023-08-15 | 国家电网有限公司 | 基于约束规划的异步终端系统调度优化方法 |
CN116633808A (zh) * | 2023-07-19 | 2023-08-22 | 成都成电光信科技股份有限公司 | 一种时间触发光纤通道网络下的数据监控系统及其方法 |
CN116633808B (zh) * | 2023-07-19 | 2023-10-03 | 成都成电光信科技股份有限公司 | 一种时间触发光纤通道网络下的数据监控系统及其方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111030835B (zh) | 2022-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111030835B (zh) | 一种ttfc网络的任务调度模型及消息调度表生成方法 | |
Zhang et al. | Task-and network-level schedule co-synthesis of Ethernet-based time-triggered systems | |
US9356881B2 (en) | Traffic scheduling device | |
Imtiaz et al. | A performance study of Ethernet Audio Video Bridging (AVB) for Industrial real-time communication | |
CN112468412B (zh) | 用于为混合临界计算机网络生成调度表的方法 | |
Zhao et al. | A unified modeling framework for distributed resource allocation of general fork and join processing networks | |
Kliazovich et al. | CA-DAG: Communication-aware directed acyclic graphs for modeling cloud computing applications | |
Shi et al. | Real-time communication analysis with a priority share policy in on-chip networks | |
CN114071582A (zh) | 面向云边协同物联网的服务链部署方法及装置 | |
CN110990140A (zh) | 一种光电交换网络中分布式机器学习流的调度方法 | |
WO2023015644A1 (zh) | 一种链式业务流调度的规划方法和系统架构 | |
CN113938930B (zh) | 适应5g网络多业务场景的虚拟网络功能转发图的构建方法 | |
Li et al. | Reliable routing and scheduling in time-sensitive networks | |
Shahri et al. | End-to-end response time analysis for rt-mqtt: Trajectory approach versus holistic approach | |
CN112688812B (zh) | 应用于电力数据传输的可靠性感知时间敏感网络路由方法 | |
Gopalakrishnan et al. | Hard real-time communication in bus-based networks | |
Zhang et al. | Reco: Efficient regularization-based coflow scheduling in optical circuit switches | |
Xia et al. | Scalability of fork/join queueing networks with blocking | |
CN108040018B (zh) | 一种网络功能虚拟化下的细粒度网络流调度方法及系统 | |
Sciangula et al. | Bounding the Data-Delivery Latency of DDS Messages in Real-Time Applications | |
Chen et al. | Petri net modeling of the reconfigurable protocol stack for cloud computing control systems | |
Ludeña-González et al. | Upward Max-Min Fairness in Multipath High-Speed Networks | |
CN117221126B (zh) | 一种面向网络协同流量的路由调度方法与系统 | |
Zhang et al. | Research on delay model of deterministic service chain in the industrial Internet | |
CN115378865B (zh) | Avb流时延的路由调度方法和系统、存储介质、终端设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |