郭 杰(西安航空學(xué)院計(jì)算機(jī)學(xué)院,西安,710077)
?
嵌入式實(shí)時(shí)軟件的能耗建模與分析
郭 杰
(西安航空學(xué)院計(jì)算機(jī)學(xué)院,西安,710077)
隨著嵌入式系統(tǒng)的發(fā)展,其在市場上的應(yīng)用越來越廣泛,關(guān)于嵌入式系統(tǒng)的軟件能耗已經(jīng)成為影響整個(gè)系統(tǒng)的關(guān)鍵因素。本文通過對(duì)嵌入式實(shí)時(shí)軟件的能耗建模與分析,希望減少軟件能耗,增強(qiáng)嵌入式系統(tǒng)的使用體驗(yàn)。
安全關(guān)鍵;嵌入式系統(tǒng);能耗建模
嵌入式系統(tǒng)是一種具有特定功能的系統(tǒng),其作為一部分鑲嵌入一個(gè)大的系統(tǒng)之中。嵌入式系統(tǒng)能夠根據(jù)產(chǎn)品的不同需要,對(duì)軟件或硬件進(jìn)行改變,如成本的改變,性能的改變。因?yàn)榍度胧较到y(tǒng)面對(duì)具體的應(yīng)用與客戶,因此在設(shè)計(jì)上呈現(xiàn)靈活性。其跟通用的計(jì)算機(jī)最大的不同就在于通用計(jì)算機(jī)的設(shè)計(jì)通用。其追求的是高速度、高帶寬、高存儲(chǔ)。而針對(duì)嵌入式系統(tǒng)來說,要求給定的任務(wù)在一定的時(shí)間內(nèi)能夠?qū)ν鈦硎录鞒隹焖俜磻?yīng)與處理,否則可能造成不可估量的后果。
在嵌入式系統(tǒng)中,能耗因素對(duì)其有重要影響,直接制約著嵌入式系統(tǒng)的服務(wù)周期。移動(dòng)嵌入式設(shè)備如手機(jī)等,采用的是電池供電的形式。電池荷載以及使用時(shí)長成為制約嵌入式設(shè)備質(zhì)量的關(guān)鍵。嵌入式系統(tǒng)內(nèi)有很少的計(jì)算存儲(chǔ)資源,跟通用計(jì)算機(jī)相比,其計(jì)算能力以及存儲(chǔ)資源因?yàn)槭艿匠杀镜挠绊?,因此都很小。一個(gè)嵌入式設(shè)備的內(nèi)存只有幾十KB或幾KB,數(shù)MHz的處理器也不鮮見。因此這就對(duì)軟件的效率以及性能提出了很高的要求,需要最大化利用可利用的資源。
上個(gè)世紀(jì)70年代末,計(jì)算機(jī)委員會(huì)召開了分布式計(jì)算機(jī)控制系統(tǒng)會(huì)議,會(huì)議上總結(jié)了分布式系統(tǒng)的研究成果。90年來以來互聯(lián)網(wǎng)快速發(fā)展,分布式系統(tǒng)因?yàn)槠湫詢r(jià)比高、配置靈活等優(yōu)勢得到了廣泛的應(yīng)用。然而,分布式系統(tǒng)在實(shí)時(shí)領(lǐng)域這一塊,仍然存在很多的難題。
分布式實(shí)時(shí)系統(tǒng)采用多個(gè)廉價(jià)的單處理機(jī)系統(tǒng)去代替高性能的、高集中的單芯片,以此實(shí)現(xiàn)復(fù)雜計(jì)算。在分布式實(shí)時(shí)系統(tǒng)中,提交的作業(yè)將會(huì)被拆分成多個(gè)子任務(wù),并通過任務(wù)調(diào)度算法將其分配合適的計(jì)算結(jié)點(diǎn)執(zhí)行。多機(jī)的互聯(lián)一定存在著相互通信的需求,通信的實(shí)時(shí)性、可靠性將會(huì)直接影響系統(tǒng)的功能,也就是實(shí)時(shí)通信會(huì)是分布式系統(tǒng)將會(huì)面臨的最關(guān)鍵問題。但是對(duì)于分布式實(shí)時(shí)嵌入系統(tǒng)來說,應(yīng)解決的并不是海量的數(shù)據(jù),而是如何有效控制任務(wù)在多個(gè)單機(jī)上進(jìn)行高效實(shí)時(shí)的通信。針對(duì)于武器系統(tǒng)作戰(zhàn)、汽車電子等行業(yè)都有重要意義。
在每個(gè)硬件的結(jié)點(diǎn)都有其自己的軟件,或者是通過中間軟件共享資源。在每個(gè)結(jié)點(diǎn)都有一個(gè)或多個(gè)處理器、FPGA等,結(jié)點(diǎn)之間的差異為異構(gòu)性,由此組成系統(tǒng)成為異構(gòu)的分布式實(shí)時(shí)嵌入式系統(tǒng)。計(jì)算結(jié)點(diǎn)之間通過網(wǎng)絡(luò)或系統(tǒng)總線互聯(lián),異構(gòu)結(jié)點(diǎn)件的通信通過網(wǎng)關(guān)等實(shí)行協(xié)議格式的轉(zhuǎn)換。
計(jì)算機(jī)的結(jié)點(diǎn)是物理分布的,分布的距離根據(jù)不同的應(yīng)用決定。例如汽車電子,異構(gòu)結(jié)點(diǎn)分布在整個(gè)汽車內(nèi)部;而針對(duì)無線傳感網(wǎng)絡(luò)來說,計(jì)算結(jié)點(diǎn)的分布距離則能夠達(dá)到數(shù)百數(shù)或上千米。計(jì)算結(jié)點(diǎn)還連接到物理世界中,如各種傳感器、激勵(lì)器或人機(jī)交互接口。
傳統(tǒng)意義上,軟件設(shè)備沒有能耗、功率這樣的概念。但是針對(duì)計(jì)算機(jī)設(shè)備來說,其主要工作就是執(zhí)行相關(guān)的指令進(jìn)行數(shù)據(jù)的處理,從而輸出有價(jià)值的信息。從這個(gè)角度來說,軟件程序也是有能耗或功率的,這就為計(jì)算機(jī)效能、降低能源消耗提出了另外一種解決的思路。這種考慮是對(duì)硬件設(shè)備的忽略,直接把程序當(dāng)做是一種設(shè)備來對(duì)待。在研究中已經(jīng)有大量的研究從計(jì)算機(jī)程序的角度去研究能量消耗的優(yōu)化,這就在保證硬件設(shè)備的條件下,為進(jìn)一步降低消耗提供了可靠的思路。對(duì)于能耗受到嚴(yán)重制約的嵌入式系統(tǒng)來說,對(duì)程序消耗的降低能夠優(yōu)化嵌入式系統(tǒng)設(shè)計(jì),提升用戶體驗(yàn)。
面臨測量問題。要對(duì)程序的能耗特征進(jìn)行分析,首先應(yīng)該精準(zhǔn)測量目標(biāo)程序的能耗。對(duì)程序能耗的測量是一種宏觀的說法,而實(shí)際的情況應(yīng)是如何從指定的位置開始到指定的位置結(jié)束,這一段時(shí)間內(nèi)程序所消耗的能量。若采用指令仿真或統(tǒng)計(jì)估計(jì)類手段很顯然是沒有辦法做到準(zhǔn)確測量的。對(duì)于通過人干預(yù)測量的方式,直接對(duì)工作設(shè)備進(jìn)行操作或記錄,因?yàn)槭艿饺松砘蛐睦锏南拗疲赡茉斐烧`差過大的問題。如在要測量的程序以向終端輸出字符的形式來提示操作人員,操作人員在看到提示后進(jìn)行數(shù)據(jù)的記錄。那么以人類的反應(yīng)時(shí)間300毫秒來計(jì)算,那么對(duì)于300毫瓦的嵌入式 ARM7 開板來說,每秒的測量誤差就達(dá)到了0.09焦耳。因此這種方式?jīng)]有辦法精準(zhǔn)測量到能耗的分析。
安全算法的能耗特征。隨著嵌入式系統(tǒng)的發(fā)展,嵌入式系統(tǒng)已經(jīng)被應(yīng)用到各行各業(yè),安全問題也成了嵌入式系統(tǒng)的重大威脅。然而傳統(tǒng)安全算法的能耗以及性能影響了他們在嵌入式系統(tǒng)中的廣泛應(yīng)用,尤其是電池供電系統(tǒng)。也有學(xué)者對(duì)安全算法的能耗開展研究,但是本文發(fā)現(xiàn)他們的研究中都存在一定的缺陷,那就是他們忽略了對(duì)數(shù)據(jù)量的保護(hù)對(duì)安全算法能耗造成的影響。另外,之前的學(xué)者研究并沒有涉及到在嵌入式實(shí)時(shí)系統(tǒng)上做相關(guān)的安全算法的能耗分析。
目前國外對(duì)嵌入式軟件能耗的研究相對(duì)成熟,在能耗數(shù)據(jù)的測量方面也采用先進(jìn)的自動(dòng)化儀器。嵌入式處理能耗測量的標(biāo)準(zhǔn)Energy Bench,由嵌入式微處理器測試基準(zhǔn)協(xié)會(huì)EEMBC 推出,但沒有對(duì)其測量方法進(jìn)行公開。我國國內(nèi)對(duì)嵌入式軟件的研究也有很多,其主要的關(guān)注點(diǎn)在于能耗模型的建立以及能耗仿真器上。
3.1數(shù)據(jù)獲取與分析模型
3.1.1測量設(shè)置。為了減少系統(tǒng)操作的誤差,本文采用被廣泛應(yīng)用的實(shí)時(shí)嵌入式系統(tǒng)μC/OSII。在安全算法庫方面,則選用新西蘭的數(shù)字?jǐn)?shù)據(jù)安全公司的商業(yè)級(jí)密碼庫,該商業(yè)級(jí)密碼庫擁有常見的密碼算法,并用于良好的移植性。該密碼并不是獨(dú)立完成的,也需要文件系統(tǒng)的支持,因此在μC/OSII上移植了μC/ FS 文件系統(tǒng)。
3.1.2能耗分析模型。本文的研究主要從能耗、處理速度、功率角度去研究安全算法。如下圖1-2
安全算法能夠最大程度的挖據(jù)出能耗的特征。單位能耗是對(duì)單位數(shù)據(jù)處理時(shí)所消耗的能耗,而數(shù)據(jù)處理速度不僅包含了對(duì)處理器速度的潛在要求,而且也包含了對(duì)工作效率的潛在要求。功率表示隨著時(shí)間的能耗增長速度,這些量能夠?yàn)椴煌墓こ虘?yīng)用選擇的安全算法提供相應(yīng)指導(dǎo)。
圖1-2 不同量之間的關(guān)系
3.2能耗數(shù)學(xué)模型
3.2.1功率。安全算法無論在處理速度上,還是在處理功率上,處理單位能耗上都有共同點(diǎn)。因此,本文建立了一些數(shù)學(xué)模型來表示他們,通過模型的建立能夠特征更加直觀,但須特別提到的是并不是所有的變化都可以被描述為方程,只對(duì)一些規(guī)律性明顯的做出了討論。
因?yàn)楣β适敲艽a算法處理數(shù)據(jù)一段時(shí)間內(nèi)的平均值,因此它跟特定算法之間相互依賴。本文為了擬合離散點(diǎn)構(gòu)造了相應(yīng)的函數(shù)。這些算法的功率變化可以歸納為如下的高斯函數(shù):
其中,x為數(shù)據(jù)大小,b為功率上界,k為常量系數(shù)。功率的下界能夠通過P公式計(jì)算得到。
3.2.2處理速度。部分算法的數(shù)據(jù)處理的速度跟高斯特征相似,但是也有很多的數(shù)據(jù)點(diǎn)并不在高斯函數(shù)上。因此,這些算法的處理速度可以歸結(jié)為下圖。同樣的,常量b是速度的上限,為了使S不變成負(fù)無窮,或者完全無意義,因此X的范圍被截段了。
圖1-3 MD4的數(shù)據(jù)處理速度擬合曲線
3.2.3單位能耗
單位能耗會(huì)隨著數(shù)據(jù)量的增加而逐漸的下降,最后下降到一定值之后保持穩(wěn)定,其變化規(guī)律可以總結(jié)為:
本文對(duì)嵌入式實(shí)時(shí)軟件的能耗進(jìn)行了建模分析,取得了一定的研究成果。本文認(rèn)為還可以做如下的研究:在能耗的測量方面,隨著多核嵌入式芯片的普及,加強(qiáng)對(duì)能耗的分析。今后可將以核心為單位,以任務(wù)進(jìn)程為單位的能耗和時(shí)間的測量將會(huì)是之后的重點(diǎn)研究方向。
[1] 胡仁勝 實(shí)時(shí)控制軟件系統(tǒng)的可靠性分析[J].華南師范大學(xué)學(xué)報(bào): 自然科學(xué)版,2001,33(1): 103 —107.
[2] 蔣敏,孔軍,單家芳.實(shí)時(shí)控制系統(tǒng)軟件的可靠性[J]. 計(jì)算機(jī)工程,2007,33(21) : 47 —49.
[3]李潔萍,彭澄廉.一種實(shí)時(shí)異構(gòu)嵌入式系統(tǒng)的任務(wù)調(diào)度算法.軟件學(xué)報(bào),2004, 15504-511
郭杰,(1980-)男,大學(xué)本科學(xué)歷,研究生在讀,軟件工程師,西安航空學(xué)院計(jì)算機(jī)學(xué)院,主要從事計(jì)算機(jī)硬件課程嵌入式于網(wǎng)絡(luò)方面教學(xué)及研究。
Modeling and analysis of energy consumption of embedded real time software
Guo Jie
(Xi'An Aeronautical University Computer academy,Xi'An,710077)
With the development of embedded system, the application of the embedded system is more and more widely. The energy consumption of embedded system has become the key factor affecting the entire system. In this paper,the energy consumption modeling and analysis of embedded real-time software is used to reduce the energy consumption and enhance the experience of embedded system.
security key;embedded system;energy consumption modeling