亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種任務(wù)部署方法及裝置的制造方法

文檔序號(hào):10552768閱讀:149來源:國(guó)知局
一種任務(wù)部署方法及裝置的制造方法
【專利摘要】本發(fā)明公開了一種任務(wù)部署方法及裝置,其中,該方法包括:步驟1:獲取部署在當(dāng)前處理器核上的任務(wù)集,并依據(jù)任務(wù)集中全部任務(wù)對(duì)應(yīng)的cache組的相對(duì)頻度計(jì)算該任務(wù)集的實(shí)際相對(duì)頻度標(biāo)準(zhǔn)差;步驟2:將待處理任務(wù)分別加入任務(wù)集中,得到與待處理任務(wù)一一對(duì)應(yīng)的新任務(wù)集,并依據(jù)新任務(wù)集中全部任務(wù)對(duì)應(yīng)的cache組的相對(duì)頻度計(jì)算該新任務(wù)集的模擬相對(duì)頻度標(biāo)準(zhǔn)差;步驟3:將實(shí)際相對(duì)頻度標(biāo)準(zhǔn)差與模擬相對(duì)頻度標(biāo)準(zhǔn)差的差值中最大且為正值的差值對(duì)應(yīng)的模擬相對(duì)頻度標(biāo)準(zhǔn)差對(duì)應(yīng)的待處理任務(wù)部署到當(dāng)前處理器核上,返回執(zhí)行步驟2;直至不存在滿足上述要求的待處理任務(wù)為止。從而提高了cache空間利用率。
【專利說明】
_種任務(wù)部署方法及裝置
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及核間任務(wù)部署技術(shù)領(lǐng)域,更具體地說,涉及一種任務(wù)部署方法及裝置。
【背景技術(shù)】
[0002]多核處理器已被廣泛的運(yùn)用于各類高端服務(wù)器中,如Xbox360Xenon處理器和 FreeScale MPC8641D。在這類系統(tǒng)中,為了提高系統(tǒng)的性能,通常采用了多級(jí)緩存(cache) 結(jié)構(gòu)。
[0003] 不同任務(wù)在對(duì)cache進(jìn)行訪問時(shí),可能出現(xiàn)多個(gè)任務(wù)訪問的地址分布于cache中的 同一區(qū)域的情況,即任務(wù)中包含的多個(gè)數(shù)據(jù)塊映射到cache中同一區(qū)域,甚至是同一行的情 況,此時(shí),會(huì)造成不同任務(wù)間的沖突缺失,即形成映射沖突,進(jìn)而導(dǎo)致無法對(duì)cache實(shí)現(xiàn)正常 訪問,造成了cache空間利用率較低。
[0004] 綜上所述,現(xiàn)有技術(shù)中對(duì)于cache進(jìn)行訪問的技術(shù)方案存在cache空間利用率較低 的問題。

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

[0005] 本發(fā)明的目的是提供一種任務(wù)部署方法及裝置,以解決現(xiàn)有技術(shù)中存在的cache 空間利用率低的問題。
[0006] 為了實(shí)現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:
[0007] -種任務(wù)部署方法,包括:
[0008] 步驟1:獲取部署在當(dāng)前處理器核上的任務(wù)集,并依據(jù)所述任務(wù)集中全部任務(wù)對(duì)應(yīng) 的cache組的相對(duì)頻度計(jì)算該任務(wù)集的實(shí)際相對(duì)頻度標(biāo)準(zhǔn)差;
[0009] 步驟2:將待處理任務(wù)分別加入所述任務(wù)集中,得到與所述待處理任務(wù)一一對(duì)應(yīng)的 新任務(wù)集,并依據(jù)所述新任務(wù)集中全部任務(wù)對(duì)應(yīng)的cache組的相對(duì)頻度計(jì)算該新任務(wù)集的 模擬相對(duì)頻度標(biāo)準(zhǔn)差;
[0010] 步驟3:將所述實(shí)際相對(duì)頻度標(biāo)準(zhǔn)差與所述模擬相對(duì)頻度標(biāo)準(zhǔn)差的差值中最大且 為正值的差值對(duì)應(yīng)的模擬相對(duì)頻度標(biāo)準(zhǔn)差對(duì)應(yīng)的待處理任務(wù)部署到當(dāng)前處理器核上,返回 執(zhí)行步驟2;直至不存在滿足上述要求的待處理任務(wù)為止。
[0011] 優(yōu)選的,計(jì)算所述任務(wù)集或者所述新任務(wù)集包含的全部任務(wù)對(duì)應(yīng)的cache組的相 對(duì)頻度,包括:
[0012] 獲取所述任務(wù)集或者所述新任務(wù)集包含的全部任務(wù)的程序基本塊,并確定每個(gè)所 述程序基本塊的執(zhí)行頻度;
[0013] 依據(jù)每個(gè)所述程序基本塊的執(zhí)行頻度計(jì)算所述任務(wù)集或者所述新任務(wù)集包含的 全部任務(wù)對(duì)應(yīng)的cache組的相對(duì)頻度。
[0014]優(yōu)選的,獲取所述任務(wù)集或者所述新任務(wù)集包含的全部任務(wù)的程序基本塊,包括:
[0015]獲取所述任務(wù)集或者所述新任務(wù)集包含的每個(gè)任務(wù)對(duì)應(yīng)的程序控制流圖,并根據(jù) 所述程序控制流圖得到對(duì)應(yīng)任務(wù)的程序基本塊。
[0016] 優(yōu)選的,依據(jù)每個(gè)所述程序基本塊的執(zhí)行頻度計(jì)算所述任務(wù)集或者所述新任務(wù)集 包含的全部任務(wù)對(duì)應(yīng)的cache組的相對(duì)頻度,包括:
[0017] 按照下列公式計(jì)算所述任務(wù)集或者所述新任務(wù)集包含的任務(wù)對(duì)應(yīng)的任一 cache組 的相對(duì)頻度:
[0019] 其中,RF(s)表示cache組s的相對(duì)頻度,表示任務(wù)集或者新任務(wù)集包含的程序 基本塊&的執(zhí)行頻度,0表示程序基本塊仏所屬的任務(wù)集或者新任務(wù)集包含的對(duì)應(yīng)cache組s 的程序基本塊的集合,mbs(Bi)表示程序基本塊Bi對(duì)應(yīng)cache組s中的行數(shù)。
[0020] 優(yōu)選的,計(jì)算所述實(shí)際相對(duì)頻度標(biāo)準(zhǔn)差或者所述模擬相對(duì)頻度標(biāo)準(zhǔn)差,包括:
[0021] 按照下列公式得到所述任務(wù)集或者所述新任務(wù)集對(duì)應(yīng)的相對(duì)頻度向量:
[0023]其中,RF(S)表示任務(wù)集或者新任務(wù)集的相對(duì)頻度向量,pt表示任務(wù)t在任務(wù)集或 者新任務(wù)集中所占權(quán)重,RFt1表示任務(wù)t對(duì)應(yīng)的cache組i的相對(duì)頻度,n表示任務(wù)集或者新任 務(wù)集對(duì)應(yīng)的cache組的數(shù)量;
[0024] 計(jì)算所述任務(wù)集或者所述新任務(wù)集的相對(duì)頻度向量的標(biāo)準(zhǔn)差,得到所述實(shí)際相對(duì) 頻度標(biāo)準(zhǔn)差或者所述模擬相對(duì)頻度標(biāo)準(zhǔn)差。
[0025] 優(yōu)選的,還包括:
[0026] 如果所述實(shí)際相對(duì)頻度標(biāo)準(zhǔn)差與所述模擬相對(duì)頻度標(biāo)準(zhǔn)差的差值均為負(fù)值,或者 所述待處理任務(wù)的數(shù)量小于或者等于未部署任務(wù)的處理器核的數(shù)量,則選取任一未部署任 務(wù)的處理器核作為當(dāng)前處理器核,執(zhí)行步驟1。
[0027] 一種任務(wù)部署裝置,包括:
[0028]第一計(jì)算模塊,用于獲取部署在當(dāng)前處理器核上的任務(wù)集,并依據(jù)所述任務(wù)集中 全部任務(wù)對(duì)應(yīng)的cache組的相對(duì)頻度計(jì)算該任務(wù)集的實(shí)際相對(duì)頻度標(biāo)準(zhǔn)差;
[0029]第二計(jì)算模塊,用于將待處理任務(wù)分別加入所述任務(wù)集中,得到與所述待處理任 務(wù)--對(duì)應(yīng)的新任務(wù)集,并依據(jù)所述新任務(wù)集中全部任務(wù)對(duì)應(yīng)的cache組的相對(duì)頻度計(jì)算 該新任務(wù)集的模擬相對(duì)頻度標(biāo)準(zhǔn)差;
[0030] 比對(duì)模塊,用于將所述實(shí)際相對(duì)頻度標(biāo)準(zhǔn)差與所述模擬相對(duì)頻度標(biāo)準(zhǔn)差的差值中 最大且為正值的差值對(duì)應(yīng)的模擬相對(duì)頻度標(biāo)準(zhǔn)差對(duì)應(yīng)的待處理任務(wù)部署到當(dāng)前處理器核 上,并指示第二計(jì)算模塊工作;以及用于如果不存在滿足上述要求的待處理任務(wù)則停止操 作。
[0031] 優(yōu)選的,第一計(jì)算模塊及第二計(jì)算模塊均包括:
[0032] 計(jì)算單元,用于:獲取所述任務(wù)集或者所述新任務(wù)集包含的全部任務(wù)的程序基本 塊,并確定每個(gè)所述程序基本塊的執(zhí)行頻度;依據(jù)每個(gè)所述程序基本塊的執(zhí)行頻度計(jì)算所 述任務(wù)集或者所述新任務(wù)集包含的全部任務(wù)對(duì)應(yīng)的cache組的相對(duì)頻度。
[0033]優(yōu)選的,第一計(jì)算模塊及第二計(jì)算模塊均包括:
[0034]獲取單元,用于獲取所述任務(wù)集或者所述新任務(wù)集包含的每個(gè)任務(wù)對(duì)應(yīng)的程序控 制流圖,并根據(jù)所述程序控制流圖得到對(duì)應(yīng)任務(wù)的程序基本塊。
[0035] 優(yōu)選的,還包括:
[0036] 選取模塊,用于如果所述實(shí)際相對(duì)頻度標(biāo)準(zhǔn)差與所述模擬相對(duì)頻度標(biāo)準(zhǔn)差的差值 均為負(fù)值,或者所述待處理任務(wù)的數(shù)量小于或者等于未部署任務(wù)的處理器核的數(shù)量,則選 取任一未部署任務(wù)的處理器核作為當(dāng)前處理器核,執(zhí)行步驟1。
[0037] 本發(fā)明提供的一種任務(wù)部署方法及裝置,其中,該方法包括:步驟1:獲取部署在當(dāng) 前處理器核上的任務(wù)集,并依據(jù)所述任務(wù)集中全部任務(wù)對(duì)應(yīng)的cache組的相對(duì)頻度計(jì)算該 任務(wù)集的實(shí)際相對(duì)頻度標(biāo)準(zhǔn)差;步驟2:將待處理任務(wù)分別加入所述任務(wù)集中,得到與所述 待處理任務(wù)一一對(duì)應(yīng)的新任務(wù)集,并依據(jù)所述新任務(wù)集中全部任務(wù)對(duì)應(yīng)的cache組的相對(duì) 頻度計(jì)算該新任務(wù)集的模擬相對(duì)頻度標(biāo)準(zhǔn)差;步驟3:將所述實(shí)際相對(duì)頻度標(biāo)準(zhǔn)差與所述模 擬相對(duì)頻度標(biāo)準(zhǔn)差的差值中最大且為正值的差值對(duì)應(yīng)的模擬相對(duì)頻度標(biāo)準(zhǔn)差對(duì)應(yīng)的待處 理任務(wù)部署到當(dāng)前處理器核上,返回執(zhí)行步驟2;直至不存在滿足上述要求的待處理任務(wù)為 止。其中,相對(duì)頻度標(biāo)準(zhǔn)差表明了對(duì)應(yīng)任務(wù)集中全部任務(wù)在不同cache組中映射的均勻程 序,即該數(shù)值越小,說明對(duì)應(yīng)任務(wù)集中全部任務(wù)在不同cache組中映射的越均勻,因此,通過 本申請(qǐng)公開的上述技術(shù)特征,選取將所述實(shí)際相對(duì)頻度標(biāo)準(zhǔn)差與所述模擬相對(duì)頻度標(biāo)準(zhǔn)差 的差值中最大且為正值的差值對(duì)應(yīng)的模擬相對(duì)頻度標(biāo)準(zhǔn)差對(duì)應(yīng)的待處理任務(wù)部署到當(dāng)前 處理器核上,即選取能夠使得當(dāng)前處理器核上任務(wù)集包含的全部任務(wù)映射到不同cache組 中更加均勻的待處理任務(wù)部署到當(dāng)前處理器核上,從而使得當(dāng)前處理器核上任務(wù)集包含的 全部任務(wù)可以均勻的映射到不同cache組中,避免了不同任務(wù)映射到同一區(qū)域或同一行的 cache中,造成映射沖突的情況,從而提高了cache空間利用率。
【附圖說明】
[0038] 為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本 發(fā)明的實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù) 提供的附圖獲得其他的附圖。
[0039] 圖1為本發(fā)明實(shí)施例提供的一種任務(wù)部署方法的流程圖;
[0040] 圖2為本發(fā)明實(shí)施例提供的一種任務(wù)部署裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0041] 下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;?本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他 實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0042] 請(qǐng)參閱圖1,其示出了本發(fā)明實(shí)施例提供的一種任務(wù)部署方法的流程圖,其執(zhí)行主 語(yǔ)均可以為任務(wù)部署裝置,具體來說,該方法包括:
[0043] S1:獲取部署在當(dāng)前處理器核上的任務(wù)集,并依據(jù)任務(wù)集中全部任務(wù)對(duì)應(yīng)的cache 組的相對(duì)頻度計(jì)算該任務(wù)集的實(shí)際相對(duì)頻度標(biāo)準(zhǔn)差。
[0044] 其中,需要說明的是,當(dāng)前處理器核為待部署任務(wù)的任一處理器核,即對(duì)于每個(gè)待 部署任務(wù)的處理器核均需要按照該方法進(jìn)行任務(wù)部署。
[0045] 任務(wù)集中的每個(gè)任務(wù)都映射到對(duì)應(yīng)cache組上以完成任務(wù)的實(shí)現(xiàn),而實(shí)際相對(duì)頻 度標(biāo)準(zhǔn)差即為根據(jù)任務(wù)集對(duì)應(yīng)的cache組的相對(duì)頻度計(jì)算得到的與任務(wù)集對(duì)應(yīng)的相對(duì)頻度 標(biāo)準(zhǔn)差,該數(shù)值表明了任務(wù)集中全部任務(wù)在不同cache組中映射的均勻程序,即該數(shù)值越 小,說明任務(wù)集中全部任務(wù)在不同cache組中映射的越均勻,也就越能避免不同任務(wù)映射到 同一 cache組中造成映射沖突的問題。
[0046] S2:將待處理任務(wù)分別加入任務(wù)集中,得到與待處理任務(wù)一一對(duì)應(yīng)的新任務(wù)集,并 依據(jù)新任務(wù)集中全部任務(wù)對(duì)應(yīng)的cache組的相對(duì)頻度計(jì)算該新任務(wù)集的模擬相對(duì)頻度標(biāo)準(zhǔn) 差。
[0047]需要說明的是,每個(gè)新任務(wù)集僅僅對(duì)應(yīng)一個(gè)待處理任務(wù),即將一個(gè)待處理任務(wù)加 入任務(wù)集中得到一個(gè)新任務(wù)集,將另一個(gè)待處理任務(wù)加入任務(wù)集中得到另一個(gè)新任務(wù)集, 以此類推。
[0048] 而模擬相對(duì)頻度標(biāo)準(zhǔn)差為與新任務(wù)集對(duì)應(yīng)的相對(duì)頻度標(biāo)準(zhǔn)差,其表明了新任務(wù)集 中全部任務(wù)在不同cache組中映射的均勻程序,與實(shí)際相對(duì)頻度標(biāo)準(zhǔn)差含義相同,區(qū)別僅僅 在于對(duì)應(yīng)不同的任務(wù)集,在此不再贅述。
[0049] S13:將實(shí)際相對(duì)頻度標(biāo)準(zhǔn)差與模擬相對(duì)頻度標(biāo)準(zhǔn)差的差值中最大且為正值的差 值對(duì)應(yīng)的模擬相對(duì)頻度標(biāo)準(zhǔn)差對(duì)應(yīng)的待處理任務(wù)部署到當(dāng)前處理器核上,返回執(zhí)行步驟 S2;直至不存在滿足上述要求的待處理任務(wù)為止。
[0050] 實(shí)際相對(duì)頻度標(biāo)準(zhǔn)差與模擬相對(duì)頻度標(biāo)準(zhǔn)差的差值為正值,說明模擬相對(duì)頻度標(biāo) 準(zhǔn)差比實(shí)際相對(duì)頻度標(biāo)準(zhǔn)差小,也就表示該差值對(duì)應(yīng)的模擬相對(duì)頻度標(biāo)準(zhǔn)差對(duì)應(yīng)的新任務(wù) 集中全部任務(wù)在不同cache組中映射的均勻程序大于任務(wù)集中全部任務(wù)在不同cache組中 映射的均勻程序;而由于實(shí)際相對(duì)頻度標(biāo)準(zhǔn)差是固定的,因此,實(shí)際相對(duì)頻度標(biāo)準(zhǔn)差與模擬 相對(duì)頻度標(biāo)準(zhǔn)差的差值越大,說明模擬相對(duì)頻度標(biāo)準(zhǔn)差越小,也就表明模擬相對(duì)頻度標(biāo)準(zhǔn) 差對(duì)應(yīng)的新任務(wù)集中全部任務(wù)在不同cache組中映射的越均勻,因此,本發(fā)明實(shí)施例中選取 實(shí)際相對(duì)頻度標(biāo)準(zhǔn)差與模擬相對(duì)頻度標(biāo)準(zhǔn)差的差值中最大且為正值的差值對(duì)應(yīng)的模擬相 對(duì)頻度標(biāo)準(zhǔn)差對(duì)應(yīng)的待處理任務(wù)部署到當(dāng)前處理器核上,也即選取了使得新任務(wù)集中全部 任務(wù)在不同cache組中映射的均勻程度大于任務(wù)集中全部任務(wù)在不同cache組中映射的均 勻程序且新任務(wù)集中全部任務(wù)在不同cache組中映射的均勻程度最大的待處理任務(wù)部署到 當(dāng)前處理器核上。其中,需要說明的是,如果滿足上述條件的待處理任務(wù)為一個(gè),則直接選 取該待處理任務(wù)部署到當(dāng)前處理器核上,如果滿足上述條件的待處理任務(wù)為多個(gè),則按照 根據(jù)實(shí)際需要設(shè)置的原則(如隨機(jī)原則等)選取其中一個(gè)待處理任務(wù)部署到當(dāng)前處理器核 上。而如果不存在滿足上述條件的待處理任務(wù),即實(shí)際相對(duì)頻度標(biāo)準(zhǔn)差與模擬相對(duì)頻度標(biāo) 準(zhǔn)差的差值均為負(fù)值,則停止操作。當(dāng)然,也可以按照上述步驟選取出多個(gè)待處理任務(wù)后再 一次性將其部署到當(dāng)前處理器核上,均在本發(fā)明的保護(hù)范圍之內(nèi)。
[0051 ]需要說明的是,本發(fā)明實(shí)施例中涉及的cache組均可以為指令cache組。
[0052]通過本申請(qǐng)公開的上述技術(shù)特征,選取能夠使得當(dāng)前處理器核上任務(wù)集包含的全 部任務(wù)映射到不同cache組中更加均勻的待處理任務(wù)部署到當(dāng)前處理器核上,從而使得當(dāng) 前處理器核上任務(wù)集包含的全部任務(wù)可以均勻的映射到不同cache組中,避免了不同任務(wù) 映射到同一區(qū)域或同一行的cache中,造成映射沖突的情況,從而提高了 cache空間利用率。
[0053] 另外,通過本申請(qǐng)公開的上述技術(shù)方案,利用貪心算法的思想,根據(jù)cache組的相 對(duì)頻度,使得對(duì)cache組訪問均勻的不同任務(wù)集運(yùn)行在同一個(gè)處理器核上,避免了映射沖突 的情況發(fā)生。
[0054] 本發(fā)明實(shí)施例提供的一種任務(wù)部署方法,計(jì)算任務(wù)集或者新任務(wù)集包含的全部任 務(wù)對(duì)應(yīng)的cache組的相對(duì)頻度,可以包括:
[0055] 獲取任務(wù)集或者新任務(wù)集包含的全部任務(wù)的程序基本塊,并確定每個(gè)程序基本塊 的執(zhí)行頻度;執(zhí)行頻度即為程序基本塊的執(zhí)行次數(shù)。
[0056] 依據(jù)每個(gè)程序基本塊的執(zhí)行頻度計(jì)算任務(wù)集或者新任務(wù)集包含的全部任務(wù)對(duì)應(yīng) 的cache組的相對(duì)頻度。
[0057]其中,依據(jù)每個(gè)程序基本塊的執(zhí)行頻度計(jì)算任務(wù)集或者新任務(wù)集包含的全部任務(wù) 對(duì)應(yīng)的cache組的相對(duì)頻度,可以包括:
[0058]按照下列公式計(jì)算任務(wù)集或者新任務(wù)集包含的任務(wù)對(duì)應(yīng)的任一 cache組的相對(duì)頻 度:
[0060] 其中,RF(s)表示cache組s的相對(duì)頻度,表示任務(wù)集或者新任務(wù)集包含的程序 基本塊&的執(zhí)行頻度,0表示程序基本塊仏所屬的任務(wù)集或者新任務(wù)集包含的對(duì)應(yīng)cache組s 的程序基本塊的集合,mbs (Bi)表示程序基本塊Bi對(duì)應(yīng)cache組s中的行數(shù)。其中,0可以根據(jù) 實(shí)際需要進(jìn)行確定,可以是全部程序基本塊,也可以是執(zhí)行頻度較高的部分程序基本塊,在 此不再贅述。
[0061] 需要說明的是,上述實(shí)施例中,對(duì)于任一cache組的相對(duì)頻度的定義為:所有映射 至該Cache組的程序基本塊的執(zhí)行頻度之和與程序基本塊集合中的所有程序基本塊映射至 所有Cache組的執(zhí)行頻度的幽會(huì)。
[0062] 上述實(shí)施例中,對(duì)于任一任務(wù)集對(duì)應(yīng)的相關(guān)計(jì)算,均是與該任務(wù)集相關(guān)的數(shù)據(jù)實(shí) 現(xiàn)的,如計(jì)算任一任務(wù)集對(duì)應(yīng)的任一cache組的相關(guān)頻度所使用的程序基本塊均為該任務(wù) 集中的程序基本塊。
[0063] 而獲取任務(wù)集或者新任務(wù)集包含的全部任務(wù)的程序基本塊,可以包括:
[0064] 獲取任務(wù)集或者新任務(wù)集包含的每個(gè)任務(wù)對(duì)應(yīng)的程序控制流圖,并根據(jù)程序控制 流圖得到對(duì)應(yīng)任務(wù)的程序基本塊。
[0065] 需要說明的是,對(duì)任務(wù)進(jìn)行程序控制流分析,可以得到任務(wù)的程序控制流圖,而通 過程序控制流圖,可以得到程序靜態(tài)的程序基本塊。進(jìn)而可以確定出每個(gè)程序基本塊映射 的cache組,以及程序基本塊所屬任務(wù)映射的cache組。
[0066] 本發(fā)明實(shí)施例提供的一種任務(wù)部署方法,計(jì)算實(shí)際相對(duì)頻度標(biāo)準(zhǔn)差或者模擬相對(duì) 頻度標(biāo)準(zhǔn)差,可以包括:
[0067] 按照下列公式得到任務(wù)集或者新任務(wù)集對(duì)應(yīng)的相對(duì)頻度向量:
[0069] 其中,RF(S)表示任務(wù)集或者新任務(wù)集的相對(duì)頻度向量,pt表示任務(wù)t在任務(wù)集或 者新任務(wù)集中所占權(quán)重,RFt 1表示任務(wù)t對(duì)應(yīng)的cache組i的相對(duì)頻度,n表示任務(wù)集或者新任 務(wù)集對(duì)應(yīng)的cache組的數(shù)量;
[0070] 計(jì)算任務(wù)集或者新任務(wù)集的相對(duì)頻度向量的標(biāo)準(zhǔn)差,得到實(shí)際相對(duì)頻度標(biāo)準(zhǔn)差或 者模擬相對(duì)頻度標(biāo)準(zhǔn)差。
[0071 ]本發(fā)明實(shí)施例提供的一種任務(wù)部署方法,還可以包括:
[0072]如果實(shí)際相對(duì)頻度標(biāo)準(zhǔn)差與模擬相對(duì)頻度標(biāo)準(zhǔn)差的差值均為負(fù)值,或者待處理任 務(wù)的數(shù)量小于或者等于未部署任務(wù)的處理器核的數(shù)量,則選取任一未部署任務(wù)的處理器核 作為當(dāng)前處理器核,執(zhí)行步驟S1。
[0073] 如果實(shí)際相對(duì)頻度標(biāo)準(zhǔn)差與模擬相對(duì)頻度標(biāo)準(zhǔn)差的差值均為負(fù)值,則說明待處理 任務(wù)的加入會(huì)使任務(wù)集映射的cache組更加不均勻,因此,不將任何待處理任務(wù)部署到當(dāng)前 處理器核上。而如果待處理任務(wù)的數(shù)量小于或者等于未部署任務(wù)的處理器核的數(shù)量,說明 有更充裕的處理器核可供使用,因此,可以停止對(duì)當(dāng)前處理器核的任務(wù)部署,而選取未部署 任務(wù)的處理器核作為當(dāng)前處理器核,為其部署任務(wù)。
[0074] 另外,需要說明的是,根據(jù)cache組的相對(duì)頻度RF,對(duì)任務(wù)進(jìn)行分類。具體來說,假 設(shè)當(dāng)前指令Cache包含n個(gè)Cache組,定義平均訪問熱度為1/n;根據(jù)Cache組相對(duì)頻度和平均 訪問熱度的大小關(guān)系,將任務(wù)分為如下幾類: f ifHF E[l.2SF, l| 濃常傷組 MF € i、2SF>
[0075] I ...私、..、 r i:低_組迂腿€ H8F) { I:凍點(diǎn)組錄.飛HSF)
[0076]其中,F(xiàn) = l/n,表示平均訪問熱度。
[0077]根據(jù)上述分類標(biāo)準(zhǔn),不同的任務(wù)具有不同的Cache組訪問頻度分布,本方法使用RF 的標(biāo)準(zhǔn)差作為衡量程序基本塊在Cache組中分布的差異程度,標(biāo)準(zhǔn)差越大,通常意味著不同 Cache組訪問頻度差異越大,映射越不均勻,反之,則表示不同Cache組訪問頻度趨于平均, 即映射越均勻。上述五類任務(wù)具體描述為:
[0078] 低組密集型(LSI,Low_set intensive):此類任務(wù)訪問分布的高熱組較多,且集中 在編號(hào)較低的Cache組中;
[0079] 高組密集型(HIS,High_set intensive):此類任務(wù)訪問分布的高熱組較多,且集 中在編號(hào)較高的Cache組中;
[0080] 高低組密集型(HLI,High and Low set intensive):此類任務(wù)訪問分布的高熱組 較多,且集中在編號(hào)較小及較大的Cache組中;
[0081 ] 中部組密集型(MSI,Middle_set intensive):此類任務(wù)訪問分布的高熱組較多, 且集中在中間的Cache組中;
[0082] 分布均勾型(ED,Evenly distributed):此類任務(wù)訪問在所有Cache組中出現(xiàn)的頻 度比較均勻,冰點(diǎn)組及高熱組較少。
[0083] 其中,cache組的編號(hào)為根據(jù)實(shí)際需要預(yù)先為其設(shè)定的;需要注意的是,對(duì)于同一 個(gè)任務(wù),當(dāng)其運(yùn)行于不同的處理器核上時(shí),其對(duì)應(yīng)的分類可能不同;此外,用于分類的程序 基本塊訪問頻度的百分比不同時(shí),cache組的分類屬性亦可不同。
[0084] 本發(fā)明實(shí)施例提供的上述方法實(shí)際為按照下列原則進(jìn)行任務(wù)部署的:
[0085] HLI型任務(wù)優(yōu)先與MSI型任務(wù)組合部署于同一處理器核之上;
[0086] LSI型任務(wù)與HSI型任務(wù)組合部署于同一處理器核之上;
[0087] LSI型、HSI型任務(wù)與MSI任務(wù)組合部署于同一處理器核之上。
[0088]此外,為了保證優(yōu)先級(jí)較高的任務(wù)能夠及時(shí)被處理,本發(fā)明實(shí)施例提供的一種任 務(wù)部署方法中,還可以包括按照下列原則對(duì)任務(wù)進(jìn)行部署:
[0089] 具有最高優(yōu)先級(jí)的任務(wù)盡量均勻部署于不同處理器核上,此項(xiàng)原則主要是為了保 證具有高優(yōu)先級(jí)的任務(wù)能夠盡早獲得處理器資源投入運(yùn)行;
[0090] 優(yōu)先部署除ED型以外的任務(wù),項(xiàng)原則主要是因?yàn)镋D型任務(wù)對(duì)于Cache組的影響無 偏好,通過任務(wù)協(xié)同部署能夠得以優(yōu)化的空間較??;
[0091]除ED型任務(wù)外,其它同類型的任務(wù)盡可能部署于不同的處理器核上;同類型的任 務(wù)映射至同一處理器核往往導(dǎo)致大量的指令Cache訪問沖突,不利于內(nèi)容的選取及靜態(tài)分 析。
[0092]由此,能夠提升系統(tǒng)性能,更高效的實(shí)現(xiàn)對(duì)于任務(wù)的處理。
[0093]與上述方法相對(duì)應(yīng),本發(fā)明實(shí)施例還提供了一種任務(wù)部署裝置,如圖2所示,可以 包括:
[0094]第一計(jì)算模塊1,用于獲取部署在當(dāng)前處理器核上的任務(wù)集,并依據(jù)任務(wù)集中全部 任務(wù)對(duì)應(yīng)的cache組的相對(duì)頻度計(jì)算該任務(wù)集的實(shí)際相對(duì)頻度標(biāo)準(zhǔn)差;
[0095]第二計(jì)算模塊2,用于將待處理任務(wù)分別加入任務(wù)集中,得到與待處理任務(wù)一一對(duì) 應(yīng)的新任務(wù)集,并依據(jù)新任務(wù)集中全部任務(wù)對(duì)應(yīng)的cache組的相對(duì)頻度計(jì)算該新任務(wù)集的 模擬相對(duì)頻度標(biāo)準(zhǔn)差;
[0096] 比對(duì)模塊3,用于將實(shí)際相對(duì)頻度標(biāo)準(zhǔn)差與模擬相對(duì)頻度標(biāo)準(zhǔn)差的差值中最大且 為正值的差值對(duì)應(yīng)的模擬相對(duì)頻度標(biāo)準(zhǔn)差對(duì)應(yīng)的待處理任務(wù)部署到當(dāng)前處理器核上,并指 示第二計(jì)算模塊工作;以及用于如果不存在滿足上述要求的待處理任務(wù)則停止操作。
[0097] 本發(fā)明實(shí)施例提供的一種任務(wù)部署裝置,第一計(jì)算模塊及第二計(jì)算模塊均可以包 括:
[0098] 計(jì)算單元,用于:獲取任務(wù)集或者新任務(wù)集包含的全部任務(wù)的程序基本塊,并確定 每個(gè)程序基本塊的執(zhí)行頻度;依據(jù)每個(gè)程序基本塊的執(zhí)行頻度計(jì)算任務(wù)集或者新任務(wù)集包 含的全部任務(wù)對(duì)應(yīng)的cache組的相對(duì)頻度。
[0099] 本發(fā)明實(shí)施例提供的一種任務(wù)部署裝置,第一計(jì)算模塊及第二計(jì)算模塊均可以包 括:
[0100] 獲取單元,用于獲取任務(wù)集或者新任務(wù)集包含的每個(gè)任務(wù)對(duì)應(yīng)的程序控制流圖, 并根據(jù)程序控制流圖得到對(duì)應(yīng)任務(wù)的程序基本塊。
[0101] 本發(fā)明實(shí)施例提供的一種任務(wù)部署裝置,還可以包括:
[0102] 選取模塊,用于如果實(shí)際相對(duì)頻度標(biāo)準(zhǔn)差與模擬相對(duì)頻度標(biāo)準(zhǔn)差的差值均為負(fù) 值,或者待處理任務(wù)的數(shù)量小于或者等于未部署任務(wù)的處理器核的數(shù)量,則選取任一未部 署任務(wù)的處理器核作為當(dāng)前處理器核,執(zhí)行步驟1。
[0103]本發(fā)明實(shí)施例提供的一種任務(wù)部署裝置中相關(guān)部分的說明請(qǐng)參見本發(fā)明實(shí)施例 提供的一種任務(wù)部署方法中對(duì)應(yīng)部分的詳細(xì)說明,在此不再贅述。
[0104]對(duì)所公開的實(shí)施例的上述說明,使本領(lǐng)域技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對(duì)這 些實(shí)施例的多種修改對(duì)本領(lǐng)域技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可 以在不脫離本發(fā)明的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會(huì)被限 制于本文所示的這些實(shí)施例,而是要符合與本文所公開的原理和新穎特點(diǎn)相一致的最寬的 范圍。
【主權(quán)項(xiàng)】
1. 一種任務(wù)部署方法,其特征在于,包括: 步驟1:獲取部署在當(dāng)前處理器核上的任務(wù)集,并依據(jù)所述任務(wù)集中全部任務(wù)對(duì)應(yīng)的 cache組的相對(duì)頻度計(jì)算該任務(wù)集的實(shí)際相對(duì)頻度標(biāo)準(zhǔn)差; 步驟2:將待處理任務(wù)分別加入所述任務(wù)集中,得到與所述待處理任務(wù)一一對(duì)應(yīng)的新任 務(wù)集,并依據(jù)所述新任務(wù)集中全部任務(wù)對(duì)應(yīng)的cache組的相對(duì)頻度計(jì)算該新任務(wù)集的模擬 相對(duì)頻度標(biāo)準(zhǔn)差; 步驟3:將所述實(shí)際相對(duì)頻度標(biāo)準(zhǔn)差與所述模擬相對(duì)頻度標(biāo)準(zhǔn)差的差值中最大且為正 值的差值對(duì)應(yīng)的模擬相對(duì)頻度標(biāo)準(zhǔn)差對(duì)應(yīng)的待處理任務(wù)部署到當(dāng)前處理器核上,返回執(zhí)行 步驟2;直至不存在滿足上述要求的待處理任務(wù)為止。2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,計(jì)算所述任務(wù)集或者所述新任務(wù)集包含的 全部任務(wù)對(duì)應(yīng)的cache組的相對(duì)頻度,包括: 獲取所述任務(wù)集或者所述新任務(wù)集包含的全部任務(wù)的程序基本塊,并確定每個(gè)所述程 序基本塊的執(zhí)行頻度; 依據(jù)每個(gè)所述程序基本塊的執(zhí)行頻度計(jì)算所述任務(wù)集或者所述新任務(wù)集包含的全部 任務(wù)對(duì)應(yīng)的cache組的相對(duì)頻度。3. 根據(jù)權(quán)利要求2所述的方法,其特征在于,獲取所述任務(wù)集或者所述新任務(wù)集包含的 全部任務(wù)的程序基本塊,包括: 獲取所述任務(wù)集或者所述新任務(wù)集包含的每個(gè)任務(wù)對(duì)應(yīng)的程序控制流圖,并根據(jù)所述 程序控制流圖得到對(duì)應(yīng)任務(wù)的程序基本塊。4. 根據(jù)權(quán)利要求2所述的方法,其特征在于,依據(jù)每個(gè)所述程序基本塊的執(zhí)行頻度計(jì)算 所述任務(wù)集或者所述新任務(wù)集包含的全部任務(wù)對(duì)應(yīng)的cache組的相對(duì)頻度,包括: 按照下列公式計(jì)算所述任務(wù)集或者所述新任務(wù)集包含的任務(wù)對(duì)應(yīng)的任一 cache組的相 對(duì)頻度:其中,RF( S)表示cache組S的相對(duì)頻度,itg,.表不任務(wù)集或者新任務(wù)集包含的程序基本 塊Bi的執(zhí)行頻度,0表示程序基本塊Bi所屬的任務(wù)集或者新任務(wù)集包含的對(duì)應(yīng)cache組S的程 序基本塊的集合,mbs(Bi)表示程序基本塊Bi對(duì)應(yīng)cache組S中的行數(shù)。5. 根據(jù)權(quán)利要求1所述的方法,其特征在于,計(jì)算所述實(shí)際相對(duì)頻度標(biāo)準(zhǔn)差或者所述模 擬相對(duì)頻度標(biāo)準(zhǔn)差,包括: 按照下列公式得到所述件各集或者所述新件各集對(duì)應(yīng)的相對(duì)頻度向量:其中,RF(S)表示任務(wù)集或者新任務(wù)集的相對(duì)頻度向量,Pt表示任務(wù)t在任務(wù)集或者新任 務(wù)集中所占權(quán)重,RFfi表示任務(wù)t對(duì)應(yīng)的cache組i的相對(duì)頻度,n表示任務(wù)集或者新任務(wù)集對(duì) 應(yīng)的cache組的數(shù)量; 計(jì)算所述任務(wù)集或者所述新任務(wù)集的相對(duì)頻度向量的標(biāo)準(zhǔn)差,得到所述實(shí)際相對(duì)頻度 標(biāo)準(zhǔn)差或者所述模擬相對(duì)頻度標(biāo)準(zhǔn)差。6. 根據(jù)權(quán)利要求1至5任一項(xiàng)所述的方法,其特征在于,還包括: 如果所述實(shí)際相對(duì)頻度標(biāo)準(zhǔn)差與所述模擬相對(duì)頻度標(biāo)準(zhǔn)差的差值均為負(fù)值,或者所述 待處理任務(wù)的數(shù)量小于或者等于未部署任務(wù)的處理器核的數(shù)量,則選取任一未部署任務(wù)的 處理器核作為當(dāng)前處理器核,執(zhí)行步驟1。7. -種任務(wù)部署裝置,其特征在于,包括: 第一計(jì)算模塊,用于獲取部署在當(dāng)前處理器核上的任務(wù)集,并依據(jù)所述任務(wù)集中全部 任務(wù)對(duì)應(yīng)的cache組的相對(duì)頻度計(jì)算該任務(wù)集的實(shí)際相對(duì)頻度標(biāo)準(zhǔn)差; 第二計(jì)算模塊,用于將待處理任務(wù)分別加入所述任務(wù)集中,得到與所述待處理任務(wù)一 一對(duì)應(yīng)的新任務(wù)集,并依據(jù)所述新任務(wù)集中全部任務(wù)對(duì)應(yīng)的cache組的相對(duì)頻度計(jì)算該新 任務(wù)集的模擬相對(duì)頻度標(biāo)準(zhǔn)差; 比對(duì)模塊,用于將所述實(shí)際相對(duì)頻度標(biāo)準(zhǔn)差與所述模擬相對(duì)頻度標(biāo)準(zhǔn)差的差值中最大 且為正值的差值對(duì)應(yīng)的模擬相對(duì)頻度標(biāo)準(zhǔn)差對(duì)應(yīng)的待處理任務(wù)部署到當(dāng)前處理器核上,并 指示第二計(jì)算模塊工作;W及用于如果不存在滿足上述要求的待處理任務(wù)則停止操作。8. 根據(jù)權(quán)利要求7所述的裝置,其特征在于,第一計(jì)算模塊及第二計(jì)算模塊均包括: 計(jì)算單元,用于:獲取所述任務(wù)集或者所述新任務(wù)集包含的全部任務(wù)的程序基本塊,并 確定每個(gè)所述程序基本塊的執(zhí)行頻度;依據(jù)每個(gè)所述程序基本塊的執(zhí)行頻度計(jì)算所述任務(wù) 集或者所述新任務(wù)集包含的全部任務(wù)對(duì)應(yīng)的cache組的相對(duì)頻度。9. 根據(jù)權(quán)利要求8所述的裝置,其特征在于,第一計(jì)算模塊及第二計(jì)算模塊均包括: 獲取單元,用于獲取所述任務(wù)集或者所述新任務(wù)集包含的每個(gè)任務(wù)對(duì)應(yīng)的程序控制流 圖,并根據(jù)所述程序控制流圖得到對(duì)應(yīng)任務(wù)的程序基本塊。10. 根據(jù)權(quán)利要求7至9任一項(xiàng)所述的裝置,其特征在于,還包括: 選取模塊,用于如果所述實(shí)際相對(duì)頻度標(biāo)準(zhǔn)差與所述模擬相對(duì)頻度標(biāo)準(zhǔn)差的差值均為 負(fù)值,或者所述待處理任務(wù)的數(shù)量小于或者等于未部署任務(wù)的處理器核的數(shù)量,則選取任 一未部署任務(wù)的處理器核作為當(dāng)前處理器核,執(zhí)行步驟1。
【文檔編號(hào)】G06F9/50GK105912405SQ201610274235
【公開日】2016年8月31日
【申請(qǐng)日】2016年4月28日
【發(fā)明人】李韓, 李一韓
【申請(qǐng)人】浪潮(北京)電子信息產(chǎn)業(yè)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1