新四季網

在時間觸發的分布式嵌入式系統中任務的可擴展調度的製作方法

2023-04-25 17:09:26

專利名稱:在時間觸發的分布式嵌入式系統中任務的可擴展調度的製作方法
技術領域:
本發明總體上涉及用於在分布式時間觸發的嵌入式系統中調度 任務的過程,並且尤其涉及用於使用通用的通信總線在分布式實時 的時間觸發的嵌入式系統中調度處理器任務和消息任務的過程,其 中所述系統中的幾個處理器彼此被去耦合以便提供調度可擴展性。
背景技術:
嵌入式系統在本領域中是已知的,其包括用於在時間觸發的通信 總線上彼此之間發送數字消息的多個分布式處理器。所述系統使用 被分配給每個單個處理器的軟體任務。由處理器所執行的任務在通 信總線上在處理器之間發送消息。因為所述總線是時間觸發的,所 以在所述總線上一次只發送一條消息。所述任務是周期性的並且具 有硬性截止時間,所述截止時間如果不被滿足的話可能會造成災難性結果。例如,在汽車線路駕駛(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中的任務t11接收來自傳感器18的信號並 且在總線26上向處理器14中的任務t21發送消息m11-21, 所述任務t21向 致動器24發布命令。同樣,處理器14中的任務t21接收來自傳感器20的信號並且在總線26上向任務tl2發送消息m11 —12, 所述任務tl2向致動器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。任務集由= w,乂 = /,.., "^定義,
其中任務(%, 乂 = /,.. ,被分配給處理器Pi並且i;;:,",iv。對於每
個任務tu來說,Aij是其到達時間,Cij是其最糟情況執行時間,Dij是 其截止時間,並且Tu是其周期。執行任務16的次序具有已知的先後 關係。先後關係被表示為"tij在tw之前"(也被標示為tu—tu), 這意味著在一個周期內任務tij必須在任務tu之前執行。必須調度每 個處理器12、 14的任務執行,使得滿足所有截止時間,滿足所有在 先約束並且所導出的調度是可擴展的以用於稍後升級。
本發明的任務和消息調度是基於以下假設的,在任務16之間沒有 通信延遲,即任務tij的輸出可以在沒有延遲的情況下作為輸入被發 送到另一任務tu,並且所有任務16具有相同的周期,即對於所有的i 和j來說Ti屍T。第一假設源於這樣的事實,通信總線26可以被建模為 特定的處理器並且在總線26上所發送的消息28可以被視為要在總線 處理器上執行的任務。例如,如果由於先後關係"tu在tu之前"因 此任務tij必須在總線26上向任務tu發送消息mij-u,那麼所述總線26 可以被視為處理器Pb並且消息mij-u被視為要在pb上執行的任務。其到 達時間可以與tu的到達時間相同,其執行時間可以等於其傳輸時 間,其截止時間可以與h!的截止時間相同並且其周期可以與tu的周 期相同。先後關係"tu在t"之前"還由"tij在nhj-u之前,,以及"mij— u在tu之前"代替。
提供了第二假設,這是因為具有不同周期的任務始終可以被變換 為具有相同周期的任務。如果任務具有不同的周期,那麼只需要解 決對這種時間間隔的調度,其中所述時間間隔等於所有任務的周期 的最小公倍數。因此,在間隔內的每個任務的每次調用都被當做新 任務,並且所有新任務具有等於所有老任務的周期的最小公倍數的 相同周期。於是不去解決具有不同周期的老任務集的調度,而可以 解決具有相同周期的新任務集的調度。
為了解決上述可擴展的分布式調度,使用時間分片方式來去耦合對處理器12和14的調度。依照去耦合方法,對於總線26上的每個消 息mij-u來說,分配消息時間窗[bij-u, eij-u]以供其傳輸使得藉助時間 窗分配來滿足在處理器12和14之間的所有在先約束,並且滿足所有
必要的計時要求。特別地是,定義以下約束
bij-kl≥Bij-kl (1)
eij-kl-bij-kl≥Cij-kl (2)
eij-kl≤ Eij-kl (3)
complex formula see original document page 10 對於所有K≠i和h≠i (4)
在方程式(1) - (4)中,Bij-u和Eu-H分別是傳輸消息Dhj-u的最早開始時間和最晚結束時間。藉助下述算法來獲得Bij-u和Eij-u,所述算法確保在imj-u之前相關性鏈中的所有任務在Bij-"之前並且在消息到達之後完成,並且在mij-u之後相關性鏈中所有任務在Eij-u之後並且在消息截止時間之前完成。Cij-"是消息nhj—u的傳輸時間。方程式(2)表明時間窗[bu-H, eu—kl]比Cu-u更長^吏得在時間窗內發送消息flhj—u。c/^""是在t"和t"之間處理器Pi中的第q個任務鏈,"—LUw^^^ — ^+' — v—U-方程式(4 )表明在消息m"-" 和imj-ku之間在處理器pi中的任務依照相關性關係在時間窗mhv—"和nhj—ku之間的時間窗[ehV-u, bu-ku]內完成。注意,bij-u和eij-ki並非是nhj—ki傳 輸的精確開始時間和完成時間,並且[bij-kl, eu—u]只是在其內調度消 息mij-ki傳輸的時間窗,因jt匕bij-ki和eij-ki 可以^f皮視為消息nuj-u新的到達 時間和新的截止時間。
圖2是依照本發明示出用於確定嵌入式系統10的各個消息28和任務16的調度的算法操作的流程圖50。在框52,所述算法首先標識了 要在總線26上發送的每個消息的最早開始傳輸時間Bij和最晚結束傳 輸時間Eij。可以使用以下算法來獲得每個任務16和每個消息28的最 早開始時間Bij和最晚結束時間Eij,用於確保在相關性鏈中所有在先 任務能夠在時間Bij之前以及在它們的到達時間之後完成,並且在所 述相關性鏈中所有隨後繼務能夠在時間Eu之後以及在它們的截止時 間之前完成。在此算法中,總線26被視為處理器並且消息mij被視為 任務。
從沒有後繼的任務開始並且在每個步驟處理其後繼已經被處理 的那些任務
complex formula see original document page 11
設EKij = {til|ty→....→tij},即處理器pi上tij的後繼任務集。假定對於EKij 中的任務來說存在h個不同的最晚結束時間,被標示為E>E2>…>Eh。 然後藉助以下過程計算Gij:
complex formula see original document page 11
從沒有前趨的任務16開始並且在每個步驟處理其前趨已經被處 理的那些任務16:
complex formula see original document page 11
設EKij = {til|ty→....→tij},即處理器pi上tij的前趨任務集。假定對於Bku 中的任務來說存在h個不同的最早開始時間,被標示為B1<B2<.<Bh。 然後藉助以下過程計算Fij:
complex formula see original document page 11
在用於獲得每個任務16和消息28的最早開始時間和最晚結束時 間的以上算法中,確定Gu以確保處理器pi的每個後繼任務tij能夠完成 並且滿足其自己的最晚結束時間。因為在後繼任務之中可能存在偏 序,必須特別注意當計算Gij時那些任務在相同的處理器12或14中執 行的事實。例如,假定存在任務tij的兩個後繼任務tu和ti2,並且在 tn和ti2之間沒有相關性。設E產4並且E產3分別是tu和ti2的最晚結束時 間,並且Ci產2和C"-l是它們各自的最糟情況執行時間。通過設Gi產min (E廣C", E廣CiO = 2,於是它不正確。因為兩個任務的總執行時間 為三並且時間窗是E廣Gi屍2,顯然從時間Gi產2開始,tu和t"在相同的 處理器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-"並且 weij-n-eu-ki,並且對於每個非總線處理器pi上的任務tij來說,從在處 理器Pi上沒有後繼的任務16開始並且在每個步驟處理那些在pi上的 後繼已經被處理的任務16。
complex formula see original document page 12否則
其中complex formula see original document page 12。
對於每個非總線處理器Pi上的任務tij來說,從在處理器pi上沒有
前趨的任務16開始並且在每個步驟上處理那些其前趨在處理器pi上 已經被處理的任務16:
complex formula see original document page 12
在以上計算weu中,當任務tij在其它處理器12、 14上沒有任何直
接後繼時,還可以使用complex formula see original document page 12代替在算法中所使用的那些。在算法中此判定的意圖在於當任務tij在其它處理器12和14上沒有任何直接後繼時,把所述任務tu與其在 相同的處理器12或14上的後繼相組合,即所述任務tn作為用於計算 使用請求函數的一個超級任務,其通過試圖向兩個任務分配相同的 使用窗來提供。因為主要目的是為總線26上的消息標識時間窗,使 得可以使每個處理器12、 14上的調度去耦合,所以此時並不調度每 個單個任務16。在優化用於所述消息的時間窗之後執行在每個單個 處理器12、 14上的任務調度。這裡,確定用於每個任務16的處理器 使用窗導致計算使用請求函數,其稍後被用來確定在總線26上的消 息的優化時間窗。
因為任務tij在其它處理器12、 14上沒有直接後繼,這意味著它 不會直接影響總線26上的消息的時間窗,所以自然接著希望通過向 tu及其後繼分配相同的使用窗來將tij與其後繼組合以便計算使用請 求函數,這最終可能會有助於簡化為所述總線26上的消息來確定所 優化的時間窗。當任務tij在其它處理器12、 14上沒有任何直接前趨 時,這也適用於在算法中判定wbij的計算。
於是該問題仍然歸於為了所想要的可調度性和可擴展性如何確 定bij-kl和eij-kl,即如何確定bij-kl和eij-kl使得在每個處理器l2、14上調 度任務16更可行並且所導出的調度更加可擴展以便適應稍後升級的 改變。換句話說,確定時間窗是約束優化問題,其中所述約束由方 程式(1 ) - ( 4 )提供,並且優化目的是可調度性和可擴展性。
依照本發明,定義了可調度性和可擴展性的目標函數,所述目標 函數包括每個處理器12和14的峰值使用請求和平均處理器使用請 求。特別地是,在框56,根據所標識的任務執行時間窗,所述算法 導出每個處理器12和14的使用請求函數,繼而計算每個處理器12和 14的峰值使用請求和平均使用請求。首先,每個任務tij,fij ( t): [O,T] — R的使用請求函數被定義為
complex formula see original document page 13
其中T是通用的周期,R是實數集,Cij是tij的最糟情況執行時間,並且[wbij, weij]是由tij所請求的處理器使用窗,其根據消息傳輸窗來 確定。
根據每個任務16的使用請求函數,每個處理器pi的使用請求函 數,gi (t) :
—Ri被定義為 complex formula see original document page 14 (12)
然後,每個處理器12、 14的峰值使用請求被確定為
complex formula see original document page 14 (13)
根據方程式(11)和(12)
complex formula see original document page 14 (14)
每個處理器12、 14的平均使用請求被定義為
complex formula see original document page 14 (15)
由於complex formula see original document page 14 那麼
complex formula see original document page 14(16)
然後在框58,所述算法根據用於使峰值和平均處理器使用請求最 小化的目標函數來優化在它們最早開始時間和最晚結束時間內的消 息傳輸時間窗以便提供所想要的可調度性和可擴展性。在一個實施 例中,消息時間窗優化的目標函數被定義為
complex formula see original document page 14(17)
其中complex formula see original document page 14, oci是處理器pi的權重並且由系統設計員來確定。通常
cti-l/m。如果處理器的可調度性和可擴展性更為重要,那麼可以增 加所述處理器的相應權重。目標函數向系統10中的所有處理器12、 14給予峰值使用請求和平均使用請求。
利用使用請求來確定目標函數的原因在於資源使用請求值表示所述資源的爭用級別。如果可以在所有資源之中並且在整個執行周 期平衡使用請求,那麼可以在每個處理器/總線上以及在整個執行周 期中的每個時間減少資源爭用,這使每個單個處理器/總線的調度更
為容易。因為減少了資源爭用,所以更易於在不改變調度的情況下
在現有的調度內添加任務/處理器。從而,以上目標函數獲得了所想 要的可調度性和可擴展性。
時間窗優化現在可以被公式化為具有線性約束和非線性目標函數的優化,其受方程式(1) - (4)約束,為
complex formula see original document page 15(18)
圖3是用於圖示如何為處理器定義方程式(12)的使用請求函數 以及怎樣定義方程式(17)的目標函數的圖。其執行時間窗重疊的 任務tu和tu將由處理器pi執行並且任務tn將由處理器p2執行。因為任'
務t11必須在任務t12之前執行,所以在任務t u和任務tn的執行時間窗
之間定義消息時間窗IIhH2 。據此在圖中示出了處理器P:的使用請求函 數,如上所述根據所述使用請求函數來計算目標函數。
在框60,根據所優化的消息傳輸時間窗,所述算法然後通過使用 任何適當的已知單處理器調度技術來執行用於每個處理器12、 14和 總線26的獨立任務調度。特別地是,在為所有消息28優化消息時間 窗之後,可以通過把complex formula see original document page 15和complex formula see original document page 15分別用為處理器Pi的任務t ij的新的到達時間和新的 截止時間來獨立地解決在每個處理器12、 14中調度任務16,其中
i = l, …,m, 並且」=1, ... ,rii,這是因為在tq!:、IIlqr-ij、 tij、 IIlij-kl和
tu之中的相關性受新的到達時間和新的截止時間的強制。任何幾種
中調度任:i6 注意f在相同處i器的任務16之中的相關性不受新 的到達時間和新的截止時間的強制。此外,只有在處理器12和14的 任務l6之中的相關性受新的到達時間和新的截止時間的強制。換句 話說,在單處理器調度過程中,仍然必須考慮相同處理器中的任務 相關性。
一旦在框58如上所述為每個消息確定每個消息的優化時間窗,本 發明的另 一 實施例就確定了實際上在所優化時間窗中的哪個時隙會 在總線2 6上發送消息2 8 ,使得所述消息在時間上相間隔以允許其它 消息在稍後時間被插入到調度中(如果想要的話)以便進一步增加 可調度性。應當強調,在流程圖50中所示出的上述過程不必使用以 下時隙重新分配過程,這是由於可以使用其它時隙分配過程。在上述用於使處理器12和14去耦合的過程中也不必使用下述時隙重新分 配過程。
可以如下進一步描述本發明的此實施例的調度技術。假定時間觸 發的通信總線的傳輸周期由N個時隙組成,其中存在m個消息要在所 述N個時隙中調度以便傳輸。對於每個消息m來說,A" K和"分別是 其到達時間、截止時間和傳輸時間。注意,A"仄和Cm都是整數,並 且藉助時隙的數目來量度。在消息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 (計 算才幾系糹克的建才莫和寸生能評4古),North—Holland Publishing Company (北荷蘭出版社)(1976 )公開了一個這種例子。在此文章中,修
先後關係由所修正的到達時間和截止時間來強制。
接下來,最早截至時間最先(earliest-deadline-first EDF) 調度方法在沒有先後關係的情況下被用於具有所修正到達時間和截 止時間的任務集。通過從沒有後繼的任務16開始並且在每個步驟處到達時間和截止時間。在下列方程式中示出了此步驟。
complex formula see original document page 17 (19)
從沒有前趨的任務開始並且在每個步驟處理那些其前趨已經被處理的任務,到達時間被修正為
complex formula see original document page 17 (20)
方程式(19 )和(20 )標識在傳輸周期中何時發送消息28的次序。 例如,圖5示出了包括十個時隙72的時間周期70,其中在時間周期70 期間發送每個消息 mi、 m2和ni3。 由於在每個時間周期70期間發送消息 m廣m3,所以時間周期70重複自身。在此例子中,才艮據以上討論,必 須在包括時隙2和3的時間窗內發送消息m!,必須在包括時隙3 - 5的時 間窗內發送消息nh並且必須在包括時隙4-8的時間窗內發送消息m3, 以便滿足上述截止時間和在先約束。由於不同類型的消息和消息nn-m3的優先級,所以用於所述消息nh-m3的時間窗長度是不同的。對於時 間周期70來說,給消息nu分配時隙2,給消息nh分配時隙3,並且給消 息m3分配時隙4,其在每個時間窗周期期間開始時滿足它們的時間要 求,但是才艮據其它在先約束不允許在消息nh和nh、消息nh和m3以及消 息nh和m3之間提供未來的消息。
在第二步驟中,所述算法然後在不違反原始調度的消息次序的情 況下在傳輸周期70內重新分布消息28,使得仍然滿足在先約束,並 且在不違反消息截止時間的情況下,使得所述消息28被儘可能均勻 地分配在傳輸周期70內。第二步驟的目的是為了可擴展性。因為未 來消息的到達時間和截止時間是未知的,所以假定稍後添加的消息 的到達在傳輸周期70上均勻地分布。如果現有消息被儘可能均勻地 分布在傳輸周期70內,那麼更可能找到適當的未佔用時隙72來用於 稍後添加的消息以便升級。因此,減少了必須改變對其餘消息的調 度的才機率。
假定調度中消息m的傳輸次序是(1, 2, ..., M)並且時隙分配 是kKk《...<",即消息j被調度到時隙kj中。為了提供可擴展性,必
須在不違反消息截止時間的情況下以及在不違反由初始調度所確定 的消息傳輸次序的情況下在傳輸周期70內儘可能均勻地重新分配消 息28。
可以藉助如下優化模型提供用於重新分配消息的過程。設X[j] 是消息j在重新分配之後所分配的時隙號。於是將重新分配公式化 為
complex formula see original document page 18
如果要求對於每個j來說X[j]為整數,那麼方程式(21)變為整 數規劃問題。為了優化,X[j]允許為實數,並且然後所述優化變為 二次規劃問題,其可以由現有算法來更有效地解決。在框66,所述 算法根據用於重新分配消息的方程式(21)來求解用於初始消息調 度的二次規劃問題。然後在框68,所述算法把所述解的實數向下舍
入到最近的整數並且返回該解作為可擴展的消息調度。
返回參照圖5 ,包括時隙80的第二時間周期78示出如何藉助方程 式(21 )在傳輸周期78中重新分配消息im-m3。特別地是,仍然把消 息nn分配給時隙2,但是把消息m2分配給時隙5並且把消息iib分配給時 隙8。在此重新分配中,所有消息nn-m3在它們所分配的時間窗期間發 送,但是在時隙2和5之間空著時隙3和4,在時隙5和8之間空著時隙6 和7,並且在時隙8和2之間空著時隙9、 IO和I,從而允i午稍後在不改 變消息m廣m3的調度的情況下把其它消息插入到這些空的時隙中。
以上論述僅僅公開並描述了本發明的示例性實施例。本領域技術 人員根據這類論述和附圖以及權利要求可以容易地認識到,在不脫 離如以下權利要求所限定的本發明的精神和範圍的情況下可以進行 各種改變、修改和變化。
權利要求
1.一種用於在通信總線上調度消息以及調度將由嵌入式系統中的多個處理器執行的任務的方法,所述方法包括為要在所述總線上發送的每個消息標識最早開始傳輸時間和最晚結束傳輸時間以便為每個消息定義消息傳輸時間窗;根據所述消息傳輸時間窗來標識要由在所述系統中每個處理器執行的每個任務的任務執行時間窗;根據所述任務執行時間窗來確定所述處理器的使用請求函數;根據所述使用請求函數來確定每個處理器的峰值使用請求和平均使用請求;通過使所述峰值使用請求和平均使用請求最小化來在每個消息的最早開始傳輸時間和最晚結束傳輸時間內優化每個消息的消息傳輸時間窗;並且根據所優化的消息傳輸時間窗來為每個處理器獨立地調度所述任務。
2. 如權利要求l所述的方法,其中標識最早開始傳輸時間和最 晚結束傳輸時間包括從沒有後繼任務的任務開始的過程以及逐步地 處理那些其後繼任務已經被處理的任務。
3. 如權利要求l所述的方法,其中標識最早開始傳輸時間和最 晚結束傳輸時間以及標識任務執行時間窗包括確定滿足所述任務的 所有在先約束以及滿足所述消息的所有計時要求。
4. 如權利要求3所述的方法,其中所述在先約束和計時要求由 以下方程式定義bij-kl ≥Bij-k, l,eij-kl-bij-kl ≥Cij-kl,eij-kl≤Eij-kl,complex formula see original document page 2m, 對於所有K≠和H≠i其中Bij-kl是所述消息的最早開始時間,Eij-kl是所述消息的最晚結束時 間,bij-kl和eij-kl分別定義了消息傳輸時間窗的開始時間和結束時間, 並且Cij-kl是所述消息的傳輸時間。
5. 如權利要求l所述的方法,其中確定所述處理器的使用請求函數包括確定每個任務和每個處理器的使用請求函數。
6.如權利要求5所述的方法,其中確定所述處理器的使用請求 函數包括按照以下方程式來確定每個任務的使用請求函數fu (t):complex formula see original document page 3其中Cij是任務tij的最糟情況執行時間,wbij是任務tu的最早執行時 間,並且weu是任務tij的最晚結束時間。
7.如權利要求6所述的方法,其中確定每個處理器的使用請求 函數包括使用以下方程式其中gi ( t)是每個處理器的使用請求函數並且fu ( t)是每個任務的 使用請求函數。
8.如權利要求l所述的方法,其中確定峰值使用請求(PU)包 括使用以下方程式complex formula see original document page 3並且確定平均使用請求(AU)包括使用以下方程式:complex formula see original document page 3其中gi ( t)是每個處理器的使用請求函數,wbu是所述任務的最早執 行時間,並且Cij是所述任務的最糟情況執行時間。
9.如權利要求l所述的方法,其中優化所述消息傳輸時間窗包 括使用以下方程式complex formula see original document page 3其中b是消息時間窗的開始時間,e是消息時間窗的結束時間,oci是 所述處理器的權重,PUi是處理器時間窗的峰值使用請求並且AUi是所 述處理器的平均用戶請求。
10.如權利要求l所述的方法,進一步包括確定初始消息調度以便把所述消息分配到所優化消息時間窗中的時隙,並且在所述時隙 中重新分配所述消息以便在所述消息之間提供未使用的時隙。
11. 如權利要求10所述的方法,其中在所述時隙中重新分配所述消息包括在消息時間窗中基本上均勻地間隔所述消息。
12. —種用於在通信總線上調度消息以及調度將由嵌入式系統 中的多個處理器執行的任務的方法,所述方法包括為要在所述總線上發送的每個消息標識最早開始傳輸時間和最 晚結束傳輸時間以便為每個消息定義消息傳輸時間窗;根據所述消息傳輸時間窗來標識要由在所述系統中每個處理器 執行的每個任務的任務執行時間窗;在每個消息的最早開始傳輸時間和最晚結束傳輸時間內優化每 個消息的消息傳輸時間窗,以便使所述處理器的調度彼此去耦合; 並且根據所優化的消息傳輸時間窗來為每個處理器獨立地調度所述 任務。
13. 如權利要求12所述的方法,進一步包括根據所述任務執行 時間窗來確定所述處理器的使用請求函數並且根據所述使用請求函 數來確定每個處理器的峰值使用請求和平均使用請求,其中優化所 述消息傳輸時間窗包括使所述峰值使用請求和平均使用請求最小 化。
14. 如權利要求12所述的方法,其中標識最早開始傳輸時間和 最晚結束傳輸時間以及標識任務執行時間窗包括確定滿足所述任務 的所有在先約束以及滿足所述消息的所有計時要求。
15. 如權利要求12所述的方法,進一步包括確定初始消息調度 以便把所述消息分配到所優化消息時間窗中的時隙,並且在所述時 隙中重新分配所述消息以便在所述消息之間提供未使用的時隙。
16. —種用於調度通信總線上的消息以及調度將由嵌入式系統 中的多個處理器執行的任務的設備,所述設備包括用於為要在所述總線上發送的每個消息標識最早開始傳輸時間 和最晚結束傳輸時間以便為每個消息定義消息傳輸時間窗的裝置;用於根據所述消息傳輸時間窗來標識要由在所述系統中每個處 理器執行的每個任務的任務執行時間窗的裝置;用於根據所述任務執行時間窗來確定所述處理器的使用請求函數的裝置;用於根據所述使用請求函數來確定每個處理器的峰值使用請求 和平均使用請求的裝置;用於通過使所述峰值使用請求和平均使用請求最小化來在所述 消息的最早開始傳輸時間和最晚結束傳輸時間內優化每個消息的消 息傳輸時間窗的裝置;並且用於根據所優化的消息傳輸時間窗來為每個處理器獨立地調度 所述任務的裝置。
17. 如權利要求16所述的設備,其中用於標識最早開始傳輸時 間和最晚結束傳輸時間的裝置和用於標識任務執行時間窗的裝置包 括用於從沒有後繼任務的任務開始並且逐步地處理那些其後繼任務 已經被處理的任務的裝置。
18. 如權利要求16所述的設備,其中用於標識最早開始傳輸時 間和最晚結束傳輸時間的裝置以及用於標識任務執行時間窗的裝置 都包括用於確定滿足所述任務的所有在先約束以及滿足所述消息的 所有計時要求的裝置。
19. 如權利要求16所述的設備,其中用於確定使用請求函數的 裝置包括用於確定每個任務和每個處理器的使用請求函數的裝置。
20. 如權利要求16所述的設備,進一步包括用於確定初始消息 調度以便在總線上把所述消息分配到時隙的裝置,以及用於在所述 時隙中重新分配所述消息以便在所述消息之間提供未使用的時隙的裝置。
全文摘要
一種用於在分布式實時的時間觸發的嵌入式系統中調度處理器任務和消息傳輸的調度算法。所述算法標識要在總線上發送的每個消息的最早開始傳輸時間和最晚結束傳輸時間以便定義消息傳輸時間窗。然後所述算法按照消息傳輸時間窗來標識要在每個處理器中執行的每個任務的任務執行時間窗。然後所述算法通過使每個處理器的峰值使用請求和平均使用請求最小化來優化消息傳輸時間窗。所優化的傳輸時間窗使每個處理器能夠被獨立地調度。
文檔編號G06F9/46GK101203835SQ200680022662
公開日2008年6月18日 申請日期2006年3月17日 優先權日2005年4月22日
發明者姜勝兵 申請人:通用汽車環球科技運作公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀