欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

多核平臺(tái)下基于硬件計(jì)時(shí)器與任務(wù)隊(duì)列的調(diào)度方法

文檔序號(hào):6466977閱讀:361來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):多核平臺(tái)下基于硬件計(jì)時(shí)器與任務(wù)隊(duì)列的調(diào)度方法
技術(shù)領(lǐng)域
本發(fā)明涉及多核平臺(tái)下任務(wù)調(diào)度模式設(shè)計(jì)領(lǐng)域,尤其是涉及一種多核平臺(tái) 下基于硬件計(jì)時(shí)器與任務(wù)隊(duì)列的調(diào)度方法。
背景技術(shù)
20世紀(jì)人類(lèi)的杰出成果之一計(jì)算機(jī)技術(shù)把人類(lèi)社會(huì)帶入了信息化時(shí)代。隨 著計(jì)算需求的不斷增大以及CPU頻率瓶頸出現(xiàn),單芯片多處理器(Multi-Core)
技術(shù)成為了計(jì)算機(jī)領(lǐng)域的新的研究熱點(diǎn)。同時(shí)也產(chǎn)生了一個(gè)新的研究領(lǐng)域一多 核平臺(tái)下任務(wù)調(diào)度方法。
多核平臺(tái)從原有的單純提高單處理器頻率以提高性能,轉(zhuǎn)變到以增加處理 單元的數(shù)量,提高平行能力的全新角度。其尚且處于新興發(fā)展階段,有著巨大 發(fā)展?jié)摿εc市場(chǎng)前景。目前全球已有多款多核處理器,越來(lái)越多的廠商已經(jīng)將 處理器發(fā)展的重點(diǎn)轉(zhuǎn)移到多核領(lǐng)域,無(wú)論是商用大型機(jī),民用桌面平臺(tái)以及嵌 入式領(lǐng)域,多核處理器已經(jīng)占據(jù)了市場(chǎng)很大的份額。
由于多核任務(wù)平臺(tái)下,無(wú)論從任務(wù)的多樣性以及運(yùn)行狀態(tài)的豐富性,都比 原來(lái)單處理器平臺(tái)下更加復(fù)雜,傳統(tǒng)的基于單核平臺(tái)的任務(wù)調(diào)度方法即使經(jīng)過(guò) 修改,應(yīng)用于多核平臺(tái),但其顯然己經(jīng)不能充分發(fā)揮出多核平臺(tái)的優(yōu)勢(shì)所在, 因此,如何設(shè)計(jì)一個(gè)適用于多核平臺(tái)的任務(wù)調(diào)度方法,己經(jīng)成為研究的熱點(diǎn)。
目前市場(chǎng)上,基于多核平臺(tái)的調(diào)度方法中,通常經(jīng)過(guò)OS的幫助,采用各個(gè) CPU核主動(dòng)申請(qǐng)任務(wù),主動(dòng)發(fā)起任務(wù)切換等方法,我們稱(chēng)之為CPU核的主動(dòng)模式。 這種模式下,CPU核必須要分出一定的時(shí)間來(lái)運(yùn)行調(diào)度任務(wù)。同時(shí)CPU核之間的 狀態(tài)是不可知的,調(diào)度任務(wù)由操作系統(tǒng)完成。

發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種多核平臺(tái)下基于硬件計(jì)時(shí)器與任務(wù)隊(duì)列的調(diào)度 方法。
本發(fā)明解決技術(shù)問(wèn)題所采用的技術(shù)方案是 一種多核平臺(tái)下基于硬件計(jì)時(shí)器與任務(wù)隊(duì)列的調(diào)度方法
1)多條硬件任務(wù)隊(duì)列
每條硬件任務(wù)隊(duì)列對(duì)應(yīng)--個(gè)通用era核,任務(wù)隊(duì)列記錄了任務(wù)號(hào)以及下一
輪調(diào)度時(shí)任務(wù)的可運(yùn)行時(shí)間片長(zhǎng)度,隊(duì)列采用FIFO策略;隊(duì)首的任務(wù)將被最先發(fā)射到對(duì)應(yīng)于該硬件任務(wù)隊(duì)列的CPU核上,每個(gè)硬件任務(wù)隊(duì)列包含了一個(gè)計(jì)時(shí) 器;
2) 初始任務(wù)分配
根據(jù)任務(wù)優(yōu)先級(jí)TaskMOTity,上一輪運(yùn)行該任務(wù)的CPU核號(hào)Nolast—。pu以及每個(gè) CPU的忙碌程度Nota,Task一進(jìn)行任務(wù)調(diào)度,調(diào)度的原則是根據(jù)優(yōu)先級(jí),按照 優(yōu)先級(jí)高低的順序調(diào)度任務(wù)。某一個(gè)任務(wù)的調(diào)度方法為,分別計(jì)算各個(gè)CPU核 調(diào)度值,該值是由CPU核的忙碌程度減去該任務(wù)上一次是否在該CPU核上運(yùn)行 的權(quán)值得到,權(quán)值的計(jì)算方法是如果該任務(wù)上一次運(yùn)行在該CPU核,則權(quán)值 為l,否則權(quán)值為零,計(jì)算結(jié)束,選擇調(diào)度值最小的CPU核,將任務(wù)放入對(duì)應(yīng)該 CPU核的硬件任務(wù)隊(duì)列中;
3) 由計(jì)時(shí)器觸發(fā)的任務(wù)發(fā)射
當(dāng)任務(wù)從硬件任務(wù)隊(duì)列發(fā)射到對(duì)應(yīng)CPU核的同時(shí),該硬件隊(duì)列設(shè)置其計(jì)時(shí)
器的值,該值為任務(wù)該輪執(zhí)行的時(shí)間片長(zhǎng)度。任務(wù)開(kāi)始運(yùn)行時(shí),啟動(dòng)計(jì)時(shí)器,
當(dāng)計(jì)時(shí)器到時(shí),代表該任務(wù)的本輪運(yùn)行時(shí)間已經(jīng)結(jié)束,計(jì)時(shí)器觸發(fā)CPU核進(jìn)行 任務(wù)切換,位于硬件任務(wù)隊(duì)列列首的任務(wù)將被發(fā)射到CPU核上運(yùn)行,新任務(wù)以 中斷的形式發(fā)射;
4) 當(dāng)前運(yùn)行任務(wù)發(fā)生阻塞,計(jì)時(shí)器即刻清零,任務(wù)切換發(fā)生 當(dāng)前運(yùn)行任務(wù)由于需要某些資源或計(jì)算結(jié)構(gòu),需要掛起等待,則發(fā)射消息
給硬件任務(wù)隊(duì)列,其對(duì)應(yīng)的計(jì)時(shí)器即刻清零,任務(wù)切換發(fā)生;
5) 任務(wù)切換前的預(yù)處理過(guò)程
當(dāng)計(jì)時(shí)器剩余時(shí)鐘周期小于等于5時(shí),下一個(gè)任務(wù)所需的內(nèi)容被提前放入 cache,以為任務(wù)切換做準(zhǔn)備,達(dá)到加快任務(wù)切換速度,減小任務(wù)切換開(kāi)銷(xiāo)的目 的。
本發(fā)明與背景技術(shù)相比,本發(fā)明具有的有益的效果是
該設(shè)計(jì)是一種CPU核運(yùn)行與被動(dòng)模式的調(diào)度方法,利用外加調(diào)度硬件的手 段,將任務(wù)分配給對(duì)應(yīng)CPU核,從而將調(diào)度任務(wù)從通用CPU核中分離出來(lái),通 用CPU核只需要響應(yīng)調(diào)度硬件發(fā)出的任務(wù),進(jìn)行任務(wù)切換。
(1) 減輕通用CPU核的負(fù)擔(dān)調(diào)度過(guò)程將不再需要通用CPU核的幫助,令 通用CPU可以專(zhuān)注與常規(guī)任務(wù)的運(yùn)行。
(2) 加快調(diào)度速度,提高系統(tǒng)并行性利用硬件的計(jì)算速度以及并行能力, 保證系統(tǒng)的性能極大的提高。
(3) 任務(wù)切換預(yù)處理,加快任務(wù)切換速度,減小任務(wù)切換開(kāi)銷(xiāo)通用CPU核的運(yùn)行狀態(tài)是透明的,系統(tǒng)知道大部分情況下任務(wù)切換發(fā)生的時(shí)間,從而可
以預(yù)先為調(diào)度做準(zhǔn)備。


附圖是本發(fā)明的流程圖。 具體實(shí)施方法
方法中涉及到相關(guān)的符號(hào)解釋
TaskPH。Hty :任務(wù)優(yōu)先級(jí)。
Nolast,任務(wù)上次一運(yùn)行在的CPU核編號(hào)。
Task*"隊(duì)列中任務(wù)本輪調(diào)度可運(yùn)行時(shí)間。
Notask: CPU核當(dāng)前隊(duì)列任務(wù)數(shù)。
G (x):前次運(yùn)行權(quán)值計(jì)算函數(shù),如果運(yùn)行G函數(shù)的CPU核與X所標(biāo)的核號(hào) 相同,則G函數(shù)為1,否則為0。
多核平臺(tái)下基于硬件計(jì)時(shí)器與任務(wù)隊(duì)列的調(diào)度方法,其運(yùn)行模式是通過(guò)外 部硬件幫助調(diào)度任務(wù),并且通過(guò)中斷的形式,將任務(wù)發(fā)射給對(duì)應(yīng)CPU,如圖l所 示,所需添加的硬件部分,包括硬件調(diào)度模塊,其中包含了對(duì)應(yīng)各個(gè)CPU核的 硬件任務(wù)隊(duì)列以及計(jì)時(shí)器,如附圖所示,其的運(yùn)行關(guān)鍵步驟如下
1) 多條硬件任務(wù)隊(duì)列
每條硬件任務(wù)隊(duì)列對(duì)應(yīng)一個(gè)通用CPU核,任務(wù)隊(duì)列記錄了任務(wù)號(hào)以及下一 輪調(diào)度時(shí)任務(wù)的可運(yùn)行時(shí)間片長(zhǎng)度,隊(duì)列采用FIFO策略;隊(duì)首的任務(wù)將被最先 發(fā)射到對(duì)應(yīng)于該硬件任務(wù)隊(duì)列的CPU核上。每個(gè)硬件任務(wù)隊(duì)列包含了一個(gè)計(jì)時(shí) 器;
2) 初始任務(wù)分配
根據(jù)任務(wù)優(yōu)先級(jí)TaskPriOTity,上一輪運(yùn)行該任務(wù)的CPU核號(hào)Nolast-。pu以及每個(gè) CPU的忙碌程度No^^Taskt^進(jìn)行任務(wù)調(diào)度,調(diào)度的原則是根據(jù)優(yōu)先級(jí),按照 優(yōu)先級(jí)高低的順序調(diào)度任務(wù)。某一個(gè)任務(wù)的調(diào)度方法為,分別計(jì)算各個(gè)CPU核
調(diào)度值,該值是由cpu核的忙碌程度減去該任務(wù)上一次是否在該era核上運(yùn)行
的前次運(yùn)行權(quán)值得到,權(quán)值的計(jì)算方法是如果該任務(wù)上一次運(yùn)行在該CPU核, 則權(quán)值為l,否則權(quán)值為零,計(jì)算結(jié)束,選擇調(diào)度值最小的CPU核,將任務(wù)放入 對(duì)應(yīng)該CPU核的硬件任務(wù)隊(duì)列中。具體實(shí)施時(shí),根據(jù)各個(gè)任務(wù)的優(yōu)先級(jí)TaSkPriOTity, 選取最高優(yōu)先級(jí)的任務(wù)優(yōu)先調(diào)度,通過(guò)計(jì)算各個(gè)核的調(diào)度值二 Notask * Taskw。-G (Nolast-。pu ),該值的意義是表現(xiàn)各個(gè)CPU核當(dāng)前的忙碌程度,以及考慮當(dāng)前被 調(diào)度的任務(wù)如果被調(diào)度到上一次運(yùn)行CPU核時(shí)的獎(jiǎng)勵(lì)G (Nolast,)。選擇CPU核過(guò)程完成后,該任務(wù)就被放入對(duì)應(yīng)核的硬件任務(wù)隊(duì)列中,等待發(fā)射。這一過(guò)程,
由于是硬件完成,速度相對(duì)軟件手段更快,同時(shí)調(diào)度過(guò)程可以獨(dú)立與CPU核運(yùn)
行,提高了系統(tǒng)的并行度。
3) 由計(jì)時(shí)器觸發(fā)的任務(wù)發(fā)射
當(dāng)任務(wù)從硬件任務(wù)隊(duì)列發(fā)射到對(duì)應(yīng)CPU核的同時(shí),該硬件隊(duì)列設(shè)置其計(jì)時(shí)
器的值,該值為任務(wù)該輪可執(zhí)行的時(shí)間片長(zhǎng)度,單位為時(shí)鐘周期數(shù)。任務(wù)開(kāi)始 運(yùn)行時(shí),啟動(dòng)計(jì)時(shí)器,當(dāng)計(jì)時(shí)器到時(shí),代表該任務(wù)的本輪運(yùn)行時(shí)間己經(jīng)結(jié)束,
計(jì)時(shí)器觸發(fā)CPU核進(jìn)行任務(wù)切換,位于硬件任務(wù)隊(duì)列列首的任務(wù)將被發(fā)射到CPU 核上運(yùn)行,新任務(wù)以中斷的形式發(fā)射。
4) 當(dāng)前運(yùn)行任務(wù)發(fā)生阻塞,計(jì)時(shí)器即刻清零,任務(wù)切換發(fā)生
當(dāng)前運(yùn)行任務(wù)由于需要某些資源或計(jì)算結(jié)構(gòu),需要掛起等待,則發(fā)射消息
給硬件任務(wù)隊(duì)列,其對(duì)應(yīng)的計(jì)時(shí)器即刻清零,任務(wù)切換發(fā)生;當(dāng)前運(yùn)行任務(wù)由 于外部某一條件未達(dá)成,例如等待某一系統(tǒng)資源,而需要掛起,則發(fā)送消息給 對(duì)應(yīng)CPU核的硬件任務(wù)隊(duì)列,相應(yīng)計(jì)時(shí)器立刻清零,任務(wù)切換即刻發(fā)生。
5) 任務(wù)切換前的預(yù)處理過(guò)程 當(dāng)計(jì)時(shí)器剩余時(shí)鐘周期小于等于5時(shí),下一個(gè)任務(wù)所需的內(nèi)容可以被提
前放入cache,以為任務(wù)切換做準(zhǔn)備,達(dá)到加快任務(wù)切換速度,減小任務(wù)切換開(kāi) 銷(xiāo)的目的。任務(wù)預(yù)處理過(guò)程,提前將接下來(lái)要運(yùn)行的任務(wù)所需的內(nèi)容提前裝載 入內(nèi)存與cache中,可以讓任務(wù)切換的速度加快,同時(shí)使系統(tǒng)在進(jìn)行任務(wù)切換 的開(kāi)銷(xiāo)減小。通用CPU核在運(yùn)行過(guò)程中,只有當(dāng)接到計(jì)時(shí)器發(fā)出的任務(wù)中斷消 息,或任務(wù)自身要求,才會(huì)發(fā)生任務(wù)切換,而下一個(gè)運(yùn)行的任務(wù),是提前放入 硬件隊(duì)列中的,因此也加快了任務(wù)從調(diào)度直到任務(wù)切換的速度。
權(quán)利要求
1. 一種多核平臺(tái)下基于硬件計(jì)時(shí)器與任務(wù)隊(duì)列的調(diào)度方法,其特征在于1)多條硬件任務(wù)隊(duì)列每條硬件任務(wù)隊(duì)列對(duì)應(yīng)一個(gè)通用CPU核,任務(wù)隊(duì)列記錄了任務(wù)號(hào)以及下一輪調(diào)度時(shí)任務(wù)的可運(yùn)行時(shí)間片長(zhǎng)度,隊(duì)列采用FIFO策略;隊(duì)首的任務(wù)將被最先發(fā)射到對(duì)應(yīng)于該硬件任務(wù)隊(duì)列的CPU核上,每個(gè)硬件任務(wù)隊(duì)列包含了一個(gè)計(jì)時(shí)器;2)初始任務(wù)分配根據(jù)任務(wù)優(yōu)先級(jí)TaskPriority,上一輪運(yùn)行該任務(wù)的CPU核號(hào)Nolast-cpu以及每個(gè)CPU的忙碌程度Notask*Tasktime進(jìn)行任務(wù)調(diào)度,調(diào)度的原則是根據(jù)優(yōu)先級(jí),按照優(yōu)先級(jí)高低的順序調(diào)度任務(wù)。某一個(gè)任務(wù)的調(diào)度方法為,分別計(jì)算各個(gè)CPU核調(diào)度值,該值是由CPU核的忙碌程度減去該任務(wù)上一次是否在該CPU核上運(yùn)行的權(quán)值得到,權(quán)值的計(jì)算方法是如果該任務(wù)上一次運(yùn)行在該CPU核,則權(quán)值為1,否則權(quán)值為零,計(jì)算結(jié)束,選擇調(diào)度值最小的CPU核,將任務(wù)放入對(duì)應(yīng)該CPU核的硬件任務(wù)隊(duì)列中;3)由計(jì)時(shí)器觸發(fā)的任務(wù)發(fā)射當(dāng)任務(wù)從硬件任務(wù)隊(duì)列發(fā)射到對(duì)應(yīng)CPU核的同時(shí),該硬件隊(duì)列設(shè)置其計(jì)時(shí)器的值,該值為任務(wù)該輪執(zhí)行的時(shí)間片長(zhǎng)度。任務(wù)開(kāi)始運(yùn)行時(shí),啟動(dòng)計(jì)時(shí)器,當(dāng)計(jì)時(shí)器到時(shí),代表該任務(wù)的本輪運(yùn)行時(shí)間已經(jīng)結(jié)束,計(jì)時(shí)器觸發(fā)CPU核進(jìn)行任務(wù)切換,位于硬件任務(wù)隊(duì)列列首的任務(wù)將被發(fā)射到CPU核上運(yùn)行,新任務(wù)以中斷的形式發(fā)射;4)當(dāng)前運(yùn)行任務(wù)發(fā)生阻塞,計(jì)時(shí)器即刻清零,任務(wù)切換發(fā)生當(dāng)前運(yùn)行任務(wù)由于需要某些資源或計(jì)算結(jié)構(gòu),需要掛起等待,則發(fā)射消息給硬件任務(wù)隊(duì)列,其對(duì)應(yīng)的計(jì)時(shí)器即刻清零,任務(wù)切換發(fā)生;5)任務(wù)切換前的預(yù)處理過(guò)程當(dāng)計(jì)時(shí)器剩余時(shí)鐘周期小于等于5時(shí),下一個(gè)任務(wù)所需的內(nèi)容被提前放入cache,以為任務(wù)切換做準(zhǔn)備,達(dá)到加快任務(wù)切換速度,減小任務(wù)切換開(kāi)銷(xiāo)的目的。
全文摘要
本發(fā)明公開(kāi)了一種多核平臺(tái)下基于硬件計(jì)時(shí)器與任務(wù)隊(duì)列的調(diào)度方法。是通過(guò)采用在硬件手段,添加多個(gè)硬件任務(wù)隊(duì)列與計(jì)時(shí)器,通過(guò)計(jì)時(shí)器到時(shí)觸發(fā)任務(wù)分發(fā)的方法,將任務(wù)切換的控制從通用CPU中分離出來(lái),從而解決多核環(huán)境下的任務(wù)調(diào)度問(wèn)題。本發(fā)明減輕通用CPU核的負(fù)擔(dān)調(diào)度過(guò)程將不再需要通用CPU核的幫助,令通用CPU可以專(zhuān)注與常規(guī)任務(wù)的運(yùn)行;加快調(diào)度速度,提高系統(tǒng)并行性利用硬件的計(jì)算速度以及并行能力,保證系統(tǒng)的性能極大的提高;任務(wù)切換預(yù)處理,加快任務(wù)切換速度,減小任務(wù)切換開(kāi)銷(xiāo)通用CPU核的運(yùn)行狀態(tài)是透明的,系統(tǒng)知道大部分情況下任務(wù)切換發(fā)生的時(shí)間,從而可以預(yù)先為調(diào)度做準(zhǔn)備。
文檔編號(hào)G06F9/46GK101414271SQ20081016290
公開(kāi)日2009年4月22日 申請(qǐng)日期2008年12月4日 優(yōu)先權(quán)日2008年12月4日
發(fā)明者馮德貴, 劉敬偉, 吳斌斌, 罡 王, 度 陳, 陳天洲 申請(qǐng)人:浙江大學(xué)
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
屏边| 罗平县| 牟定县| 上饶县| 安徽省| 尼木县| 汪清县| 营山县| 交城县| 思茅市| 乌鲁木齐市| 屯留县| 德化县| 休宁县| 巨鹿县| 嵩明县| 新干县| 青田县| 鸡泽县| 祁东县| 财经| 蕲春县| 吴忠市| 昌图县| 大荔县| 高清| 泗洪县| 德清县| 东港市| 河曲县| 莆田市| 吐鲁番市| 新昌县| 平江县| 吴堡县| 江川县| 桑植县| 昔阳县| 陆良县| 泗阳县| 宜良县|