專利名稱:在時間觸發的總線上消息的可擴展調度的制作方法
技術領域:
本發明總體上涉及用于在時間觸發的總線上調度消息的過程并 且尤其涉及用于在分布式嵌入式系統中在時間觸發的總線上調度消 息的過程,所述過程包括確定用于在所述總線上把所述消息分配到 時隙的初始消息調度,繼而在所述時隙中重新分配所述消息以便在 所述消息之間提供未使用的時隙以用于未來的可擴展性,其中依照 所述初始消息調度滿足計時要求。
背景技術:
嵌入式系統在本領域中是已知的,其包括用于在時間觸發的通信 總線上彼此之間發送數字消息的多個分布式處理器。所述系統使用 被分配給每個單個處理器的軟件任務。由處理器所執行的任務在通 信總線上在處理器之間發送消息。因為所述總線是時間觸發的,所 以在所述總線上一次只發送一條消息。所述任務是周期性的并且具 有硬性截止時間,所述截止時間如果不被滿足的話可能會造成災難
性結果。例如,在汽車線路駕駛(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日
發明者姜勝兵 申請人:通用汽車環球科技運作公司