CN101208687A - 在时间触发的总线上消息的可扩展调度 - Google Patents
在时间触发的总线上消息的可扩展调度 Download PDFInfo
- Publication number
- CN101208687A CN101208687A CNA2006800227625A CN200680022762A CN101208687A CN 101208687 A CN101208687 A CN 101208687A CN A2006800227625 A CNA2006800227625 A CN A2006800227625A CN 200680022762 A CN200680022762 A CN 200680022762A CN 101208687 A CN101208687 A CN 101208687A
- Authority
- CN
- China
- Prior art keywords
- time
- message
- task
- time slot
- arrival
- 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.)
- Pending
Links
- 230000001960 triggered effect Effects 0.000 title claims abstract description 20
- 238000005457 optimization Methods 0.000 claims abstract description 27
- 238000000034 method Methods 0.000 claims description 55
- 230000008569 process Effects 0.000 claims description 33
- 230000008859 change Effects 0.000 claims description 11
- 230000005540 biological transmission Effects 0.000 description 43
- 238000004891 communication Methods 0.000 description 10
- 239000002243 precursor Substances 0.000 description 7
- 238000010586 diagram Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000008672 reprogramming Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/407—Bus networks with decentralised control
- H04L12/413—Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection [CSMA-CD]
- H04L12/4135—Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection [CSMA-CD] using bit-wise arbitration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/56—Queue scheduling implementing delay-aware scheduling
- H04L47/564—Attaching a deadline to packets, e.g. earliest due date first
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multi Processors (AREA)
- Bus Control (AREA)
- Small-Scale Networks (AREA)
Abstract
一种用于在分布式实时嵌入系统中在时间触发的总线上调度消息的调度算法。所述算法首先确定用于把消息分配到总线上的时隙的初始消息调度使得强制预定的先后关系。在一个实施例中,所述算法使用最早截至时间最先调度来确定初始消息调度。然后所述算法在所述时隙中重新分配消息以便在所述消息之间提供未使用的时隙。在一个实施例中,重新分配所述消息包括对二次优化问题求解。还在所述时隙中重新分配消息使得它们基本上被均匀地间隔。
Description
技术领域
本发明总体上涉及用于在时间触发的总线上调度消息的过程并且尤其涉及用于在分布式嵌入式系统中在时间触发的总线上调度消息的过程,所述过程包括确定用于在所述总线上把所述消息分配到时隙的初始消息调度,继而在所述时隙中重新分配所述消息以便在所述消息之间提供未使用的时隙以用于未来的可扩展性,其中依照所述初始消息调度满足计时要求。
背景技术
嵌入式系统在本领域中是已知的,其包括用于在时间触发的通信总线上彼此之间发送数字消息的多个分布式处理器。所述系统使用被分配给每个单个处理器的软件任务。由处理器所执行的任务在通信总线上在处理器之间发送消息。因为所述总线是时间触发的,所以在所述总线上一次只发送一条消息。所述任务是周期性的并且具有硬性截止时间,所述截止时间如果不被满足的话可能会造成灾难性结果。例如,在汽车线路驾驶(steer-by-wire)嵌入式系统中,来自系统中各个处理器的输出具有严格的截止时间是必要的。对于其中一个任务可能必须在执行另一任务之前(可能在单个执行周期内)执行的任务来说还存在在先约束。因此,有必要使所述系统适当地调度在每个处理器中的任务执行以及在总线上的任务消息传输,使得满足所有截止时间并且满足所有约束。
希望在嵌入式系统中所使用的调度是可扩展的,使得如果在系统初始执行之后需要改变或者开发升级,诸如添加或删除处理器和/或添加或删除任务,那么原始的调度不受影响。例如,如果在一个处理器改变任务集或者把新的处理器添加到系统,那么希望此改变不会影响其它处理器的任务调度以及消息传输。如果可以在不影响传输现有消息的情况下在总线上发送新消息,那么不需要任何改变来调度已经处于使用中的其它处理器。否则,可能必须以很大代价来重新编程总线调度。
发明内容
依照本发明的教导,公开了一种用于在分布式实时的时间触发的嵌入式系统中调度处理器任务和消息的调度算法。所述调度算法首先在一个传输周期期间标识要在通信总线上发送的每个消息的最早开始传输时间和最晚结束传输时间以便确定消息传输时间窗。然后所述算法根据每个消息的传输时间窗来标识要在每个处理器中执行的每个任务的任务执行时间窗。根据任务执行时间窗,然后所述算法导出所述系统中每个处理器的使用请求函数,其中所述使用请求函数是添加要由所述处理器来执行的每个任务的使用请求。根据每个处理器的使用请求函数,所述算法计算每个处理器的峰值使用请求和每个处理器的平均使用请求。然后所述算法通过使每个处理器的峰值使用请求和平均使用请求最小化来优化消息传输时间窗。根据所优化的消息传输时间窗,然后所述算法向由每个单个处理器所执行的任务和在总线上所发送的消息提供独立的调度,其中所述处理器彼此去耦合并且与所述总线去耦合。
一旦在通信总线上确定为每个消息所优化的消息传输时间窗,所述算法就可以通过有选择地分配所述消息的时间窗内的时隙来使调度更适应稍后升级,使得可以在传输周期中把将来的消息添加到在所述消息之间的时隙。在此实施例中,所述算法首先根据已知的调度技术例如使用最早的截止时间首先调度过程来确定初始消息调度,其中向所述消息分配在它们传输时间窗内的确定时隙。然后所述算法在传输周期内尽可能均匀地重新分配消息,但是仍然把所述消息维持在它们传输时间窗中的时隙内。在时间窗内重新分配消息可以包括对用于提供优化模型的二次优化问题求解。二次优化问题的解的实数被向下舍入到最接近的整数,使得所述消息位于在它们所分配的时间窗中的时隙内,以使未使用的时隙在所述消息之间可用以便提供将来的可扩展性。
结合附图,根据以下描述和所附权利要求,本发明的附加优点和特征将变得更加清楚。
附图说明
图1是包括多个连接到通信总线的处理器的嵌入式系统的图;
图2是依照本发明实施例示出用于在图1所示出的系统中调度消息和任务的操作的流程图;
图3是在调度图1所示系统中用于处理器的使用请求函数的图;
图4是依照本发明另一实施例示出用于在图1所示出系统的时间触发总线上在传输周期内的时隙中调度消息的过程的流程图;和
图5是示出用于依照本发明的调度算法把消息分配到时隙的技术的图。
具体实施方式
针对用于在嵌入式系统中在通信总线上调度处理器任务和消息传输的过程以便增加系统可调度性和可扩展性的本发明实施例的以下论述,实质上仅仅是示例性的,并且决不意在限制本发明或其应用或使用。
图1是上述类型的嵌入式系统10的平面图,包括被编程来执行多个任务16的多个处理器12和14。在一个例子中,每个处理器12和14分别接收来自适当传感器18和20的信号,以用于特定的应用。另外,处理器12和14分别控制致动器22和24,以用于特定的应用。在时间触发的通信总线26上在处理器12和14之间发送由处理器12和14所执行的各个任务16的结果来作为消息28。
在此例子中,处理器12中的任务t11接收来自传感器18的信号并且在总线26上向处理器14中的任务t21发送消息m11-21,所述任务t21向致动器24发布命令。同样,处理器14中的任务t22接收来自传感器20的信号并且在总线26上向任务t12发送消息m22-12,所述任务t12向致动器22发布命令。对于数据感测和命令发布来说存在端到端的截止时间。依照本发明,调度处理器12和14的任务执行和总线26上的消息传输,使得满足所有截止时间,满足所有在先的约束,诸如t11→m11-21→t21,以及所产生的调度是可扩展的以用于稍后的升级。
用于上述类型嵌入式系统的已知调度技术具有调度和可扩展性的限制,这是因为处理器中的任务调度被耦合,即,所有处理器任务被一起调度。此耦合是在处理器12和14中的任务16之间先后关系的结果。本发明提出使嵌入式系统10中的处理器12和14去耦合,以便通过借助时间分片(即分配具体时间窗用于在总线26上传输消息28)强制先后关系来提供任务调度和消息调度,使得可以彼此独立地执行处理器12和14中的任务16的调度。换句话说,调度算法首先在处理器12和14之间标识要在总线26上发送的消息28的优化时间窗,继而根据何时发送所述消息28,来确定必须何时执行所述任务16来产生消息28。作为使处理器12和14去耦合结果的此分布式调度允许单处理器调度,所述单处理器调度可以被有效地解决。
确定用于提供系统可调度性和可扩展性的消息传输的时间窗,同时满足计时要求和在先约束。时间窗确定是包括使目标函数最小化但是满足在先约束的优化问题,这可以通过许多现有的算法来解决。主要的挑战是如何获得用于可调度性和可扩展性的目标函数。依照本发明一个实施例,可调度性和可扩展性与峰值处理器使用请求和平均处理器使用请求相关。
对于下述计算来说,存在m个处理器和N个任务,其中任务16已经被分配给处理器12和14。任务集由(tij,i=1,…,m,j=1,…,ni)定义,其中任务(tij,j=1,…,ni)被分配给处理器pi并且 对于每个任务tij来说,Aij是其到达时间,Cij是其最糟情况执行时间,Dij是其截止时间,并且Tij是其周期。执行任务16的次序具有已知的先后关系。先后关系被表示为“tij在tkl之前”(也被标示为tij→tkl),这意味着在一个周期内任务tij必须在任务tkl之前执行。必须调度每个处理器12、14的任务执行,使得满足所有截止时间,满足所有在先约束并且所导出的调度是可扩展的以用于稍后升级。
本发明的任务和消息调度是基于以下假设的,在任务16之间没有通信延迟,即任务tij的输出可以在没有延迟的情况下作为输入被发送到另一任务tkl,并且所有任务16具有相同的周期,即对于所有的i和j来说Tij=T。第一假设源于这样的事实,通信总线26可以被建模为特定的处理器并且在总线26上所发送的消息28可以被视为要在总线处理器上执行的任务。例如,如果由于先后关系“tij在tkl之前”因此任务tij必须在总线26上向任务tkl发送消息mij-kl,那么所述总线26可以被视为处理器pb并且消息mij-kl被视为要在pb上执行的任务。其到达时间可以与tij的到达时间相同,其执行时间可以等于其传输时间,其截止时间可以与tkl的截止时间相同并且其周期可以与tij的周期相同。先后关系“tij在tkl之前”还由“tij在mij-kl之前”以及“mij-kl在tkl之前”代替。
提供了第二假设,这是因为具有不同周期的任务始终可以被变换为具有相同周期的任务。如果任务具有不同的周期,那么只需要解决对这种时间间隔的调度,其中所述时间间隔等于所有任务的周期的最小公倍数。因此,在间隔内的每个任务的每次调用都被当做新任务,并且所有新任务具有等于所有老任务的周期的最小公倍数的相同周期。于是不去解决具有不同周期的老任务集的调度,而可以解决具有相同周期的新任务集的调度。
为了解决上述可扩展的分布式调度,使用时间分片方式来去耦合对处理器12和14的调度。依照去耦合方法,对于总线26上的每个消息mij-kl来说,分配消息时间窗[bij-kl,eij-kl]以供其传输使得借助时间窗分配来满足在处理器12和14之间的所有在先约束,并且满足所有必要的计时要求。特别地是,定义以下约束:
bij-kl≥Bij-kl (1)
eij-kl-bij-kl≥Cij-kl (2)
eij-kl≤Eij-kl (3)
在方程式(1)-(4)中,Bij-kl和Eij-kl分别是传输消息mij-kl的最早开始时间和最晚结束时间。借助下述算法来获得Bij-kl和Eij-kl,所述算法确保在mij-kl之前相关性链中的所有任务在Bij-kl之前并且在消息到达之后完成,并且在mij-kl之后相关性链中所有任务在Eij-kl之后并且在消息截止时间之前完成。Cij-kl是消息mij-kl的传输时间。方程式(2)表明时间窗[bij-kl,eij-kl]比Cij-kl更长使得在时间窗内发送消息mij-kl。chainil-ij q是在til和tij之间处理器pl中的第q个任务链, 方程式(4)表明在消息mhv-il和mij-ku之间在处理器pi中的任务依照相关性关系在时间窗mhv-il和mij-ku之间的时间窗[ehv-il,bij-ku]内完成。注意,bij-kl和eij-kl并非是mij-kl传输的精确开始时间和完成时间,并且[bij-kl,eij-kl]只是在其内调度消息mij-kl传输的时间窗,因此bij-kl和eij-kl可以被视为消息mij-kl新的到达时间和新的截止时间。
图2是依照本发明示出用于确定嵌入式系统10的各个消息28和任务16的调度的算法操作的流程图50。在框52,所述算法首先标识了要在总线26上发送的每个消息的最早开始传输时间Bij和最晚结束传输时间Eij。可以使用以下算法来获得每个任务16和每个消息28的最早开始时间Bij和最晚结束时间Eij,用于确保在相关性链中所有在先任务能够在时间Bij之前以及在它们的到达时间之后完成,并且在所述相关性链中所有随后继务能够在时间Eij之后以及在它们的截止时间之前完成。在此算法中,总线26被视为处理器并且消息mij被视为任务。
从没有后继的任务开始并且在每个步骤处理其后继已经被处理的那些任务:
设EKij={til|tij→…→til},即处理器pi上tij的后继任务集。假定对于EKij中的任务来说存在h个不同的最晚结束时间,被标示为E1>E2>...>Eh。然后借助以下过程计算Gij:
对于k=2 to k=h,
如果Ek>Ek-1-Sk-1,那么Sk=Sk+Ek-(Ek-1-Sk-1)
Gij=Eh-Sh.
从没有前趋的任务16开始并且在每个步骤处理其前趋已经被处理的那些任务16:
设BKij={til|tij→…→tij},即处理器pi上tij的前趋任务集。假定对于Bkij中的任务来说存在h个不同的最早开始时间,被标示为B1<B2<...<Bh。然后借助以下过程计算Fij:
对于k=2 to k=h,
如果Bk<Bk-1+Sk-1,那么Sk=Sk+(Bk-1+Sk-1)-Bk
Fij=Bh+Sh.
在用于获得每个任务16和消息28的最早开始时间和最晚结束时间的以上算法中,确定Gij以确保处理器pi的每个后继任务tij能够完成并且满足其自己的最晚结束时间。因为在后继任务之中可能存在偏序,必须特别注意当计算Gij时那些任务在相同的处理器12或14中执行的事实。例如,假定存在任务tij的两个后继任务ti1和ti2,并且在ti1和ti2之间没有相关性。设E1=4并且E2=3分别是ti1和ti2的最晚结束时间,并且Ci1=2和Ci2=1是它们各自的最糟情况执行时间。通过设Gij=min(E1-Ci1,E2-Ci2)=2,于是它不正确。因为两个任务的总执行时间为三并且时间窗是E1-Gij=2,显然从时间Gij=2开始,ti1和ti2在相同的处理器12或14上在它们的结束时间之前都无法结束。当考虑到那些任务由相同的处理器12或14执行时,在Gij的以上算法中所给出的过程是正确的。易于确定通过按照所述过程,对于以上例子来说Gij=0是正确的。依照以上算法还向Fij提供了类似的过程。
然后在框54,所述算法根据消息28的传输时间窗来为每个处理器12、14标识用于每个任务16的执行时间窗,其消息将在总线26上被发送。在一个实施例中,以下算法根据任务16的结果的消息传输时间窗(特别是wbij和weij)来计算用于在处理器12和14中执行单个任务的时间窗。对于总线26上的消息任务mij-kl来说,wbij-kl=bij-kl并且weij-kl=eij-kl,并且对于每个非总线处理器pi上的任务tij来说,从在处理器pi上没有后继的任务16开始并且在每个步骤处理那些在pi上的后继已经被处理的任务16。
其中
对于每个非总线处理器pi上的任务tij来说,从在处理器pi上没有前趋的任务16开始并且在每个步骤上处理那些其前趋在处理器pi上已经被处理的任务16:
其中
在以上计算weij中,当任务tij在其它处理器12、14上没有任何直接后继时,还可以使用 来代替在算法中所使用的那些。在算法中此判定的意图在于当任务tij在其它处理器12和14上没有任何直接后继时,把所述任务tij与其在相同的处理器12或14上的后继相组合,即所述任务til作为用于计算使用请求函数的一个超级任务,其通过试图向两个任务分配相同的使用窗来提供。因为主要目的是为总线26上的消息标识时间窗,使得可以使每个处理器12、14上的调度去耦合,所以此时并不调度每个单个任务16。在优化用于所述消息的时间窗之后执行在每个单个处理器12、14上的任务调度。这里,确定用于每个任务16的处理器使用窗导致计算使用请求函数,其稍后被用来确定在总线26上的消息的优化时间窗。
因为任务tij在其它处理器12、14上没有直接后继,这意味着它不会直接影响总线26上的消息的时间窗,所以自然接着希望通过向tij及其后继分配相同的使用窗来将tij与其后继组合以便计算使用请求函数,这最终可能会有助于简化为所述总线26上的消息来确定所优化的时间窗。当任务tij在其它处理器12、14上没有任何直接前趋时,这也适用于在算法中判定wbij的计算。
于是该问题仍然归于为了所想要的可调度性和可扩展性如何确定bij-kl和eij-kl,即如何确定bij-kl和eij-kl使得在每个处理器12、14上调度任务16更可行并且所导出的调度更加可扩展以便适应稍后升级的改变。换句话说,确定时间窗是约束优化问题,其中所述约束由方程式(1)-(4)提供,并且优化目的是可调度性和可扩展性。
依照本发明,定义了可调度性和可扩展性的目标函数,所述目标函数包括每个处理器12和14的峰值使用请求和平均处理器使用请求。特别地是,在框56,根据所标识的任务执行时间窗,所述算法导出每个处理器12和14的使用请求函数,继而计算每个处理器12和14的峰值使用请求和平均使用请求。首先,每个任务tij,fij(t):[0,T]→R的使用请求函数被定义为:
其中T是通用的周期,R是实数集,Cij是tij的最糟情况执行时间,并且[wbij,weij]是由tij所请求的处理器使用窗,其根据消息传输窗来确定。
根据每个任务16的使用请求函数,每个处理器pi的使用请求函数,gi(t):[0,T]→Ri被定义为:
然后,每个处理器12、14的峰值使用请求被确定为:
根据方程式(11)和(12):
每个处理器12、14的平均使用请求被定义为:
由于 那么:
然后在框58,所述算法根据用于使峰值和平均处理器使用请求最小化的目标函数来优化在它们最早开始时间和最晚结束时间内的消息传输时间窗以便提供所想要的可调度性和可扩展性。在一个实施例中,消息时间窗优化的目标函数被定义为:
其中 αi是处理器pi的权重并且由系统设计员来确定。通常αi=1/m。如果处理器的可调度性和可扩展性更为重要,那么可以增加所述处理器的相应权重。目标函数向系统10中的所有处理器12、14给予峰值使用请求和平均使用请求。
利用使用请求来确定目标函数的原因在于资源使用请求值表示所述资源的争用级别。如果可以在所有资源之中并且在整个执行周期平衡使用请求,那么可以在每个处理器/总线上以及在整个执行周期中的每个时间减少资源争用,这使每个单个处理器/总线的调度更为容易。因为减少了资源争用,所以更易于在不改变调度的情况下在现有的调度内添加任务/处理器。从而,以上目标函数获得了所想要的可调度性和可扩展性。
时间窗优化现在可以被公式化为具有线性约束和非线性目标函数的优化,其受方程式(1)-(4)约束,为:
图3是用于图示如何为处理器定义方程式(12)的使用请求函数以及怎样定义方程式(17)的目标函数的图。其执行时间窗重叠的任务t11和t12将由处理器p1执行并且任务t21将由处理器p2执行。因为任务t11必须在任务t21之前执行,所以在任务t11和任务t21的执行时间窗之间定义消息时间窗m11-12。据此在图中示出了处理器p1的使用请求函数,如上所述根据所述使用请求函数来计算目标函数。
在框60,根据所优化的消息传输时间窗,所述算法然后通过使用任何适当的已知单处理器调度技术来执行用于每个处理器12、14和总线26的独立任务调度。特别地是,在为所有消息28优化消息时间窗之后,可以通过把max(q,r):tqr→tij,q≠i(eqr-ij))和min(Dij,min(k,l):tij→tkl,k≠i(bij-kl))分别用为处理器pi的任务tij的新的到达时间和新的截止时间来独立地解决在每个处理器12、14中调度任务16,其中i=1,...,m,并且j=1,...,ni,这是因为在tqr、mqr-ij、tij、mij-kl和tkl之中的相关性受新的到达时间和新的截止时间的强制。任何几种和现有适当的单处理器调度方法可以用于在每个单个处理器12和14中调度任务16。注意,在相同处理器的任务16之中的相关性不受新的到达时间和新的截止时间的强制。此外,只有在处理器12和14的任务16之中的相关性受新的到达时间和新的截止时间的强制。换句话说,在单处理器调度过程中,仍然必须考虑相同处理器中的任务相关性。
一旦在框58如上所述为每个消息确定每个消息的优化时间窗,本发明的另一实施例就确定了实际上在所优化时间窗中的哪个时隙会在总线26上发送消息28,使得所述消息在时间上相间隔以允许其它消息在稍后时间被插入到调度中(如果想要的话)以便进一步增加可调度性。应当强调,在流程图50中所示出的上述过程不必使用以下时隙重新分配过程,这是由于可以使用其它时隙分配过程。在上述用于使处理器12和14去耦合的过程中也不必使用下述时隙重新分配过程。
可以如下进一步描述本发明的此实施例的调度技术。假定时间触发的通信总线的传输周期由N个时隙组成,其中存在m个消息要在所述N个时隙中调度以便传输。对于每个消息m来说,Am、Dm和Cm分别是其到达时间、截止时间和传输时间。注意,Am、Dm和Cm都是整数,并且借助时隙的数目来量度。在消息m之中也存在先后关系,所述先后关系以“消息i在消息j之前”或简单地“i在j之前”的形式来表示。消息28必须在时隙中发送,即确定什么时隙用来发送什么消息m,使得满足所有截止时间并且满足所有先后关系。还希望所述调度是可扩展的,即如果在实现系统10之后需要一些改变,诸如为了升级而添加或删除处理器或添加或删除任务,那么不影响对总线26上其余消息m的调度。例如,如果在一个处理器12、14改变任务集或者把新的处理器添加到系统10,那么此改变必须不得影响对总线26上其余消息28的调度。如果可以在不影响传输现有消息的情况下在总线26上发送新消息m,那么对于现有消息m的调度不需要任何改变,这意味着用于那些相应处理器12、14的任务调度保持不变。否则,可能必须为整个系统重建调度,这可能是非常昂贵的。
为了对在时间触发的总线上的消息提供上述可扩展的调度,依照本发明的此实施例,执行两步骤过程。图4是示出用于为消息重新分配时隙以便提供可扩展性的过程的流程图62。首先在框64,所述算法使用适当的算法在所优化的消息时间窗内导出用于时间触发的总线26的初始消息调度。换句话说,所述算法确定对在时间触发的总线26上的消息传输的调度以便在时隙中调度所述消息,使得依照如上所述方式满足所有截止时间和在先约束。在本领域中已知用于导出对具有先后关系和不同到达时间的任务集进行调度的适当算法。例如,文章J.Blazewicz,“Scheduling Dependent Tasks withDifferent Arrival Times to Meet Deadlines”,E.Gelenbe,Ed.,Modeling and Performance Evaluation of Computer Systems(计算机系统的建模和性能评估),North-Holland Publishing Company(北荷兰出版社)(1976)公开了一个这种例子。在此文章中,修正在先后关系中所涉及的任务16的到达时间和截止时间,使得所述先后关系由所修正的到达时间和截止时间来强制。
接下来,最早截至时间最先(earliest-deadline-first EDF)调度方法在没有先后关系的情况下被用于具有所修正到达时间和截止时间的任务集。通过从没有后继的任务16开始并且在每个步骤处理那些其后继已经被处理的任务以修正截止时间的任务来修正所述到达时间和截止时间。在下列方程式中示出了此步骤。
从没有前趋的任务开始并且在每个步骤处理那些其前趋已经被处理的任务,到达时间被修正为:
方程式(19)和(20)标识在传输周期中何时发送消息28的次序。例如,图5示出了包括十个时隙72的时间周期70,其中在时间周期70期间发送每个消息m1、m2和m3。由于在每个时间周期70期间发送消息m1-m3,所以时间周期70重复自身。在此例子中,根据以上讨论,必须在包括时隙2和3的时间窗内发送消息m1,必须在包括时隙3-5的时间窗内发送消息m2并且必须在包括时隙4-8的时间窗内发送消息m3,以便满足上述截止时间和在先约束。由于不同类型的消息和消息m1-m3的优先级,所以用于所述消息m1-m3的时间窗长度是不同的。对于时间周期70来说,给消息m1分配时隙2,给消息m2分配时隙3,并且给消息m3分配时隙4,其在每个时间窗周期期间开始时满足它们的时间要求,但是根据其它在先约束不允许在消息m1和m2、消息m1和m3以及消息m2和m3之间提供未来的消息。
在第二步骤中,所述算法然后在不违反原始调度的消息次序的情况下在传输周期70内重新分布消息28,使得仍然满足在先约束,并且在不违反消息截止时间的情况下,使得所述消息28被尽可能均匀地分配在传输周期70内。第二步骤的目的是为了可扩展性。因为未来消息的到达时间和截止时间是未知的,所以假定稍后添加的消息的到达在传输周期70上均匀地分布。如果现有消息被尽可能均匀地分布在传输周期70内,那么更可能找到适当的未占用时隙72来用于稍后添加的消息以便升级。因此,减少了必须改变对其余消息的调度的机率。
假定调度中消息m的传输次序是(1,2,...,M)并且时隙分配是k1<k2<...<kM,即消息j被调度到时隙kj中。为了提供可扩展性,必须在不违反消息截止时间的情况下以及在不违反由初始调度所确定的消息传输次序的情况下在传输周期70内尽可能均匀地重新分配消息28。
可以借助如下优化模型提供用于重新分配消息的过程。设X[j]是消息j在重新分配之后所分配的时隙号。于是将重新分配公式化为:
最小化[∑j=1 to M-1(X[j+1]-X[j]-1)2+(N+X[1]-X[M]-1)2] (21)
条件是Aj≤X[j]≤Dj对于j=1,2,..,M和X[j]+1≤X[j+1]对于j=1,2,...,(M-1)。
如果要求对于每个j来说X[j]为整数,那么方程式(21)变为整数规划问题。为了优化,X[j]允许为实数,并且然后所述优化变为二次规划问题,其可以由现有算法来更有效地解决。在框66,所述算法根据用于重新分配消息的方程式(21)来求解用于初始消息调度的二次规划问题。然后在框68,所述算法把所述解的实数向下舍入到最近的整数并且返回该解作为可扩展的消息调度。
返回参照图5,包括时隙80的第二时间周期78示出如何借助方程式(21)在传输周期78中重新分配消息m1-m3。特别地是,仍然把消息m1分配给时隙2,但是把消息m2分配给时隙5并且把消息m3分配给时隙8。在此重新分配中,所有消息m1-m3在它们所分配的时间窗期间发送,但是在时隙2和5之间空着时隙3和4,在时隙5和8之间空着时隙6和7,并且在时隙8和2之间空着时隙9、10和1,从而允许稍后在不改变消息m1-m3的调度的情况下把其它消息插入到这些空的时隙中。
以上论述仅仅公开并描述了本发明的示例性实施例。本领域技术人员根据这类论述和附图以及权利要求可以容易地认识到,在不脱离如以下权利要求所限定的本发明的精神和范围的情况下可以进行各种改变、修改和变化。
Claims (20)
1.一种用于在时间触发的总线上调度消息的方法,所述方法包括:
确定用于在所述时间触发的总线上把所述消息分配到时隙的初始消息调度;并且
在所述时隙中重新分配所述消息以便在所述消息之间提供未使用的时隙。
2.如权利要求1所述的方法,其中确定所述初始消息调度包括修正所述消息的到达时间和截止时间使得强制先后关系。
3.如权利要求2所述的方法,其中确定所述初始消息调度包括使用最早截至时间最先调度来在不改变先后关系的情况下改变所述到达时间和截止时间。
4.如权利要求2所述的方法,其中修正所述到达时间和截止时间包括使用以下方程式来修正所述截止时间:
Dk *=min(Dk,min{Dj *-Cj;对于所有“k在j之前”的j}),并且使用以下方程式来修正所述到达时间:
Ak *=max(Ak,max{Aj *+Cj;对于所有“j在k之前”的j}),其中D是所述截止时间,A是所述到达时间并且C是最糟情况的执行时间。
5.如权利要求1所述的方法,其中在所述时隙中重新分配所述消息包括对二次优化问题求解。
6.如权利要求5所述的方法,其中所述二次优化问题是:
最小化[∑j=1 to M-1(X[j+1]-X[j]-1)2+(N+X[1]-X[M]-1)2]
条件是Aj≤X[j]≤Dj对于j=1,2,..,M和X[j]+1≤X[j+1]对于j=1,2,...,(M-1)。
7.如权利要求5所述的方法,进一步包括把所述二次优化问题的实数解向下舍入到最接近的整数。
8.如权利要求1所述的方法,其中在所述时隙中重新分配所述消息包括在所述时隙中重新分配所述消息使得所述消息在时间周期内基本上均匀地间隔。
9.一种用于在时间触发的总线上调度消息的方法,所述方法包括:
确定用于在所述时间触发的总线上把所述消息分配到时隙的初始消息调度,所述初始消息调度包括使用最早截至时间最先调度过程;并且
在所述时隙中重新分配所述消息以便在所述消息之间提供未使用的时隙,其中在所述时隙中重新分配所述消息包括对二次优化问题求解,并且把所述二次优化问题的实数解向下舍入到最接近的整数。
10.如权利要求9所述的方法,其中确定所述初始消息调度包括修正所述消息的到达时间和截止时间使得强制先后关系并且应用最早截至时间最先调度过程以便在不改变先后关系的情况下改变所述截止时间的到达时间。
11.如权利要求10所述的方法,其中修正所述到达时间和截止时间包括使用以下方程式来修正所述截止时间:
Dk *=min(Dk,min{Dj *-Cj;对于所有“k在j之前”的j}),并且使用以下方程式来修正所述到达时间:
Ak *=max(Ak,max{Aj *+Cj;对于所有“j在k之前”的j}),其中D是所述截止时间,A是所述到达时间并且C是最糟情况的执行时间。
12.如权利要求9所述的方法,其中所述二次优化问题是:
最小化[∑j=1 to M-1(X[j+1]-X[j]-1)2+(N+X[1]-X[M]-1)2]
条件是Aj≤X[j]≤Dj对j=1,2,...,M和X[j]+1≤X[j+1]对于j=1,2,...,(M-1)。
13.如权利要求9所述的方法,其中在所述时隙中重新分配所述消息包括在所述时隙中重新分配所述消息使得所述消息在时间周期内基本上均匀地间隔。
14.一种用于在时间触发的总线上调度消息的系统,所述系统包括:
用于确定用于在所述时间触发的总线上把所述消息分配到时隙的初始消息调度的装置;和
用于在所述时隙中重新分配所述消息以便在所述消息之间提供未使用的时隙的装置。
15.如权利要求14所述的系统,其中用于确定所述初始消息调度的装置包括用于修正所述消息的到达时间和截止时间使得强制先后关系的装置。
16.如权利要求15所述的系统,其中用于修正所述消息的到达时间和截止时间的装置包括用于使用最早截至时间最先调度过程的装置。
17.如权利要求14所述的系统,其中用于在所述时隙中重新分配所述消息的装置包括用于对二次优化问题求解的装置。
18.如权利要求17所述的系统,其中用于对所述二次优化问题求解的装置包括用于把所述二次优化问题的实数解向下舍入到最接近的整数的装置。
19.如权利要求17所述的系统,其中所述二次优化问题是:
最小化[∑j=1 to M-1(X[j+1]-X[j]-1)2+(N+X[1]-X[M]-1)2]
条件是Aj≤X[j]≤Dj对于j=1,2,...,M和X[j]+1≤X[j+1]对于j=1,2,...,(M-1)。
20.如权利要求14所述的系统,其中用于重新分配所述消息的装置包括用于在所述时隙中基本上均匀地间隔所述消息的装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/112,447 US8473563B2 (en) | 2005-04-22 | 2005-04-22 | Extensible scheduling of messages on time-triggered busses |
US11/112,447 | 2005-04-22 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101208687A true CN101208687A (zh) | 2008-06-25 |
Family
ID=37188355
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2006800227625A Pending CN101208687A (zh) | 2005-04-22 | 2006-03-17 | 在时间触发的总线上消息的可扩展调度 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8473563B2 (zh) |
CN (1) | CN101208687A (zh) |
DE (1) | DE112006001011T5 (zh) |
WO (1) | WO2006115614A2 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105245423A (zh) * | 2015-08-28 | 2016-01-13 | 中国航天科工集团第三研究院第八三五七研究所 | 基于最大分配距离算法的1553b总线消息传输优化方法 |
CN112235194A (zh) * | 2020-09-03 | 2021-01-15 | 北京邮电大学 | 在线路由调度时延敏感流量的方法和装置 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4974508B2 (ja) * | 2005-10-28 | 2012-07-11 | キヤノン株式会社 | バスマスタ装置、バス調停装置及びバス調停方法 |
US20080172671A1 (en) * | 2007-01-11 | 2008-07-17 | International Business Machines Corporation | Method and system for efficient management of resource utilization data in on-demand computing |
EP2568346B1 (en) * | 2011-09-06 | 2015-12-30 | Airbus Operations | Robust system control method with short execution deadlines |
AT512805A1 (de) | 2012-04-19 | 2013-11-15 | Fts Computertechnik Gmbh | Selbstorganisierendes Verfahren zum Aufbau von deterministischen Routen in einem großen Computernetzwerk |
EP2801174B1 (de) | 2012-04-19 | 2016-04-06 | FTS Computertechnik GmbH | Verfahren und vorrichtung zur konsistenten änderung der zeitpläne in einer zeitgesteuerten vermittlung |
AT513314A1 (de) | 2012-06-25 | 2014-03-15 | Fts Computertechnik Gmbh | Verfahren zum Aufbau von optimalen zeitgesteuerten Pfaden in einem großen Computernetzwerk |
AT514714A1 (de) * | 2013-09-04 | 2015-03-15 | Fts Computertechnik Gmbh | Verfahren zur Übertragung von Nachrichten in einem Computernetzwerk sowie Computernetzwerk |
CN109450817B (zh) * | 2018-12-07 | 2023-04-07 | 中国航空工业集团公司西安航空计算技术研究所 | 时间触发以太网多业务消息发送的混合调度方法 |
EP3790232A1 (en) | 2019-09-09 | 2021-03-10 | TTTech Computertechnik Aktiengesellschaft | Method for generating a schedule for mixed critical computer networks |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6957432B2 (en) * | 2000-03-21 | 2005-10-18 | Microsoft Corporation | Real-time scheduler |
JP3922070B2 (ja) * | 2002-03-29 | 2007-05-30 | 株式会社デンソー | 分散制御方法及び装置 |
KR100524763B1 (ko) * | 2003-07-23 | 2005-10-31 | 엘지전자 주식회사 | 개선된 edf 스케쥴링 방법 |
US7788667B2 (en) * | 2005-04-22 | 2010-08-31 | Gm Global Technology Operations, Inc. | Extensible scheduling of tasks in time-triggered distributed embedded systems |
-
2005
- 2005-04-22 US US11/112,447 patent/US8473563B2/en active Active
-
2006
- 2006-03-17 DE DE112006001011T patent/DE112006001011T5/de not_active Withdrawn
- 2006-03-17 CN CNA2006800227625A patent/CN101208687A/zh active Pending
- 2006-03-17 WO PCT/US2006/009866 patent/WO2006115614A2/en active Application Filing
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105245423A (zh) * | 2015-08-28 | 2016-01-13 | 中国航天科工集团第三研究院第八三五七研究所 | 基于最大分配距离算法的1553b总线消息传输优化方法 |
CN105245423B (zh) * | 2015-08-28 | 2018-06-26 | 中国航天科工集团第三研究院第八三五七研究所 | 基于最大分配距离算法的1553b总线消息传输优化方法 |
CN112235194A (zh) * | 2020-09-03 | 2021-01-15 | 北京邮电大学 | 在线路由调度时延敏感流量的方法和装置 |
CN112235194B (zh) * | 2020-09-03 | 2022-03-25 | 北京邮电大学 | 在线路由调度时延敏感流量的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
DE112006001011T5 (de) | 2008-03-13 |
WO2006115614A2 (en) | 2006-11-02 |
US20060242252A1 (en) | 2006-10-26 |
WO2006115614A3 (en) | 2007-12-21 |
US8473563B2 (en) | 2013-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100585564C (zh) | 在时间触发的分布式嵌入式系统中可扩展调度任务的系统和方法 | |
CN101208687A (zh) | 在时间触发的总线上消息的可扩展调度 | |
Méndez et al. | Optimal scheduling of batch plants satisfying multiple product orders with different due-dates | |
Lee et al. | An optimization heuristic for the berth scheduling problem | |
US8751659B2 (en) | Data center batch job quality of service control | |
CN110287003A (zh) | 资源的管理方法和管理系统 | |
US20070226743A1 (en) | Parallel-distributed-processing program and parallel-distributed-processing system | |
CN106326003B (zh) | 一种作业调度和计算资源分配方法 | |
CN100586093C (zh) | 数据通信方法 | |
CN109582448A (zh) | 一种面向关键度和时效性的边缘计算任务调度方法 | |
CN103838627A (zh) | 一种基于工作流吞吐量最大化的工作流调度方法 | |
CN110543352B (zh) | 调度系统的任务分配方法及其相关的装置 | |
Babiceanu et al. | Real-time holonic scheduling of material handling operations in a dynamic manufacturing environment | |
Jansen et al. | Lead time anticipation in supply chain operations planning | |
JP2009246690A (ja) | ネットワーク負荷分散システム、ネットワーク負荷分散方法、及びネットワーク負荷分散プログラム | |
US20110185365A1 (en) | Data processing system, method for processing data and computer program product | |
JP6753521B2 (ja) | 計算資源管理装置、計算資源管理方法、及びプログラム | |
CN107301085B (zh) | 一种基于队列的云平台任务分配方法 | |
Albers | Approximative real-time analysis | |
Eder et al. | Probabilistic calculation of execution intervals for workflows | |
Jiang | A decoupled scheduling approach for distributed real-time embedded automotive systems | |
Dobrin | Combining off-line schedule construction and fixed priority scheduling in real-time computer systems | |
Hladik et al. | Best-case response time analysis for precedence relations in hard real-time systems | |
Halang | Contemporary research on real-time scheduling considered obsolete | |
Wang et al. | Optimization methods for joint capacity and appointment scheduling problem with walk-in patients |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20080625 |