當(dāng)前位置:首頁(yè) > 模擬 > 模擬
[導(dǎo)讀] 面向可重構(gòu)系統(tǒng),提出了一種功耗相關(guān)的硬件任務(wù)調(diào)度算法(Energy-Efficient Hardware Task Schedu-ling,EEHTS)。動(dòng)態(tài)電壓調(diào)整(Dynamic Voltage Scaling,DVS)技術(shù)通過(guò)在軟件任務(wù)運(yùn)行時(shí)動(dòng)態(tài)改變CPU的運(yùn)行電壓而降低系統(tǒng)功耗。類(lèi)似地,EEHTS算法在硬件任務(wù)調(diào)度時(shí)動(dòng)態(tài)改變FPGA的工作頻率,達(dá)到降低功耗的目的。模擬實(shí)驗(yàn)結(jié)果表明,EEHTS算法在不影響硬件任務(wù)截止期要求的前提下,可以有效降低系統(tǒng)功耗。

引 言
   
可重構(gòu)系統(tǒng)是指以軟件改變硬件結(jié)構(gòu)以實(shí)現(xiàn)具體應(yīng)用的計(jì)算平臺(tái),一般由非柔性但可編程的處理器和柔性的以程序控制重構(gòu)的數(shù)字邏輯器件構(gòu)成。目前國(guó)內(nèi)外的可重構(gòu)系統(tǒng)研究中,采用的可重構(gòu)硬件主要是現(xiàn)場(chǎng)可編程門(mén)陣列(Field Programming Gate Array,F(xiàn)PGA)??芍貥?gòu)系統(tǒng)非常適合于那些對(duì)功耗有嚴(yán)格要求或者計(jì)算密集的應(yīng)用,因?yàn)榇祟?lèi)應(yīng)用在FPGA上實(shí)現(xiàn)的功耗要大大低于在處理器上實(shí)現(xiàn)的功耗。將在FPGA上運(yùn)行的任務(wù)視為“硬件任務(wù)”納入實(shí)時(shí)操作系統(tǒng)(Real-time Operating Sys-tem,RTOS)的統(tǒng)一管理范圍,可簡(jiǎn)化系統(tǒng)的設(shè)計(jì)與管理。因此,需要在傳統(tǒng)的RTOS中引入硬件任務(wù)管理器,實(shí)現(xiàn)硬件任務(wù)的管理和調(diào)度。
    目前,該研究已經(jīng)取得了一定進(jìn)展。如在參考文獻(xiàn)[1]中提出的商用可重構(gòu)系統(tǒng)OS4RS,包含的主要功能有任務(wù)的創(chuàng)建/銷(xiāo)毀、異構(gòu)任務(wù)的動(dòng)態(tài)遷移、任務(wù)之間的相互通信等。支持軟/硬件任務(wù)調(diào)試以及允許對(duì)操作系統(tǒng)模塊和用戶(hù)任務(wù)的跟蹤監(jiān)控,是可重構(gòu)硬件操作系統(tǒng)的重要特征。在參考文獻(xiàn)[2]中設(shè)計(jì)了一種基于軟/硬件統(tǒng)一多任務(wù)模型的實(shí)時(shí)操作系統(tǒng)SHUM-μCOS,實(shí)現(xiàn)了統(tǒng)一任務(wù)的管理、基于靜態(tài)優(yōu)先級(jí)的軟/硬件任務(wù)獨(dú)立調(diào)度、硬件資源的管理以及軟/硬件任務(wù)基于軟件層的通信等機(jī)制。
    但是大多數(shù)研究者考慮的軟/硬件調(diào)度算法一般難以在現(xiàn)有的FPGA硬件平臺(tái)上實(shí)現(xiàn),如參考文獻(xiàn)[2]中FORS算法采用的2D FPGA資源模型。這是因?yàn)楫?dāng)前的FPGA技術(shù)只允許所有的任務(wù)占用同樣的“高度”,并且上述工作中幾乎沒(méi)有將功耗納入考慮范疇。因此,類(lèi)似在嵌入式微處理器中廣泛采用動(dòng)態(tài)電壓調(diào)整(DynamicVoltage Scaling,DVS)技術(shù)以降低系統(tǒng)功耗,本文提出了一種動(dòng)態(tài)調(diào)整FPGA工作頻率的算法,在可重構(gòu)系統(tǒng)的性能需求和功耗需求之間達(dá)到平衡,并且可以在當(dāng)前的FPGA技術(shù)條件下實(shí)現(xiàn)。

1 調(diào)度模型
1.1 可重構(gòu)系統(tǒng)體系結(jié)構(gòu)

    本文只考慮在當(dāng)前FPGA技術(shù)條件下的可重構(gòu)系統(tǒng)結(jié)構(gòu),如圖1所示。FPGA分為動(dòng)態(tài)和靜態(tài)兩部分。動(dòng)態(tài)部分包括很多可重構(gòu)模塊(Reconfigurable Modules,RM),每個(gè)硬件任務(wù)運(yùn)行在1個(gè)RM上,各個(gè)RM占用的FPGA寬度可以不相等,一般由若干同列的CLB(Config-urabIe Logic Block,可重構(gòu)單元)組成。靜態(tài)部分則負(fù)責(zé)與CPU和RM之間的數(shù)據(jù)交互。

    假設(shè)FPGA是由很多CLB成陣列排列而成,每1個(gè)CLB可以看成1個(gè)1×1的單位正方形,1個(gè)FPGA則是1個(gè)面積為ω×h的長(zhǎng)方形。其中ω為長(zhǎng)方形的寬度,h為長(zhǎng)方形的高度,ω×h為該FPGA包含CLB的總數(shù)(即面積)。圖2所示為1塊5×4的FPGA。在實(shí)現(xiàn)中,因?yàn)槊總€(gè)RM都使用相同的FPGA高度,即h,所以最小的RM的面積是ωmm×h,其中,ωmin的大小依賴(lài)于硬件任務(wù)需要使用的CLB的個(gè)數(shù)。所以,1塊FPGA上RM最多可以有:

   
    當(dāng)對(duì)1塊FPGA進(jìn)行配置時(shí),其動(dòng)態(tài)部分可以劃分成具有不同寬度的RM,從而具有不同CLB需求的多個(gè)硬件任務(wù)可以同時(shí)運(yùn)行在FPGA上。另外,對(duì)其中1個(gè)RM進(jìn)行配置時(shí),對(duì)于其他正在運(yùn)行的部分沒(méi)有影響,從而可重配置硬件使得硬件任務(wù)以一種真正的動(dòng)態(tài)多任務(wù)方式運(yùn)行。
1.2 任務(wù)定義
    ①硬件任務(wù):硬件任務(wù)是指可重構(gòu)系統(tǒng)中基于FPGA實(shí)現(xiàn)的功能模塊。一個(gè)硬件任務(wù)配置完成后即可開(kāi)始執(zhí)行,在完成之前一般不會(huì)釋放其占用的可重配置資源,即不能被其他硬件任務(wù)搶占。
    ②一個(gè)硬件任務(wù)可表示為T(mén)i(fi,max,ai,ci,ti,ei,fworking)。其中,fi,max是硬件任務(wù)可以運(yùn)行在RM上的最大時(shí)鐘頻率,這個(gè)頻率是由每個(gè)具體硬件任務(wù)設(shè)計(jì)的時(shí)序狀況決定的,所以每個(gè)任務(wù)的fi,max可能不同。ωi是任務(wù)占用的可重構(gòu)硬件的寬度資源,ai表示硬件任務(wù)的到達(dá)時(shí)間,ci表示硬件任務(wù)的最后完成時(shí)限,ti是硬件任務(wù)工作在fi,max時(shí)的運(yùn)行時(shí)間。本文中不單獨(dú)考慮硬件任務(wù)在FPGA上的配置時(shí)間,而是把它并入運(yùn)行時(shí)間中一起考慮。e是硬件任務(wù)工作在fi,max時(shí)的功耗,可由參考文獻(xiàn)[4]建立的功耗模型進(jìn)行估算。fworking是該任務(wù)在運(yùn)行時(shí)FPGA的實(shí)際頻率。
    在參考文獻(xiàn)[4]中,硬件任務(wù)的功耗和硬件的運(yùn)行頻率直接相關(guān),因此,可以使用以下2個(gè)公式對(duì)硬件任務(wù)實(shí)際的運(yùn)行時(shí)間和功耗進(jìn)行估算:

   
其中,f是硬件任務(wù)實(shí)際的運(yùn)行頻率。


2 功耗相關(guān)硬件任務(wù)調(diào)度算法EEHTS
2.1 硬件任務(wù)調(diào)度器設(shè)計(jì)

    目標(biāo)系統(tǒng)如圖3所示。用戶(hù)程序分為2部分,其中軟件任務(wù)運(yùn)行在CPU上,硬件任務(wù)運(yùn)行在FPGA上。本文中只考慮功耗相關(guān)的硬件任務(wù)的調(diào)度,目標(biāo)是將軟/硬件任務(wù)統(tǒng)一起來(lái)進(jìn)行考慮,在滿(mǎn)足任務(wù)截止時(shí)限要求的情況下降低系統(tǒng)的整體功耗,即:

   
2.2 調(diào)度原則和放置原則
   
在嵌入式系統(tǒng)中,任務(wù)的正確性不但依賴(lài)于其功能正確性,而且依賴(lài)于其執(zhí)行的及時(shí)性,所以確保任務(wù)不錯(cuò)過(guò)截止期是最重要的調(diào)度依據(jù)。在滿(mǎn)足任務(wù)截止時(shí)間的前提下,1個(gè)新到達(dá)的硬件任務(wù)Ti的最遲開(kāi)始執(zhí)行時(shí)間(Last:Starting time,LST)為L(zhǎng)ST(Ti)=ci-ti,如果Ti在放置時(shí)沒(méi)有找到合適的位置,調(diào)度器并不立刻拒絕Ti,因?yàn)橹灰贚ST(Ti)之前有滿(mǎn)足Ti需求的資源被釋放,那么Ti仍然可以滿(mǎn)足其截止期要求。在EEHTS算法中,需要維護(hù)到達(dá)任務(wù)列表Alist,Alist中保存所有已經(jīng)到達(dá)且未能成功分配的任務(wù)。已到達(dá)列表的任務(wù)按照任務(wù)的LST增序排列,即按照最早最遲開(kāi)始時(shí)問(wèn)優(yōu)先(EarliestLast Starting time First,ELST)的原則進(jìn)行調(diào)度。硬件任務(wù)調(diào)度器的核心是進(jìn)行定位分配,即根據(jù)硬件任務(wù)占用FPGA資源大小在FPGA上尋找合適的位置對(duì)FPGA進(jìn)行配置,如參考文獻(xiàn)[5]中提出的MER算法。但是此類(lèi)算法采用的FPGA面積模型都是2D資源模型,并不能在當(dāng)前的FPGA技術(shù)條件下實(shí)現(xiàn),所以本文采用類(lèi)似傳統(tǒng)操作系統(tǒng)管理存儲(chǔ)器資源的方法,即首次適配(FirstFit)算法。在EEHTS算法中,需要維護(hù)空白資源列表B,B中保存了所有當(dāng)前未被使用的FPGA上的空白區(qū)域。放置成功的硬件任務(wù)即可開(kāi)始配置運(yùn)行,因此在EEHTS算法中需要維護(hù)正在運(yùn)行的任務(wù)列表Elist。執(zhí)行列表Elist中包含所有正在運(yùn)行的硬件任務(wù)Ti,任務(wù)按照?qǐng)?zhí)行完畢時(shí)間的增序排列。
    在硬件任務(wù)完成之前,不能被其他任務(wù)搶占;當(dāng)硬件任務(wù)完成之后,即可釋放其占用的FPGA資源,并將執(zhí)行完畢的任務(wù)插入到執(zhí)行完畢任務(wù)列表Flist中。這個(gè)特點(diǎn)是硬件任務(wù)和軟件任務(wù)的顯著區(qū)別。
2.3 功耗相關(guān)硬件任務(wù)調(diào)度算法EEHTS
   
(1)算法1:EEHTS算法

   


    在任何時(shí)刻t,EEHTS算法首先檢查Alist隊(duì)列中的第1個(gè)任務(wù)Ti,函數(shù)有3種可能的返回結(jié)果:ACCEPT、REJECT和NULL。第2行中如果FPGA空白區(qū)域列表B中有合適的位置放置任務(wù)Ti,那么將Ti加入到Elist中,然后第6行重新計(jì)算1個(gè)更加優(yōu)化的FPGA頻率fe,如果fe小于當(dāng)前FPGA運(yùn)行的頻率fworking,并且在fe下所有Elist中任務(wù)均能在其截止期內(nèi)完成,那么說(shuō)明可以在保證任務(wù)截止期的條件下通過(guò)降低頻率而降低硬件任務(wù)的整體功耗,所以此時(shí)算法返回ACCEPT;第13行如果任務(wù)即將或者已經(jīng)錯(cuò)過(guò)最遲開(kāi)始時(shí)間,那么此時(shí)函數(shù)返回REJECT,表示此任務(wù)被拒絕;第15行如果當(dāng)前時(shí)刻沒(méi)有合適的位置,但是任務(wù)仍沒(méi)有到其最遲開(kāi)始時(shí)間,表示在將來(lái)的時(shí)刻仍然可能獲得任務(wù)所需資源,所以函數(shù)返回結(jié)果NULL。
    算法1中第6行重新計(jì)算FPGA工作頻率的算法如算法2所示,其中F是所有硬件任務(wù)工作頻率值的集合。需要說(shuō)明的是,同一時(shí)刻在FPGA運(yùn)行的硬件任務(wù)的工作頻率值必須相同,并且選擇5作為FPGA頻率的增量也是符合實(shí)際FPGA技術(shù)情況的。
    (2)算法2:選擇最優(yōu)的頻率值作為FPGA的運(yùn)行頻率
   
    步驟1:fscheduled,max=min(fi,min|Ti∈Elist)
    步驟2:對(duì)于F集合中的滿(mǎn)足fmin≤f≤fscheduled,max的每個(gè)f值,計(jì)算:

   
    選取使得計(jì)算步驟2中結(jié)果最小的,值作為FPGA的運(yùn)行頻率值,從而使得FPGA的總體功耗最低。


3 模擬實(shí)驗(yàn)及分析
   
由于當(dāng)前并沒(méi)有一個(gè)統(tǒng)一的基準(zhǔn)用于評(píng)價(jià)可重構(gòu)系統(tǒng)功耗相關(guān)的調(diào)度算法,因此采取了類(lèi)似參考文獻(xiàn)[2]中的模擬實(shí)驗(yàn)模型設(shè)計(jì)了離散時(shí)鐘的模擬器,模仿實(shí)時(shí)系統(tǒng)中的時(shí)鐘滴答以進(jìn)行任務(wù)截止期的檢查。然后設(shè)計(jì)隨機(jī)任務(wù)生成器,生成分別含有1 000、2 000、3 009、4 000、5 000、6 000個(gè)Ti(fi,max,ωi,ai,ci,ti,ei,fworking)的任務(wù)集,硬件任務(wù)的寬度和執(zhí)行時(shí)間也是隨機(jī)生成的。
    假定目標(biāo)器件為Xilinx Virtex XCV1000,共96列×64行,其中可用于配置硬件任務(wù)的動(dòng)態(tài)部分是80列,其他用于操作系統(tǒng)進(jìn)行通信和I/O。模擬實(shí)驗(yàn)中采用的參數(shù)如下:任務(wù)的最小寬度ωmin=1,Nmax=80,任務(wù)的寬度范圍ωi為1~80;fmin=20 MHz,fmax=100MHz,所以各個(gè)任務(wù)的可運(yùn)行的最大頻率fi,max∈[20,25,…,1 000];任務(wù)在fi,max頻率時(shí)的運(yùn)行時(shí)間ti范圍為100~1 000 ms。ei范圍為20~200 mJ,ei的大小和任務(wù)寬度相關(guān)。到達(dá)時(shí)間范圍01.5~500 ms,模擬器的時(shí)鐘滴答設(shè)置為500 μs。分別模擬了采用ELST算法和EEHTS算法的任務(wù)集的總體運(yùn)行時(shí)間和整體功耗,如圖4和圖5所示。從圖4中可以看到,采用ELST算法的任務(wù)運(yùn)行時(shí)間曲線(xiàn)要比采用EEHTS算法的低,這是因?yàn)橹徊捎肊LST算法時(shí)并不改變FPGA的運(yùn)行頻率,F(xiàn)PGA始終使用最高頻率運(yùn)行,顯然這種方法的功耗會(huì)大于EEHTS算法,實(shí)驗(yàn)結(jié)果也證明了這點(diǎn)。如圖5所示,EEHTs算法雖然犧牲了一些時(shí)間性能,但是硬件任務(wù)仍然可以在其截止期內(nèi)完成,并且相對(duì)于ELST算法,硬件任務(wù)功耗大約降低了32%。

結(jié) 語(yǔ)
    在嵌入式系統(tǒng)中,低功耗是非常重要的目標(biāo)。本文通過(guò)對(duì)可重構(gòu)系統(tǒng)中硬件任務(wù)調(diào)度算法的研究,在對(duì)硬件任務(wù)調(diào)度時(shí)加入了對(duì)功耗的考慮,動(dòng)態(tài)改變硬件任務(wù)運(yùn)行的頻率,從而降低系統(tǒng)整體功耗。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶(hù)希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱(chēng),數(shù)字世界的話(huà)語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱(chēng)"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉