專利名稱:一種可重構(gòu)任務(wù)處理系統(tǒng)、調(diào)度器及任務(wù)調(diào)度方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)通信技術(shù)領(lǐng)域,特別涉及一種可重構(gòu)任務(wù)處理系統(tǒng)、調(diào)度器及任務(wù)調(diào)度方法。
背景技術(shù):
在嵌入式技術(shù)中,計(jì)算任務(wù)可以通過硬件來實(shí)現(xiàn),也可以利用微處理器通過軟件來實(shí)現(xiàn)。硬件實(shí)現(xiàn)快速、高效,但是一旦設(shè)計(jì)完成后,系統(tǒng)將難以更改。軟件實(shí)現(xiàn)靈活,但是性能卻不高。隨著硬件技術(shù)的不斷進(jìn)步,可重構(gòu)技術(shù)成為當(dāng)前的研究熱點(diǎn)之一,而動(dòng)態(tài)可重構(gòu)技術(shù)由于其具有可編程性,即提供了大量的可編程邏輯單元,并同時(shí)具備部分可重構(gòu)功能,因此填補(bǔ)了傳統(tǒng)軟件設(shè)計(jì)和硬件設(shè)計(jì)之間的鴻溝,兼顧了軟件的靈活和硬件的性能優(yōu)勢(shì),并成功應(yīng)用到了神經(jīng)網(wǎng)絡(luò)、圖像信息處理、路由交換等多個(gè)領(lǐng)域。
現(xiàn)有典型的可重構(gòu)任務(wù)處理系統(tǒng),如圖1所示,包括調(diào)度器11、布局器12和資源管理器13和可重構(gòu)器件14,所述調(diào)度器11、布局器12和資源管理器13集成在CPU15中,其中,調(diào)度器11只負(fù)責(zé)任務(wù)的接收和維護(hù)已調(diào)度成功的任務(wù);布局器12是系統(tǒng)的核心,負(fù)責(zé)對(duì)所述調(diào)度器11接收到的任務(wù)進(jìn)行布局處理,并更新資源管理器13的狀態(tài)。在上述調(diào)度處理過程中,所述調(diào)度器11的功能十分簡(jiǎn)單,而布局器12本身功能相對(duì)復(fù)雜。在以布局器12為核心的調(diào)度處理過程中,調(diào)度器11對(duì)任務(wù)的調(diào)度過程只能支持簡(jiǎn)單的先到先服務(wù)(FirstCome First Serviced,F(xiàn)CFS)調(diào)度模式,即根據(jù)任務(wù)的到達(dá)先后順序,依次對(duì)任務(wù)進(jìn)行資源預(yù)約調(diào)度過程。對(duì)于正在運(yùn)行的任務(wù)和預(yù)約的任務(wù),由于該系統(tǒng)不支持對(duì)任務(wù)的搶占調(diào)度過程,其調(diào)度結(jié)果不可被后續(xù)任務(wù)搶占,因而任務(wù)的調(diào)度順序與任務(wù)的到達(dá)順序相一致。
在對(duì)任務(wù)的實(shí)時(shí)調(diào)度過程中,由于事先無法確知前后任務(wù)之間的相關(guān)性,對(duì)于后到達(dá)但時(shí)間緊迫的任務(wù),該FCFS調(diào)度處理模式無法使得該類任務(wù)優(yōu)先處理,因而現(xiàn)有任務(wù)調(diào)度系統(tǒng)無法提供區(qū)分服務(wù)的調(diào)度模式;對(duì)于后到達(dá)但優(yōu)先級(jí)較高的任務(wù),現(xiàn)有的調(diào)度系統(tǒng)同樣不能提供高優(yōu)先級(jí)任務(wù)優(yōu)先調(diào)度。
從上述實(shí)現(xiàn)過程可以看出,現(xiàn)有調(diào)度系統(tǒng)存在的問題是,系統(tǒng)模塊功能劃分不合理,所支持的FCFS調(diào)度服務(wù)模式合理性較差,由于前后任務(wù)的調(diào)度過程相互獨(dú)立,不利于任務(wù)之間通過協(xié)作進(jìn)行資源利用優(yōu)化。由于任務(wù)的調(diào)度順序取決于該任務(wù)的到達(dá)次序,先到達(dá)任務(wù)將優(yōu)先占用資源,不利于反映任務(wù)自身的服務(wù)屬性,無法滿足支持不同任務(wù)調(diào)度需求的多樣性,無法根據(jù)任務(wù)的不同需求提供差異化服務(wù),降低了任務(wù)調(diào)度效率。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供一種可重構(gòu)任務(wù)處理系統(tǒng)、調(diào)度器及任務(wù)調(diào)度方法,為不同需求的任務(wù)提供差異化服務(wù),提高預(yù)約任務(wù)的調(diào)度效率。
為解決上述技術(shù)問題,本發(fā)明實(shí)施例提供一種可重構(gòu)任務(wù)處理系統(tǒng),包括調(diào)度器、布局器和資源管理器,其中, 所述調(diào)度器,用于提取接收到的任務(wù)的時(shí)空屬性參數(shù),計(jì)算該任務(wù)的松弛度,生成該任務(wù)布局的潛在布局時(shí)刻表PPTL,并將所述PPTL發(fā)送給所述布局器,以及,根據(jù)接收到的所述布局器反饋的布局結(jié)果對(duì)等待調(diào)度隊(duì)列中的任務(wù)進(jìn)行調(diào)度,根據(jù)調(diào)度結(jié)果向所述資源管理器發(fā)送資源狀態(tài)更新信息; 所述布局器,用于在接收到所述PPTL后,根據(jù)所述PPTL中的各個(gè)時(shí)刻對(duì)所述資源管理器提供的資源進(jìn)行布局搜索,得到該任務(wù)的啟動(dòng)時(shí)間及對(duì)應(yīng)的資源,并向所述調(diào)度器反饋布局結(jié)果; 所述資源管理器,用于在接收到所述調(diào)度器發(fā)送的資源狀態(tài)更新信息時(shí),更新任務(wù)布局區(qū)域內(nèi)的資源狀態(tài),并為所述布局器提供三維的搜索空間。
相應(yīng)的,本發(fā)明還提供一種調(diào)度器,包括 計(jì)算單元,用于提取出接收到的任務(wù)的寬度、高度,計(jì)算所述任務(wù)的松弛度; 生成單元,用于利用活動(dòng)事件隊(duì)列AEQ提取出在所述任務(wù)松弛度內(nèi)的活動(dòng)時(shí)刻,生成PPTL,并將所述任務(wù)的寬度、高度及PPTL發(fā)送給所述布局器; 調(diào)度單元,用于接收所述布局器反饋的布局結(jié)果,并根據(jù)所述布局結(jié)果對(duì)等待調(diào)度隊(duì)列中的任務(wù)進(jìn)行調(diào)度,如果調(diào)度失敗,則刪除對(duì)應(yīng)的業(yè)務(wù),如過調(diào)度成功,則存儲(chǔ)該任務(wù); 調(diào)度結(jié)果維護(hù)單元,用于對(duì)所述調(diào)度單元調(diào)度成功的任務(wù),在運(yùn)行任務(wù)ETQ隊(duì)列和預(yù)約任務(wù)PTQ隊(duì)列中建立對(duì)應(yīng)的控制塊,維護(hù)該任務(wù)的啟動(dòng)時(shí)刻和布局區(qū)域;根據(jù)該任務(wù)的啟動(dòng)時(shí)刻和運(yùn)行結(jié)束時(shí)刻對(duì)AEQ隊(duì)列進(jìn)行更新;并根據(jù)調(diào)度結(jié)果向所述資源管理器發(fā)送資源狀態(tài)更新信息。
相應(yīng)的,本發(fā)明孩提一種可重構(gòu)任務(wù)調(diào)度方法,包括 調(diào)度器提取接收到的任務(wù)的時(shí)空屬性參數(shù),計(jì)算該任務(wù)的松弛度,生成該任務(wù)布局的潛在布局時(shí)刻表PPTL,并向布局器發(fā)送所述PPTL; 調(diào)度器接收布局器發(fā)送的根據(jù)所述PPTL得到的所述任務(wù)的啟動(dòng)時(shí)間及對(duì)應(yīng)的資源; 調(diào)度器根據(jù)所述任務(wù)的啟動(dòng)時(shí)間及對(duì)應(yīng)的資源對(duì)等待調(diào)度隊(duì)列中的任務(wù)進(jìn)行調(diào)度,并維護(hù)調(diào)度成功的任務(wù)的啟動(dòng)時(shí)刻和布局區(qū)域,控制資源管理器中資源狀態(tài)的更新。
由上述技術(shù)可知,本發(fā)明在可重構(gòu)系統(tǒng)結(jié)構(gòu)上,以調(diào)度器作為系統(tǒng)核心,在調(diào)度任務(wù)時(shí),能夠以緊迫度區(qū)分服務(wù),維護(hù)任務(wù)隊(duì)列。調(diào)度器負(fù)責(zé)更新資源管理器狀態(tài),直接刪除以前的調(diào)度結(jié)果,將先到先服務(wù)模式,修改為搶占調(diào)度。布局器在資源器控制下進(jìn)行布局,降低了布局器的設(shè)計(jì)復(fù)雜度,使布局器能夠?qū)iT負(fù)責(zé)空閑區(qū)域搜索過程。在資源管理方式上采用資源切片鏈表的資源管理方法,用離散的切片表示資源的狀態(tài),避免在不同時(shí)刻維護(hù)相同的資源分布矩陣,從而有效降低了系統(tǒng)的存儲(chǔ)空間。由于PPTL表中的活動(dòng)時(shí)刻對(duì)應(yīng)于資源切片的起始時(shí)刻,使得布局過程只在該數(shù)據(jù)結(jié)構(gòu)的存活時(shí)間的起始時(shí)刻進(jìn)行布局,從而實(shí)現(xiàn)離散預(yù)約調(diào)度過程,避免了重復(fù)預(yù)約操作,提高了預(yù)約調(diào)度效率。
圖1為現(xiàn)有技術(shù)中可重構(gòu)任務(wù)處理系統(tǒng)的結(jié)構(gòu)示意圖; 圖2為本發(fā)明提供的一種可重構(gòu)任務(wù)處理系統(tǒng)的結(jié)構(gòu)示意圖; 圖3為本發(fā)明提供的在ETQ中的控制塊內(nèi)容及其排序的示意圖; 圖4為本發(fā)明提供的在PTQ中的控制塊內(nèi)容及其排序的示意圖; 圖5為本發(fā)明提供的控制塊在ETQ和PTQ中的狀態(tài)轉(zhuǎn)換的示意圖; 圖6為本發(fā)明提供的控制塊按發(fā)生時(shí)刻先后排序的AEQ的示意圖 圖7為本發(fā)明提供的資源切片中的CLB資源狀態(tài)示意圖 圖8為本發(fā)明提供的在不同時(shí)刻但資源分布相同的兩個(gè)資源切片的示意圖; 圖9為本發(fā)明提供的資源切片鏈表形成的三維資源空間的示意圖; 圖10為本發(fā)明提供的一種可重構(gòu)任務(wù)調(diào)度方法的流程圖; 圖11為本發(fā)明中提供的PPTL表的生成過程的示意圖; 圖12為本發(fā)明提供的ETQ、PTQ、AEQ和PPTL狀態(tài)轉(zhuǎn)換的示意圖; 圖13為本發(fā)明提供的一種支持緊迫度區(qū)分的搶占調(diào)度的流程圖; 圖14為本發(fā)明提供的一種基于時(shí)域資源切片的布局過程的示意圖; 圖15為本發(fā)明提供的一種基于PPTL表的預(yù)約調(diào)度實(shí)現(xiàn)過程的流程圖。
具體實(shí)施例方式 下面我們將結(jié)合附圖,對(duì)本發(fā)明的實(shí)施方案進(jìn)行詳細(xì)描述。
請(qǐng)參閱圖2,為本發(fā)明提供的一種可重構(gòu)任務(wù)處理系統(tǒng)的結(jié)構(gòu)示意圖,所述系統(tǒng)包括調(diào)度器21、布局器22和資源管理器23和可重構(gòu)器件24,所述調(diào)度器21、布局器22和資源管理器23集成在CPU25中,其中,所述調(diào)度器21,用于提取接收到的任務(wù)的時(shí)空屬性參數(shù),計(jì)算該任務(wù)的松弛度,生成該任務(wù)布局的潛在布局時(shí)刻表(PPTL,Potential Placing Time List),并將所述PPTL發(fā)送給所述布局器22,以及,根據(jù)接收到的所述布局器反饋的布局結(jié)果對(duì)等待調(diào)度隊(duì)列中的任務(wù)進(jìn)行調(diào)度,根據(jù)調(diào)度結(jié)果向所述資源管理器23發(fā)送資源狀態(tài)更新信息;所述布局器22,用于在接收到所述PPTL后,根據(jù)所述PPTL中的各個(gè)時(shí)刻對(duì)所述資源管理器23提供的資源進(jìn)行布局搜索,得到該任務(wù)的啟動(dòng)時(shí)間及對(duì)應(yīng)的資源,并向所述調(diào)度器22反饋布局結(jié)果;所述資源管理器23,用于在接收到所述調(diào)度器發(fā)送的資源狀態(tài)更新信息時(shí),更新任務(wù)布局區(qū)域內(nèi)的資源狀態(tài),并為所述布局器提供三維的搜索空間。
可選的,所述調(diào)度器具體包括計(jì)算單元、生成單元和調(diào)度結(jié)果維護(hù)單元,其中,所述計(jì)算單元,用于提取出接收到的任務(wù)的寬度、高度,計(jì)算所述任務(wù)的松弛度;所述生成單元,用于利用活動(dòng)事件隊(duì)列(AEQ,Activity EventQueue)提取出在所述任務(wù)松弛度內(nèi)的活動(dòng)時(shí)刻,生成PPTL,并將所述任務(wù)的寬度、高度及PPTL發(fā)送給所述布局器;所述調(diào)度結(jié)果維護(hù)單元,用于接收所述布局器反饋的布局結(jié)果,并根據(jù)所述布局結(jié)果對(duì)等待調(diào)度隊(duì)列中的任務(wù)進(jìn)行刪除或存儲(chǔ);對(duì)于調(diào)度成功的任務(wù),在運(yùn)行任務(wù)隊(duì)列(ETQ,Executing TaskQueue)和預(yù)約任務(wù)隊(duì)列(PTQ,Planning Task Queue)中建立對(duì)應(yīng)的控制塊,維護(hù)該任務(wù)的啟動(dòng)時(shí)刻和布局區(qū)域;根據(jù)該任務(wù)的啟動(dòng)時(shí)刻和運(yùn)行結(jié)束時(shí)刻對(duì)AEQ進(jìn)行更新;并根據(jù)調(diào)度結(jié)果向所述資源管理器發(fā)送資源狀態(tài)更新信息。
其中,所述調(diào)度結(jié)果維護(hù)單元根據(jù)調(diào)度結(jié)果向所述資源管理器發(fā)送資源狀態(tài)更新信息的過程具體包括當(dāng)任務(wù)布局成功時(shí),所述調(diào)度結(jié)果維護(hù)單元根據(jù)調(diào)度結(jié)果向所述資源管理器發(fā)送資源狀態(tài)更新信息,控制所述資源管理器將任務(wù)布局區(qū)域的所有資源的狀態(tài)標(biāo)注為非空閑狀態(tài),防止該區(qū)域被后續(xù)任務(wù)占用;在刪除任務(wù)時(shí),控制所述資源管理器將被刪除任務(wù)布局區(qū)域內(nèi)的資源狀態(tài)更新為空閑,使后續(xù)任務(wù)可預(yù)約該區(qū)域內(nèi)資源。
可選的,所述調(diào)度器還可以包括活動(dòng)事件隊(duì)列AEQ,用于存儲(chǔ)任務(wù)時(shí)間發(fā)生時(shí)刻以及在該時(shí)刻發(fā)生的事件個(gè)數(shù),所述任務(wù)發(fā)生時(shí)刻是指任務(wù)運(yùn)行啟動(dòng)和運(yùn)行結(jié)束事件的發(fā)生時(shí)刻,在AEQ中的活動(dòng)事件按照發(fā)生時(shí)刻順序存儲(chǔ)在AEQ中,對(duì)于在同時(shí)刻發(fā)生的多個(gè)事件只需一個(gè)控制塊進(jìn)行維護(hù)。
可選的,所述布局器可以包括布局搜索單元和布局搜索結(jié)果反饋單元,所述布局搜索單元,用于在接收到所述任務(wù)的寬度、高度和PPTL后,利用空閑矩陣資源匹配的搜索方式,對(duì)所述PPTL中的離散分布時(shí)刻依次進(jìn)行布局,并對(duì)所述資源管理器提供的三維搜索空間進(jìn)行空閑區(qū)域搜索,得到該任務(wù)的啟動(dòng)時(shí)間及對(duì)應(yīng)的資源,其中,所述三維搜索為三維資源長(zhǎng)方體,所述三維資源長(zhǎng)方體是指二維資源面積和時(shí)間維組成的具有時(shí)空特性的三維抽象資源模型;所述布局搜索結(jié)果反饋單元,用于向所述調(diào)度器反饋該任務(wù)的啟動(dòng)時(shí)間及對(duì)應(yīng)的資源。
其中,所述布局搜索單元對(duì)所述資源管理器提供的三維搜索空間進(jìn)行空閑區(qū)域搜索的過程具體包括所述布局搜索單元在所述資源管理器提供的三維搜索空間的各個(gè)時(shí)刻的資源切片中可容納該任務(wù)的連續(xù)空閑區(qū)域,當(dāng)空閑區(qū)域搜索成功后,將該空閑區(qū)域垂直掃描,以使該空閑區(qū)域在后續(xù)時(shí)間內(nèi)仍保持空閑狀態(tài),且該空閑區(qū)域能被任務(wù)連續(xù)占用e時(shí)間,其中e為任務(wù)的運(yùn)行時(shí)間。
可選的,所述資源管理器具體用于,采用資源切片鏈表的資源管理方式,在接收到所述調(diào)度器發(fā)送的資源狀態(tài)更新信息時(shí),利用資源切片對(duì)應(yīng)的二維矩陣中的權(quán)值來更新任務(wù)布局區(qū)域內(nèi)的資源的使用狀態(tài),并將資源切片按時(shí)間先后順序依次排列,維護(hù)不同時(shí)刻的資源使用狀態(tài),為所述布局器匹配資源提供三維的搜索空間。
在該實(shí)施例中,系統(tǒng)在接收到任務(wù)后,通常將任務(wù)抽象為矩形,由時(shí)空屬性參數(shù)(w,h,a,e,d)分別表示任務(wù)矩形的寬度、高度,任務(wù)的到達(dá)時(shí)刻、執(zhí)行時(shí)間、截止時(shí)刻;在調(diào)度器接收到任務(wù)時(shí),保存該業(yè)務(wù),提取該任務(wù)的時(shí)空屬性參數(shù),計(jì)算該任務(wù)的松弛度,生成該任務(wù)布局的PPTL表,利用PPTL表控制布局器直只在該表中的時(shí)刻進(jìn)行布局,當(dāng)任務(wù)布局失敗時(shí),調(diào)度器丟棄該任務(wù);當(dāng)布局成功時(shí),調(diào)度器根據(jù)布局器返回的布局結(jié)果,控制資源管理器進(jìn)行資源態(tài)的更新。
同時(shí),調(diào)度器還需要維護(hù)各任務(wù)的狀態(tài),具體包括運(yùn)行任務(wù)隊(duì)列ETQ、預(yù)約任務(wù)隊(duì)列PTQ和活動(dòng)事件隊(duì)列AEQ,其中,所述ETQ用于維護(hù)當(dāng)前所有正在運(yùn)行任務(wù)的控制塊,運(yùn)行任務(wù)的控制塊表示為 (i,v(t,fi),p(xi1,yi1,xi2,yi2),r(wi,hi,ai,ei,di)) 其中,i表示該運(yùn)行任務(wù)的編號(hào),t表示當(dāng)前時(shí)刻,fi為任務(wù)的運(yùn)行結(jié)束時(shí)刻,p(xi1,yi1,xi2,yi2)表示任務(wù)Ti當(dāng)前正在器件中的運(yùn)行區(qū)域,且滿足fi≥t和di≥fi,在ETQ中,任務(wù)控制塊按任務(wù)的結(jié)束時(shí)刻升序排列,具體如圖3所示,為本發(fā)明提供的在ETQ中的控制塊內(nèi)容及其排序的示意圖。
所述PTQ用來保存已預(yù)約調(diào)度成功但未啟動(dòng)運(yùn)行的已預(yù)約任務(wù)控制塊表示為(i,v(sj,fj),p(xj1,yj1,xj2,yj2),r(wj,hj,aj,ej,dj)),其中i表示該預(yù)約任務(wù)的編號(hào),sj為調(diào)度后得到的預(yù)約啟動(dòng)時(shí)刻,fj為任務(wù)的運(yùn)行結(jié)束時(shí)刻,p(xj1,yj1,xj2,yj2)表示任務(wù)Tj將在[sj,fj-1]時(shí)間內(nèi)所占用的資源區(qū)域,基于在PTQ中維護(hù)的預(yù)約調(diào)度結(jié)果,保證p(xj1,yj1,xj2,yj2)區(qū)域內(nèi)的資源在[sj,fj-1]時(shí)間內(nèi)不被其它任務(wù)占用,PTQ中的任務(wù)控制塊按任務(wù)的預(yù)約啟動(dòng)時(shí)刻sj升序排列,如圖4所示,為本發(fā)明提供的在PTQ隊(duì)列中的控制塊內(nèi)容及其排序的示意圖,在該圖中,空白方格表示新任務(wù),左斜方格表示運(yùn)行任務(wù)控制塊,右斜方格表示預(yù)約任務(wù)控制塊。
當(dāng)系統(tǒng)時(shí)間到某任務(wù)的預(yù)約啟動(dòng)時(shí)刻時(shí),該任務(wù)的控制塊將從PTQ轉(zhuǎn)移到ETQ中,表示該任務(wù)從預(yù)約狀態(tài)變?yōu)檫\(yùn)行狀態(tài),如圖5所示,為本發(fā)明提供的控制塊在ETQ和PTQ中的狀態(tài)轉(zhuǎn)換的示意圖;AEQ主要用來存儲(chǔ)活動(dòng)事件發(fā)生時(shí)刻的列表,所述活動(dòng)事件是指任務(wù)的啟動(dòng)和結(jié)束事件,任務(wù)活動(dòng)事件按照事件發(fā)生的先后順序存儲(chǔ)在AEQ中,其控制塊中包括事件發(fā)生時(shí)刻ti和事件發(fā)生個(gè)數(shù)n(ti),如圖6所示,為本發(fā)明提供的控制塊按發(fā)生時(shí)刻先后排序的AEQ的示意圖。
在該實(shí)施例中,布局器,利用調(diào)度器發(fā)送的任務(wù)長(zhǎng)度、寬度和PPTL表,在資源管理中進(jìn)行布局搜索,即按照PPTL表中的各個(gè)時(shí)刻依次進(jìn)行布局搜索,也就是說,在各時(shí)刻的布局搜索過程中,當(dāng)在第一時(shí)刻布局成功時(shí),表示該任務(wù)直接基本調(diào)度(BS Basic Scheduling)調(diào)度成功;當(dāng)在后續(xù)時(shí)刻任務(wù)布局成功時(shí),表示該任務(wù)預(yù)約成功;若任務(wù)在所有時(shí)刻都布局失敗,表示該任務(wù)調(diào)度失敗。當(dāng)任務(wù)布局完成以后,布局器將布局結(jié)果發(fā)送各調(diào)度器,對(duì)布局成功任務(wù),其布局結(jié)果包括運(yùn)行啟動(dòng)時(shí)刻和布局區(qū)域,若任務(wù)布局失敗,布局器向調(diào)度器發(fā)送布局失敗消息,調(diào)度器丟棄該任務(wù)。
在該實(shí)施例中,布局器主要基于PPTL表進(jìn)行離散預(yù)約調(diào)度過程,利用資源管理器提供的三維資源模型,在各時(shí)刻的資源切片中搜索可容納該任務(wù)的連續(xù)空閑區(qū)域,若在資源切片搜索空閑區(qū)域失敗,則在PPTL表中的下一時(shí)刻再進(jìn)行空閑區(qū)域搜索;若在資源切片中搜索空閑區(qū)域成功,則將該空閑區(qū)域垂直掃描,以保證該區(qū)域在后續(xù)時(shí)間內(nèi)仍保持空閑狀態(tài),使任務(wù)可連續(xù)占用該空閑區(qū)域e時(shí)間。若垂直掃描失敗,表示該任務(wù)所搜索的空閑區(qū)域無效,此時(shí)進(jìn)行搜索下一空閑區(qū)域。
也就是說,布局器采用空閑矩陣資源匹配的搜索方法,利用PPTL表中的離散分布時(shí)刻,在各時(shí)刻依次進(jìn)行布局,從而對(duì)三維資源長(zhǎng)方體空間進(jìn)行空閑區(qū)域搜索。所述的三維資源立方體是指二維資源面積和時(shí)間維組成的具有時(shí)空特性的三維抽象資源模型,即對(duì)于一個(gè)連續(xù)時(shí)間范圍內(nèi),資源狀態(tài)相同的切片用一個(gè)切片表示,表示為S([ti,ti+1-1]),其中S表示一個(gè)二維矩陣,反映了可重構(gòu)資源的使用狀態(tài);[t,ti+1-1]表示該切片的存活時(shí)間范圍,資源切片鏈表按照時(shí)間先后順序排列在鏈表上,從而形成三維的可重構(gòu)資源模型,即三維抽象資源模型。利用三維資源模型不僅能表示任務(wù)所占面積的空間屬性,還能刻畫任務(wù)運(yùn)行的時(shí)間屬性。其搜索的過程為首先在資源切片中進(jìn)行空白區(qū)域搜索,當(dāng)空閑區(qū)域搜索成功以后,將該空白區(qū)域垂直掃描,判定該空白區(qū)域是否能被任務(wù)連續(xù)占用e時(shí)間,其中e為任務(wù)的運(yùn)行時(shí)間。
此外,布局器利用PPTL表在資源管理器中進(jìn)行布局時(shí),可以采用AEAP(As earlier as possible)原則,任務(wù)依次在該表的各時(shí)刻進(jìn)行布局,當(dāng)任務(wù)在某時(shí)刻布局成功時(shí),則無需在后續(xù)時(shí)刻再進(jìn)行布局,使任務(wù)在“盡早”的時(shí)間內(nèi)預(yù)約調(diào)度成功。其中,布局器基于PPTL的布局過程中,由于PPTL表中的各時(shí)刻對(duì)應(yīng)于資源切片的存活時(shí)間初始時(shí)刻,避免了在存活時(shí)間內(nèi)的布局過程,有利于加快任務(wù)預(yù)約調(diào)度速度。
本實(shí)施例中的資源管理器,是以基于二維矩陣的資源切片邏輯數(shù)據(jù)結(jié)構(gòu)管理可重構(gòu)資源,資源切片對(duì)應(yīng)一個(gè)二維矩陣M[x][y],以m[x][y]表示矩陣中的基本組成元素,表示二維坐標(biāo)為(x,y)的資源邏輯單元CLB資源,且x和y分別滿足1≤x≤W和1≤y≤H,其中W為器件中的CLB列數(shù),而H為器件中的CLB列數(shù)。在二維矩陣中利用m的權(quán)值表示該CLB資源的使用狀態(tài)。由于每個(gè)CLB資源在同一時(shí)刻只能處于占用或空閑狀態(tài)之一,在資源切片中將m的權(quán)值定義為0或1,當(dāng)m[x][y]=0時(shí),表示坐標(biāo)為(x,y)的CLB未被任務(wù)占用,正處于空閑狀態(tài);當(dāng)m[x][y]=1時(shí),表示坐標(biāo)為(x,y)的CLB被任務(wù)占用,正處于占用狀態(tài),具體如圖7所示,為本發(fā)明提供的資源切片中的CLB資源狀態(tài)示意圖。在該圖中的T1、T2和T3為任務(wù)占用狀態(tài)的資源切片。
在該本發(fā)明實(shí)施例中,對(duì)于一個(gè)連續(xù)時(shí)間范圍內(nèi),資源狀態(tài)相同的資源切片用一個(gè)資源切片表示,具體如圖8所示,為本發(fā)明提供的在不同時(shí)刻但資源分布相同的兩個(gè)資源切片的示意圖;所述資源切片為S(ti,ti+1-1])表示,其中,[t,ti+1-1]表示該資源切片有效的時(shí)間范圍,表示在該時(shí)間的資源分布中該資源切片中的二維矩陣。將資源切片按時(shí)間先后順序依次排列,維護(hù)在不同時(shí)刻的資源使用狀態(tài),從而為布局器匹配資源提供三維資源搜索空間,所述三維資源搜索空間如圖9所示,為本發(fā)明提供的資源切片鏈表形成的三維資源空間的示意圖。
資源管理器根據(jù)任務(wù)的調(diào)度結(jié)果進(jìn)行更新管理。當(dāng)增加新任務(wù)的調(diào)度結(jié)果時(shí),需要在資源管理器中增加新的資源切片進(jìn)行維護(hù);在搶占調(diào)度過程中,當(dāng)刪除部分任務(wù)的調(diào)度結(jié)果時(shí),將需刪除部分資源切片,同時(shí)對(duì)資源管理器中的資源切片進(jìn)行合并;當(dāng)系統(tǒng)時(shí)間大于資源切片的存活時(shí)間后,將該切片將從資源管理器中刪除。也就是說,資源管理器根據(jù)任務(wù)的調(diào)度結(jié)果進(jìn)行更新,當(dāng)維護(hù)新任務(wù)的布局結(jié)果時(shí),對(duì)于存活時(shí)間在任務(wù)運(yùn)行時(shí)間內(nèi)的資源切片,在其維護(hù)的二維矩陣中,將任務(wù)布局區(qū)域內(nèi)的資源狀態(tài)更新為占用狀態(tài);當(dāng)任務(wù)的運(yùn)行啟動(dòng)時(shí)間或運(yùn)行結(jié)束時(shí)刻在某資源切片的存活時(shí)間內(nèi),則該資源切片將分裂為兩個(gè)新的資源切片,將任務(wù)運(yùn)行啟動(dòng)時(shí)刻或運(yùn)行結(jié)束時(shí)刻所在的資源切片中的布局區(qū)域進(jìn)行資源狀態(tài)更新,而另一切片中維護(hù)的二維矩陣維持不變。在執(zhí)行任務(wù)調(diào)度結(jié)果的刪除過程時(shí),將該任務(wù)所涉及的資源切片進(jìn)行資源狀態(tài)更新,將被刪除任務(wù)的布局區(qū)域內(nèi)的資源狀態(tài)更新為空閑狀態(tài)。
對(duì)于未啟動(dòng)的預(yù)約任務(wù),由于其調(diào)度結(jié)果利用軟件維護(hù),包括PTQ、AEQ和資源管理器維護(hù)的調(diào)度結(jié)果,通過失效預(yù)約任務(wù)的調(diào)度結(jié)果,使后續(xù)任務(wù)可占用預(yù)約任務(wù)失效后釋放的資源。即將預(yù)約失效任務(wù)的控制塊從在PTQ中刪除;同時(shí)在AEQ中將失效任務(wù)的運(yùn)行啟動(dòng)和結(jié)束時(shí)刻維護(hù)的活動(dòng)事件總數(shù)減1,若活動(dòng)事件總數(shù)減1后為0時(shí),表示在該時(shí)刻維護(hù)的控制塊無效,將其從AEQ中刪除;在資源管理器中將失效任務(wù)的布局區(qū)域內(nèi)的資源狀態(tài),從占用狀態(tài)修改為空閑狀態(tài)。
當(dāng)任務(wù)到達(dá)系統(tǒng)后,加入等待調(diào)度隊(duì)列,當(dāng)新任務(wù)直接預(yù)約調(diào)度失敗時(shí),將新任務(wù)與預(yù)約任務(wù)比較緊迫度大小,若不存在緊迫度較小的預(yù)約任務(wù)時(shí),該任務(wù)無法進(jìn)行搶占調(diào)度,將該任務(wù)丟棄;若存在緊迫度較小的預(yù)約任務(wù),將此類預(yù)約任務(wù)的調(diào)度結(jié)果失效,新任務(wù)在此基礎(chǔ)上進(jìn)行搶占調(diào)度,若搶占調(diào)度成功,維護(hù)任務(wù)的調(diào)度結(jié)果,并對(duì)各失效任務(wù)進(jìn)行重新調(diào)度,若搶占調(diào)度失敗,對(duì)于預(yù)約失效任務(wù),直接恢復(fù)其先前的調(diào)度結(jié)果,將避免對(duì)失效任務(wù)的再調(diào)度過程。
在預(yù)約任務(wù)的失效過程中,分先后順行對(duì)其調(diào)度結(jié)果進(jìn)行刪除,首先刪除預(yù)約任務(wù)在AEQ和資源管理器中的調(diào)度結(jié)果,當(dāng)新任務(wù)搶占失敗成功時(shí),再將其在PTQ中的維護(hù)結(jié)果刪除;當(dāng)新任務(wù)搶占調(diào)度失敗時(shí),利用失效任務(wù)在PTQ中未刪除的調(diào)度結(jié)果,直接在AEQ和資源管理器中恢復(fù)失效任務(wù)的調(diào)度結(jié)果。
由此可見,在本發(fā)明提供的系統(tǒng)中,以調(diào)度器為核心,布局器和資源管理器分別在調(diào)度器控制下完成任務(wù)布局過程和資源狀態(tài)更新過程,其中布局器根據(jù)調(diào)度器發(fā)送的潛在布局時(shí)刻表PPTL,在各個(gè)時(shí)刻依次進(jìn)行布局。資源管理器根據(jù)調(diào)度器發(fā)送的資源狀態(tài)更新信息,當(dāng)任務(wù)調(diào)度成功時(shí),將該任務(wù)布局區(qū)域內(nèi)的資源狀態(tài)更新為占用狀態(tài),表示該區(qū)域內(nèi)的資源已被占有;當(dāng)調(diào)度器刪除某任務(wù)的調(diào)度結(jié)果時(shí),利用調(diào)度器發(fā)送的資源狀態(tài)更新信息,將任務(wù)原布局區(qū)域的資源狀態(tài)更新為空閑,表示該區(qū)域內(nèi)的資源未被占用。通過刪除先前已調(diào)度任務(wù)的調(diào)度結(jié)果,即失效已調(diào)度任務(wù)的布局結(jié)果,使其釋放其所占資源,后續(xù)到達(dá)任務(wù)根據(jù)任務(wù)的服務(wù)屬性決定該任務(wù)是否對(duì)先前任務(wù)進(jìn)行搶占調(diào)度,從而實(shí)現(xiàn)不同任務(wù)在調(diào)度過程中的區(qū)分服務(wù),即為不同需求的任務(wù)提供差異化服務(wù),提高任務(wù)的調(diào)度效率。
基于上述方法的實(shí)現(xiàn)過程,本發(fā)明實(shí)施例還提供一種可重構(gòu)任務(wù)調(diào)度方法,其流程圖詳見圖10,所述方法包括 步驟1001調(diào)度器提取接收到的任務(wù)的時(shí)空屬性參數(shù),計(jì)算該任務(wù)的松弛度,生成該任務(wù)布局的潛在布局時(shí)刻表PPTL; 步驟1002調(diào)度器接收布局器發(fā)送的根據(jù)所述PPTL得到的所述任務(wù)的啟動(dòng)時(shí)間及對(duì)應(yīng)的資源; 步驟1003調(diào)度器根據(jù)所述任務(wù)的啟動(dòng)時(shí)間及對(duì)應(yīng)的資源對(duì)等待調(diào)度隊(duì)列中的任務(wù)進(jìn)行調(diào)度,并維護(hù)調(diào)度成功的任務(wù)的啟動(dòng)時(shí)刻和布局區(qū)域,控制資源管理器中資源狀態(tài)的更新。
可選的,所述方法還可以包括布局器根據(jù)接收到的所述PPTL中的各個(gè)時(shí)刻對(duì)所述資源管理器提供的資源進(jìn)行布局搜索,得到所述任務(wù)的啟動(dòng)時(shí)間及對(duì)應(yīng)的資源,并將所述任務(wù)的啟動(dòng)時(shí)間及對(duì)應(yīng)的資源發(fā)送給調(diào)度器。
其中,在步驟1001中,所述調(diào)度器提取接收到的任務(wù)的時(shí)空屬性參數(shù),計(jì)算該任務(wù)的松弛度,生成該任務(wù)布局的潛在布局時(shí)刻表PPTL具體包括 提取出接收到的任務(wù)的寬度、高度,計(jì)算所述任務(wù)的松弛度,利用活動(dòng)事件隊(duì)列AEQ提取出在所述任務(wù)松弛度內(nèi)的活動(dòng)時(shí)刻,生成PPTL。
布局器根據(jù)接收到的所述PPTL中的各個(gè)時(shí)刻對(duì)所述資源管理器提供的資源進(jìn)行布局搜索,得到所述任務(wù)的啟動(dòng)時(shí)間及對(duì)應(yīng)的資源,并將所述任務(wù)的啟動(dòng)時(shí)間及對(duì)應(yīng)的資源發(fā)送給調(diào)度器 可選的,所述布局器根據(jù)所述PPTL中的各個(gè)時(shí)刻對(duì)所述資源管理器提供的資源進(jìn)行布局搜索,得到所述任務(wù)的啟動(dòng)時(shí)間及對(duì)應(yīng)的資源具體包括 布局器根據(jù)所述任務(wù)的寬度、高度和PPTL,利用空閑矩陣資源匹配的搜索方式,對(duì)所述PPTL中的離散分布時(shí)刻依次進(jìn)行布局,并對(duì)所述資源管理器提供的三維搜索空間進(jìn)行空閑區(qū)域搜索,得到該任務(wù)的啟動(dòng)時(shí)間及對(duì)應(yīng)的資源,其中,所述三維搜索為三維資源長(zhǎng)方體,所述三維資源長(zhǎng)方體是指二維資源面積和時(shí)間維組成的具有時(shí)空特性的三維抽象資源模型。
其中,所述布局器對(duì)所述資源管理器提供的三維搜索空間進(jìn)行空閑區(qū)域搜索具體包括所述布局器在所述資源管理器提供的三維搜索空間的各個(gè)時(shí)刻的資源切片中可容納該任務(wù)的連續(xù)空閑區(qū)域,當(dāng)空閑區(qū)域搜索成功后,將該空閑區(qū)域垂直掃描,以使該空閑區(qū)域在后續(xù)時(shí)間內(nèi)仍保持空閑狀態(tài),且該空閑區(qū)域能被任務(wù)連續(xù)占用e時(shí)間,其中e為任務(wù)的運(yùn)行時(shí)間。
在步驟1003中,所述調(diào)度器根據(jù)所述任務(wù)的啟動(dòng)時(shí)間及對(duì)應(yīng)的資源對(duì)等待調(diào)度隊(duì)列中的任務(wù)進(jìn)行調(diào)度,并維護(hù)調(diào)度成功的任務(wù)的啟動(dòng)時(shí)刻和布局區(qū)域,控制資源管理器中資源狀態(tài)的更新具體包括 調(diào)度器所述任務(wù)的啟動(dòng)時(shí)間及對(duì)應(yīng)的資源對(duì)等待調(diào)度隊(duì)列中的任務(wù)進(jìn)行刪除或存儲(chǔ);對(duì)于調(diào)度成功的任務(wù),在運(yùn)行任務(wù)隊(duì)列ETQ和預(yù)約任務(wù)隊(duì)列PTQ中建立對(duì)應(yīng)的控制塊,維護(hù)該任務(wù)的啟動(dòng)時(shí)刻和布局區(qū)域;根據(jù)該任務(wù)的啟動(dòng)時(shí)刻和運(yùn)行結(jié)束時(shí)刻對(duì)AEQ進(jìn)行更新;并根據(jù)調(diào)度結(jié)果控制所述資源管理器進(jìn)行資源狀態(tài)的更新;資源管理器根據(jù)所述調(diào)度任務(wù),更新任務(wù)布局區(qū)域內(nèi)的資源狀態(tài),并為所述布局器提供三維的搜索空間。
其中,所述資源管理器根據(jù)所述調(diào)度結(jié)果,更新任務(wù)布局區(qū)域內(nèi)的資源狀態(tài),并為所述布局器提供三維的搜索空間具體包括所述資源管理器采用資源切片鏈表的資源管理方式,在接收到所述調(diào)度器發(fā)送的資源狀態(tài)更新信息時(shí),利用資源切片對(duì)應(yīng)的二維矩陣中的權(quán)值來更新任務(wù)布局區(qū)域內(nèi)的資源的使用狀態(tài),并將資源切片按時(shí)間先后順序依次排列,維護(hù)不同時(shí)刻的資源使用狀態(tài),為所述布局器匹配資源提供三維的搜索空間。
在該實(shí)施例中,任務(wù)到達(dá)系統(tǒng)后,系統(tǒng)將該任務(wù)加入等待調(diào)度隊(duì)列,調(diào)度器首先對(duì)任務(wù)直接進(jìn)行預(yù)約調(diào)度,將任務(wù)抽象為矩形,由時(shí)空屬性參數(shù)(w,h,a,e,d)分別表示任務(wù)矩形的寬度、高度,任務(wù)的到達(dá)時(shí)刻、執(zhí)行時(shí)間、截止時(shí)刻,計(jì)算任務(wù)的松弛時(shí)間范圍[a,d-e],并利用AEQ中維護(hù)的活動(dòng)事件發(fā)生時(shí)刻,提取出在[a,d-e]內(nèi)的活動(dòng)事件發(fā)生時(shí)刻,作為PPTL表中的各布局時(shí)刻,其中a時(shí)刻為PPTL表中的首個(gè)布局時(shí)刻,如圖11所示,為本發(fā)明中提供的PPTL表的生成過程的示意圖;布局器根據(jù)輸入的任務(wù)的時(shí)空屬性參數(shù)和PPTL表,在資源管理器中對(duì)任務(wù)進(jìn)行布局,若任務(wù)直接在a時(shí)刻布局成功,表示該任務(wù)直接調(diào)度成功,布局器向調(diào)度器返回布局結(jié)果,調(diào)度器將調(diào)度結(jié)果在運(yùn)行任務(wù)隊(duì)列ETQ和AEQ中進(jìn)行維護(hù),同時(shí)根據(jù)布局區(qū)域和任務(wù)的結(jié)束時(shí)刻在資源管理器中進(jìn)行資源狀態(tài)維護(hù);若任務(wù)后續(xù)時(shí)刻布局成功,表示該任務(wù)預(yù)約調(diào)度成功,布局器向調(diào)度器返回布局結(jié)果,調(diào)度器將調(diào)度結(jié)果在預(yù)約任務(wù)隊(duì)列表PTL和AEQ中進(jìn)行維護(hù),同時(shí)根據(jù)布局區(qū)域、預(yù)約啟動(dòng)時(shí)刻和結(jié)束時(shí)刻在資源管理器中進(jìn)行資源狀態(tài)維護(hù);當(dāng)任務(wù)后續(xù)時(shí)刻都布局失敗時(shí),布局器向調(diào)度器返回失敗消息,由調(diào)度器決定該任務(wù)將進(jìn)行搶占調(diào)度,其中ETQ、PTQ、AEQ和PPTL的狀態(tài)轉(zhuǎn)換,如圖12所示,為本發(fā)明提供的ETQ、PTQ、AEQ和PPTL狀態(tài)轉(zhuǎn)換的示意圖。
在當(dāng)前時(shí)刻t,對(duì)于新到達(dá)任務(wù)和已預(yù)約任務(wù),將兩任務(wù)在t時(shí)刻的緊迫度(urgency)表示為
其中t<s≤d-e,s為任務(wù)的預(yù)約啟動(dòng)時(shí)刻。新任務(wù)在其到達(dá)時(shí)刻與預(yù)約任務(wù)比較緊迫度大小,若存在緊迫度較小的預(yù)約任務(wù),將預(yù)約任務(wù)的調(diào)度結(jié)果失效,其失效過程包括 在AEQ中刪除活動(dòng)事件發(fā)生時(shí)刻記錄,并在資源管理器器中將失效任務(wù)的布局區(qū)域內(nèi)資源狀態(tài)更新為空閑,對(duì)PTQ中維護(hù)的預(yù)約任務(wù)控制塊暫不刪除,當(dāng)完成緊迫度較小任務(wù)的失效過程以后,新任務(wù)在此基礎(chǔ)上進(jìn)行調(diào)度,包括生成PPTL表,并將PPTL表和任務(wù)面積屬性發(fā)送給布局器,由布局器對(duì)任務(wù)進(jìn)行布局處理,當(dāng)任務(wù)在某時(shí)刻布局成功時(shí),表示該任務(wù)搶占調(diào)度成功,布局器返回調(diào)度結(jié)果,調(diào)度器對(duì)調(diào)度結(jié)果進(jìn)行維護(hù),同時(shí)刪除預(yù)約失效任務(wù)在PTQ中的控制塊,并對(duì)各失效任務(wù)重新進(jìn)行調(diào)度;若新任務(wù)的搶占調(diào)度過程失敗,則布局器返回布局失敗信息,則調(diào)度器將新任務(wù)從等待隊(duì)列中刪除,同時(shí)利用各失效任務(wù)在PTQ中維護(hù)的控制塊,包括布局區(qū)域,預(yù)約啟動(dòng)時(shí)刻和結(jié)束時(shí)刻,分別對(duì)AEQ和資源管理器進(jìn)行更新,從而使失效任務(wù)恢復(fù)為正常的預(yù)約任務(wù),避免了對(duì)失效任務(wù)的再調(diào)度過程。利用緊迫度差異實(shí)現(xiàn)不同任務(wù)的區(qū)分服務(wù),使緊迫度交大的任務(wù)優(yōu)先調(diào)度,使任務(wù)的調(diào)度更加合理,有利于提高任務(wù)調(diào)度的整體成功率 也就是說,本發(fā)明中的任務(wù)調(diào)度是基于PPTL表的離散預(yù)約過程,并支持對(duì)預(yù)約任務(wù)的搶占調(diào)度,具體實(shí)現(xiàn)過程包括系統(tǒng)接收任務(wù)后,將該任務(wù)加入等待調(diào)度隊(duì)列,首先對(duì)任務(wù)直接進(jìn)行預(yù)約調(diào)度,將任務(wù)抽象為矩形,由時(shí)空屬性參數(shù)(w,h,a,e,d)分別表示任務(wù)矩形的寬度、高度,任務(wù)的到達(dá)時(shí)刻、執(zhí)行時(shí)間、截止時(shí)刻;新任務(wù)到達(dá)后,調(diào)度器保存該任務(wù),并利用任務(wù)的時(shí)空屬性對(duì)任務(wù)首先直接進(jìn)行預(yù)約調(diào)度,若該任務(wù)能直接調(diào)度成功,則新任務(wù)無需進(jìn)行搶占調(diào)度,若新任務(wù)直接調(diào)度不成功,根據(jù)緊迫度大小,決定新任務(wù)是否對(duì)已預(yù)約任務(wù)進(jìn)行搶占調(diào)度,對(duì)緊迫度較小的任務(wù)通過將其調(diào)度結(jié)果失效,新任務(wù)在此基礎(chǔ)上進(jìn)行調(diào)度,并可占用失效任務(wù)釋放的資源,若搶占調(diào)度成功,維護(hù)新任務(wù)的調(diào)度結(jié)果,同時(shí)將失效任務(wù)再重新調(diào)度,若搶占預(yù)約失敗,調(diào)度器丟棄新任務(wù),同時(shí)恢復(fù)失效任務(wù)的調(diào)度結(jié)果,避免對(duì)失效任務(wù)再重新調(diào)度。在調(diào)度過程(包括搶占調(diào)度過程)中,調(diào)度器利用其內(nèi)部維護(hù)的活動(dòng)事件隊(duì)列AEQ,提取出在任務(wù)松弛度內(nèi)的活動(dòng)時(shí)刻生成PPTL表,調(diào)度器將任務(wù)的長(zhǎng)度、寬度和PPTL表發(fā)送給布局器。布局器利用資源管理器,在PPTL表中的各時(shí)刻依次進(jìn)行布局,若任務(wù)在PPTL表中的所有時(shí)刻布局失敗,則布局器向調(diào)度器返回失敗結(jié)果,調(diào)度器將該任務(wù)從等待調(diào)度隊(duì)列中刪除;若任務(wù)在PPTL表中的某時(shí)刻布局成功,則將該時(shí)刻作為任務(wù)的運(yùn)行啟動(dòng)時(shí)刻,布局器向調(diào)度器返回任務(wù)的啟動(dòng)時(shí)刻和布局區(qū)域,調(diào)度器根據(jù)布局結(jié)果(包括運(yùn)行啟動(dòng)時(shí)刻和布局區(qū)域),對(duì)自身維護(hù)的運(yùn)行任務(wù)隊(duì)列ETQ和預(yù)約任務(wù)隊(duì)列PTQ進(jìn)行更新,并利用任務(wù)的運(yùn)行啟動(dòng)和運(yùn)行結(jié)束時(shí)刻對(duì)AEQ隊(duì)列進(jìn)行更新,同時(shí)對(duì)資源管理器中的資源狀態(tài)進(jìn)行維護(hù),將布局區(qū)域內(nèi)的資源狀態(tài)更新為占用狀態(tài)。在支持搶占調(diào)度時(shí),需失效部分預(yù)約任務(wù)的調(diào)度結(jié)果,其操作包括對(duì)PTQ和AEQ進(jìn)行更新,同時(shí)在資源管理器中將失效任務(wù)布局區(qū)域內(nèi)的資源狀態(tài)修改為空閑狀態(tài),新任務(wù)在此基礎(chǔ)上進(jìn)行調(diào)度,包括生成PPTL表,以及在該表中的各時(shí)刻依次布局。任務(wù)在其啟動(dòng)時(shí)刻被下載運(yùn)行,同時(shí)開始占用其布局區(qū)域內(nèi)的資源,當(dāng)任務(wù)運(yùn)行結(jié)束后,其占用的資源將被釋放。本發(fā)明從系統(tǒng)結(jié)構(gòu)上支持完整的任務(wù)調(diào)度和布局過程,并特別增加對(duì)搶占調(diào)度的支持功能,實(shí)現(xiàn)不同任務(wù)之間的區(qū)分調(diào)度服務(wù)。
由此可知,本發(fā)明在可重構(gòu)系統(tǒng)結(jié)構(gòu)上,以調(diào)度器作為系統(tǒng)核心,在調(diào)度任務(wù)時(shí),能夠以緊迫度區(qū)分服務(wù),維護(hù)任務(wù)隊(duì)列,體現(xiàn)了不同任務(wù)的服務(wù)差異,使緊迫度高的任務(wù)優(yōu)先調(diào)度運(yùn)行,提高了系統(tǒng)調(diào)度任務(wù)的合理性和成功率。調(diào)度器根據(jù)任務(wù)的時(shí)空屬性,生成PPTL表,用于控制任務(wù)在資源管理器中的布局過程;同時(shí)調(diào)度器直接控制資源管理器更新資源使用狀態(tài),利用直接在在資源管理器中添加或刪除任務(wù)的調(diào)度結(jié)果,即刪除以前的調(diào)度結(jié)果,將現(xiàn)有的先到先服務(wù)模式,修改為引入搶占調(diào)度模式;布局器在資源器控制下進(jìn)行布局,即只對(duì)PPTL表中的時(shí)刻進(jìn)行布局,降低了布局器的設(shè)計(jì)復(fù)雜度,使布局器能夠?qū)iT負(fù)責(zé)空閑區(qū)域搜索過程,提高了布局操作效率。
在資源管理器中,采用了基于資源切片鏈表的資源管理方式,用離散的切片表示資源的狀態(tài),使得連續(xù)的資源狀態(tài)能夠用離散的資源切片表示,避免在不同時(shí)刻維護(hù)相同的資源分布矩陣,從而降低了資源管理的空間、時(shí)間復(fù)雜度,同時(shí)為任務(wù)布局過程操作提供了三維資源搜索空間。由于PPTL表中的活動(dòng)時(shí)刻對(duì)應(yīng)于資源切片的起始時(shí)刻,使得布局過程只在該數(shù)據(jù)結(jié)構(gòu)的存活時(shí)間的起始時(shí)刻進(jìn)行布局,從而實(shí)現(xiàn)離散預(yù)約調(diào)度過程,避免了重復(fù)預(yù)約操作,提高了預(yù)約調(diào)度效率。
為了便于本領(lǐng)域技術(shù)人員的理解,下面以支持緊迫度區(qū)分的搶占調(diào)度實(shí)現(xiàn)過程為例,具體圖13所示,為本發(fā)明提供的一種支持緊迫度區(qū)分的搶占調(diào)度的流程圖,包括 步驟1301對(duì)于在aj時(shí)刻到達(dá)的新任務(wù)Tj(wj,hj,aj,ej,dj),判斷Tj在aj時(shí)刻直接進(jìn)行BS調(diào)度是否成功,若成功,執(zhí)行步驟1310,若不成功,則執(zhí)行步驟1302; 步驟1302對(duì)任務(wù)進(jìn)行PS調(diào)度,判斷該任務(wù)是否調(diào)度成功,若否,執(zhí)行步驟1303,若是,則執(zhí)行步驟1310; 步驟1303對(duì)新任務(wù)和閾值內(nèi)的已預(yù)約任務(wù)執(zhí)行步驟1304; 步驟1304分別計(jì)算各任務(wù)的緊迫度大小,并比較新任務(wù)的uj與各個(gè)已預(yù)約任務(wù)的ui大小,若存在已預(yù)約任務(wù)的ui<uj,則執(zhí)行步驟1305,若否,則執(zhí)行步驟1309; 步驟1305在AEQ隊(duì)列和資源管理器中將Ti的調(diào)度結(jié)果失效,判斷Tj在此基礎(chǔ)上進(jìn)行搶占調(diào)度是否成功,若Tj調(diào)度成功,執(zhí)行步驟1306,若不成功,則執(zhí)行步驟1307; 步驟1306維護(hù)Tj的調(diào)度結(jié)果,同時(shí)將Ti在PTQ隊(duì)列中的任務(wù)塊刪除,對(duì)所有Ti執(zhí)行步驟1308; 步驟1307利用Ti在PTQ中的控制塊,在AEQ和資源管理器中恢復(fù)Ti的調(diào)度結(jié)果,并對(duì)Tj執(zhí)行步驟1309; 步驟1308按緊迫度從大到小順序依次進(jìn)行調(diào)度,若調(diào)度成功,則保存調(diào)度結(jié)果,若失敗,直接丟棄該任務(wù),當(dāng)所有Ti都完成調(diào)度時(shí),結(jié)束本次調(diào)度過程。
步驟1309丟棄該任務(wù),結(jié)束本次調(diào)度過程。
步驟1310在PTQ、AEQ和資源管理器維護(hù)任務(wù)的調(diào)度結(jié)果,結(jié)束本次調(diào)度過程。
在本發(fā)明中,布局過程可以分為1.空閑區(qū)域搜索過程;2.空閑區(qū)域的垂直掃描過程,具體的實(shí)現(xiàn)過程如下 在搜索空閑區(qū)域過程中,采用了簡(jiǎn)單的BL(Bottom Left)掃描法,從二維矩陣的左下角開始,依次沿x軸和y軸搜索空閑區(qū)域,將以(j,k)為基點(diǎn)的矩形區(qū)域表示為(j,k,j+w-1,k+h-1),則在該區(qū)域內(nèi)各CLB資源權(quán)值之和表示為
若
時(shí),表示在(j,k,j+w-1,k+h-1)區(qū)域內(nèi)的權(quán)值都為0,可得到在該區(qū)域內(nèi)的資源都處于空閑狀態(tài);若
時(shí),表示在該區(qū)域內(nèi)的部分或全部資源處于非空閑狀態(tài)。
對(duì)于由資源切片組成的三維資源模型,在資源切片面S(ti)中,將在該切片中存在的空閑區(qū)域表示為 若
時(shí),表示存在以(ji,ki)為基點(diǎn)的空閑區(qū)域,則空閑區(qū)域掃描成功;若
表示在S(ti)中不存在面積合適的空閑區(qū)域,則該任務(wù)在ti時(shí)刻的空閑區(qū)域掃描失敗。
對(duì)在S(ti)中搜索到的空閑區(qū)域(ji,ki,ji+w-1,ki+h-1),只表明該區(qū)域在ti時(shí)刻處于空閑狀態(tài),為防止該區(qū)域在將來時(shí)刻被其它任務(wù)預(yù)約,必須保證該空閑區(qū)域在[ti,ti+e-1]時(shí)間內(nèi)都被任務(wù)占用。通過沿z軸方向?qū)υ摽臻e區(qū)域進(jìn)行垂直掃描,形成一個(gè)以(ji,ki,ti)為基點(diǎn)的三維長(zhǎng)方體模型,則長(zhǎng)方體中的所有權(quán)值之和表示為
若
時(shí),表示該長(zhǎng)方體模型中的所有CLB資源都處于空閑狀態(tài),即在(ji,ki,ji+w-1,ki+h-1)區(qū)域內(nèi)的CLB資源在[ti,ti+e-1]時(shí)間內(nèi)都為空閑狀態(tài),則認(rèn)為該任務(wù)在ti時(shí)刻調(diào)度成功;若
時(shí),表示(ji,ki,ji+w-1,ki+h-1)區(qū)域內(nèi)的資源在[ti+1,ti+e-1]時(shí)間內(nèi)不都處于空閑狀態(tài),則該空閑區(qū)域無效,需重新搜索下一空閑區(qū)域(ji+1,ki+1,ji+1+w-1,ki+1+h-1),然后再進(jìn)行垂直掃描。若在資源切片面S(ti))中搜索的空閑區(qū)域都無效,認(rèn)為該任務(wù)在ti時(shí)刻的布局過程失敗。
在本調(diào)度系統(tǒng)中,資源管理器由資源切片組成,在任務(wù)布局過程中,對(duì)于在同一資源切片中維護(hù)的矩形區(qū)域,由于資源分布在存活時(shí)間內(nèi)的各時(shí)刻都相同,對(duì)同一資源切片,只需垂直掃描其在初始時(shí)刻的資源分布,則將基于資源切片的任務(wù)模型表示為
其中s布局掃描起始時(shí)刻,ti為資源切片的起始時(shí)刻,如圖14所示,為本發(fā)明提供的一種基于時(shí)域資源切片的布局過程的示意圖。在該圖中,若
時(shí),表示在資源切片S(ti)中存在空白矩形(ji,ki,ji+w-1,ki+h-1),且該空白矩形在[si,si+e-1]時(shí)間內(nèi)垂直掃描成功,則認(rèn)為該任務(wù)在si時(shí)刻調(diào)度成功,si為任務(wù)的預(yù)約啟動(dòng)時(shí)刻,其中si>a;若
時(shí),表示任務(wù)在[a,slatest]時(shí)間內(nèi)的各時(shí)刻都布局失敗,則該任務(wù)在[a,slatest]時(shí)間內(nèi)預(yù)約調(diào)度失敗。
在本發(fā)明中,基于PPTL表的預(yù)約調(diào)度實(shí)現(xiàn)過程的流程圖如圖15所示,具體包括 步驟1501在PPTL表中第一個(gè)時(shí)刻對(duì)任務(wù)進(jìn)行布局,若布局成功,轉(zhuǎn)步驟1504,否則,轉(zhuǎn)步驟1502; 步驟1502將第一個(gè)布局時(shí)刻從PPTL表中刪除,并判斷當(dāng)前PPTL表是否為空,如果為空,轉(zhuǎn)步驟1506,否則,轉(zhuǎn)步驟1503; 步驟1503在PPTL表中的第一個(gè)時(shí)刻對(duì)任務(wù)進(jìn)行布局,若布局成功,轉(zhuǎn)步驟1505,否則,轉(zhuǎn)步驟1502; 步驟1504BS調(diào)度成功,在ETQ隊(duì)列中維護(hù)該運(yùn)行任務(wù)的調(diào)度結(jié)果,結(jié)束本次調(diào)度過程。
步驟1505PS調(diào)度成功,在PTQ隊(duì)列中維護(hù)該預(yù)約任務(wù)的調(diào)度結(jié)果,結(jié)束本次調(diào)度過程。
步驟1506表示預(yù)約調(diào)度失敗,丟棄該任務(wù),結(jié)束本次調(diào)度過程。
通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件平臺(tái)的方式來實(shí)現(xiàn),當(dāng)然也可以通過硬件,但很多情況下前者是更佳的實(shí)施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在存儲(chǔ)介質(zhì)中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。
以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以作出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種可重構(gòu)任務(wù)處理系統(tǒng),其特征在于,包括調(diào)度器、布局器和資源管理器,其中,
所述調(diào)度器,用于提取接收到的任務(wù)的時(shí)空屬性參數(shù),計(jì)算該任務(wù)的松弛度,生成該任務(wù)布局的潛在布局時(shí)刻表PPTL,并將所述PPTL發(fā)送給所述布局器,以及,根據(jù)接收到的所述布局器反饋的布局結(jié)果對(duì)等待調(diào)度隊(duì)列中的任務(wù)進(jìn)行調(diào)度,根據(jù)調(diào)度結(jié)果向所述資源管理器發(fā)送資源狀態(tài)更新信息;
所述布局器,用于在接收到所述PPTL后,根據(jù)所述PPTL中的各個(gè)時(shí)刻對(duì)所述資源管理器提供的資源進(jìn)行布局搜索,得到該任務(wù)的啟動(dòng)時(shí)間及對(duì)應(yīng)的資源,并向所述調(diào)度器反饋布局結(jié)果;
所述資源管理器,用于在接收到所述調(diào)度器發(fā)送的資源狀態(tài)更新信息時(shí),更新任務(wù)布局區(qū)域內(nèi)的資源狀態(tài),并為所述布局器提供三維的搜索空間。
2.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述調(diào)度器包括
計(jì)算單元,用于提取出接收到的任務(wù)的寬度、高度,計(jì)算所述任務(wù)的松弛度;
生成單元,用于利用活動(dòng)事件隊(duì)列AEQ提取出在所述任務(wù)松弛度內(nèi)的活動(dòng)時(shí)刻,生成PPTL,并將所述任務(wù)的寬度、高度及PPTL發(fā)送給所述布局器;
調(diào)度單元,用于接收所述布局器反饋的布局結(jié)果,并根據(jù)所述布局結(jié)果對(duì)等待調(diào)度隊(duì)列中的任務(wù)進(jìn)行調(diào)度,如果調(diào)度失敗,則刪除對(duì)應(yīng)的業(yè)務(wù),如過調(diào)度成功,則存儲(chǔ)該任務(wù);
調(diào)度結(jié)果維護(hù)單元,用于對(duì)所述調(diào)度單元調(diào)度成功的任務(wù),在運(yùn)行任務(wù)隊(duì)列ETQ和預(yù)約任務(wù)隊(duì)列PTQ中建立對(duì)應(yīng)的控制塊,維護(hù)該任務(wù)的啟動(dòng)時(shí)刻和布局區(qū)域;根據(jù)該任務(wù)的啟動(dòng)時(shí)刻和運(yùn)行結(jié)束時(shí)刻對(duì)AEQ進(jìn)行更新;并根據(jù)調(diào)度結(jié)果向所述資源管理器發(fā)送資源狀態(tài)更新信息。
3.根據(jù)權(quán)利要求2所述的系統(tǒng),其特征在于,所述調(diào)度結(jié)果維護(hù)單元根據(jù)調(diào)度結(jié)果向所述資源管理器發(fā)送資源狀態(tài)更新信息具體包括
當(dāng)任務(wù)布局成功時(shí),所述調(diào)度結(jié)果維護(hù)單元根據(jù)調(diào)度結(jié)果向所述資源管理器發(fā)送資源狀態(tài)更新信息,控制所述資源管理器將任務(wù)布局區(qū)域的所有資源的狀態(tài)標(biāo)注為非空閑狀態(tài),防止該區(qū)域被后續(xù)任務(wù)占用;在刪除任務(wù)時(shí),控制所述資源管理器將被刪除任務(wù)布局區(qū)域內(nèi)的資源狀態(tài)更新為空閑,使后續(xù)任務(wù)可預(yù)約該區(qū)域內(nèi)資源。
4.根據(jù)權(quán)利要求2所述的系統(tǒng),其特征在于,所述調(diào)度器還包括
活動(dòng)事件隊(duì)列AEQ,用于存儲(chǔ)任務(wù)時(shí)間發(fā)生時(shí)刻以及在該時(shí)刻發(fā)生的事件個(gè)數(shù),所述任務(wù)發(fā)生時(shí)刻是指任務(wù)運(yùn)行啟動(dòng)和運(yùn)行結(jié)束事件的發(fā)生時(shí)刻,在AEQ中的活動(dòng)事件按照發(fā)生時(shí)刻順序存儲(chǔ)在AEQ中,對(duì)于在同時(shí)刻發(fā)生的多個(gè)事件只需一個(gè)控制塊進(jìn)行維護(hù)。
5.根據(jù)權(quán)利要求2所述的系統(tǒng),其特征在于,所述布局器包括
布局搜索單元,用于在接收到所述任務(wù)的寬度、高度和PPTL后,利用空閑矩陣資源匹配的搜索方式,對(duì)所述PPTL中的離散分布時(shí)刻依次進(jìn)行布局,并對(duì)所述資源管理器提供的三維搜索空間進(jìn)行空閑區(qū)域搜索,得到該任務(wù)的啟動(dòng)時(shí)間及對(duì)應(yīng)的資源,其中,所述三維搜索為三維資源長(zhǎng)方體,所述三維資源長(zhǎng)方體是指二維資源面積和時(shí)間維組成的具有時(shí)空特性的三維抽象資源模型;
布局搜索結(jié)果反饋單元,用于向所述調(diào)度器反饋該任務(wù)的啟動(dòng)時(shí)間及對(duì)應(yīng)的資源。
6.根據(jù)權(quán)利要求5所述的系統(tǒng),其特征在于,所述布局搜索單元對(duì)所述資源管理器提供的三維搜索空間進(jìn)行空閑區(qū)域搜索具體包括
所述布局搜索單元在所述資源管理器提供的三維搜索空間的各個(gè)時(shí)刻的資源切片中可容納該任務(wù)的連續(xù)空閑區(qū)域,當(dāng)空閑區(qū)域搜索成功后,將該空閑區(qū)域垂直掃描,以使該空閑區(qū)域在后續(xù)時(shí)間內(nèi)仍保持空閑狀態(tài),且該空閑區(qū)域能被任務(wù)連續(xù)占用e時(shí)間,其中e為任務(wù)的運(yùn)行時(shí)間。
7.根據(jù)權(quán)利要求1至6任一項(xiàng)所述的系統(tǒng),其特征在于,所述資源管理器具體用于,采用資源切片鏈表的資源管理方式,在接收到所述調(diào)度器發(fā)送的資源狀態(tài)更新信息時(shí),利用資源切片對(duì)應(yīng)的二維矩陣中的權(quán)值來更新任務(wù)布局區(qū)域內(nèi)的資源的使用狀態(tài),并將資源切片按時(shí)間先后順序依次排列,維護(hù)不同時(shí)刻的資源使用狀態(tài),為所述布局器匹配資源提供三維的搜索空間。
8.一種調(diào)度器,其特征在于,包括
計(jì)算單元,用于提取出接收到的任務(wù)的寬度、高度,計(jì)算所述任務(wù)的松弛度;
生成單元,用于利用活動(dòng)事件隊(duì)列AEQ提取出在所述任務(wù)松弛度內(nèi)的活動(dòng)時(shí)刻,生成PPTL,并將所述任務(wù)的寬度、高度及PPTL發(fā)送給所述布局器;
調(diào)度單元,用于接收所述布局器反饋的布局結(jié)果,并根據(jù)所述布局結(jié)果對(duì)等待調(diào)度隊(duì)列中的任務(wù)進(jìn)行調(diào)度,如果調(diào)度失敗,則刪除對(duì)應(yīng)的業(yè)務(wù),如過調(diào)度成功,則存儲(chǔ)該任務(wù);
調(diào)度結(jié)果維護(hù)單元,用于對(duì)所述調(diào)度單元調(diào)度成功的任務(wù),在運(yùn)行任務(wù)隊(duì)列ETQ和預(yù)約任務(wù)隊(duì)列PTQ中建立對(duì)應(yīng)的控制塊,維護(hù)該任務(wù)的啟動(dòng)時(shí)刻和布局區(qū)域;根據(jù)該任務(wù)的啟動(dòng)時(shí)刻和運(yùn)行結(jié)束時(shí)刻對(duì)AEQ進(jìn)行更新;并根據(jù)調(diào)度結(jié)果向所述資源管理器發(fā)送資源狀態(tài)更新信息。
9.根據(jù)權(quán)利要求8所述的調(diào)度器,其特征在于,所述調(diào)度結(jié)果維護(hù)單元根據(jù)調(diào)度結(jié)果向所述資源管理器發(fā)送資源狀態(tài)更新信息具體包括
當(dāng)任務(wù)布局成功時(shí),所述調(diào)度結(jié)果維護(hù)單元根據(jù)調(diào)度結(jié)果向所述資源管理器發(fā)送資源狀態(tài)更新信息,控制所述資源管理器將任務(wù)布局區(qū)域的所有資源的狀態(tài)標(biāo)注為非空閑狀態(tài),防止該區(qū)域被后續(xù)任務(wù)占用;在刪除任務(wù)時(shí),控制所述資源管理器將被刪除任務(wù)布局區(qū)域內(nèi)的資源狀態(tài)更新為空閑,使后續(xù)任務(wù)可預(yù)約該區(qū)域內(nèi)資源。
10.根據(jù)權(quán)利要求8或9所述的調(diào)度器,其特征在于,所述調(diào)度器還包括
活動(dòng)事件隊(duì)列AEQ,用于存儲(chǔ)任務(wù)時(shí)間發(fā)生時(shí)刻以及在該時(shí)刻發(fā)生的事件個(gè)數(shù),所述任務(wù)發(fā)生時(shí)刻是指任務(wù)運(yùn)行啟動(dòng)和運(yùn)行結(jié)束事件的發(fā)生時(shí)刻,在AEQ中的活動(dòng)事件按照發(fā)生時(shí)刻順序存儲(chǔ)在AEQ中,對(duì)于在同時(shí)刻發(fā)生的多個(gè)事件只需一個(gè)控制塊進(jìn)行維護(hù)。
11.一種可重構(gòu)任務(wù)調(diào)度方法,其特征在于,包括
調(diào)度器提取接收到的任務(wù)的時(shí)空屬性參數(shù),計(jì)算該任務(wù)的松弛度,生成該任務(wù)布局的潛在布局時(shí)刻表PPTL,并向布局器發(fā)送所述PPTL;
調(diào)度器接收布局器發(fā)送的根據(jù)所述PPTL得到的所述任務(wù)的啟動(dòng)時(shí)間及對(duì)應(yīng)的資源;
調(diào)度器根據(jù)所述任務(wù)的啟動(dòng)時(shí)間及對(duì)應(yīng)的資源對(duì)等待調(diào)度隊(duì)列中的任務(wù)進(jìn)行調(diào)度,并維護(hù)調(diào)度成功的任務(wù)的啟動(dòng)時(shí)刻和布局區(qū)域,控制資源管理器中資源狀態(tài)的更新。
12.根據(jù)權(quán)利要求11所述的方法,其特征在于,還包括
布局器根據(jù)接收到的所述PPTL中的各個(gè)時(shí)刻對(duì)所述資源管理器提供的資源進(jìn)行布局搜索,得到所述任務(wù)的啟動(dòng)時(shí)間及對(duì)應(yīng)的資源,并將所述任務(wù)的啟動(dòng)時(shí)間及對(duì)應(yīng)的資源發(fā)送給調(diào)度器。
13.根據(jù)權(quán)利要求11或12所述的方法,其特征在于,所述調(diào)度器提取接收到的任務(wù)的時(shí)空屬性參數(shù),計(jì)算該任務(wù)的松弛度,生成該任務(wù)布局的潛在布局時(shí)刻表PPTL具體包括
提取出接收到的任務(wù)的寬度、高度,計(jì)算所述任務(wù)的松弛度,利用活動(dòng)事件隊(duì)列AEQ提取出在所述任務(wù)松弛度內(nèi)的活動(dòng)時(shí)刻,生成PPTL。
14.根據(jù)權(quán)利要求12所述的方法,其特征在于,所述布局器根據(jù)所述PPTL中的各個(gè)時(shí)刻對(duì)所述資源管理器提供的資源進(jìn)行布局搜索,得到所述任務(wù)的啟動(dòng)時(shí)間及對(duì)應(yīng)的資源具體包括
布局器根據(jù)所述任務(wù)的寬度、高度和PPTL,利用空閑矩陣資源匹配的搜索方式,對(duì)所述PPTL中的離散分布時(shí)刻依次進(jìn)行布局,并對(duì)所述資源管理器提供的三維搜索空間進(jìn)行空閑區(qū)域搜索,得到該任務(wù)的啟動(dòng)時(shí)間及對(duì)應(yīng)的資源,其中,所述三維搜索為三維資源長(zhǎng)方體,所述三維資源長(zhǎng)方體是指二維資源面積和時(shí)間維組成的具有時(shí)空特性的三維抽象資源模型。
15.根據(jù)權(quán)利要求14所述的方法,其特征在于,所述布局器對(duì)所述資源管理器提供的三維搜索空間進(jìn)行空閑區(qū)域搜索具體包括
所述布局器在所述資源管理器提供的三維搜索空間的各個(gè)時(shí)刻的資源切片中可容納該任務(wù)的連續(xù)空閑區(qū)域,當(dāng)空閑區(qū)域搜索成功后,將該空閑區(qū)域垂直掃描,以使該空閑區(qū)域在后續(xù)時(shí)間內(nèi)仍保持空閑狀態(tài),且該空閑區(qū)域能被任務(wù)連續(xù)占用e時(shí)間,其中e為任務(wù)的運(yùn)行時(shí)間。
16.根據(jù)權(quán)利要求11所述的方法,其特征在于,所述調(diào)度器根據(jù)所述任務(wù)的啟動(dòng)時(shí)間及對(duì)應(yīng)的資源對(duì)等待調(diào)度隊(duì)列中的任務(wù)進(jìn)行調(diào)度,并維護(hù)調(diào)度成功的任務(wù)的啟動(dòng)時(shí)刻和布局區(qū)域,控制資源管理器中資源狀態(tài)的更新具體包括
調(diào)度器所述任務(wù)的啟動(dòng)時(shí)間及對(duì)應(yīng)的資源對(duì)等待調(diào)度隊(duì)列中的任務(wù)進(jìn)行刪除或存儲(chǔ);對(duì)于調(diào)度成功的任務(wù),在運(yùn)行任務(wù)隊(duì)列ETQ和預(yù)約任務(wù)隊(duì)列PTQ中建立對(duì)應(yīng)的控制塊,維護(hù)該任務(wù)的啟動(dòng)時(shí)刻和布局區(qū)域;根據(jù)該任務(wù)的啟動(dòng)時(shí)刻和運(yùn)行結(jié)束時(shí)刻對(duì)AEQ進(jìn)行更新;并根據(jù)調(diào)度結(jié)果控制所述資源管理器進(jìn)行資源狀態(tài)的更新;
資源管理器根據(jù)所述調(diào)度任務(wù),更新任務(wù)布局區(qū)域內(nèi)的資源狀態(tài),并為所述布局器提供三維的搜索空間。
17.根據(jù)權(quán)利要求16所述的方法,其特征在于,所述資源管理器根據(jù)所述調(diào)度結(jié)果,更新任務(wù)布局區(qū)域內(nèi)的資源狀態(tài),并為所述布局器提供三維的搜索空間具體包括
所述資源管理器采用資源切片鏈表的資源管理方式,在接收到所述調(diào)度器發(fā)送的資源狀態(tài)更新信息時(shí),利用資源切片對(duì)應(yīng)的二維矩陣中的權(quán)值來更新任務(wù)布局區(qū)域內(nèi)的資源的使用狀態(tài),并將資源切片按時(shí)間先后順序依次排列,維護(hù)不同時(shí)刻的資源使用狀態(tài),為所述布局器匹配資源提供三維的搜索空間。
全文摘要
本發(fā)明涉及一種可重構(gòu)任務(wù)處理系統(tǒng)、調(diào)度器及方法,所述系統(tǒng)包括調(diào)度器,用于提取接收到的任務(wù)的時(shí)空屬性參數(shù),計(jì)算該任務(wù)的松弛度,生成任務(wù)布局的潛在布局時(shí)刻表PPTL,并將PPTL發(fā)送給布局器,以及根據(jù)接收到的布局器反饋的布局結(jié)果對(duì)等待調(diào)度隊(duì)列中的任務(wù)進(jìn)行調(diào)度,根據(jù)調(diào)度結(jié)果向資源管理器發(fā)送資源狀態(tài)更新信息;布局器,用于在接收到PPTL后,根據(jù)PPTL中的各個(gè)時(shí)刻對(duì)資源管理器提供的資源進(jìn)行布局搜索,得到該任務(wù)的啟動(dòng)時(shí)間及對(duì)應(yīng)的資源,并向調(diào)度器反饋布局結(jié)果;資源管理器,用于在接收到調(diào)度器發(fā)送的資源狀態(tài)更新信息時(shí),更新任務(wù)布局區(qū)域內(nèi)的資源狀態(tài),并為布局器提供三維的搜索空間。以提高任務(wù)的調(diào)度效率。
文檔編號(hào)G06F9/50GK101710292SQ200910259580
公開日2010年5月19日 申請(qǐng)日期2009年12月21日 優(yōu)先權(quán)日2009年12月21日
發(fā)明者汪斌強(qiáng), 黃萬偉, 蘭巨龍, 曹曉磊, 李德華, 李鵬, 王保進(jìn), 于婧 申請(qǐng)人:中國(guó)人民解放軍信息工程大學(xué)