在时间触发的总线上消息的可扩展调度的制作方法

文档序号:6567906阅读:141来源:国知局
专利名称:在时间触发的总线上消息的可扩展调度的制作方法
技术领域
本发明总体上涉及用于在时间触发的总线上调度消息的过程并 且尤其涉及用于在分布式嵌入式系统中在时间触发的总线上调度消 息的过程,所述过程包括确定用于在所述总线上把所述消息分配到 时隙的初始消息调度,继而在所述时隙中重新分配所述消息以便在 所述消息之间提供未使用的时隙以用于未来的可扩展性,其中依照 所述初始消息调度满足计时要求。
背景技术
嵌入式系统在本领域中是已知的,其包括用于在时间触发的通信 总线上彼此之间发送数字消息的多个分布式处理器。所述系统使用 被分配给每个单个处理器的软件任务。由处理器所执行的任务在通 信总线上在处理器之间发送消息。因为所述总线是时间触发的,所 以在所述总线上一次只发送一条消息。所述任务是周期性的并且具 有硬性截止时间,所述截止时间如果不被满足的话可能会造成灾难
性结果。例如,在汽车线路驾驶(steer-by-wire)嵌入式系统中, 来自系统中各个处理器的输出具有严格的截止时间是必要的。对于 其中一个任务可能必须在执行另一任务之前(可能在单个执行周期 内)执行的任务来说还存在在先约束。因此,有必要使所述系统适 当地调度在每个处理器中的任务执行以及在总线上的任务消息传 输,使得满足所有截止时间并且满足所有约束。
希望在嵌入式系统中所使用的调度是可扩展的,使得如果在系统 初始执行之后需要改变或者开发升级,诸如添加或删除处理器和/或 添加或删除任务,那么原始的调度不受影响。例如,如果在一个处 理器改变任务集或者把新的处理器添加到系统,那么希望此改变不 会影响其它处理器的任务调度以及消息传输。如果可以在不影响传 输现有消息的情况下在总线上发送新消息,那么不需要任何改变来 调度已经处于使用中的其它处理器。否则,可能必须以很大代价来 重新编程总线调度。

发明内容
依照本发明的教导,公开了一种用于在分布式实时的时间触发的 嵌入式系统中调度处理器任务和消息的调度算法。所述调度算法首 先在一个传输周期期间标识要在通信总线上发送的每个消息的最早 开始传输时间和最晚结束传输时间以便确定消息传输时间窗。然后 所述算法根据每个消息的传输时间窗来标识要在每个处理器中执行 的每个任务的任务执行时间窗。根据任务执行时间窗,然后所述算 法导出所述系统中每个处理器的使用请求函数,其中所述使用请求 函数是添加要由所述处理器来执行的每个任务的使用请求。根据每 个处理器的使用请求函数,所述算法计算每个处理器的峰值使用请 求和每个处理器的平均使用请求。然后所述算法通过使每个处理器 的峰值使用请求和平均使用请求最小化来优化消息传输时间窗。根 据所优化的消息传输时间窗,然后所述算法向由每个单个处理器所 执行的任务和在总线上所发送的消息提供独立的调度,其中所述处 理器彼此去耦合并且与所述总线去耦合。
一旦在通信总线上确定为每个消息所优化的消息传输时间窗,所 述算法就可以通过有选择地分配所述消息的时间窗内的时隙来使调 度更适应稍后升级,使得可以在传输周期中把将来的消息添加到在 所述消息之间的时隙。在此实施例中,所述算法首先根据已知的调 度技术例如使用最早的截止时间首先调度过程来确定初始消息调 度,其中向所述消息分配在它们传输时间窗内的确定时隙。然后所 述算法在传输周期内尽可能均匀地重新分配消息,但是仍然把所述 消息维持在它们传输时间窗中的时隙内。在时间窗内重新分配消息 可以包括对用于提供优化模型的二次优化问题求解。二次优化问题 的解的实数被向下舍入到最接近的整数,使得所述消息位于在它们 所分配的时间窗中的时隙内,以使未使用的时隙在所述消息之间可 用以便提供将来的可扩展性。
结合附图,根据以下描述和所附权利要求,本发明的附加优点和 特征将变得更加清楚。


图l是包括多个连接到通信总线的处理器的嵌入式系统的图; 图2是依照本发明实施例示出用于在图l所示出的系统中调度消
息和任务的操作的流程图3是在调度图1所示系统中用于处理器的使用请求函数的图; 图4是依照本发明另 一 实施例示出用于在图l所示出系统的时间
触发总线上在传输周期内的时隙中调度消息的过程的流程图;和 图5是示出用于依照本发明的调度算法把消息分配到时隙的技术的图。
具体实施例方式
针对用于在嵌入式系统中在通信总线上调度处理器任务和消息 传输的过程以便增加系统可调度性和可扩展性的本发明实施例的以 下论述,实质上仅仅是示例性的,并且决不意在限制本发明或其应 用或使用。
图1是上述类型的嵌入式系统10的平面图,包括被编程来执行多 个任务16的多个处理器12和14。在一个例子中,每个处理器12和14 分别接收来自适当传感器18和20的信号,以用于特定的应用。另外, 处理器12和14分别控制致动器22和24,以用于特定的应用。在时间 触发的通信总线26上在处理器12和14之间发送由处理器12和14所执 行的各个任务16的结果来作为消息28。
在此例子中,处理器12中的任务tu接收来自传感器18的信号并 且在总线26上向处理器14中的任务t"发送消息mu-n,所述任务t"向 致动器24发布命令。同样,处理器14中的任务t"接收来自传感器20 的信号并且在总线26上向任务tn发送消息m2H2,所述任务tu向致动 器22发布命令。对于数据感测和命令发布来说存在端到端的截止时 间。依照本发明,调度处理器12和14的任务执行和总线26上的消息 传输,使得满足所有截止时间,满足所有在先的约束,诸如tn —mn— 21—tn,以及所产生的调度是可扩展的以用于稍后的升级。
用于上述类型嵌入式系统的已知调度技术具有调度和可扩展性 的限制,这是因为处理器中的任务调度被耦合,即,所有处理器任 务被一起调度。此耦合是在处理器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。任务集由(^/,/ = /,',m,7 = /,…,"^定义, 其中任务"仏7 = /,…,"^)被分配给处理器pi并且S,^",;W。对于每 个任务tu来说,Aij是其到达时间,Cij是其最糟情况执行时间,Dij是 其截止时间,并且Tij是其周期。执行任务16的次序具有已知的先后
关系。先后关系被表示为"tij在tu之前"(也被标示为tij— t"),
这意味着在一个周期内任务tij必须在任务t"之前执行。必须调度每 个处理器12、 14的任务执行,使得满足所有截止时间,满足所有在 先约束并且所导出的调度是可扩展的以用于稍后升级。
本发明的任务和消息调度是基于以下假设的,在任务16之间没有 通信延迟,即任务tij的输出可以在没有延迟的情况下作为输入被发 送到另一任务tu,并且所有任务16具有相同的周期,即对于所有的i 和j来说Ti尸T。第一假设源于这样的事实,通信总线26可以被建模为 特定的处理器并且在总线26上所发送的消息28可以被视为要在总线 处理器上执行的任务。例如,如果由于先后关系"tu在t"之前"因 此任务tij必须在总线26上向任务tn发送消息mij-u,那么所述总线26 可以被视为处理器Pb并且消息mij-u被视为要在pb上执行的任务。其到 达时间可以与tij的到达时间相同,其执行时间可以等于其传输时
间,其截止时间可以与t k!的截止时间相同并且其周期可以与t i j的周
期相同。先后关系"tu在t"之前"还由"tij在mij-"之前"以及"mij— u在tu之前"代替。
提供了第二假设,这是因为具有不同周期的任务始终可以被变换 为具有相同周期的任务。如果任务具有不同的周期,那么只需要解 决对这种时间间隔的调度,其中所述时间间隔等于所有任务的周期 的最小公倍数。因此,在间隔内的每个任务的每次调用都被当做新 任务,并且所有新任务具有等于所有老任务的周期的最小公倍数的 相同周期。于是不去解决具有不同周期的老任务集的调度,而可以 解决具有相同周期的新任务集的调度。
为了解决上述可扩展的分布式调度,使用时间分片方式来去耦合 对处理器12和14的调度。依照去耦合方法,对于总线26上的每个消 息mu-u来说,分配消息时间窗[bij-u, eij-u]以供其传输使得借助时间 窗分配来满足在处理器12和14之间的所有在先约束,并且满足所有 必要的计时要求。特别地是,定义以下约束
<formula>formula see original document page 9</formula>
<formula>formula see original document page 9</formula>
<formula>formula see original document page 9</formula>
<formula>formula see original document page 9</formula>
在方程式(1) - (4)中,Bu—"和Eij—u分别是传输消息nhj+的最 早开始时间和最晚结束时间。借助下述算法来获得Bij—ki和Eij-u,所述 算法确保在nhj-u之前相关性链中的所有任务在Bij-u之前并且在消息 到达之后完成,并且在mu-u之后相关性链中所有任务在Eij-"之后并且 在消息截止时间之前完成。Cij-ki是消息mij-u的传输时间。方程式(2) 表明时间窗[bij-kl, eij-"]比Cij-u更长^f吏得在时间窗内发送消息mu-u。 c/^""是在t"和tu之间处理器p!中的第q个任务链,IG — 、i ———K『}。方禾呈式(4 )表明在消息mhV—i i 和imj—ku之间在处理器pi中的任务依照相关性关系在时间窗mhv—"和nhj-ku 之间的时间窗[ehV-u, bi卜ku]内完成。注意,bu-ki和eu-ki 并非是mu-u传 输的精确开始时间和完成时间,并且[bij七,eij-u]只是在其内调度消
息mij-u传输的时间窗,因此bij-ki和eu-ki 可以被视为消息Dli j-"新的到达 时间和新的截止时间。
图2是依照本发明示出用于确定嵌入式系统10的各个消息28和任 务16的调度的算法操作的流程图50。在框52,所述算法首先标识了 要在总线26上发送的每个消息的最早开始传输时间Bij和最晚结束传 输时间Eij。可以使用以下算法来获得每个任务16和每个消息28的最 早开始时间Bij和最晚结束时间Eu,用于确保在相关性链中所有在先 任务能够在时间Bu之前以及在它们的到达时间之后完成,并且在所 述相关性链中所有随后继务能够在时间Eu之后以及在它们的截止时 间之前完成。在此算法中,总线26被视为处理器并且消息mij被视为 任务。
从没有后继的任务开始并且在每个步骤处理其后继已经被处理 的那些任务
设<formula>formula see original document page 10</formula> 即处理器Pi上tu的后继任务集。假定对于EKij 中的任务来说存在h个不同的最晚结束时间,被标示为E》E》…〉Eh。 然后借助以下过程计算Gu:
如果/,那么&
从没有前趋的任务16开始并且在每个步骤处理其前趋已经被处 理的那些任务16:
设<formula>formula see original document page 10</formula>即处理器Pi上tu的前趋任务集。假定对于Bku 中的任务来说存在h个不同的最早开始时间,被标示为B《B2《.《Bh。 然后借助以下过程计算Fu:
<formula>formula see original document page 11</formula> (8)
在用于获得每个任务16和消息28的最早开始时间和最晚结束时 间的以上算法中,确定Gij以确保处理器pi的每个后继任务tij能够完成 并且满足其自己的最晚结束时间。因为在后继任务之中可能存在偏 序,必须特别注意当计算Gij时那些任务在相同的处理器12或14中执
行的事实。例如,假定存在任务tu的两个后继任务tn和tn,并且在 tu和ti2之间没有相关性。设E产4并且E产3分别是tn和ti2的最晚结束时 间,并且Ci产2和Ci产l是它们各自的最糟情况执行时间。通过设Gi产min (E广Cn, E2-Ci2) = 2,于是它不正确。因为两个任务的总执行时间 为三并且时间窗是E广Gi产2,显然从时间Gi产2开始,t"和ti2在相同的 处理器12或14上在它们的结束时间之前都无法结束。当考虑到那些 任务由相同的处理器12或14执行时,在Gij的以上算法中所给出的过 程是正确的。易于确定通过按照所述过程,对于以上例子来说Gi尸O 是正确的。依照以上算法还向Fij提供了类似的过程。
然后在框54,所述算法根据消息28的传输时间窗来为每个处理器 12、 14标识用于每个任务16的执行时间窗,其消息将在总线26上被 发送。在一个实施例中,以下算法根据任务16的结果的消息传输时 间窗(特别是wbij和weij)来计算用于在处理器12和14中执行单个任 务的时间窗。对于总线26上的消息任务mij-u来说,wbij-k产bij-u并且 weu-u-eij-H,并且对于每个非总线处理器pi上的任务tij来说,从在处 理器Pi上没有后继的任务16开始并且在每个步骤处理那些在pi上的 后继已经被处理的任务16
<formula>formula see original document page 11</formula>对于每个非总线处理器Pi上的任务tij来说,从在处理器Pi上没有
前趋的任务16开始并且在每个步骤上处理那些其前趋在处理器pi上 已经^皮处理的任务16: <formula>formula see original document page 12</formula>
否则
在以上计算weu中,当任务tij在其它处理器12、 14上没有任何直 接后继时,还可以使用3&,rj,W—m^『,膽^mink,min ,(,,广C,)来 代替在算法中所使用的那些。在算法中此判定的意图在于当任务tij 在其它处理器12和14上没有任何直接后继时,把所述任务tu与其在 相同的处理器12或14上的后继相组合,即所述任务tu作为用于计算 使用请求函数的一个超级任务,其通过试图向两个任务分配相同的 使用窗来提供。因为主要目的是为总线26上的消息标识时间窗,使 得可以使每个处理器12、 14上的调度去耦合,所以此时并不调度每 个单个任务16。在优化用于所述消息的时间窗之后执行在每个单个 处理器12、 14上的任务调度。这里,确定用于每个任务16的处理器 使用窗导致计算使用请求函数,其稍后被用来确定在总线26上的消 息的优化时间窗。
因为任务tij在其它处理器12、 14上没有直接后继,这意味着它 不会直接影响总线26上的消息的时间窗,所以自然接着希望通过向
tij及其后继分配相同的使用窗来将tij与其后继组合以便计算使用请
求函数,这最终可能会有助于简化为所述总线26上的消息来确定所 优化的时间窗。当任务tu在其它处理器12、 14上没有任何直接前趋 时,这也适用于在算法中判定wbij的计算。
定bu-u和eu-",即如何确定bij-u和eu-n使得在每个处理器12、 14上调
^变。换句:说,、'确定时间窗是约束优:问题:其中;述约束由方
程式(1 ) - ( 4 )提供,并且优化目的是可调度性和可扩展性。
依照本发明,定义了可调度性和可扩展性的目标函数,所述目标 函数包括每个处理器12和14的峰值使用请求和平均处理器使用请 求。特别地是,在框56,根据所标识的任务执行时间窗,所述算法 导出每个处理器12和14的使用请求函数,继而计算每个处理器12和 14的峰值使用请求和平均使用请求。首先,每个任务tu,fu ( t): [O,T] — R的使用请求函数被定义为 <formula>formula see original document page 13</formula>
其中T是通用的周期,R是实数集,Cu是tu的最糟情况执行时间,并 且[wbij, weij]是由tij所请求的处理器使用窗,其根据消息传输窗来 确定。
根据每个任务16的使用请求函数,每个处理器pi的使用请求函 数,gi ( t) :
—Ri被定义为
<formula>formula see original document page 13</formula> (12)
然后,每个处理器12、 14的峰值使用请求被确定为
<formula>formula see original document page 13</formula> (13)
根据方程式(11)和(12):
<formula>formula see original document page 13</formula> (14)
每个处理器12、 14的平均使用请求被定义为
<formula>formula see original document page 13</formula> (15)
由于KA(W^c,,那么
<formula>formula see original document page 13</formula> (16)
然后在框58,所述算法根据用于使峰值和平均处理器使用请求最 小化的目标函数来优化在它们最早开始时间和最晚结束时间内的消 息传输时间窗以便提供所想要的可调度性和可扩展性。在一个实施 例中,消息时间窗优化的目标函数被定义为
其中Z;:,",-i, (Xi是处理器pi的权重并且由系统设计员来确定。通常
oci-l/m。如果处理器的可调度性和可扩展性更为重要,那么可以增 加所述处理器的相应权重。目标函数向系统10中的所有处理器12、 14给予峰值使用请求和平均使用请求。 .确
所述资源的争用级别。如果可以在所有资源之中并且在整个执行周 期平衡使用请求,那么可以在每个处理器/总线上以及在整个执行周 期中的每个时间减少资源争用,这使每个单个处理器/总线的调度更 为容易。因为减少了资源争用,所以更易于在不改变调度的情况下 在现有的调度内添加任务/处理器。从而,以上目标函数获得了所想 要的可调度性和可扩展性。
数的优化,其受方程式(1 ) - ( 4 )约束,为
min 0(仑〉一
(18)
图3是用于图示如何为处理器定义方程式(12)的使用请求函数 以及怎样定义方程式(17)的目标函数的图。其执行时间窗重叠的
任务tu和tn将由处理器p!执行并且任务tn将由处理器p2执行。因为任 务tu必须在任务tn之前执行,所以在任务tu和任务t"的执行时间窗
之间定义消息时间窗m! i - i 2 。据此在图中示出了处理器p i的使用请求函
数,如上所述根据所述使用请求函数来计算目标函数。
在框60,根据所优化的消息传输时间窗,所述算法然后通过使用
任何适当的已知单处理器调度技术来执行用于每个处理器12、 M和 总线26的独立任务调度。特别地是,在为所有消息28优化消息时间 窗之后,可以通过把wa义&力,"—".,《弁fe『力"和 "—",分别用为处理器Pi的任务t u的新的到达时间和新的 截止时间来独立地解决在每个处理器12、 14中调度任务16,其中 i=l, …,m, 并且』=1, …,rii, 这是因为在tqr、 nw—ij、 tij、 mij-ki和 tH之中的相关性受新的到达时间和新的截止时间的强制。任何几种 和现有适当的单处理器调度方法可以用于在每个单个处理器12和14 中调度任务16。注意,在相同处理器的任务16之中的相关性不受新 的到达时间和新的截止时间的强制。此外,只有在处理器12和14的 任务16之中的相关性受新的到达时间和新的截止时间的强制。换句 话说,在单处理器调度过程中,仍然必须考虑相同处理器中的任务 相关性。
一旦在框5 8如上所述为每个消息确定每个消息的优化时间窗,本 发明的另 一 实施例就确定了实际上在所优化时间窗中的哪个时隙会
在总线2 6上发送消息2 8 ,使得所述消息在时间上相间隔以允许其它 消息在稍后时间被插入到调度中(如果想要的话)以便进一步增加 可调度性。应当强调,在流程图50中所示出的上述过程不必使用以 下时隙重新分配过程,这是由于可以使用其它时隙分配过程。在上 述用于使处理器12和14去耦合的过程中也不必使用下述时隙重新分 配过程。
可以如下进一步描述本发明的此实施例的调度技术。假定时间触 发的通信总线的传输周期由N个时隙组成,其中存在m个消息要在所
述N个时隙中调度以便传输。对于每个消息m来说,A" Dm和Cm分别是
其到达时间、截止时间和传输时间。注意,Am、 Dm和"都是整数,并 且借助时隙的数目来量度。在消息m之中也存在先后关系,所述先后 关系以"消息i在消息j之前"或简单地"i在j之前"的形式来表示。 消息28必须在时隙中发送,即确定什么时隙用来发送什么消息m,使 得满足所有截止时间并且满足所有先后关系。还希望所述调度是可 扩展的,即如果在实现系统10之后需要一些改变,诸如为了升级而 添加或删除处理器或添加或删除任务,那么不影响对总线26上其余 消息m的调度。例如,如果在一个处理器12、 14改变任务集或者把新 的处理器添加到系统IO,那么此改变必须不得影响对总线26上其余 消息28的调度。如果可以在不影响传输现有消息的情况下在总线26 上发送新消息m,那么对于现有消息m的调度不需要任何改变,这意 味着用于那些相应处理器12、 14的任务调度保持不变。否则,可能
必须为整个系统重建调度,这可能是非常昂贵的。
为了对在时间触发的总线上的消息提供上述可扩展的调度,依照 本发明的此实施例,执行两步骤过程。图4是示出用于为消息重新分 配时隙以便提供可扩展性的过程的流程图62。首先在框64,所述算 法使用适当的算法在所优化的消息时间窗内导出用于时间触发的总 线26的初始消息调度。换句话说,所述算法确定对在时间触发的总 线26上的消息传输的调度以便在时隙中调度所述消息,使得依照如 上所述方式满足所有截止时间和在先约束。在本领域中已知用于导 出对具有先后关系和不同到达时间的任务集进行调度的适当算法。 例如,文章J. Blazewicz,"Scheduling Dependent Tasks with
Different Arrival Times to Meet Deadlines" , E.Gelenbe, Ed., Modeling and Performance Evaluation of Computer Systems (计 算机系统的建模和性能评估),North-Hol land Publishing Company (北荷兰出版社)(1976 )公开了一个这种例子。在此文章中,修 正在先后关系中所涉及的任务16的到达时间和截止时间,使得所述 先后关系由所修正的到达时间和截止时间来强制。
接下来,最早截至时间最先(earliest-deadline-first EDF ) 调度方法在没有先后关系的情况下被用于具有所修正到达时间和截 止时间的任务集。通过从没有后继的任务16开始并且在每个步骤处 理那些其后继已经被处理的任务以修正截止时间的任务来修正所述 到达时间和截止时间。在下列方程式中示出了此步骤。
<formula>formula see original document page 16</formula>(19) 从没有前趋的任务开始并且在每个步骤处理那些其前趋已经被
处理的任务,到达时间;陂修正为
<formula>formula see original document page 16</formula> (20)
方程式(19)和(20)标识在传输周期中何时发送消息28的次序。 例如,图5示出了包括十个时隙72的时间周期70,其中在时间周期70 期间发送每个消息nn、 m2和m3。由于在每个时间周期70期间发送消息 m广m3,所以时间周期70重复自身。在此例子中,才艮据以上讨论,必 须在包括时隙2和3的时间窗内发送消息iih,必须在包括时隙3-5的时 间窗内发送消息flh并且必须在包括时隙4-8的时间窗内发送消息m3, 以便满足上述截止时间和在先约束。由于不同类型的消息和消息m广 ni3的优先级,所以用于所述消息im-m3的时间窗长度是不同的。对于时 间周期70来说,给消息nn分配时隙2,给消息m2分配时隙3,并且给消 息m 3分配时隙4,其在每个时间窗周期期间开始时满足它们的时间要 求,但是根据其它在先约束不允许在消息iih和m2、消息nn和ni3以及消 息m2和m3之间提供未来的消息。
在第二步骤中,所述算法然后在不违反原始调度的消息次序的情 况下在传输周期70内重新分布消息28,使得仍然满足在先约束,并 且在不违反消息截止时间的情况下,使得所述消息28被尽可能均匀 地分配在传输周期70内。第二步骤的目的是为了可扩展性。因为未
来消息的到达时间和截止时间是未知的,所以假定稍后添加的消息
的到达在传输周期70上均匀地分布。如果现有消息被尽可能均匀地 分布在传输周期70内,那么更可能找到适当的未占用时隙72来用于 稍后添加的消息以便升级。因此,减少了必须改变对其余消息的调 度的机率。
假定调度中消息m的传输次序是(1, 2, ..., M)并且时隙分配 是k《k《...<kM,即消息j被调度到时隙kj中。为了提供可扩展性,必
须在不违反消息截止时间的情况下以及在不违反由初始调度所确定 的消息传输次序的情况下在传输周期70内尽可能均匀地重新分配消 息28。
可以借助如下优化模型提供用于重新分配消息的过程。设X[j] 是消息j在重新分配之后所分配的时隙号。于是将重新分配公式化 为
最小化k帥。M<formula>formula see original document page 17</formula>条件^<formula>formula see original document page 17</formula>如果要求对于每个j来说X[j]为整数,那么方程式(21)变为整 数规划问题。为了优化,X[j]允许为实数,并且然后所述优化变为 二次规划问题,其可以由现有算法来更有效地解决。在框66,所述 算法根据用于重新分配消息的方程式(21)来求解用于初始消息调 度的二次规划问题。然后在框68,所述算法把所述解的实数向下舍 入到最近的整数并且返回该解作为可扩展的消息调度。
返回参照图5,包括时隙80的第二时间周期78示出如何借助方程 式(21 )在传输周期78中重新分配消息m!-m3。特别地是,仍然把消 息nn分配给时隙2 ,但是把消息iih分配给时隙5并且把消息ni3分配给时 隙8。在此重新分配中,所有消息im-m3在它们所分配的时间窗期间发 送,但是在时隙2和5之间空着时隙3和4,在时隙5和8之间空着时隙6 和7,并且在时隙8和2之间空着时隙9、 IO和I,从而允许稍后在不改 变消息m厂m3的调度的情况下把其它消息插入到这些空的时隙中。
以上论述仅仅公开并描述了本发明的示例性实施例。本领域技术 人员根据这类论述和附图以及权利要求可以容易地认识到,在不脱 离如以下权利要求所限定的本发明的精神和范围的情况下可以进行 各种改变、修改和变化。
权利要求
1.一种用于在时间触发的总线上调度消息的方法,所述方法包括确定用于在所述时间触发的总线上把所述消息分配到时隙的初始消息调度;并且在所述时隙中重新分配所述消息以便在所述消息之间提供未使用的时隙。
2. 如权利要求l所述的方法,其中确定所述初始消息调度包括 修正所述消息的到达时间和截止时间使得强制先后关系。
3. 如权利要求2所述的方法,其中确定所述初始消息调度包括 使用最早截至时间最先调度来在不改变先后关系的情况下改变所述 到达时间和截止时间。
4. 如权利要求2所述的方法,其中修正所述到达时间和截止时 间包括使用以下方程式来修正所述截止时间Dk'-min(Dk,min(Dj'-Cj;对于所有"k在j之前"的j)), 并JU吏用以下方程式来修正所述到达时间Ak^max(Ak,maxUj'+Cj;对于所有"j在k之前"的j)), 其中D是所述截止时间,A是所述到达时间并且C是最糟情况的执行时 间。
5. 如权利要求l所述的方法,其中在所述时隙中重新分配所述 消息包括对二次优化问题求解。
6. 如权利要求5所述的方法,其中所述二次优化问题是最小化<formula>see original document page 2</formula>条件<formula>see original document page 2</formula>。
7. 如权利要求5所述的方法,进一步包括把所述二次优化问题的实数解向下舍入到最接近的整数。
8. 如权利要求l所述的方法,其中在所述时隙中重新分配所述 消息包括在所述时隙中重新分配所述消息使得所述消息在时间周期 内基本上均匀地间隔。
9. 一种用于在时间触发的总线上调度消息的方法,所述方法包括确定用于在所述时间触发的总线上把所述消息分配到时隙的初 始消息调度,所述初始消息调度包括使用最早截至时间最先调度过程;并且在所述时隙中重新分配所述消息以便在所述消息之间提供未使 用的时隙,其中在所述时隙中重新分配所述消息包括对二次优化问 题求解,并且把所述二次优化问题的实数解向下舍入到最接近的整 数。
10. 如权利要求9所述的方法,其中确定所述初始消息调度包括 修正所述消息的到达时间和截止时间使得强制先后关系并且应用最 早截至时间最先调度过程以便在不改变先后关系的情况下改变所述 截止时间的到达时间。
11. 如权利要求10所述的方法,其中修正所述到达时间和截止时间包括使用以下方程式来修正所述截止时间D/=min(Dk,min{Dj*-Cj;对于所有"k在j之前,,的j)),并且使用以下方程式来修正所述到达时间Ak、max(Ak,max(Aj'+Cj;对于所有"j在k之前"的j)),其中D是所述截止时间,A是所述到达时间并且C是最糟情况的执行时间。
12. 如权利要求9所述的方法,其中所述二次优化问题是最小化k产歸-,+" 一—++义[1]—x[M]—.条件^47.《2 i^对于7' = 1,2,.."MSIXL/] +1《+ l]对于)=1,2,…,(似—1)。
13. 如权利要求9所述的方法,其中在所述时隙中重新分配所述 消息包括在所述时隙中重新分配所述消息使得所述消息在时间周期 内基本上均匀地间隔。
14. 一种用于在时间触发的总线上调度消息的系统,所述系统 包括用于确定用于在所述时间触发的总线上把所述消息分配到时隙 的初始消息调度的装置;和用于在所述时隙中重新分配所述消息以便在所述消息之间提供 未使用的时隙的装置。
15. 如权利要求14所述的系统,其中用于确定所述初始消息调 度的装置包括用于修正所述消息的到达时间和截止时间使得强制先 后关系的装置。
16. 如权利要求15所述的系统,其中用于修正所述消息的到达 时间和截止时间的装置包括用于使用最早截至时间最先调度过程的 装置。
17. 如权利要求14所述的系统,其中用于在所述时隙中重新分 配所述消息的装置包括用于对二次优化问题求解的装置。
18. 如权利要求17所述的系统,其中用于对所述二次优化问题 求解的装置包括用于把所述二次优化问题的实数解向下舍入到最接 近的整数的装置。
19. 如权利要求17所述的系统,其中所述二次优化问题是<formula>see original document page 4</formula>
20. 如权利要求14所述的系统,其中用于重新分配所述消息的 装置包括用于在所述时隙中基本上均匀地间隔所述消息的装置。
全文摘要
一种用于在分布式实时嵌入系统中在时间触发的总线上调度消息的调度算法。所述算法首先确定用于把消息分配到总线上的时隙的初始消息调度使得强制预定的先后关系。在一个实施例中,所述算法使用最早截至时间最先调度来确定初始消息调度。然后所述算法在所述时隙中重新分配消息以便在所述消息之间提供未使用的时隙。在一个实施例中,重新分配所述消息包括对二次优化问题求解。还在所述时隙中重新分配消息使得它们基本上被均匀地间隔。
文档编号G06F15/16GK101208687SQ200680022762
公开日2008年6月25日 申请日期2006年3月17日 优先权日2005年4月22日
发明者姜胜兵 申请人:通用汽车环球科技运作公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1