趙天鶴,熊華鋼,程子敬,李 峭
(1.北京航空航天大學(xué),a.大型飛機(jī)高級(jí)人才班; b.電子信息工程學(xué)院,北京 100191;2.北京衛(wèi)星信息工程研究所國(guó)家重點(diǎn)實(shí)驗(yàn)室,北京 100080)
時(shí)間觸發(fā)協(xié)議(Time-Triggered Protocol,TTP)是分布式容錯(cuò)實(shí)時(shí)系統(tǒng)電子模塊互連的實(shí)時(shí)通信協(xié)議[1]。TTP主要用于各種航空航天應(yīng)用,例如波音787發(fā)電系統(tǒng)和環(huán)境控制、空中客車A380的機(jī)艙壓力系統(tǒng)以及Aermacchi M-346 的全權(quán)數(shù)字發(fā)動(dòng)機(jī)控制(FADEC)系統(tǒng)等。
節(jié)能環(huán)保的“綠色航電”理念已經(jīng)開始滲入到航空電子系統(tǒng)設(shè)計(jì)的各個(gè)層面[2],在實(shí)時(shí)應(yīng)用條件下,有關(guān)通信的能量有效性研究關(guān)注于能量有效調(diào)度問題;文獻(xiàn)[3]基于具有并行度的調(diào)度提出靜態(tài)電源管理方法,配合兩個(gè)動(dòng)態(tài)電源管理方法(貪婪法和空隙填補(bǔ)法)來節(jié)省盡可能多的能量;文獻(xiàn)[4]權(quán)衡了能量有效和可靠性,提出一種約束邏輯編程算法對(duì)比了不同動(dòng)態(tài)錯(cuò)誤下能量有效和可靠性的相互制約;文獻(xiàn)[5]提出了一種啟發(fā)式能量意識(shí)隨機(jī)任務(wù)調(diào)度算法(ESTS),比過去的多種能量有效的調(diào)度方法節(jié)省更多的能量。
上述研究提出了信號(hào)電平和信號(hào)頻率影響數(shù)字電路系統(tǒng)能耗公式,并加以改進(jìn),但較少關(guān)注將能量有效目標(biāo)直接用于指導(dǎo)航空電子綜合化系統(tǒng)的調(diào)度問題。具體到TTP總線網(wǎng)絡(luò),既有的可調(diào)度性分析方法[6]包括靜態(tài)單一消息(SM)、靜態(tài)多消息(MM)、動(dòng)態(tài)消息(DM)和動(dòng)態(tài)分片(DP)消息分配模型??紤]文獻(xiàn)[3-5]提出的能量有效策略,給出適合碼元速率調(diào)整的靜態(tài)分片(SP)分配模型,提出一種以能量有效為優(yōu)化目標(biāo)的消息調(diào)度表生成方法。該方法可用于計(jì)算降頻節(jié)能的調(diào)度裕量,通過組合優(yōu)化得到每個(gè)節(jié)點(diǎn)包含的調(diào)度裕量的最優(yōu)分配方案,對(duì)周期消息調(diào)度表進(jìn)行降頻節(jié)能優(yōu)化。
隨著航空電子綜合化設(shè)計(jì)向微小型化智能系統(tǒng)發(fā)展,時(shí)間觸發(fā)互連協(xié)議將應(yīng)用于芯片之間(off-chip)甚至是芯片內(nèi)部(on-chip)[7-8],在這些應(yīng)用場(chǎng)景中將應(yīng)用主頻更高的網(wǎng)絡(luò)協(xié)議處理單元,能量消耗對(duì)于碼元速率的變化更加敏感,本文方法有望對(duì)未來微小型智能航電系統(tǒng)的綜合設(shè)計(jì)提供參考。
TTP網(wǎng)絡(luò)采用總線式結(jié)構(gòu)將各個(gè)嵌入式節(jié)點(diǎn)聯(lián)接為分布式系統(tǒng)。TTP節(jié)點(diǎn)由主機(jī)、通信網(wǎng)絡(luò)接口(CNI)和TTP控制器組成,其中,在一個(gè)集群中,發(fā)送節(jié)點(diǎn)從CNI接口獲得帶有狀態(tài)信息的消息數(shù)據(jù)后,立即組幀并發(fā)送給其他需要接收的節(jié)點(diǎn)。每個(gè)節(jié)點(diǎn)的發(fā)送時(shí)間被保存在事先設(shè)定好的消息描述列表(Message Descriptor List,MEDL)中[1]。MEDL是TTP/C控制器的調(diào)度矩陣,用來描述節(jié)點(diǎn)數(shù)據(jù)收發(fā)消息等相關(guān)屬性,存儲(chǔ)在控制器RAM中,如圖1所示。
圖1 TTP總線構(gòu)架圖Fig.1 TTP bus structure
在高安全性領(lǐng)域,一般采用雙冗余通道互連,通過相互冗余的通信通道連接的TTP節(jié)點(diǎn)形成一個(gè)集群,采用時(shí)分多路訪問(TDMA)方法組織總線通信。一個(gè)集群包含多個(gè)TDMA round,各個(gè)TDMA周期的時(shí)隙劃分是固定的。給定的節(jié)點(diǎn)可以按靜態(tài)配置占據(jù)各個(gè)周期中的某個(gè)時(shí)隙,或占據(jù)集群中某個(gè)周期的固定時(shí)隙(虛擬時(shí)隙);占據(jù)時(shí)隙的節(jié)點(diǎn)具有在總線上發(fā)送消息的能力,其他節(jié)點(diǎn)可以偵聽接收到總線上的消息。
當(dāng)沒有數(shù)據(jù)需要發(fā)送時(shí),傳統(tǒng)的TTP網(wǎng)絡(luò)的物理層處于MARK狀態(tài),對(duì)應(yīng)于沒有被消息占據(jù)的時(shí)隙,發(fā)送方發(fā)送填充字符,以保持碼元同步;在更高的協(xié)議層次,這些填充對(duì)應(yīng)于SAE AS6003標(biāo)準(zhǔn)規(guī)定的在沒有數(shù)據(jù)幀(N幀)傳輸時(shí)填充發(fā)送初始化幀(I幀)[9],盡管此時(shí)并不需要初始化操作。
對(duì)于實(shí)用的航電互連設(shè)計(jì),為了保證全生命周期的可擴(kuò)展性,總線利用率往往留有可觀的余量??梢岳脮r(shí)間資源余量降低傳輸真正數(shù)據(jù)負(fù)載的能量消耗,且保證其不超出其應(yīng)占據(jù)的時(shí)隙區(qū)間,這就契合了綠色航電的設(shè)計(jì)理念,而實(shí)現(xiàn)的難點(diǎn)在于找到一種復(fù)雜度可以接受的能量有效消息組織的方法。
由上說明,由于TTP總線是靜態(tài)調(diào)度的,余量的利用不會(huì)影響可擴(kuò)展性,當(dāng)新型號(hào)的總線利用率提高時(shí),重新設(shè)計(jì)調(diào)度表就可以釋放已占用的余量。
承載數(shù)據(jù)的N幀最長(zhǎng)為240字節(jié),包含不到4字節(jié)的協(xié)議開銷(4 bit頭部+CRC校驗(yàn)24 bit)。消息包含一個(gè)或多個(gè)應(yīng)用數(shù)據(jù)單元,嵌入幀中;顯然,當(dāng)消息長(zhǎng)度較長(zhǎng)時(shí),需要多條幀共同完成消息的發(fā)送,而數(shù)據(jù)單元的組織也為消息的分片提供了可能。TTP網(wǎng)絡(luò)完全通過預(yù)設(shè)的調(diào)度表控制幀的發(fā)送時(shí)刻,并在接收端識(shí)別幀的類型。
文獻(xiàn)[6]介紹了消息調(diào)度的4種組織方法,其中有靜態(tài)調(diào)度方法,即靜態(tài)單一消息(SM)、靜態(tài)多消息(MM)兩種消息分配模型;另外,還有動(dòng)態(tài)調(diào)度方法,即動(dòng)態(tài)消息(DM)和動(dòng)態(tài)分片(DP)兩種消息分配模型。經(jīng)過對(duì)比,認(rèn)為在精確的時(shí)鐘同步基準(zhǔn)下,如果將MM模型進(jìn)一步擴(kuò)展,事先將MM分片,同樣通過靜態(tài)的調(diào)度表控制各個(gè)分片的發(fā)送時(shí)刻,不僅可以利用分片調(diào)度的靈活性進(jìn)一步提高可調(diào)度性,而且不必像DP調(diào)度那樣付出動(dòng)態(tài)決策的開銷。
因此,提出靜態(tài)分片模型(SP),由于TTP幀的協(xié)議開銷比例小,在調(diào)度表設(shè)計(jì)時(shí)可暫不考慮;實(shí)際工程中可以為每個(gè)時(shí)隙保留一定比例的開銷余量,將僅含純數(shù)據(jù)的消息封裝為實(shí)際的幀,所以在本文中只考慮僅含純數(shù)據(jù)的消息。SP模型的設(shè)計(jì)思路是消息在被發(fā)送到傳輸線之前,即被分成多個(gè)小分片,分別對(duì)分片進(jìn)行調(diào)度組織。因?yàn)楣?jié)點(diǎn)的時(shí)隙長(zhǎng)度在每個(gè)round中都是一樣的,并且時(shí)隙長(zhǎng)度應(yīng)當(dāng)大于最長(zhǎng)的消息長(zhǎng)度,所以采用靜態(tài)分片模型可以大大提高總線的利用率,并且更方便后面降頻節(jié)能的實(shí)現(xiàn)。
在保證通信性能的前提下動(dòng)態(tài)調(diào)整數(shù)字電路的電平和頻率,可以達(dá)到節(jié)能的目的[10];考慮到總線傳輸抗干擾的特殊性,本文方法僅采用降頻節(jié)能。
當(dāng)有調(diào)度裕量存在時(shí),傳統(tǒng)的總線傳輸會(huì)用無意義的碼元填充空閑時(shí)隙,這樣在無效數(shù)據(jù)傳輸時(shí)仍然耗能。考慮到實(shí)時(shí)通信主要關(guān)注消息傳輸?shù)慕刂蛊谙?,只要給定的消息能夠在截止期限之前發(fā)送到總線上,即使拉長(zhǎng)消息發(fā)送時(shí)間也可保證系統(tǒng)的性能,反之,提早完成傳輸沒有收益而且會(huì)增加緩存的負(fù)擔(dān)[10]。所以,只要能夠保證正好按時(shí)完成總線上各個(gè)消息的傳輸,就有望適當(dāng)、合理地動(dòng)態(tài)降低碼元發(fā)送頻率。
動(dòng)態(tài)降低碼元發(fā)送頻率增加了發(fā)送、接收器芯片實(shí)現(xiàn)的復(fù)雜度,為了在能量有效和實(shí)現(xiàn)復(fù)雜度之間獲得權(quán)衡,本文方法規(guī)定(如圖2所示):1)當(dāng)存在空閑時(shí)段,僅以偶數(shù)倍降低碼元頻率;2)只有在節(jié)點(diǎn)切換的邊沿,頻率才可以進(jìn)行改變。
TTP總線上的各個(gè)節(jié)點(diǎn)加載靜態(tài)的消息調(diào)度表,在精確時(shí)鐘定時(shí)下對(duì)于降頻節(jié)能方案具有一致的操作。
圖2 降頻調(diào)度圖示Fig.2 Illustration of down-frequency scheduling
本文設(shè)計(jì)的方案流程如圖3所示。首先要設(shè)定節(jié)點(diǎn)數(shù)、各個(gè)節(jié)點(diǎn)的消息數(shù)以及消息周期和消息長(zhǎng)度。在SP模型下,計(jì)算可用于降頻節(jié)能的調(diào)度裕量數(shù)。在先不考慮調(diào)度裕量時(shí),生成周期性消息調(diào)度表,然后通過組合優(yōu)化得到調(diào)度裕量分配給各個(gè)節(jié)點(diǎn)的最佳分配方案,生成優(yōu)化后的能量有效消息調(diào)度表。
值得說明的是,設(shè)SP模型下可允許的最小分片時(shí)間長(zhǎng)度Tmin由設(shè)計(jì)給定;不失一般性,令Tmin=1,并以其為單位,對(duì)round、消息周期、截止期限等參數(shù)的時(shí)間長(zhǎng)度進(jìn)行歸一化。
圖3 總體方案流程圖Fig.3 Flow chart of the overall scheme
降低碼元的發(fā)送頻率,相當(dāng)于拉長(zhǎng)消息的長(zhǎng)度,使之最接近它們的截止期限,就可以在保障調(diào)度性能的前提下降低功耗。設(shè)N個(gè)節(jié)點(diǎn)分時(shí)共享TTP總線的每個(gè)round,記為節(jié)點(diǎn)i(i=1,2,…,N)。設(shè)節(jié)點(diǎn)i的相對(duì)截止期限為Di,round的時(shí)間長(zhǎng)度記為D*,集群中含有round的數(shù)目為R。設(shè)計(jì)要求D*≤min(Di)。
由節(jié)點(diǎn)i發(fā)送的消息由二元組〈Pi,m,Ci,m〉表示,其中,參數(shù)Pi,m和Ci,m分別表示節(jié)點(diǎn)i的第m種消息的周期和長(zhǎng)度。
對(duì)于?m,令Di≤Pi,m,對(duì)Pi,m進(jìn)行規(guī)整
(1)
對(duì)于R的設(shè)定應(yīng)當(dāng)保證所有節(jié)點(diǎn)的所有消息都可以執(zhí)行完,定義
(2)
在消息靜態(tài)分片模型中,設(shè)消息是可以被分片的。以相同長(zhǎng)度的分片大小同時(shí)對(duì)消息和時(shí)隙進(jìn)行靜態(tài)分片分配。分片長(zhǎng)度T定義為
(3)
式中,n=?lbD*」,使得T∈[1,2),使之盡可能接近Tmin。實(shí)際的分片長(zhǎng)度T作為分配和利用調(diào)度裕量的單位,進(jìn)而對(duì)消息長(zhǎng)度規(guī)整為
(4)
如果不通過降頻利用調(diào)度裕量,節(jié)點(diǎn)i在每個(gè)
round中發(fā)送消息必需的分片數(shù)目為
(5)
可以得到round中可用來進(jìn)行降頻節(jié)能操作的調(diào)度裕量數(shù)目為
(6)
(7)
將集群周期內(nèi)的round標(biāo)記為r=1,2,…,R,時(shí)隙內(nèi)的分片位置標(biāo)記為g=1,2,…,Gi,則在節(jié)點(diǎn)i的時(shí)隙中任意分片的位置可用矩陣Sr×g表示。
節(jié)點(diǎn)消息分片調(diào)度安排算法如下。
andGi
Output:Sr×g,
(r=1,2,…,R;g=1,2,…,Gi)
fori=1 toNdo
fork=1 toKdo
num=0;
num=num+1;
end
else
break;
end
end
end
end
returnSr×g
算法中,通過find()函數(shù)進(jìn)行檢查,找到一組可行的位置,容納周期性重復(fù)的分片,并使其第一個(gè)位置在可行條件下最靠近調(diào)度表的起始點(diǎn)。
節(jié)點(diǎn)消息分片調(diào)度安排如圖4所示。其中,roundx(x=1,2,…,R)代表第x個(gè)round。相同顏色形狀的方框是同一個(gè)消息的周期性調(diào)度安排。
圖4 節(jié)點(diǎn)消息分片調(diào)度安排示意圖Fig.4 Illustration of node message SP scheduling
在SP模型下,由式(6)求得的調(diào)度裕量分片通過組合優(yōu)化分配給各個(gè)節(jié)點(diǎn),設(shè)各節(jié)點(diǎn)獲得裕量分片個(gè)數(shù)分別為L(zhǎng)1,…,Li,…,LN。當(dāng)Li=0,1,…,L時(shí),節(jié)點(diǎn)i耗能為Ei,Li。節(jié)點(diǎn)i在第x個(gè)round中消息分片數(shù)為li,x。
降低時(shí)序同步邏輯數(shù)字電路的電平和主頻,都可以降低其動(dòng)態(tài)功耗。由于降低總線電壓在實(shí)現(xiàn)上有一定困難,所以本文采用降頻節(jié)能的方法。設(shè)節(jié)點(diǎn)i分配得到Li個(gè)分片在第x個(gè)round中降頻后的頻率為fi,Li,x,參照文獻(xiàn)[3]的式(4),本文所討論的li,x和Li相當(dāng)于原文獻(xiàn)中的平行度為1時(shí)每個(gè)調(diào)度元素的長(zhǎng)度和分配給此調(diào)度元素的靜態(tài)裕量,未降頻的總線碼速率即是公式中的頻率fmax,可得
(8)
對(duì)li,x和Li以T為時(shí)間單位,并忽略常量fmax和轉(zhuǎn)換電容Cef,設(shè)ei,Li為簡(jiǎn)化的Ei,Li,簡(jiǎn)化的算式為
(9)
雖然式(9)失去了物理量綱的意義,但并不影響組合優(yōu)化問題的求解。下文中將ei,Li的單位統(tǒng)稱為“能量單位”,進(jìn)而可以得出所有節(jié)點(diǎn)的總耗能量為
(10)
(11)
得到最優(yōu)的調(diào)度裕量分片的分配方案。常規(guī)可以采用混合整數(shù)線性規(guī)劃(MILP)求解最優(yōu)分配,但考慮到TTP的調(diào)度表是離線生成的,可以采用復(fù)雜度較高但易于理解的方法,先枚舉計(jì)算各個(gè)節(jié)點(diǎn)的ei,Li,然后采用樹結(jié)構(gòu)遞歸[11]的方法求解式(11)。這里的算法偽代碼如下所示。
Global variable:LandNand {L1,L2,…,LN} and Minenergy
treesearch (energysum,Li,i)
end
end
else
ifLi<=L-Lusethen
Compare and Update Minenergy andLi;
end
else
Li++;
treesearch(energysum,Li,i);
end
end
return{L1,L2,…,LN}。
為了展示以能量有效為優(yōu)化目標(biāo)的消息調(diào)度表生成方法,這里選取某個(gè)節(jié)點(diǎn)數(shù)N為4的案例作為典型算例;隨后再給出擴(kuò)展節(jié)點(diǎn)數(shù)后能量有效TTP總線調(diào)度表優(yōu)化結(jié)果。
設(shè)節(jié)點(diǎn)消息數(shù)上限為10條,在實(shí)驗(yàn)中隨機(jī)生成4個(gè)節(jié)點(diǎn)的消息數(shù)以及每條消息的周期值,取D*=minDi=minPi,m,根據(jù)式(1)將消息周期以D*為單位進(jìn)行規(guī)整,如表1所示。
表1 規(guī)整后的消息周期(單位D*)Table 1 Regularized message cycle (the unit is D*)
根據(jù)式(4)將消息長(zhǎng)度以調(diào)度分片T為單位進(jìn)行規(guī)整,如表2所示,然后計(jì)算出所有消息長(zhǎng)度所需要的分片數(shù)量以及剩余的調(diào)度分片裕量。本案例中round數(shù)R為36,一個(gè)round的分片數(shù)為32,4個(gè)節(jié)點(diǎn)所需要的分片數(shù)量分別為2,5,3,3。剩余的調(diào)度裕量L有19條。
表2 規(guī)整后的消息長(zhǎng)度(單位T)Table 2 Regularized message length (the unit is T)
根據(jù)2.3節(jié)中節(jié)點(diǎn)周期性消息分片調(diào)度安排算法將節(jié)點(diǎn)的所有消息分片分配到各個(gè)節(jié)點(diǎn)時(shí)隙中。如圖5所示的節(jié)點(diǎn)消息分片調(diào)度表,相同的顏色代表同一個(gè)消息類,白色表示沒有消息,灰色用來分隔不同節(jié)點(diǎn),每個(gè)分片中消息的高度代表頻率,優(yōu)化前還未降頻節(jié)能,滿格表示最高頻率。
圖5 節(jié)點(diǎn)消息分片調(diào)度表Fig.5 SP scheduling of node message
通過枚舉法和樹結(jié)構(gòu)遞歸法求得不同調(diào)度裕量分配方案的耗能情況,如圖6所示。
圖6 不同調(diào)度裕量分配方案的耗能分布圖Fig.6 Energy consumption distribution map of different scheduling slack allocation schemes
由圖6可以看出,當(dāng)分配給4個(gè)節(jié)點(diǎn)的調(diào)度裕量{L1,L2,L3,L4}={2,7,5,5}時(shí),可以通過降頻節(jié)能方法節(jié)省最多的能量。選擇此分配方案并進(jìn)行降頻,得到能量有效優(yōu)化節(jié)點(diǎn)消息調(diào)度表,如圖7所示。
圖7 能量有效優(yōu)化節(jié)點(diǎn)消息調(diào)度表Fig.7 Energy-efficient optimal node message scheduling
通過式(10)、式(11)可以求得采用以能量有效為優(yōu)化目標(biāo)的消息調(diào)度表生成方法前后的能耗分別為232.0能量單位和38.4能量單位。
將典型算例中的節(jié)點(diǎn)個(gè)數(shù)由4節(jié)點(diǎn)擴(kuò)展到8節(jié)點(diǎn),其余不變。實(shí)驗(yàn)中得到調(diào)度裕量有5條,節(jié)點(diǎn)消息分片調(diào)度表和能量有效優(yōu)化節(jié)點(diǎn)消息調(diào)度表如圖8所示。
同樣可以求得采用以能量有效為優(yōu)化目標(biāo)的消息調(diào)度表生成方法前后的能耗分別為367.9能量單位和181.1能量單位。
圖8 8節(jié)點(diǎn)案例結(jié)果圖Fig.8 The case result of 8 nodes
本文結(jié)合“綠色航電”的理念提出一種以能量有效為優(yōu)化目標(biāo)的消息調(diào)度表生成方法,提出了靜態(tài)分片分配方法,將調(diào)度裕量組合優(yōu)化以耗能最小的分配方案分配給各個(gè)節(jié)點(diǎn),從而達(dá)到合理降頻節(jié)能的效果,并通過了仿真案例驗(yàn)證。針對(duì)本文的應(yīng)用對(duì)象TTP總線,該方法可以保證消息的可調(diào)度性。
微小型智能片上系統(tǒng)的片間甚至片內(nèi)的互連有望采用類似的時(shí)間觸發(fā)總線的實(shí)時(shí)通信方式[7],降頻等數(shù)字電路節(jié)能方法對(duì)于集成電路效果更加明顯[8],本文方法有望對(duì)未來微小型智能航電系統(tǒng)的綜合設(shè)計(jì)提供參考。
參考文獻(xiàn)
[1] 陳長(zhǎng)勝,劉智武,李曉慶,等.時(shí)間觸發(fā)總線時(shí)鐘同步技術(shù)研究[J].電光與控制,2017,24(6):74-78.
[2] TIANRAN Z,XIONG H.Design of energy-efficient hierarchical scheduling for integrated modular avionics systems[J].Chinese Journal of Aeronautics,2012,25(1):109-114.
[3]MISHRA R,RASTOGI N,ZHU D,et al.Energy aware scheduling for distributed real-time systems[C]//International Symposium on Parallel and Distributed Processing,IEEE Computer Society,2003.doi:10.1109/IPDPS.2003.1213099.
[4]POP P,POULSEN K,HARBO R,et al.Scheduling and voltage scaling for energy/reliability trade-offs in fault-to-lerant time-triggered embedded systems[C]//IEEE/ACM International Conference on Hardware/Software Codesign and System Synthesis,IEEE,2007:233-238.
[5]LI K,TANG X,LI K.Energy-efficient stochastic task scheduling on heterogeneous computing systems[J].IEEE Transactions on Parallel & Distributed Systems,2014,25(11):2867-2876.
[6] POP P,ELES P,PENG Z.Bus access optimization for
distributed embedded systems based on schedulability analysis[C]//Design,Automation and Test in Europe Conference and Exhibition,IEEE,2000:567-575.
[7] OLIVER R S,CRACIUNAS S S.Hierarchical scheduling over off-and on-chip deterministic networks[J].ACM SIGBED Review,2016,13(4):14-19.
[8] SCHOEBERL M.A time-triggered network-on-chip[C]//International Conference on Field Programmable Logic and Applications,IEEE,2007:377-382.
[9] SAE Aerospace.SAE AS6003 TTP communication protocol [S].[S.l.]:SAE International,2009.
[10] ZHAI B,BLAAUW D,SYLVESTER D,et al.The limit of dynamic voltage scaling and insomniac dynamic voltage scaling[J].IEEE Transactions on Very Large Scale Integration Systems,2005,13(11):1239-1252.
[11] 唐青松.深度優(yōu)先算法在創(chuàng)建樹形結(jié)構(gòu)中的應(yīng)用研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2014(9):226-229.