CN111030835B - 一种ttfc网络的任务调度模型及消息调度表生成方法 - Google Patents

一种ttfc网络的任务调度模型及消息调度表生成方法 Download PDF

Info

Publication number
CN111030835B
CN111030835B CN201911012741.0A CN201911012741A CN111030835B CN 111030835 B CN111030835 B CN 111030835B CN 201911012741 A CN201911012741 A CN 201911012741A CN 111030835 B CN111030835 B CN 111030835B
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.)
Active
Application number
CN201911012741.0A
Other languages
English (en)
Other versions
CN111030835A (zh
Inventor
沈卓炜
汪德凤
杨康
朱国家
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Southeast University
Original Assignee
Southeast University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Southeast University filed Critical Southeast University
Priority to CN201911012741.0A priority Critical patent/CN111030835B/zh
Publication of CN111030835A publication Critical patent/CN111030835A/zh
Application granted granted Critical
Publication of CN111030835B publication Critical patent/CN111030835B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling 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网络中时间触发流量类的调度方法研究领域,特别涉及一种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可表示为如下元组:
Figure BDA0002244685730000041
其中,
Figure BDA0002244685730000042
表示任务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]时:
Figure BDA0002244685730000043
其中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可表示为如下元组:
Figure BDA0002244685730000051
其中,
Figure BDA0002244685730000052
表示任务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]时:
Figure BDA0002244685730000053
[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。
S123、数据帧模型;定义任务Γi∈Γ产生的有序帧集合记为Fi,fi,s表示任务Γi产生的第s个帧。fi,s在链路[vm,vn]上的传输记为
Figure BDA0002244685730000054
可用如下元组表示:
Figure BDA0002244685730000055
其中,
Figure BDA0002244685730000061
表示任务Γi产生的第s个帧在链路[vm,vn]上的传输偏移量,即数据帧在链路上的发送时间;
Figure BDA0002244685730000062
表示任务Γi产生的第s个帧在链路[vm,vn]上的传输周期;
Figure BDA0002244685730000063
表示任务Γi产生的第s个帧在链路[vm,vn]上传输时的数据帧长度。
网络中所有任务的帧集合记为F,Fi在链路[vm,vn]上的传输记为
Figure BDA0002244685730000064
其中传输的最后一个帧记为
Figure BDA0002244685730000065
进一步地,所述模块S13根据任务相关约束及网络自身约束定义一组模型约束条件。所述模块S13包括:
S131、数据帧约束;
对于在网络链路上调度的任何TT数据帧,偏移量不能取负值或任何会导致帧结束时间超过数据帧周期的值。
Figure BDA0002244685730000066
上式定义表示:TTFC系统中,对于在任意一段链路[va,vb]上传输的数据帧fi,s,调度任务需确保该数据帧的偏移量为正值,并且其偏移量
Figure BDA0002244685730000067
与帧对应的执行时间之和要比该数据帧周期小。
S132、端系统计算任务约束;
对于网络拓扑中的任意端系统,需要确保在每个处理器上,只有当处理器空闲时,才能够触发一个计算任务。即在端系统中不可存在计算任务冲突的情况。
Figure BDA0002244685730000068
上式定义表示:TTFC系统中,在任意一个端系统上执行的任意两个任务τi,j和τx,y,满足:任务τi,j偏移量比任务τx,y的偏移量与执行时间之和大,或者任务τx,y的偏移量比任务τi,j的偏移量与执行时间之和大,即端系统上的计算任务需满足时域内不重叠。
S133、链路约束;
在同一链路上传输的任何两个不同任务的TT数据帧不会发生冲突,即:对于某一条链路,两个TT数据帧在时域内没有重叠。
Figure BDA0002244685730000071
Figure BDA0002244685730000072
Ti,j.link=[va,vb],Tk,h.link=[va,vb],
Figure BDA0002244685730000073
Figure BDA0002244685730000074
上式定义表示:TTFC系统中,在同一段链路[va,vb]上传输的任意两个任务所包含的任意两个数据帧
Figure BDA0002244685730000075
在任务周期内,等待数据帧
Figure BDA0002244685730000076
传输完成后,帧
Figure BDA0002244685730000077
才能够在该链路上传输或者等待数据帧
Figure BDA0002244685730000078
传输完成后,帧
Figure BDA0002244685730000079
才能够在该链路上传输,即这两个数据帧在同一链路上的传输满足在时域内不重叠。
S134、链路树约束;
一条链路上的传输窗口的开始与前一条链路上的传输窗口的结束之间的差距必须大于前一条链路的一跳延迟加上整个网络的精度。
Figure BDA00022446857300000710
其中Ti,j
Figure BDA0002244685730000081
对应的任务。δ是网络精度。
上式定义表示:数据帧fi,1在两个连续链路[va,vx],[vx,vb]上传输,帧fi,1在链路[vx,vb]上的偏移量数值必须比在中间端点vx上的最一个任务的偏移量加上其执行时间,加上前一条链路一跳延迟以及整个网络的精度之后的时间值大,即满足连续链路传输条件。
S135、端到端延迟约束;
每一个TT消费者任务的结束和第一个生产者任务的开始之间的差距必须小于或等于允许的最大端到端延迟
Figure BDA0002244685730000082
其中,dest(Ttri)表示链路树Ttri上的叶子结点集合(消息的消费者节点集合),src(Ttri)表示Ttri的根节点(消息的生产者节点),max_lantency表示生产者任务所在的节点和消费者任务所在的节点之间允许的最大端到端延迟。
上式定义表示:任意一个TT任务Ti,任务的最后一个接受者
Figure BDA0002244685730000083
完成端系统上的计算任务的时间与该任务产生的第一个数据帧偏移量之间的差值不能比该TT任务所要求的的最大端到端延迟大,即满足TT任务的延迟限制。
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结束时间之间满足关系:
Figure BDA0002244685730000091
上式定义表示:任务Tm的生产者子任务在终端vc上发出的第一个数据帧的偏移量
Figure BDA0002244685730000092
与任务Ti的最后一个消费者子任务在终端vb上的执行完成时间的差值属于区间[p,q],0<=p<q。
(2)如图2所示,Tm,1在Ti,1开始之后开始,且Tm,1与Ti,1开始时间满足关系:
Figure BDA0002244685730000093
上式定义表示:任务Tm的生产者子任务在终端vc上发出的第一个数据帧的偏移量
Figure BDA0002244685730000094
与任务Ti的生产者子任务在终端vc上发出的第一个数据帧的偏移量
Figure BDA0002244685730000095
的差值属于区间[p,q],0<=p<q。
(3)如图3所示,Tm,k和Ti,n的结束时间必须同时属于某个时间区间,即Tm,k的结束时间与Ti,n的结束时间差满足:Δt∈[p,q],p,q∈R:
Figure BDA0002244685730000096
上式定义表示:任务Tm的最后一个消费者子任务在终端vd上的执行完成时间与任务Ti的最后一个消费者子任务在终端vb上的执行完成时间的差值属于区间[p,q],0<=p<q。
S137、内存约束;
节点中输入端口缓存的帧个数不能超过端口的最大缓存能力。
Figure BDA0002244685730000101
Figure BDA0002244685730000102
Figure BDA0002244685730000103
其中,函数G定义如下:
Figure BDA0002244685730000104
式中:
Figure BDA0002244685730000105
表示
Figure BDA0002244685730000106
经过vx后在[vx,vb]上传输的帧;函数G表示如果任务Tm在[va,vx]上传输的帧在
Figure BDA0002244685730000107
到达vx时仍在缓存队列中,则返回1,否则返回0。而上第三行则统计了
Figure BDA0002244685730000108
到达vx时所有尚在缓存队列中的帧的数量,并确保该数值不超过限制。
上式定义表示:当数据帧fi,j经过链路[vx,vb]到达节点vx时,该节点将利用G函数对此时缓存队列中任务Tm的数据帧进行合计,对于此时仍与节点中的数据帧返回1,否则返回0,对G函数求和汇总,得出节点数据帧fi,j到达节点vx时缓存队列中的数据帧个数,其数值必须小于其链路的缓存能力[va,vx].b。
S138、多播约束;
多播树上的交换机节点将一个帧发送到多个不同的输出端口时,各输出端口的帧的偏移量相同。
Figure BDA0002244685730000111
其中
Figure BDA0002244685730000112
表示一个链路树上的某个交换机节点,
Figure BDA0002244685730000113
表示节点
Figure BDA0002244685730000114
的孩子节点的个数。假设某个帧经过该交换机共发往n个不同的输出端口,其中第k个端口输出的帧记为
Figure BDA0002244685730000115
上式定义表示:TTFC系统中的多播任务有n个消息接受者,需要向n条链路
Figure BDA0002244685730000116
中发送数据帧,且必须保证各个数据帧的的偏移量相同。
S139、RC帧约束:
同一个消费者任务的前后两个RC帧的接收时间差满足:Δt∈(1×BAG,1.5×BAG]。
Figure BDA0002244685730000117
Figure BDA0002244685730000118
Figure BDA0002244685730000119
其中,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满足下式,则该链路带宽能够保证所有链路消息集的发送和调度。
Figure BDA0002244685730000121
Figure BDA0002244685730000122
Figure BDA0002244685730000123
Figure BDA0002244685730000124
其中,I和J分别表示表示TT任务总数和RC任务总数,X和Y分别表示经过链路Lk的任务Ti的消息总数和任务Rj的消息总数。
S212、TT消息总执行时间约束检验;
对于
Figure BDA0002244685730000134
在确定其数据帧Fi的传输路径后,Ti所有子任务的执行时间必须小于Ti的截止时间。
Figure BDA0002244685730000131
S213、终端CPU利用率检验;对于
Figure BDA0002244685730000135
须满足下式所述约束,以确保每个终端系统的CPU利用率低于100%。
Figure BDA0002244685730000132
S214、BAG约束检验;对于系统中的任意RC任务Ri,由任务Ri的预设带宽和发送周期,计算Ri.BAG,判断其值是否在可调度范围内,即RC任务调度需满足以下公式:
Figure BDA0002244685730000133
进一步地,所述步骤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帧总数。
Figure BDA0002244685730000141
上排好的TT帧依次按偏移量递增排序记为
Figure BDA0002244685730000142
m为[va,vb]上排好的TT帧的个数。设[va,vb]上需要传输的RC帧的数量为n([va,vb])。则TT帧的偏移量需满足如下公式:
Figure BDA0002244685730000143
其中:
Figure BDA0002244685730000144
Ti,p.link=[va,vb],Ti,p.c表示表示帧ffi在链路[va,vb]上的执行时间,RC_max表示任务集合R中的最长数据帧在链路[va,vb]上的传输时间,即:
Figure BDA0002244685730000145
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可表示为如下元组:
Figure BDA0002244685730000171
其中,
Figure BDA0002244685730000172
表示任务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]时:
Figure BDA0002244685730000181
其中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可表示为如下元组:
Figure BDA0002244685730000182
其中,
Figure BDA0002244685730000183
表示任务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]时:
Figure BDA0002244685730000184
Figure BDA0002244685730000198
其中Fi,s.L为当前RC任务数据帧长度,[vm,vn].bw表示链路[vm,vn]上的网络带宽,[vm,vn].d表示链路延迟。
S122、链路树模型;对一个应用程序任务来说,其产生的数据帧会在网络链路上进行传播。一个任务中所有通信子任务的link构成一棵链路树。任务Ti对应的链路树记为Ttri,树中的顶点集合记为Ttri.V,边的集合记为Ttri.E。同理,任务Ri对应的链路树记为Rtri。任务系统中所有的链路树构成的集合记为LT。
S123、数据帧模型;定义任务Γi∈Γ产生的有序帧集合记为Fi,fi,s表示任务Γi产生的第s个帧。fi,s在链路[vm,vn]上的传输记为
Figure BDA0002244685730000191
可用如下元组表示:
Figure BDA0002244685730000192
其中,
Figure BDA0002244685730000193
表示任务Γi产生的第s个帧在链路[vm,vn]上的传输偏移量,即数据帧在链路上的发送时间;
Figure BDA0002244685730000194
表示任务Γi产生的第s个帧在链路[vm,vn]上的传输周期;
Figure BDA0002244685730000195
表示任务Γi产生的第s个帧在链路[vm,vn]上传输时的数据帧长度。
网络中所有任务的帧集合记为F,Fi在链路[vm,vn]上的传输记为
Figure BDA0002244685730000196
其中传输的最后一个帧记为
Figure BDA0002244685730000197
模块S13:描述TTFC网络中任务调度要求的一组任务调度模型约束条件。
所述模块S13包括:
S131、数据帧约束;
对于在网络链路上调度的任何TT数据帧,偏移量不能取负值或任何会导致帧结束时间超过数据帧周期的值。
Figure BDA0002244685730000201
上式定义表示:TTFC系统中,对于在任意一段链路[va,vb]上传输的数据帧fi,s,调度任务需确保该数据帧的偏移量为正值,并且其偏移量
Figure BDA0002244685730000202
与帧对应的执行时间之和要比该数据帧周期小。
S132、端系统计算任务约束;
对于网络拓扑中的任意端系统,需要确保在每个处理器上,只有当处理器空闲时,才能够触发一个计算任务。即在端系统中不可存在计算任务冲突的情况。
Figure BDA0002244685730000203
上式定义表示:TTFC系统中,在任意一个端系统上执行的任意两个任务τi,j和τx,y,满足:任务τi,j偏移量比任务τx,y的偏移量与执行时间之和大,或者任务τx,y的偏移量比任务τi,j的偏移量与执行时间之和大,即端系统上的计算任务需满足时域内不重叠。
S133、链路约束;
在同一链路上传输的任何两个不同任务的TT数据帧不会发生冲突,即:对于某一条链路,两个TT数据帧在时域内没有重叠。
Figure BDA0002244685730000211
Figure BDA0002244685730000212
Ti,j.link=[va,vb],Tk,h.link=[va,vb],
Figure BDA0002244685730000213
Figure BDA0002244685730000214
上式定义表示:TTFC系统中,在同一段链路[va,vb]上传输的任意两个任务所包含的任意两个数据帧
Figure BDA0002244685730000215
在任务周期内,等待数据帧
Figure BDA0002244685730000216
传输完成后,帧
Figure BDA0002244685730000217
才能够在该链路上传输或者等待数据帧
Figure BDA0002244685730000218
传输完成后,帧
Figure BDA0002244685730000219
才能够在该链路上传输,即这两个数据帧在同一链路上的传输满足在时域内不重叠。
S134、链路树约束;
一条链路上的传输窗口的开始与前一条链路上的传输窗口的结束之间的差距必须大于前一条链路的一跳延迟加上整个网络的精度。
Figure BDA00022446857300002110
其中Ti,j
Figure BDA00022446857300002111
对应的任务。δ是网络精度。
上式定义表示:数据帧fi,1在两个连续链路[va,vx],[vx,vb]上传输,帧fi,1在链路[vx,vb]上的偏移量数值必须比在中间端点vx上的最一个任务的偏移量加上其执行时间,加上前一条链路一跳延迟以及整个网络的精度之后的时间值大,即满足连续链路传输条件。
S135、端到端延迟约束;
每一个TT消费者任务的结束和第一个生产者任务的开始之间的
差距必须小于或等于允许的最大端到端延迟。
Figure BDA0002244685730000221
其中,dest(Ttri)表示链路树Ttri上的叶子结点集合(消息的消费者节点集合),src(Ttri)表示Ttri的根节点(消息的生产者节点),max_lantency表示生产者任务所在的节点和消费者任务所在的节点之间允许的最大端到端延迟。
上式定义表示:任意一个TT任务Ti,任务的最后一个接受者
Figure BDA0002244685730000222
完成端系统上的计算任务的时间与该任务产生的第一个数据帧偏移量之间的差值不能比该TT任务所要求的的最大端到端延迟大,即满足TT任务的延迟限制。
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结束时间之间满足关系:
Figure BDA0002244685730000231
上式定义表示:任务Tm的生产者子任务在终端vc上发出的第一个数据帧的偏移量
Figure BDA0002244685730000232
与任务Ti的最后一个消费者子任务在终端vb上的执行完成时间的差值属于区间[p,q],0<=p<q。
(2)如图2所示,Tm,1在Ti,1开始之后开始,且Tm,1与Ti,1开始时间满足关系:
Figure BDA0002244685730000233
上式定义表示:任务Tm的生产者子任务在终端vc上发出的第一个数据帧的偏移量
Figure BDA0002244685730000234
与任务Ti的生产者子任务在终端vc上发出的第一个数据帧的偏移量
Figure BDA0002244685730000235
的差值属于区间[p,q],0<=p<q。
(3)如图3所示,Tm,k和Ti,n的结束时间必须同时属于某个时间区间,即Tm,k的结束时间与Ti,n的结束时间差满足:Δt∈[p,q],p,q∈R:
Figure BDA0002244685730000236
上式定义表示:任务Tm的最后一个消费者子任务在终端vd上的执行完成时间与任务Ti的最后一个消费者子任务在终端vb上的执行完成时间的差值属于区间[p,q],0<=p<q。
S137、内存约束;
节点中输入端口缓存的帧个数不能超过端口的最大缓存能力。
Figure BDA0002244685730000241
Figure BDA0002244685730000242
Figure BDA0002244685730000243
其中,函数G定义如下:
Figure BDA0002244685730000244
Figure BDA0002244685730000245
表示
Figure BDA0002244685730000246
经过vx后在[vx,vb]上传输的帧;函数G表示如果任务Tm在[va,vx]上传输的帧在
Figure BDA0002244685730000247
到达vx时仍在缓存队列中,则返回1,否则返回0。而上第三行则统计了
Figure BDA0002244685730000248
到达vx时所有尚在缓存队列中的帧的数量,并确保该数值不超过限制。
上式定义表示:当数据帧fi,j经过链路[vx,vb]到达节点vx时,该节点将利用G函数对此时缓存队列中任务Tm的数据帧进行合计,对于此时仍与节点中的数据帧返回1,否则返回0,对G函数求和汇总,得出节点数据帧fi,j到达节点vx时缓存队列中的数据帧个数,其数值必须小于其链路的缓存能力[va,vx].b。
S138、多播约束;
多播树上的交换机节点将一个帧发送到多个不同的输出端口时,
各输出端口的帧的偏移量相同。
Figure BDA0002244685730000249
其中
Figure BDA00022446857300002410
表示一个链路树上的某个交换机节点,
Figure BDA00022446857300002411
表示节点
Figure BDA00022446857300002412
的孩子节点的个数。假设某个帧经过该交换机共发往n个不同的输出端口,其中第k个端口输出的帧记为
Figure BDA0002244685730000251
上式定义表示:TTFC系统中的多播任务有n个消息接受者,需要向n条链路
Figure BDA0002244685730000252
中发送数据帧,且必须保证各个数据帧的的偏移量相同。
S139、RC帧约束:
同一个消费者任务的前后两个RC帧的接收时间差满足:Δt∈(1×BAG,1.5×BAG]。
Figure BDA0002244685730000255
Figure BDA0002244685730000253
Figure BDA0002244685730000254
其中,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满足下式,则该链路带宽能够保证所有链路消息集的发送和调度。
Figure BDA0002244685730000261
Figure BDA0002244685730000262
Figure BDA0002244685730000263
Figure BDA0002244685730000264
其中,I和J分别表示表示TT任务总数和RC任务总数,X和Y分别表示经过链路Lk的任务Ti的消息总数和任务Rj的消息总数。
S212、TT消息总执行时间约束检验;
对于
Figure BDA0002244685730000265
在确定其数据帧Fi的传输路径后,Ti所有子任务的执行时间必须小于Ti的截止时间。
Figure BDA0002244685730000266
S213、终端CPU利用率检验;
对于
Figure BDA0002244685730000267
须满足下式所述约束,以确保每个终端系统的CPU利用率低于100%。
Figure BDA0002244685730000268
S214、BAG约束检验;
对于系统中的任意RC任务Ri,由任务Ri的预设带宽和发送周期,计算Ri.BAG,判断其值是否在可调度范围内,即RC任务调度需满足以下公式:
Figure BDA0002244685730000271
S22、在检验结果为任务可调度的基础上,调用消息调度表生成方法,求得TT任务的静态调度表S;
所述步骤S22采用具体的消息调度表生成算法求解系统中TT任务调度问题,通用算法可依据情况选择SMT理论模型、MIP混合整数规划模型。
算法总体框架描述如下:
表1:算法总体框架
Figure BDA0002244685730000272
其中,输入为网络拓扑、TT任务集和RC任务集。算法首先通过Check1依次进行消息总带宽约束检测、TT消息执行时间约束检测、BAG约束检测以及终端利用率约束检测,若全部通过,则调用对应的调度求解方法求得TT任务的调度表S。算法接着判断TT调度结果是否为空,若TT调度有解,则通过Check2函数进行RC任务的可调度性检测,若全部通过则返回S,否则返回值为空。算法最终的返回结果由TT任务调度和RC任务可调度性检测结果共同决定。
消息调度算法总体执行流程如图4所示。表1中的scheduleAlgorithm(G,T)的具体实现可采用SMT理论模型进行求解,也可以采用MIP混合整数规划模型求解,以SMT模型为例,算法的具体实现如下:
表2:基于SMT的调度表求解算法
Figure BDA0002244685730000281
以上算法中,输入为网络拓扑和任务集合,输出为帧的偏移量集合(如果存在可行解)。算法通过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帧总数。
Figure BDA0002244685730000291
上排好的TT帧依次按偏移量递增排序记为
Figure BDA0002244685730000292
m为[va,vb]上排好的TT帧的个数。设[va,vb]上需要传输的RC帧的数量为n([va,vb])。则TT帧的偏移量需满足如下公式:
Figure BDA0002244685730000293
其中:
Figure BDA0002244685730000294
Ti,p.link=[va,vb],Ti,p.c表示表示帧ffi在链路[va,vb]上的执行时间,RC_max表示任务集合R中的最长数据帧在链路[va,vb]上的传输时间,即:
Figure BDA0002244685730000301
max(Fri)表示RC任务中最大的数据帧的帧长。
表1中的Check2(E,S,R)是用来确保在TT任务调度之后,链路中的剩余可用带宽足够保证所有RC任务的调度,具体算法描述如下:
表3:RC任务可调度性检测算法
Figure BDA0002244685730000302
函数实现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)分别表示终端和交换机,用
Figure BDA0002244685730000311
表示一个终端节点,
Figure BDA0002244685730000312
表示一个交换机节点,不加区分时将某个节点记为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:应用程序任务信息表
Figure BDA0002244685730000313
Figure BDA0002244685730000321
在一个周期内,15个计算任务被映射到5个不同的处理器上,7个数据帧发送到网络上,其中1个数据帧是多播的。应用程序任务先由端系统发起,端系统执行完相应的生产者子任务后将任务以消息的形式发往接收端,消息最终被对端系统接收,并在其处理器上执行相应的接受者子任务。
每个子任务都有自己的周期,且其周期与所属的应用程序任务周期相同,每个计算子任务都有自己的执行时间,都会周期性地发送或者接收相应的数据帧。应用程序中计算子任务的详细信息如表5所示。
表5:计算子任务信息表
Figure BDA0002244685730000322
任务最终将以数据帧的形式在网络中传输,因此,需要对消息进行详细分析,每一个在网络中传输的帧都有其源宿地址,数据帧有特定的长度设定和周期信息,通信子任务的周期与所属的应用程序任务的周期相同。消息传输信息如表6所示。
表6:消息传输信息表
Figure BDA0002244685730000323
Figure BDA0002244685730000331
如上所述,对于给定的TTFC网络系统,进行了任务、链路树、数据帧模型构建,由于该系统没有特殊的任务依赖关系,因此仅定义前文所述数据帧约束、端系统计算任务约束、链路约束、链路树约束、端到端延迟约束、内存约束、多播约束、RC帧约束共八个模型约束条件。基于此模型,采用前文所述的消息调度表生成方法的总体执行框架,对TTFC网络中的任务进行消息调度。在给定参数下检验消息总带宽约束、TT消息总执行时间约束以及终端利用率均满足约束条件。即系统中任务可调度。采用具体的消息调度表生成算法,得出TT消息偏移量:
Figure BDA0002244685730000332
在TT消息调度结果的基础上,进一步检测RC任务的BAG约束及RC任务可调度性检测约束,所述约束均可满足,由此得出该TTFC网络系统的消息调度结果。

Claims (8)

1.一种TTFC网络的任务调度系统,其特征在于,综合考虑运行在端系统上的计算任务和通过网络进行数据交换的通信任务,支持TT任务和RC任务的描述及约束条件的表达,同时支持单播和多播应用,系统包括如下模块:
模块S11:描述TTFC网络结构的网络拓扑模型;
模块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可表示为如下元组:
Figure FDA0003703355180000011
其中,
Figure FDA0003703355180000012
表示任务Ti,j的偏移量;任意Ti,j.link=[vmn]∈E,当m≠n时,Ti,j.link=[vmn]表示通信子任务Ti,j的传输链路,当m=n时,Ti,j.link=[vmm]表示计算子任务Ti,j在节点vm上执行;任务Ti中,消息发送者端系统上的计算任务称为消息的生产者子任务,消息接受者端系统上的计算任务称为消息的消费者子任务;在多播任务的情况,将一个任务Ti中所有的消费者子任务集合记为Tci
Ti,j.c表示任务Ti,j的执行时间,当Ti,j.link=[vmm]时,Ti,j.c为WCET(Worst-caseExecution Time),即最坏情况执行时间,运行于端系统va上的一个计算任务的执行时间记作:wcet(va);当Ti,j.link=[vmn]时:
Figure FDA0003703355180000021
其中Fi,s.L为当前任务数据帧长度,[vmn].bw表示链路[vmn]上的网络带宽,[vmn].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可表示为如下元组:
Figure FDA0003703355180000022
其中,
Figure FDA0003703355180000023
表示任务Ri,j的偏移量;任意Ri,j.link=[vmn]∈E,当m≠n时,Ri,j.link=[vmn]表示通信子任务Ri,j的传输链路,当m=n时,Ri,j.link=[vmm]表示计算子任务Ti,j在节点vm上执行;Ri,j.c表示任务Ri,j的执行时间,当Ri,j.link=[vmm]时,Ri,j.c为WCET(Worst-case Execution Time),即最坏情况执行时间,其执行时间长度同TT任务;当Ri, j.link=[vmn]时:
Figure FDA0003703355180000031
Figure FDA0003703355180000032
其中Fi,s.L为当前RC任务数据帧长度,[vmn].bw表示链路[vmn]上的网络带宽,[vmn].d表示链路延迟;
S122、链路树模型:
对一个应用程序任务来说,其产生的数据帧会在网络链路上进行传播;一个任务中所有通信子任务的link构成一棵链路树;任务Ti对应的链路树记为Ttri,树中的顶点集合记为Ttri.V,边的集合记为Ttri.E;同理,任务Ri对应的链路树记为Rtri;任务系统中所有的链路树构成的集合记为LT;
S123、数据帧模型:
定义任务Γi∈Γ产生的有序帧集合记为Fi,fi,s表示任务Γi产生的第s个帧;fi,s在链路[vmn]上的传输记为
Figure FDA0003703355180000033
可用如下元组表示:
Figure FDA0003703355180000034
其中,
Figure FDA0003703355180000035
表示任务Γi产生的第s个帧在链路[vmn]上的传输偏移量,即数据帧在链路上的发送时间;
Figure FDA0003703355180000036
表示任务Γi产生的第s个帧在链路[vmn]上的传输周期;
Figure FDA0003703355180000037
表示任务Γi产生的第s个帧在链路[vmn]上传输时的数据帧长度;网络中所有任务的帧集合记为F,Fi在链路[vmn]上的传输记为
Figure FDA0003703355180000041
其中传输的最后一个帧记为
Figure FDA0003703355180000042
模块S13:描述TTFC网络中任务调度要求的一组任务调度模型约束条件。
2.如权利要求1所述的一种TTFC网络的任务调度系统,其特征在于,所述模块S11对交换式网络结构建立网络模型:G=(V,E),顶点集V(vertex):表示网络中所有的设备节点,包括终端节点和交换机节点;边集E(edges):表示网络中交换机和终端以及交换机与交换机相连的所有全双工通信链路;链路[vmn]表示为:{[vmn].bw,[vmn].d,[vmn].b},其中,[vmn].bw表示链路带宽;[vmn].d表示链路延迟,[vmn].b表示链路的缓存能力,即节点νn最多可以缓存来自节点vm的帧的数量。
3.如权利要求1所述的一种TTFC网络的任务调度系统,其特征在于,所述模块S13包括:
S131、数据帧约束:对于在链路上调度的任何TT数据帧,偏移量不能取负值或任何会导致帧结束时间超过数据帧周期的值;
Figure FDA0003703355180000043
Figure FDA0003703355180000044
上式定义表示:TTFC系统中,对于在任意一段链路[va,vb]上传输的数据帧fi,s,调度任务需确保该数据帧的偏移量为正值,并且其偏移量
Figure FDA0003703355180000045
与帧对应的执行时间之和要比该数据帧周期小;
S132、端系统计算任务约束:对于网络拓扑中的任意端系统,需要确保在每个处理器上,只有当处理器空闲时,才能够触发一个应用程序任务;即在端系统中不可存在计算任务冲突的情况;
Figure FDA0003703355180000051
τi,j.link=[vm,vm],τx,y.link=[vm,vm]
i,j.Φ≥τx,y.Φ+τx,y.c)∨(τx,y.Φ≥τi,j.Φ+τi,j.c)
上式定义表示:TTFC系统中,在任意一个端系统上执行的任意两个任务τi,j和τx,y,满足:任务τi,j偏移量比任务τx,y的偏移量与执行时间之和大,或者任务τx,y的偏移量比任务τi,j的偏移量与执行时间之和大,即端系统上的计算任务需满足时域内不重叠;
S133、链路约束:在同一链路上传输的任何两个不同任务的TT数据帧不会发生冲突,即:对于某一条链路,两个TT数据帧在时域内没有重叠;
Figure FDA0003703355180000052
Figure FDA0003703355180000053
Ti,j.link=[va,vb],Tk,h.link=[va,vb],
Figure FDA0003703355180000054
Figure FDA0003703355180000055
上式定义表示:TTFC系统中,在同一段链路[va,vb]上传输的任意两个任务所包含的任意两个数据帧
Figure FDA0003703355180000056
Figure FDA0003703355180000057
在任务周期内,等待数据帧
Figure FDA0003703355180000058
传输完成后,帧
Figure FDA0003703355180000059
才能够在该链路上传输或者等待数据帧
Figure FDA00037033551800000510
传输完成后,帧
Figure FDA00037033551800000511
才能够在该链路上传输,即这两个数据帧在同一链路上的传输满足在时域内不重叠;
S134、链路树约束:一条链路上的传输窗口的开始与前一条链路上的传输窗口的结束之间的差距必须大于前一条链路的一跳延迟加上整个网络的精度;
Figure FDA0003703355180000061
Ti,j.link=[va,vx],Ti,j+1.link=[vx,vb]:
Figure FDA0003703355180000062
其中Ti,j
Figure FDA0003703355180000063
对应的任务;δ是网络精度;
上式定义表示:数据帧fi,1在两个连续链路[va,vx],[vx,vb]上传输,帧fi,1在链路[vx,vb]上的偏移量数值必须比在中间端点vx上的最一个任务的偏移量加上其执行时间,加上前一条链路一跳延迟以及整个网络的精度之后的时间值大,即满足连续链路传输条件;
S135、端到端延迟约束:每一个TT消费者任务的结束和第一个生产者任务的开始之间的差距必须小于或等于允许的最大端到端延迟;
Figure FDA0003703355180000064
且Ti∈T,
Figure FDA0003703355180000065
va=src(Ttri):
Figure FDA0003703355180000066
其中,dest(Ttri)表示链路树Ttri上的叶子节点集合,即消息的消费者节点集合,src(Ttri)表示Ttri的根节点;即消息的生产者节点,max_lantency表示生产者任务所在的节点和消费者任务所在的节点之间允许的最大端到端延迟;
上式定义表示:任意一个TT任务Ti,任务的最后一个接受者
Figure FDA0003703355180000067
完成端系统上的计算任务的时间与该任务产生的第一个数据帧偏移量之间的差值不能比该TT任务所要求的最大端到端延迟大,即满足TT任务的延迟限制;
S136、任务依赖关系约束:两个任务之间的开始时间和结束时间可根据实际需要,满足一定的关系;Ti,1.link=[vaa]对应Ti消息的生产者子任务,Ti,n.link=[vbb]对应Ti消息的消费者子任务;Tm,1.link=[vcc]对应Tm消息的生产者子任务,Tm,k.link=[vdd]对应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、内存约束:节点中输入端口缓存的帧个数不能超过端口的最大缓存能力;
Figure FDA0003703355180000071
Ti,p.link=[va,vx],
Figure FDA0003703355180000072
Figure FDA0003703355180000073
其中,函数G定义如下:
Figure FDA0003703355180000074
式中
Figure FDA0003703355180000075
表示
Figure FDA0003703355180000076
经过vx后在[vx,vb]上传输的帧;函数G表示如果任务Tm在[va,vx]上传输的帧在
Figure FDA0003703355180000077
到达vx时仍在缓存队列中,则返回1,否则返回0;而上第三行则统计了
Figure FDA0003703355180000078
到达vx时所有尚在缓存队列中的帧的数量,并确保该数值不超过限制;
上式定义表示:当数据帧fi,j经过链路[vx,vb]到达节点vx时,该节点将利用G函数对此时缓存队列中任务Tm的数据帧进行合计,对于此时仍与节点中的数据帧返回1,否则返回0,对G函数求和汇总,得出节点数据帧fi,j到达节点vx时缓存队列中的数据帧个数,其数值必须小于其链路的缓存能力[va,vx].b;
S138、多播约束:多播树上的交换机节点将一个帧发送到多个不同的输出端口时,各输出端口的帧的偏移量相同;
Figure FDA0003703355180000081
Figure FDA0003703355180000082
其中
Figure FDA0003703355180000083
表示一个链路树上的某个交换机节点,
Figure FDA0003703355180000084
表示节点
Figure FDA0003703355180000085
的孩子节点的个数;假设某个帧经过该交换机共发往n个不同的输出端口,其中第k个端口输出的帧记为
Figure FDA0003703355180000086
上式定义表示:TTFC系统中的多播任务有n个消息接受者,需要向n条链路
Figure FDA0003703355180000087
中发送数据帧,且必须保证各个数据帧的偏移量相同;
S139、RC帧约束:同一个消费者任务的前后两个RC帧的接收时间差:Δt∈(1×BAG,1.5×BAG];
Figure FDA0003703355180000088
且Ri∈R,
Figure FDA0003703355180000089
Ri,p.link=[vx,va]:
Figure FDA00037033551800000810
其中,Rtri是Ri对应的链路树,dest(Rtri)是Rtri的叶子结点集合;
上式定义表示:TTFC系统中的同一个RC任务的任意两个相邻RC帧之间的传输间隔满足在1个BAG到1.5个BAG之间;BAG是由RC任务周期和链路带宽计算得出的RC帧间隙。
4.一种TTFC网络的消息调度表生成方法,其特征在于,基于权利要求1所述的任务调度系统,提出TT任务和RC任务的分阶段调度框架,该框架用于生成满足任务调度约束条件的TT任务消息调度表,包括以下步骤:
S21、对任务进行可调度性检验,检验TTFC网络系统中的所有TT任务和RC任务是否满足基本的可调度性约束;
S22、在检验结果为任务可调度的基础上,调用消息调度表生成方法,求得TT任务的静态调度表S;
S23、在结果S的基础上,进一步检验链路的剩余带宽能否完成RC任务调度,若检验通过,返回结果S。
5.如权利要求4所述的一种TTFC网络的消息调度表生成方法,其特征在于,所述步骤S21由系统模型定义一组任务的基本可调度性检验条件,检验系统中任务集是否可调度;
所述步骤S21包括:
S211、消息总带宽约束检验:TTFC网络中的链路集合中的任意一段链路上的TT任务和RC任务传输所需总带宽不能超过链路本身的带宽;
S212、TT消息总执行时间约束检验:对于
Figure FDA0003703355180000091
在确定其数据帧Fi的传输路径后,Ti所有子任务的执行时间不得超过Ti的截止时间;
S213、终端cpu利用率检验:对于
Figure FDA0003703355180000092
必须确保每个终端系统的CPU利用率低于100%;
S214、BAG约束检验:对于系统中的任意RC任务Ri,由任务Ri的预设带宽和发送周期,计算Ri.BAG,当BAG在[0.1ms,128ms]范围内时,RC任务可调度。
6.如权利要求4所述的一种TTFC网络的消息调度表生成方法,其特征在于,所述步骤S22采用具体的消息调度表生成算法求解系统中TT消息调度表,通用算法可依据情况选择SMT理论模型或MIP混合整数规划模型。
7.如权利要求4所述的一种TTFC网络的消息调度表生成方法,其特征在于,所述步骤S23验证RC任务是否可调度,基于TT任务调度结果S,进一步检验各链路的剩余可用带宽是否能够调度所有的RC任务;
所述步骤S23包括:
S231、RC任务可调度性约束检验:TTFC系统在进行RC任务调度之前,各链路在排好所有的TT任务之后,需要检验各链路空余可用带宽能否满足所有RC任务的排布。
8.根据权利要求7所述的一种TTFC网络的消息调度表生成方法,其特征在于,所述步骤S231:用下面公式所示的分段函数h([va,vb],i),对任意链路[va,vb]上相邻的TT帧间空余带宽进行可用性判断,判断规则如下:相邻TT帧间空余带宽至少足够传输两个最长RC帧;其一作为最后一个RC帧之后的TT帧的保护时间,即称之为空余可用带宽;用I([va,vb])对任意链路[va,vb]上所有相邻TT帧间空余可用带宽能够传输的RC帧个数进行汇总,其总和必须大于该链路上需要传输的RC帧总数;
Figure FDA0003703355180000111
[va,vb]上排好的TT帧依次按偏移量递增排序记为
Figure FDA0003703355180000112
m为[va,vb]上排好的TT帧的个数;设[va,vb]上需要传输的RC帧的数量为n([va,vb]);则TT帧的偏移量需满足如下公式:
Figure FDA0003703355180000113
其中:
Figure FDA0003703355180000114
Ti,p.link=[va,vb],Ti,p.c表示帧ffi在链路[va,vb]上的执行时间,RC_max表示任务集合R中的最长数据帧在链路[va,vb]上的传输时间,即:
Figure FDA0003703355180000115
max(Fri)表示RC任务中最大的数据帧的帧长。
CN201911012741.0A 2019-10-23 2019-10-23 一种ttfc网络的任务调度模型及消息调度表生成方法 Active CN111030835B (zh)

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 CN111030835A (zh) 2020-04-17
CN111030835B true 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)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112532427B (zh) * 2020-11-05 2023-03-14 中国航空工业集团公司西安航空计算技术研究所 一种时间触发通信网络的规划调度方法
CN112528450A (zh) * 2021-01-15 2021-03-19 博智安全科技股份有限公司 网络拓扑结构构建方法、终端设备和计算机可读存储介质
CN112804151B (zh) * 2021-01-21 2022-11-08 烽火通信科技股份有限公司 一种数据处理的方法、装置以及电子设备
CN113254177B (zh) * 2021-05-31 2023-06-27 广州虎牙科技有限公司 基于集群的任务提交方法、计算机程序产品及电子设备
CN113765825B (zh) * 2021-08-10 2023-05-02 北京交通大学 一种链式业务流调度的规划方法和系统架构
CN113794654B (zh) * 2021-09-15 2023-04-25 电子科技大学 一种tt-fc网络中时间触发消息的分组调度方法
CN113840384B (zh) * 2021-11-29 2022-03-08 成都成电光信科技股份有限公司 一种tt-fc网络中时间触发消息的变步长调度方法
CN115022233B (zh) * 2022-06-16 2023-04-07 电子科技大学 一种可定制点到多点数据传输完成时间的传输方法
CN115225587B (zh) * 2022-07-05 2023-08-15 国家电网有限公司 基于约束规划的异步终端系统调度优化方法
CN116633808B (zh) * 2023-07-19 2023-10-03 成都成电光信科技股份有限公司 一种时间触发光纤通道网络下的数据监控系统及其方法

Citations (4)

* Cited by examiner, † Cited by third party
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 西安电子科技大学 基于时间触发以太网的静态调度表生成方法、航电系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
"An Evaluation of SMT-Based Schedule Synthesis for Time-Triggered Multi-hop Networks";Wilfried Steiner;《 2010 31st IEEE Real-Time Systems Symposium》;20110128;全文 *
"基于OPNET的混合关键性网络建模与仿真分析";白江涛 等;《电讯技术》;20171130;全文 *

Also Published As

Publication number Publication date
CN111030835A (zh) 2020-04-17

Similar Documents

Publication Publication Date Title
CN111030835B (zh) 一种ttfc网络的任务调度模型及消息调度表生成方法
Kliazovich et al. CA-DAG: Modeling communication-aware applications for scheduling in cloud computing
Zhang et al. Task-and network-level schedule co-synthesis of Ethernet-based time-triggered systems
Imtiaz et al. A performance study of Ethernet Audio Video Bridging (AVB) for Industrial real-time communication
Zhao et al. A unified modeling framework for distributed resource allocation of general fork and join processing networks
CN110990140B (zh) 一种光电交换网络中分布式机器学习流的调度方法
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
Lv et al. Strategy-proof online mechanisms for weighted AoI minimization in edge computing
CN114071582A (zh) 面向云边协同物联网的服务链部署方法及装置
CN107483355B (zh) 面向数据中心的在线场景低带宽开销流量调度方案
Shafiee et al. Scheduling coflows with dependency graph
WO2023015644A1 (zh) 一种链式业务流调度的规划方法和系统架构
Shahri et al. End-to-end response time analysis for rt-mqtt: Trajectory approach versus holistic approach
CN112688812A (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
Zhao et al. Distributed resource allocation for synchronous fork and join processing networks
Ludeña-González et al. Upward Max-Min Fairness in Multipath High-Speed Networks
Victoria et al. Efficient bandwidth allocation for packet scheduling
Zhang et al. Research on delay model of deterministic service chain in the industrial Internet
CN117221126B (zh) 一种面向网络协同流量的路由调度方法与系统

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