一種多態(tài)實(shí)時(shí)任務(wù)與多態(tài)計(jì)算資源的映射方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及嵌入式多態(tài)實(shí)時(shí)計(jì)算領(lǐng)域,具體涉及一種多態(tài)實(shí)時(shí)任務(wù)與多態(tài)計(jì)算資 源的映射方法。
【背景技術(shù)】
[0002] 嵌入式多態(tài)實(shí)時(shí)計(jì)算平臺是面向航空航天等關(guān)鍵應(yīng)用領(lǐng)域,針對其復(fù)雜嵌入式應(yīng) 用不斷變化的任務(wù)模型與計(jì)算需求而構(gòu)造的底層硬件資源、中間層虛擬化資源管理軟件以 及上層應(yīng)用軟件都具有動態(tài)可重構(gòu)、自適應(yīng)和智能化處理能力的計(jì)算系統(tǒng)。嵌入式多態(tài)實(shí) 時(shí)計(jì)算平臺由PPC通用處理機(jī)(又稱主控處理機(jī))、FPGA專用邏輯處理機(jī)、眾核處理機(jī)和 RapidIO交換模塊四部分組成。其中PPC通用處理機(jī)、FPGA專用邏輯處理機(jī)和RapidIO交換 模塊通過VPX背板互連,以串行RapidIO協(xié)議通信,PPC通用處理機(jī)與眾核處理機(jī)通過千兆 以太網(wǎng)互連通信。
[0003] 多態(tài)實(shí)時(shí)任務(wù)是指運(yùn)行于多態(tài)實(shí)時(shí)計(jì)算平臺,且運(yùn)行過程中部分屬性為適應(yīng)計(jì)算 需求變化而動態(tài)改變從而呈現(xiàn)不同形態(tài)的任務(wù)。多態(tài)任務(wù)是對普通實(shí)時(shí)任務(wù)的擴(kuò)展,因而 需要對實(shí)時(shí)任務(wù)屬性的基礎(chǔ)上進(jìn)行擴(kuò)展。擴(kuò)展屬性主要有計(jì)算載體類型(CRT),任務(wù)關(guān)鍵級 (TCL),任務(wù)執(zhí)行模式(TMOD)和資源請求(RR)。四種擴(kuò)展屬性定義描述如下、
[0004] 計(jì)算載體類型(CRT),是指任務(wù)運(yùn)行時(shí)具體使用的計(jì)算資源類型,如本文所述的嵌 入式多態(tài)計(jì)算平臺共有三種計(jì)算載體類型,類型0為PowerPC處理機(jī),類型1為FPGA專用 邏輯處理機(jī)和類型2眾核處理機(jī)。
[0005] 任務(wù)關(guān)鍵級(TCL),是指任務(wù)正常運(yùn)行對系統(tǒng)安全性和可靠性等性能的影響程度, 是模態(tài)轉(zhuǎn)換過程中舊模態(tài)任務(wù)處理方式選擇的重要依據(jù),也是任務(wù)調(diào)度服務(wù)決策的重要因 素。
[0006] 任務(wù)執(zhí)行模式(TMOD),是指系設(shè)計(jì)人員在設(shè)計(jì)系統(tǒng)時(shí)根據(jù)任務(wù)的數(shù)據(jù)計(jì)算規(guī)?;?數(shù)據(jù)計(jì)算方式等不同特點(diǎn)將任務(wù)分為的不同類型。如前文所述,嵌入式多態(tài)計(jì)算平臺任務(wù) 的執(zhí)行模式主要體現(xiàn)在FPGA任務(wù)計(jì)算規(guī)模的變化和眾核任務(wù)計(jì)算模式的不同。
[0007] 資源請求(RR),是為滿足當(dāng)前任務(wù)計(jì)算能力而需要底層硬件提供資源的需求描 述。主要分為FPGA和GPU兩類請求。對于FPGA其需求是編號、區(qū)塊的長寬,對于眾核而言 其需求是邏輯核數(shù)目及其模式等。
[0008] 計(jì)算資源的多態(tài)性是指嵌入式多態(tài)實(shí)時(shí)計(jì)算平臺的異構(gòu)計(jì)算資源FPGA和眾核 GTO在運(yùn)行過程中根據(jù)上層應(yīng)用的計(jì)算需求構(gòu)造成不同的形態(tài)。
[0009] 目前對嵌入式多態(tài)計(jì)算的任務(wù)與資源映射相對缺乏,多利用FPGA和眾核對某些 應(yīng)用進(jìn)行加速處理,不涉及動態(tài)變化構(gòu)造。同時(shí),現(xiàn)有的FPGA分區(qū)資源管理方法采用固定 分區(qū),一維布局,任務(wù)成功率和資源利用率較低;另外一些掃描類算法時(shí)間開銷較大,不適 合實(shí)時(shí)平臺。
【發(fā)明內(nèi)容】
[0010] 為解決上述問題,本發(fā)明提供了一種多態(tài)實(shí)時(shí)任務(wù)與多態(tài)計(jì)算資源的映射方法, 采用動態(tài)非均勻分區(qū),二維布局的方法對FPGA資源進(jìn)行分配管理,在保證實(shí)時(shí)性的同時(shí), 提高任務(wù)調(diào)度的成功率和資源利用率。
[0011] 為實(shí)現(xiàn)上述目的,本發(fā)明采取的技術(shù)方案為、
[0012] 一種多態(tài)實(shí)時(shí)任務(wù)與多態(tài)計(jì)算資源的映射方法,包括如下步驟、
[0013] S1、分別以各自周期運(yùn)行判斷上層模態(tài)管理和任務(wù)屬性決策服務(wù)的模態(tài),若模態(tài) 發(fā)生改變,轉(zhuǎn)至S2 ;若模態(tài)未發(fā)生改變,但模態(tài)中某些任務(wù)屬性發(fā)生改變,轉(zhuǎn)至S3 ;若既未 發(fā)生模態(tài)轉(zhuǎn)換,也未發(fā)生任務(wù)屬性改變,轉(zhuǎn)至SlO ;
[0014] S2、更新全局任務(wù)隊(duì)列,轉(zhuǎn)至S4 ;
[0015] S3、更新全局任務(wù)隊(duì)列中屬性發(fā)生變化的任務(wù)屬性;
[0016] S4、根據(jù)任務(wù)的截止期和任務(wù)關(guān)鍵級確定任務(wù)優(yōu)先級,并唯一化;
[0017] S5、根據(jù)任務(wù)計(jì)算模式查找任務(wù)可用計(jì)算資源載體集合;
[0018] S6、按計(jì)算資源載體集合中元素優(yōu)先級從高到低,逐一嘗試將任務(wù)分配給處理該 任務(wù)性能最好的計(jì)算資源,并確定任務(wù)的計(jì)算資源載體屬性;若任務(wù)被分配給PPC通用處 理機(jī),轉(zhuǎn)至S7 ;若任務(wù)被分配給眾核,則轉(zhuǎn)至S8 ;若任務(wù)被分配給FPGA專用邏輯處理機(jī),則 轉(zhuǎn)至S9 ;
[0019] S7、PPC處理機(jī)將任務(wù)按EDF調(diào)度方法加入PPC任務(wù)隊(duì)列;
[0020] S8、眾核按照調(diào)度算法,將任務(wù)插入到眾核任務(wù)隊(duì)列的合適位置;
[0021] S9、FPGA按照調(diào)度算法,為任務(wù)分配可重構(gòu)計(jì)算資源,將任務(wù)插入到FPGA任務(wù)隊(duì) 列的合適位置;
[0022] S10、按照任務(wù)隊(duì)列周期性對三種類型的任務(wù)資源進(jìn)行重構(gòu)和運(yùn)行任務(wù);
[0023] SI 1、重復(fù)以上步驟,直至系統(tǒng)運(yùn)行結(jié)束。
[0024] 其中,所述步驟S4中優(yōu)先級的確定原則為:任務(wù)的松弛時(shí)間越小,任務(wù)的優(yōu)先級 越高;任務(wù)松弛時(shí)間相同時(shí),任務(wù)的關(guān)鍵級越高任務(wù)的優(yōu)先級越高;任務(wù)松弛時(shí)間與優(yōu)先 級都相同時(shí),F(xiàn)PGA任務(wù)占用面積越高任務(wù)的優(yōu)先級越高,眾核任務(wù)占用邏輯核數(shù)目越大,優(yōu) 先級越高;上述屬性均相同時(shí),任務(wù)的到達(dá)時(shí)刻早,則優(yōu)先級高。
[0025] 其中,所述步驟S4中唯一化的具體步驟包括:假設(shè)全局任務(wù)隊(duì)列中有k個(gè)任務(wù),按 優(yōu)先級從高到低排列,可表示為T =It1,…,tm,…,t。,…,^},其中從任務(wù)tm到任務(wù)t n 的所有任務(wù)優(yōu)先級相等,則保持tm的優(yōu)先級不變,然后利用公式一次計(jì)算任務(wù)t m+1到任務(wù)t k 的優(yōu)先級。
[0026] 其中,所述公式為:
【主權(quán)項(xiàng)】
1. 一種多態(tài)實(shí)時(shí)任務(wù)與多態(tài)計(jì)算資源的映射方法,其特征在于,包括如下步驟、 51、 分別以各自周期運(yùn)行判斷上層模態(tài)管理和任務(wù)屬性決策服務(wù)的模態(tài),若模態(tài)發(fā)生 改變,轉(zhuǎn)至S2 ;若模態(tài)未發(fā)生改變,但模態(tài)中某些任務(wù)屬性發(fā)生改變,轉(zhuǎn)至S3 ;若既未發(fā)生 模態(tài)轉(zhuǎn)換,也未發(fā)生任務(wù)屬性改變,轉(zhuǎn)至SlO ; 52、 更新全局任務(wù)隊(duì)列,轉(zhuǎn)至S4 ; 53、 更新全局任務(wù)隊(duì)列中屬性發(fā)生變化的任務(wù)屬性; 54、 根據(jù)任務(wù)的截止期和任務(wù)關(guān)鍵級確定任務(wù)優(yōu)先級,并唯一化; 55、 根據(jù)任務(wù)計(jì)算模式查找任務(wù)可用計(jì)算資源載體集合; 56、 按計(jì)算資源載體集合中元素優(yōu)先級從高到低,逐一嘗試將任務(wù)分配給處理該任務(wù) 性能最好的計(jì)算資源,并確定任務(wù)的計(jì)算資源載體屬性;若任務(wù)被分配給PPC通用處理機(jī), 轉(zhuǎn)至S7 ;若任務(wù)被分配給眾核,則轉(zhuǎn)至S8 ;若任務(wù)被分配給FPGA專用邏輯處理機(jī),則轉(zhuǎn)至 S9 ; 57、 PPC處理機(jī)將任務(wù)按EDF調(diào)度方法加入PPC任務(wù)隊(duì)列; 58、 眾核按照調(diào)度算法,將任務(wù)插入到眾核任務(wù)隊(duì)列的合適位置; 59、 FPGA按照調(diào)度算法,為任務(wù)分配可重構(gòu)計(jì)算資源,將任務(wù)插入到FPGA任務(wù)隊(duì)列的 合適位置; S10、按照任務(wù)隊(duì)列周期性對三種類型的任務(wù)資源進(jìn)行重構(gòu)和運(yùn)行任務(wù); Sl 1、重復(fù)以上步驟,直至系統(tǒng)運(yùn)行結(jié)束。
2. 根據(jù)權(quán)利要求1所述的一種多態(tài)實(shí)時(shí)任務(wù)與多態(tài)計(jì)算資源的映射方法,其特征在 于,所述步驟S4中優(yōu)先級的確定原則為:任務(wù)的松弛時(shí)間越小,任務(wù)的優(yōu)先級越高;任務(wù) 松弛時(shí)間相同時(shí),任務(wù)的關(guān)鍵級越高任務(wù)的優(yōu)先級越高;任務(wù)松弛時(shí)間與優(yōu)先級都相同時(shí), FPGA任務(wù)占用面積越高任務(wù)的優(yōu)先級越高,眾核任務(wù)占用邏輯核數(shù)目越大,優(yōu)先級越高; 上述屬性均相同時(shí),任務(wù)的到達(dá)時(shí)刻早,則優(yōu)先級高。
3. 根據(jù)權(quán)利要求1所述的一種多態(tài)實(shí)時(shí)任務(wù)與多態(tài)計(jì)算資源的映射方法,其特征在 于,所述步驟S4中唯一化的具體步驟包括:假設(shè)全局任務(wù)隊(duì)列中有k個(gè)任務(wù),按優(yōu)先級從高 到低排列,可表示為T = It1,. . .,tm,. . .,tn,. . .,tk},其中從任務(wù)tm到任務(wù)t n的所有任務(wù) 優(yōu)先級相等,則保持tm的優(yōu)先級不變,然后利用公式一次計(jì)算任務(wù)t m+1到任務(wù)t k的優(yōu)先級。
4. 根據(jù)權(quán)利要求3所述的一種多態(tài)實(shí)時(shí)任務(wù)與多態(tài)計(jì)算資源的映射方法,其特征在 于,所述公式為: ._ fpriL - (i- m),, m< ι < η P1、Iprii - (π - mj, η < ? < k 其中,Prii表示任務(wù)t i的優(yōu)先級;pri為優(yōu)先級運(yùn)算符;下標(biāo)i為t 編號。
5. 根據(jù)權(quán)利要求1所述的一種多態(tài)實(shí)時(shí)任務(wù)與多態(tài)計(jì)算資源的映射方法,其特征在 于,所述步驟S8的具體方法如下: 當(dāng)任務(wù)請求資源時(shí),判斷其請求邏輯核數(shù)目是否可以滿足,滿足則進(jìn)行分配,否則拒絕 請求;當(dāng)任務(wù)完成執(zhí)行后,眾核資源管理器回收任務(wù)釋放的邏輯核。
6. 根據(jù)權(quán)利要求1所述的一種多態(tài)實(shí)時(shí)任務(wù)與多態(tài)計(jì)算資源的映射方法,其特征在 于,所述步驟S9具體包括以下步驟: S91、用二維矩陣坐標(biāo)模型表示FPGA資源,通過在寬度方向劃分成m塊非均勻矩形區(qū) 塊,每塊矩形區(qū)塊的寬度相互不同,從左到右依次遞增,即Wl< W 2<~< W m; 592、 為每一個(gè)分區(qū)建立任務(wù)隊(duì)列,每個(gè)隊(duì)列項(xiàng)包含任務(wù)的長度信息(h),任務(wù)開始時(shí)間 (s)和任務(wù)截止時(shí)間(f); 593、 時(shí)刻t寬度為w高度為h的任務(wù)到來,從所有分區(qū)中按照最佳匹配 -W)且Wi-W彡〇)的原則選擇分區(qū)Slot1嘗試為硬件任務(wù)分配放置空間;此時(shí) 硬件任務(wù)的放置轉(zhuǎn)化成了高度維度的連續(xù)區(qū)間的占用問題;搜索空余連續(xù)區(qū)間,選擇高度 最佳匹配的連續(xù)區(qū)域進(jìn)行分配;若任務(wù)在所選分區(qū)分配成功,則結(jié)束任務(wù)分配;若所選分 區(qū)無連續(xù)區(qū)間放置任務(wù),則繼續(xù)向右搜索,尋找更大寬度的分區(qū)進(jìn)行任務(wù)調(diào)度;若搜索到最 右邊分區(qū)任務(wù)仍無法滿足,則本次資源分配失?。蝗绻蝿?wù)的寬度大于最大分區(qū)的寬度,則 對分區(qū)進(jìn)行動態(tài)調(diào)整,進(jìn)行邏輯上的合并。
7.根據(jù)權(quán)利要求1所述的一種多態(tài)實(shí)時(shí)任務(wù)與多態(tài)計(jì)算資源的映射方法,其特征在 于,所述步驟93中合并的規(guī)則為:從右向左,依次選擇k(k = 2,3,. . .,m)塊分區(qū)進(jìn)行邏輯 合并,然后按照高度維度進(jìn)行任務(wù)分配;任務(wù)分配成功時(shí),將任務(wù)的信息同時(shí)添加到對應(yīng)所 有分區(qū)的任務(wù)調(diào)度隊(duì)列中;任務(wù)τ需要對sl 〇tj,Slotj+Slotp2三個(gè)分區(qū)進(jìn)行邏輯合并。
【專利摘要】本發(fā)明公開了一種多態(tài)實(shí)時(shí)任務(wù)與多態(tài)計(jì)算資源的映射方法,包括如下步驟:以各自周期運(yùn)行判斷上層模態(tài)管理和任務(wù)屬性決策服務(wù)的模態(tài);更新全局任務(wù)隊(duì)列;更新全局任務(wù)隊(duì)列中屬性發(fā)生變化的任務(wù)屬性根據(jù)任務(wù)的截止期和任務(wù)關(guān)鍵級確定任務(wù)優(yōu)先級,并唯一化;根據(jù)任務(wù)計(jì)算模式查找任務(wù)可用計(jì)算資源載體集合;按計(jì)算資源載體集合中元素優(yōu)先級從高到低,逐一嘗試將任務(wù)分配給處理該任務(wù)性能最好的計(jì)算資源,并確定任務(wù)的計(jì)算資源載體屬性;PPC處理機(jī)將任務(wù)按EDF調(diào)度方法加入PPC任務(wù)隊(duì)列;眾核按照調(diào)度算法,將任務(wù)插入到眾核任務(wù)隊(duì)列的合適位置;本發(fā)明有效的提高系統(tǒng)的運(yùn)行性能,多態(tài)任務(wù)調(diào)度的成功率和資源利用率。
【IPC分類】G06F9-46
【公開號】CN104834556
【申請?zhí)枴緾N201510221269
【發(fā)明人】楊剛, 高榮, 周興社, 劉瑩, 周少麗, 王博
【申請人】西北工業(yè)大學(xué)
【公開日】2015年8月12日
【申請日】2015年4月26日