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

一種基于任務(wù)申請信號和處理器內(nèi)核執(zhí)行代價(jià)值的任務(wù)調(diào)度方法

文檔序號:9396747閱讀:692來源:國知局
一種基于任務(wù)申請信號和處理器內(nèi)核執(zhí)行代價(jià)值的任務(wù)調(diào)度方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種基于任務(wù)申請信號和處理器內(nèi)核執(zhí)行代價(jià)值的任務(wù)調(diào)度方法。
【背景技術(shù)】
[0002] 伴隨著大規(guī)模集成電路的發(fā)展,晶體管的速度、功耗和芯片面積等都有了很大改 善,促進(jìn)了單核處理器性能不斷地提升。當(dāng)前,單核處理器已經(jīng)幾乎無法憑借工藝手段的改 進(jìn)來進(jìn)一步明顯提高處理器的速度。在同一芯片上集成多個(gè)處理器內(nèi)核心的多核處理器 (chip multiprocessors, CMPs)的出現(xiàn)有效地解決了單核處理器發(fā)展的瓶頸。2006年IBM 推出首款商用的同構(gòu)雙核處理器P0WER4。隨后,一系列芯片廠商陸續(xù)推出系列產(chǎn)品。根據(jù) Amdahl定律,增加同構(gòu)多核處理器可以提高程序并行執(zhí)行部分的效率,而無法提高串行部 分的執(zhí)行效率。因此,當(dāng)程序并行執(zhí)行部分效率接近峰值時(shí),增加若干個(gè)同構(gòu)處理器是無法 顯著提高多核處理器的執(zhí)行效率的。同時(shí),不同的程序?qū)τ?jì)算核心性能要求不同。在這些 因素的推動下,計(jì)算機(jī)進(jìn)入到異構(gòu)多核處理器時(shí)代。
[0003] 異構(gòu)多核處理器從處理器內(nèi)核之間的聯(lián)系,可以分為兩大類:一種是集中式,一種 是分布式。集中式多核處理器的主處理器(簡稱主核)擁有完整的功能,主要負(fù)責(zé)向從處 理器(簡稱輔核)上的任務(wù)分配,而輔核主要負(fù)責(zé)各種應(yīng)用運(yùn)算。集中式處理器多用于Soc 系統(tǒng),最典型的集中式多核處理器是索尼、東芝和IBM聯(lián)合開發(fā)的Cell be處理器。分布式 多核處理器其各核可以共享緩存或獨(dú)自擁有私有緩存,它在結(jié)構(gòu)上的特點(diǎn)是每個(gè)處理器之 間的連接方式相同,但地位和性能不全一致,每個(gè)處理器內(nèi)核按照自己特有的控制和運(yùn)算 功能獨(dú)立運(yùn)行,互不干擾,協(xié)同工作。
[0004] 異構(gòu)多核處理器的每個(gè)處理器負(fù)責(zé)實(shí)現(xiàn)不同的功能,為了發(fā)揮各處理器優(yōu)勢,必 須要實(shí)現(xiàn)操作系統(tǒng)的準(zhǔn)確調(diào)度。也就是說,任務(wù)待分配到的處理器內(nèi)核的計(jì)算能力應(yīng)該與 該任務(wù)的計(jì)算需求相匹配的。異構(gòu)多核處理器的任務(wù)調(diào)度通常分為靜態(tài)和動態(tài)兩種。靜態(tài) 任務(wù)調(diào)度采用預(yù)測技術(shù)確定映射方法從而實(shí)現(xiàn)任務(wù)的分配,所以它是在任務(wù)調(diào)度之前就已 經(jīng)確定任務(wù)調(diào)度的全過程。而動態(tài)任務(wù)調(diào)度則根據(jù)調(diào)度規(guī)則、處理器的可用資源以及并行 任務(wù)的性質(zhì)差異動態(tài)地、實(shí)時(shí)地完成任務(wù)調(diào)度,并且可以結(jié)合負(fù)載平衡、最小執(zhí)行時(shí)間等指 標(biāo)進(jìn)行不同處理器內(nèi)核間的任務(wù)迀移。顯然,動態(tài)任務(wù)調(diào)度由于實(shí)時(shí)地根據(jù)任務(wù)調(diào)度情況 進(jìn)行調(diào)整,因此能更加有效地發(fā)揮異構(gòu)多核處理器的性能。
[0005] 經(jīng)典動態(tài)任務(wù)調(diào)度算法是維持一個(gè)全局任務(wù)調(diào)度隊(duì)列,隊(duì)列的隊(duì)頭元素具有最高 的優(yōu)先級。而如果只維持一個(gè)全局任務(wù)調(diào)度隊(duì)列,此時(shí)某個(gè)處理器內(nèi)核空閑就進(jìn)行任務(wù)調(diào) 度。這種按需調(diào)度的方式?jīng)]有考慮到處理器內(nèi)核的性能和任務(wù)特點(diǎn),顯然違背了異構(gòu)多核 處理器將正確的任務(wù)調(diào)度到正確的處理器內(nèi)核這一基本原則,因?yàn)殛?duì)頭元素調(diào)度到空閑核 上未必滿足全部任務(wù)執(zhí)行時(shí)間最短。
[0006] 為解決這一不足,本發(fā)明方法提出了全局鏈表和處理器內(nèi)核調(diào)度隊(duì)列來記錄任 務(wù),按照任務(wù)申請信號和處理器內(nèi)核的執(zhí)行代價(jià)值來計(jì)算任務(wù)調(diào)度到處理器內(nèi)核的概率, 進(jìn)一步明確任務(wù)調(diào)度的順序,能夠有效的減少任務(wù)開銷,降低任務(wù)的執(zhí)行時(shí)間,較為準(zhǔn)確地 建立任務(wù)調(diào)度順序隊(duì)列。

【發(fā)明內(nèi)容】

[0007] 本發(fā)明的目的在于提供一種有效減少任務(wù)開銷,降低任務(wù)的執(zhí)行時(shí)間的基于任務(wù) 申請信號和處理器內(nèi)核執(zhí)行代價(jià)值的任務(wù)調(diào)度方法。
[0008] 本發(fā)明的內(nèi)容是這樣實(shí)現(xiàn)的:
[0009] (1)任務(wù)申請信號:采用全局鏈表和處理器內(nèi)核調(diào)度隊(duì)列來記錄任務(wù),其中全局 鏈表存儲處理器上等待調(diào)度的全部任務(wù);同時(shí)每個(gè)處理器內(nèi)核獨(dú)自擁有一個(gè)任務(wù)調(diào)度隊(duì) 列,存儲已調(diào)度到該處理器內(nèi)核上的任務(wù)集合;任務(wù)申請信號代表任務(wù)期望被調(diào)度的緊迫 程度,每當(dāng)一個(gè)新任務(wù)生成時(shí),將其插入到全局鏈表的尾部,同時(shí)向所有處理器內(nèi)核發(fā)出等 待調(diào)度的申請信號;
[0010] (2)處理器內(nèi)核執(zhí)行代價(jià)值:每個(gè)處理器內(nèi)核維持一個(gè)執(zhí)行代價(jià)值向量,處理器 內(nèi)核經(jīng)計(jì)算得出全局鏈表中每個(gè)任務(wù)的執(zhí)行代價(jià)值,并存入執(zhí)行代價(jià)值向量中;
[0011] (3)任務(wù)調(diào)度概率:處理器內(nèi)核對任務(wù)的執(zhí)行代價(jià)值和任務(wù)的申請信號來計(jì)算任 務(wù)從全局鏈表調(diào)度到處理器內(nèi)核調(diào)度隊(duì)列的概率,明確任務(wù)調(diào)度的順序。
[0012] 所述任務(wù)申請信號采用全局鏈表和處理器內(nèi)核調(diào)度隊(duì)列來記錄任務(wù),每一個(gè)新任 務(wù)生成時(shí),將新任務(wù)插入到全局鏈表的尾部;處于全局鏈表上的任務(wù)此時(shí)尚未分配各種資 源,處于等待狀態(tài);新任務(wù)h插入到鏈表的同時(shí)會向所有的處理器內(nèi)核發(fā)出等待調(diào)度的申 請信號,申請信號用S1表示,表示公式如下:
[0014] 其中,WTU1)表示任務(wù)^進(jìn)入全局鏈表后的等待時(shí)間,PrU1)為任務(wù)&的優(yōu)先級, 其值取決于與任務(wù)^有依賴關(guān)系任務(wù)數(shù)目。Predai)表示任務(wù)^直接前驅(qū)任務(wù)。
[0015] 所述處理器內(nèi)核執(zhí)行代價(jià)值采用執(zhí)行代價(jià)向量,將處理器內(nèi)核計(jì)算得出的全局鏈 表中每個(gè)任務(wù)的執(zhí)行代價(jià)值存入其中;任務(wù)ti的執(zhí)行代價(jià)值0 h i由任務(wù)ti在處理器內(nèi)核 Ph上的計(jì)算開銷w(v ;,Ph)和與其他處理器內(nèi)核的通信開銷C(Vi, Vj, Ph, Pk)決定的,表示公 式如下:
[0017] 其中,a、β均表示參數(shù)。
[0018] 所述任務(wù)調(diào)度概率根據(jù)任務(wù)的執(zhí)行代價(jià)值和任務(wù)的申請信號來計(jì)算,再進(jìn)一步明 確任務(wù)調(diào)度的順序,記任務(wù)t調(diào)度到處理器內(nèi)核P 概率為P (t D Ph),表示公式如下:
[0020] 本發(fā)明方法的有益效果在于:采用全局鏈表和處理器內(nèi)核調(diào)度隊(duì)列記錄任務(wù),使 用任務(wù)的申請信號的強(qiáng)弱和處理器內(nèi)核執(zhí)行任務(wù)的代價(jià)值的大小作為任務(wù)調(diào)度的準(zhǔn)則,可 有效的減少任務(wù)迀移過程中產(chǎn)生的開銷,降低任務(wù)的執(zhí)行時(shí)間,較為準(zhǔn)確地建立任務(wù)調(diào)度 順序隊(duì)列。
【附圖說明】
[0021] 圖1是本發(fā)明全局鏈表和處理器內(nèi)核調(diào)度隊(duì)列的具體調(diào)度過程圖。
【具體實(shí)施方式】
[0022] 下面結(jié)合附圖對本發(fā)明進(jìn)行更詳細(xì)的描述:
[0023] 本發(fā)明提供的是一種基于任務(wù)申請信號和處理器內(nèi)核執(zhí)行代價(jià)值的任務(wù)調(diào)度方 法,該方法以如何解決調(diào)度任務(wù)的先后順序?yàn)橹饕枷耄Y(jié)合全局鏈表和處理器內(nèi)核調(diào)度 隊(duì)列來記錄任務(wù),按照任務(wù)申請信號的強(qiáng)弱和處理器內(nèi)核的執(zhí)行代價(jià)值大小來計(jì)算任務(wù)調(diào) 度到處理器內(nèi)核的概率。其中,任務(wù)申請信號反映任務(wù)期望被調(diào)度的緊迫程度,每當(dāng)一個(gè)新 任務(wù)生成時(shí),將其插入到全局鏈表的尾部,同時(shí)向所有處理器內(nèi)核發(fā)出等待調(diào)度的申請信 號。在此基礎(chǔ)上,每個(gè)處理器內(nèi)核都會維持一個(gè)執(zhí)行代價(jià)值向量,處理器內(nèi)核根據(jù)任務(wù)的 計(jì)算開銷和通信開銷得出全局鏈表中每個(gè)任務(wù)的執(zhí)行代價(jià)值,并將其存入執(zhí)行代價(jià)值向量 中,處理器內(nèi)核根據(jù)對任務(wù)的執(zhí)行代價(jià)值和任務(wù)的申請信號來計(jì)算任務(wù)從全局鏈表調(diào)度到 處理器內(nèi)核調(diào)度隊(duì)列的概率,進(jìn)一步明確任務(wù)調(diào)度的順序。本發(fā)明方法能夠有效的減少任 務(wù)開銷,降低任務(wù)的執(zhí)行時(shí)間,較為準(zhǔn)確地建立任務(wù)調(diào)度順序隊(duì)列。
[0024] ( -)任務(wù)申請信號
[0025] 首先,本發(fā)明方法采用全局鏈表和處理器內(nèi)核調(diào)度隊(duì)列來記錄任務(wù)。全局鏈表用 于存儲處理器上等待調(diào)度的全部任務(wù),每個(gè)處理器內(nèi)核都有一個(gè)調(diào)度隊(duì)列,用于存儲已調(diào) 度到該處理器內(nèi)核上的任務(wù)集合。每當(dāng)一個(gè)新任務(wù)生成時(shí),將其插入到全局鏈表的尾部。處 于全局鏈表上的任務(wù)此時(shí)尚未分配各種資源,處于等待狀態(tài)。新任務(wù)插入到鏈表的同時(shí)會 向所有的處理器內(nèi)核發(fā)出等待調(diào)度的申請信號,申請信號由申請信號的初始值、任務(wù)進(jìn)入 全局鏈表后的等待時(shí)間和任務(wù)優(yōu)先級決定,其值反映任務(wù)期望被調(diào)度的緊迫程度。申請信 號值越大,那么任務(wù)需要調(diào)度的迫切程度就越高。
[0026](二)處理器內(nèi)核執(zhí)行代價(jià)值
[0027] 每個(gè)處理器內(nèi)核都會維持一個(gè)執(zhí)行代價(jià)值向量,處理器內(nèi)核經(jīng)計(jì)算得出全局鏈表 中每個(gè)任務(wù)的執(zhí)行代價(jià)值,并將其存入執(zhí)行代價(jià)值向量中。任務(wù)產(chǎn)生立即進(jìn)入全局鏈表,此 時(shí)會發(fā)出任務(wù)調(diào)度申請信號,處理器內(nèi)核計(jì)算當(dāng)前時(shí)刻的任務(wù)申請信號存入任務(wù)的相應(yīng)字 段中,同時(shí)在執(zhí)行代價(jià)值向量的末尾處插入任務(wù)的執(zhí)行代價(jià)值,并置為-1,表示處理器內(nèi)核 未計(jì)算任務(wù)的執(zhí)行代價(jià)值。任務(wù)的執(zhí)行代價(jià)值取決于任務(wù)的計(jì)算開銷和通信開銷。
[0028] 當(dāng)任務(wù)進(jìn)入全局鏈表時(shí),為避免中斷處理器內(nèi)核產(chǎn)生的額外開銷,處理器內(nèi)核并 不立即對任務(wù)的執(zhí)行代價(jià)值進(jìn)行計(jì)算,而是等到處理器內(nèi)核調(diào)度任務(wù)時(shí),處理器內(nèi)核才掃 描全局鏈表進(jìn)行任務(wù)執(zhí)行代價(jià)值的計(jì)算計(jì)算,對于已經(jīng)已知執(zhí)行代價(jià)值的任務(wù)不重新計(jì) 算。處理器內(nèi)核依據(jù)調(diào)度規(guī)則調(diào)度任務(wù),同時(shí)喚醒其他處理器內(nèi)核計(jì)算全局鏈表上的任務(wù) 執(zhí)行代價(jià)值。當(dāng)任務(wù)被調(diào)度到處理器內(nèi)核隊(duì)列時(shí),該處理器內(nèi)核會清除調(diào)度后任務(wù)的執(zhí)行 代價(jià)值,并通知其他處理器內(nèi)核清除任務(wù)的執(zhí)行代價(jià)值。
[0029] 值得注意的是,一開始任務(wù)進(jìn)入到全局鏈表時(shí),任務(wù)在各處理器內(nèi)核的執(zhí)行代價(jià) 值為-1。如果該任務(wù)所依賴的任務(wù)尚未調(diào)度到處理器內(nèi)核隊(duì)列時(shí),那么該任務(wù)在各個(gè)處理 器的執(zhí)行代價(jià)值仍為-1。當(dāng)處理器內(nèi)核的執(zhí)行代價(jià)向量中任務(wù)的執(zhí)行代價(jià)值為-1,表示任 務(wù)不可調(diào)度,可以避免任務(wù)過早地調(diào)度到處理器內(nèi)核,導(dǎo)致等待依賴任務(wù)執(zhí)行的情況發(fā)生。
[0030] (三)任務(wù)調(diào)度概率
[0031] 處理器內(nèi)核根據(jù)對任務(wù)的執(zhí)行代價(jià)值和任務(wù)的申請信號來調(diào)度全局鏈表的任務(wù) 進(jìn)入處理器內(nèi)核隊(duì)列,定量分析任務(wù)被調(diào)度的概率。當(dāng)處理器內(nèi)核需要調(diào)度任務(wù)時(shí),對于全 局鏈表中滿足調(diào)度條件的任務(wù),如果處理器內(nèi)核對任務(wù)執(zhí)行代價(jià)值越小,任務(wù)的申請信號 越大,則任務(wù)被調(diào)度到處理器內(nèi)核的概率就越大。
[0032] 其中:
[0033] ( -)任務(wù)申請信號
[0034] 首先,本發(fā)明方法采用全局鏈
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
临漳县| 盐亭县| 乌苏市| 叶城县| 焦作市| 聂拉木县| 即墨市| 黄龙县| 徐水县| 农安县| 儋州市| 襄城县| 来安县| 清丰县| 柏乡县| 青冈县| 翁源县| 尖扎县| 沭阳县| 徐闻县| 出国| 新津县| 贡嘎县| 平阳县| 大余县| 错那县| 襄樊市| 秀山| 邹平县| 甘南县| 波密县| 大连市| 纳雍县| 合肥市| 襄樊市| 曲阜市| 榆林市| 桂东县| 固镇县| 特克斯县| 宽城|