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

一種性能和能耗預(yù)測(cè)方法及裝置與流程

文檔序號(hào):11154815閱讀:396來(lái)源:國(guó)知局
一種性能和能耗預(yù)測(cè)方法及裝置與制造工藝

本發(fā)明涉及處理器技術(shù)領(lǐng)域,尤其涉及一種性能和能耗預(yù)測(cè)方法及裝置。



背景技術(shù):

當(dāng)前計(jì)算機(jī)應(yīng)用程序有多樣化的特征,對(duì)資源的需求差異性很大,通過(guò)復(fù)雜的CPU(處理器)設(shè)計(jì)去滿足程序的需求代價(jià)則是高昂的電能開(kāi)銷。而異構(gòu)多核架構(gòu)(如大小核架構(gòu))提供了差異化的處理平臺(tái),程序在處理能力強(qiáng)的核上執(zhí)行能獲得的平均性能更好,但是產(chǎn)生的能耗更高;相對(duì)的,程序在處理能力弱的核上運(yùn)行產(chǎn)生的能耗低,但是平均性能差。同樣,DVFS(Dynamic Voltage and Frequency Scaling,動(dòng)態(tài)調(diào)整時(shí)鐘頻率)加深了這一處理差異性,在高頻率下,程序性能好但是能耗高,反之亦然。但是異構(gòu)核和DVFS的不同頻率間,程序的性能變化并不是一致線性的。一些程序在處理能力強(qiáng)的核上執(zhí)行的性能相對(duì)于弱核的提升不高,而一些程序在高頻率下的執(zhí)行性能相對(duì)于低頻率下的提升也不高。

可見(jiàn),異構(gòu)多核架構(gòu)提供了差異化的處理平臺(tái),同時(shí),DVFS進(jìn)一步增強(qiáng)了處理能力的差異化。這樣的條件下,合理的選擇CPU核和時(shí)鐘頻率執(zhí)行程序以達(dá)到最優(yōu)的性能和能耗就成為了本領(lǐng)域技術(shù)人員的重要研究課題。而研究該課題的基礎(chǔ),則是在異構(gòu)多核架構(gòu)且具備DVFS能力的處理器中,如何預(yù)測(cè)程序在不同處理核內(nèi)的不同頻率下執(zhí)行時(shí)產(chǎn)生的性能和能耗。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明實(shí)施例提供了一種性能和能耗預(yù)測(cè)方法及裝置,能夠?qū)崿F(xiàn)程序在不同處理核內(nèi)的不同頻率下執(zhí)行時(shí)產(chǎn)生的性能和能耗的預(yù)測(cè)。

本發(fā)明實(shí)施例提供的一種性能和能耗預(yù)測(cè)方法,應(yīng)用于異構(gòu)多核架構(gòu)且具備DVFS能力的處理器,包括:

讀取所述處理器的第一處理核上程序在預(yù)設(shè)第一頻率下執(zhí)行時(shí)產(chǎn)生的PMC值;

根據(jù)讀取到的所述PMC值計(jì)算所述第一處理核上所述程序在所述第一頻率下執(zhí)行時(shí)的第一內(nèi)存處理時(shí)間;

將所述PMC值和所述第一內(nèi)存處理時(shí)間投入CPI模型,得到所述第二處理核上所述程序在所述第一頻率下執(zhí)行時(shí)的第一預(yù)測(cè)內(nèi)存處理時(shí)間和第一預(yù)測(cè)總執(zhí)行時(shí)間,所述CPI模型為預(yù)先建立的所述處理器的第二處理核與所述第一處理核的映射模型;

根據(jù)所述第一預(yù)測(cè)內(nèi)存處理時(shí)間和第一預(yù)測(cè)總執(zhí)行時(shí)間計(jì)算所述第二處理核上所述程序在第二頻率下執(zhí)行時(shí)所需的第二預(yù)測(cè)總執(zhí)行時(shí)間,所述第二頻率為所述第二處理核通過(guò)DVFS從所述第一頻率調(diào)整至的下一個(gè)時(shí)鐘頻率;

根據(jù)所述第二預(yù)測(cè)總執(zhí)行時(shí)間確定所述第二處理核上所述程序在第二頻率下執(zhí)行時(shí)的性能預(yù)測(cè)值和能耗預(yù)測(cè)值;

輸出所述性能預(yù)測(cè)值和所述能耗預(yù)測(cè)值。

可選地,所述根據(jù)讀取到的所述PMC值計(jì)算所述第一處理核上所述程序在所述第一頻率下執(zhí)行時(shí)的第一內(nèi)存處理時(shí)間包括:

根據(jù)讀取到的所述PMC值確定所述程序執(zhí)行時(shí)在各個(gè)時(shí)間點(diǎn)上由緩存訪問(wèn)失效事件導(dǎo)致的訪問(wèn)失效數(shù)量;

根據(jù)確定的所述訪問(wèn)失效數(shù)量計(jì)算所述第一處理核上所述程序在所述第一頻率下執(zhí)行時(shí)的第一內(nèi)存處理時(shí)間。

可選地,所述CPI模型通過(guò)以下步驟預(yù)先建立:

在用于訓(xùn)練的所述第一處理核和第二處理核上執(zhí)行程序時(shí),抽取所述程序執(zhí)行時(shí)的PMC值和內(nèi)存處理時(shí)間作為訓(xùn)練樣本的輸入,同時(shí)抽取所述程序執(zhí)行時(shí)的CPI值作為所述訓(xùn)練樣本的輸出;

將所述訓(xùn)練樣本的輸入和輸出投入預(yù)設(shè)的CPI模型模板中進(jìn)行訓(xùn)練,訓(xùn)練完成后得到所述CPI模型。

可選地,將所述PMC值和所述第一內(nèi)存處理時(shí)間投入CPI模型,得到所述第二處理核上所述程序在所述第一頻率下執(zhí)行時(shí)的第一預(yù)測(cè)內(nèi)存處理時(shí)間和第一預(yù)測(cè)總執(zhí)行時(shí)間包括:

將所述第一內(nèi)存處理時(shí)間投入所述CPI模型進(jìn)行轉(zhuǎn)換得到所述第一預(yù)測(cè)內(nèi)存處理時(shí)間;

將所述PMC值和所述第一內(nèi)存處理時(shí)間輸入所述CPI模型,得到所述CPI模型輸出的CPI值;

根據(jù)所述CPI值和所述第一頻率確定所述第二處理核上所述程序在所述第一頻率下執(zhí)行時(shí)的第一預(yù)測(cè)總執(zhí)行時(shí)間。

可選地,根據(jù)所述第一預(yù)測(cè)內(nèi)存處理時(shí)間和第一預(yù)測(cè)總執(zhí)行時(shí)間計(jì)算所述第二處理核上所述程序在第二頻率下執(zhí)行時(shí)所需的第二預(yù)測(cè)總執(zhí)行時(shí)間包括:

根據(jù)所述第一預(yù)測(cè)內(nèi)存處理時(shí)間和第一預(yù)測(cè)總執(zhí)行時(shí)間確定所述第二處理核上所述程序在所述第一頻率下執(zhí)行時(shí)的第一預(yù)測(cè)處理核處理時(shí)間;

根據(jù)所述第一預(yù)測(cè)內(nèi)存處理時(shí)間、所述第一預(yù)測(cè)處理核處理時(shí)間、所述第一頻率和所述第二頻率計(jì)算所述第二處理核上所述程序在第二頻率下執(zhí)行時(shí)所需的第二預(yù)測(cè)總執(zhí)行時(shí)間。

可選地,在根據(jù)讀取到的所述PMC值計(jì)算所述第一處理核上所述程序在所述第一頻率下執(zhí)行時(shí)的第一內(nèi)存處理時(shí)間之后,還包括:

根據(jù)所述第一內(nèi)存處理時(shí)間和與所述第一頻率對(duì)應(yīng)的總執(zhí)行時(shí)間確定所述第一處理核上所述程序在所述第一頻率下執(zhí)行時(shí)的第一處理核處理時(shí)間;

根據(jù)所述第一內(nèi)存處理時(shí)間和所述第一處理核處理時(shí)間計(jì)算所述第一處理核上所述程序在所述第二頻率下執(zhí)行時(shí)所需的第三預(yù)測(cè)總執(zhí)行時(shí)間;

根據(jù)所述第三預(yù)測(cè)總執(zhí)行時(shí)間確定所述第一處理核上所述程序在第二頻率下執(zhí)行時(shí)的第二性能預(yù)測(cè)值和第二能耗預(yù)測(cè)值;

輸出所述第二性能預(yù)測(cè)值和所述第二能耗預(yù)測(cè)值。

本發(fā)明實(shí)施例提供的一種性能和能耗預(yù)測(cè)裝置,應(yīng)用于異構(gòu)多核架構(gòu)且具備DVFS能力的處理器,包括:

PMC值讀取模塊,用于讀取所述處理器的第一處理核上程序在預(yù)設(shè)第一頻率下執(zhí)行時(shí)產(chǎn)生的PMC值;

第一內(nèi)存處理時(shí)間計(jì)算模塊,用于根據(jù)讀取到的所述PMC值計(jì)算所述第一處理核上所述程序在所述第一頻率下執(zhí)行時(shí)的第一內(nèi)存處理時(shí)間;

第一執(zhí)行時(shí)間預(yù)測(cè)模塊,用于將所述PMC值和所述第一內(nèi)存處理時(shí)間投入CPI模型,得到所述第二處理核上所述程序在所述第一頻率下執(zhí)行時(shí)的第一預(yù)測(cè)內(nèi)存處理時(shí)間和第一預(yù)測(cè)總執(zhí)行時(shí)間,所述CPI模型為預(yù)先建立的所述處理器的第二處理核與所述第一處理核的映射模型;

第二執(zhí)行時(shí)間預(yù)測(cè)模塊,用于根據(jù)所述第一預(yù)測(cè)內(nèi)存處理時(shí)間和第一預(yù)測(cè)總執(zhí)行時(shí)間計(jì)算所述第二處理核上所述程序在第二頻率下執(zhí)行時(shí)所需的第二預(yù)測(cè)總執(zhí)行時(shí)間,所述第二頻率為所述第二處理核通過(guò)DVFS從所述第一頻率調(diào)整至的下一個(gè)時(shí)鐘頻率;

預(yù)測(cè)值確定模塊,用于根據(jù)所述第二預(yù)測(cè)總執(zhí)行時(shí)間確定所述第二處理核上所述程序在第二頻率下執(zhí)行時(shí)的性能預(yù)測(cè)值和能耗預(yù)測(cè)值;

輸出模塊,用于輸出所述性能預(yù)測(cè)值和所述能耗預(yù)測(cè)值。

可選地,所述第一內(nèi)存處理時(shí)間計(jì)算模塊包括:

訪問(wèn)失效數(shù)量確定單元,用于根據(jù)讀取到的所述PMC值確定所述程序執(zhí)行時(shí)在各個(gè)時(shí)間點(diǎn)上由緩存訪問(wèn)失效事件導(dǎo)致的訪問(wèn)失效數(shù)量;

處理時(shí)間計(jì)算單元,用于根據(jù)確定的所述訪問(wèn)失效數(shù)量計(jì)算所述第一處理核上所述程序在所述第一頻率下執(zhí)行時(shí)的第一內(nèi)存處理時(shí)間。

可選地,所述第一執(zhí)行時(shí)間預(yù)測(cè)模塊包括:

預(yù)測(cè)處理時(shí)間轉(zhuǎn)換單元,用于將所述第一內(nèi)存處理時(shí)間投入所述CPI模型進(jìn)行轉(zhuǎn)換得到所述第一預(yù)測(cè)內(nèi)存處理時(shí)間;

CPI值輸出單元,用于將所述PMC值和所述第一內(nèi)存處理時(shí)間輸入所述CPI模型,得到所述CPI模型輸出的CPI值;

預(yù)測(cè)總執(zhí)行時(shí)間確定單元,用于根據(jù)所述CPI值和所述第一頻率確定所述第二處理核上所述程序在所述第一頻率下執(zhí)行時(shí)的第一預(yù)測(cè)總執(zhí)行時(shí)間。

可選地,所述性能和能耗預(yù)測(cè)裝置還包括:

處理核處理時(shí)間確定模塊,用于根據(jù)所述第一內(nèi)存處理時(shí)間和與所述第一頻率對(duì)應(yīng)的總執(zhí)行時(shí)間確定所述第一處理核上所述程序在所述第一頻率下執(zhí)行時(shí)的第一處理核處理時(shí)間;

第三執(zhí)行時(shí)間預(yù)測(cè)模塊,用于根據(jù)所述第一內(nèi)存處理時(shí)間和所述第一處理核處理時(shí)間計(jì)算所述第一處理核上所述程序在所述第二頻率下執(zhí)行時(shí)所需的第三預(yù)測(cè)總執(zhí)行時(shí)間;

第二預(yù)測(cè)值確定模塊,用于根據(jù)所述第三預(yù)測(cè)總執(zhí)行時(shí)間確定所述第一處理核上所述程序在第二頻率下執(zhí)行時(shí)的第二性能預(yù)測(cè)值和第二能耗預(yù)測(cè)值;

第二輸出模塊,用于輸出所述第二性能預(yù)測(cè)值和所述第二能耗預(yù)測(cè)值。

從以上技術(shù)方案可以看出,本發(fā)明實(shí)施例具有以下優(yōu)點(diǎn):

本發(fā)明實(shí)施例中,首先,讀取所述處理器的第一處理核上程序在預(yù)設(shè)第一頻率下執(zhí)行時(shí)產(chǎn)生的PMC值;然后,根據(jù)讀取到的所述PMC值計(jì)算所述第一處理核上所述程序在所述第一頻率下執(zhí)行時(shí)的第一內(nèi)存處理時(shí)間;接著,將所述PMC值和所述第一內(nèi)存處理時(shí)間投入CPI模型,得到所述第二處理核上所述程序在所述第一頻率下執(zhí)行時(shí)的第一預(yù)測(cè)內(nèi)存處理時(shí)間和第一預(yù)測(cè)總執(zhí)行時(shí)間,所述CPI模型為預(yù)先建立的所述處理器的第二處理核與所述第一處理核的映射模型;再之,根據(jù)所述第一預(yù)測(cè)內(nèi)存處理時(shí)間和第一預(yù)測(cè)總執(zhí)行時(shí)間計(jì)算所述第二處理核上所述程序在第二頻率下執(zhí)行時(shí)所需的第二預(yù)測(cè)總執(zhí)行時(shí)間,所述第二頻率為所述第二處理核通過(guò)DVFS從所述第一頻率調(diào)整至的下一個(gè)時(shí)鐘頻率;根據(jù)所述第二預(yù)測(cè)總執(zhí)行時(shí)間確定所述第二處理核上所述程序在第二頻率下執(zhí)行時(shí)的性能預(yù)測(cè)值和能耗預(yù)測(cè)值;最后,輸出所述性能預(yù)測(cè)值和所述能耗預(yù)測(cè)值。本發(fā)明通過(guò)讀取第一處理核上程序在第一頻率下執(zhí)行時(shí)產(chǎn)生的PMC值,經(jīng)過(guò)分析計(jì)算,最后得到第二處理核上程序在第二頻率下執(zhí)行時(shí)的性能預(yù)測(cè)值和能耗預(yù)測(cè)值,實(shí)現(xiàn)了程序在不同處理核內(nèi)的不同頻率下執(zhí)行時(shí)產(chǎn)生的性能和能耗的預(yù)測(cè),為如何合理地選擇處理核和時(shí)鐘頻率執(zhí)行程序以達(dá)到最優(yōu)的性能和能耗提供了重要的參照信息和選擇依據(jù)。

附圖說(shuō)明

圖1為本發(fā)明實(shí)施例中一種性能和能耗預(yù)測(cè)方法一個(gè)實(shí)施例流程圖;

圖2為本發(fā)明實(shí)施例中一種性能和能耗預(yù)測(cè)方法在一個(gè)應(yīng)用場(chǎng)景下的流程示意圖;

圖3為本發(fā)明實(shí)施例中一種性能和能耗預(yù)測(cè)裝置一個(gè)實(shí)施例結(jié)構(gòu)圖。

具體實(shí)施方式

本發(fā)明實(shí)施例提供了一種性能和能耗預(yù)測(cè)方法及裝置,用于解決如何預(yù)測(cè)程序在不同處理核內(nèi)的不同頻率下執(zhí)行時(shí)產(chǎn)生的性能和能耗的問(wèn)題。

本發(fā)明著眼于程序在處理器(如ARM處理器)異構(gòu)核的不同時(shí)鐘頻率下運(yùn)行時(shí)的性能和功耗的相互映射。亦即,當(dāng)程序在其中一處理核和任意時(shí)鐘頻率下運(yùn)行一段時(shí)間后,對(duì)程序在該平臺(tái)任一節(jié)點(diǎn)的任一時(shí)鐘頻率下運(yùn)行時(shí)的性能和功耗做出預(yù)測(cè)。

本發(fā)明的模型為自底向上,切入點(diǎn)是處理器中的事件信息,也即程序在運(yùn)行時(shí)候處理器中產(chǎn)生的事件集。由于處理器由不同的部件組成,而程序在執(zhí)行時(shí)會(huì)在各部件間產(chǎn)生一定量的操作。當(dāng)前的硬件設(shè)備商設(shè)計(jì)生產(chǎn)芯片時(shí),通常會(huì)提供一系列寄存器,這些寄存器記錄了芯片在工作時(shí)記錄下的一些關(guān)鍵事件的發(fā)生數(shù)量,并提供接口供操作系統(tǒng)讀取。這些事件間接的反映著程序運(yùn)行時(shí)的性能,同時(shí),這些事件的發(fā)生也造成了系統(tǒng)中功耗的產(chǎn)生。從而,可以理解為事件集即程序在計(jì)算機(jī)系統(tǒng)中運(yùn)行時(shí)性能和功耗的抽象表達(dá)。本發(fā)明利用了在每一個(gè)時(shí)間點(diǎn)上讀取到的PMC數(shù)值作為性能和能耗模型的輸入。

在CPU核處于不同電壓和頻率下時(shí),運(yùn)行的程序的性能和能耗也將不同,并且不同的程序會(huì)呈現(xiàn)明顯差異的變化率。當(dāng)程序正常提交指令的時(shí)鐘周期內(nèi),可以認(rèn)為是主要在處理核中執(zhí)行指令的過(guò)程。而提交指令流程被暫停,等待當(dāng)前指令所進(jìn)行的內(nèi)存訪問(wèn)結(jié)束才能恢復(fù)提交指令的處理過(guò)程,也可認(rèn)為是屬于在內(nèi)存系統(tǒng)中處理的過(guò)程。本發(fā)明主要通過(guò)在不同頻率下程序執(zhí)行時(shí)事件集的特征分析來(lái)判斷程序在處理器和內(nèi)存及其他模塊中處理時(shí)間的時(shí)間比例,并由此實(shí)現(xiàn)性能和能耗的預(yù)測(cè)工作。

ARM的大小核架構(gòu)下,大核和小核的微架構(gòu)不同,主要表現(xiàn)在:指令執(zhí)行模型,流水線設(shè)計(jì),部件大小等不同。但是,大核和小核上的指令集相同,所以,當(dāng)同一個(gè)程序在不同的處理核上執(zhí)行的時(shí)候,程序的執(zhí)行產(chǎn)生的動(dòng)態(tài)指令流基本一致,區(qū)別在于大小核上產(chǎn)生事件數(shù)量的差異,和事件數(shù)量對(duì)于性能和能耗影響的差異,也即性能和能耗模型的差異。本發(fā)明通過(guò)研究相同的動(dòng)態(tài)指令在大小核上將會(huì)產(chǎn)生的事件集信息,來(lái)完成對(duì)任務(wù)執(zhí)行在不同核上性能和能耗的預(yù)測(cè)。

為使得本發(fā)明的發(fā)明目的、特征、優(yōu)點(diǎn)能夠更加的明顯和易懂,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,下面所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而非全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其它實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。

請(qǐng)參閱圖1,本發(fā)明實(shí)施例中一種性能和能耗預(yù)測(cè)方法一個(gè)實(shí)施例包括:

101、讀取所述處理器的第一處理核上程序在預(yù)設(shè)第一頻率下執(zhí)行時(shí)產(chǎn)生的PMC值;

本實(shí)施例中,首先,可以讀取所述處理器的第一處理核上程序在預(yù)設(shè)第一頻率下執(zhí)行時(shí)產(chǎn)生的PMC值。該P(yáng)MC值即為事件計(jì)數(shù)器(Performance Monitoring Counters,PMC)記錄的值。

可以理解的是,一個(gè)大小核架構(gòu)的處理器,其上至少包括兩個(gè)處理核,分別為第一處理核和第二處理核。其中,可以是第一處理核為大核,第二處理核為小核;也可以是第一處理核為小核,第二處理核為大核??芍?,在步驟101中先選定一個(gè)處理核為第一處理核,也即當(dāng)前處理核,則第二處理核相對(duì)第一處理核為異構(gòu)核,簡(jiǎn)稱異核。

在步驟101中,首先預(yù)設(shè)一個(gè)第一頻率,在第一處理核上該程序在該第一頻率下執(zhí)行,獲取執(zhí)行過(guò)程中的PMC值??梢岳斫獾氖牵揚(yáng)MC值對(duì)應(yīng)的執(zhí)行過(guò)程的時(shí)間區(qū)間可以根據(jù)實(shí)際需求預(yù)先設(shè)定。

102、根據(jù)讀取到的所述PMC值計(jì)算所述第一處理核上所述程序在所述第一頻率下執(zhí)行時(shí)的第一內(nèi)存處理時(shí)間;

在讀取到所述PMC值之后,可以根據(jù)讀取到的所述PMC值計(jì)算所述第一處理核上所述程序在所述第一頻率下執(zhí)行時(shí)的第一內(nèi)存處理時(shí)間。

可以理解的是,當(dāng)程序在計(jì)算系統(tǒng)執(zhí)行時(shí),也即在處理核上執(zhí)行時(shí),其總的執(zhí)行時(shí)間可以分為處理核處理時(shí)間和內(nèi)存處理時(shí)間。處理核處理時(shí)間是處理核中執(zhí)行指令并正常提交的時(shí)間。而內(nèi)存處理時(shí)間是處理核內(nèi)的指令執(zhí)行流程因?yàn)楦哳~的內(nèi)存開(kāi)銷而暫停的時(shí)間。

因此,進(jìn)一步地,上述步驟102可以包括:根據(jù)讀取到的所述PMC值確定所述程序執(zhí)行時(shí)在各個(gè)時(shí)間點(diǎn)上由緩存訪問(wèn)失效事件導(dǎo)致的訪問(wèn)失效數(shù)量;根據(jù)確定的所述訪問(wèn)失效數(shù)量計(jì)算所述第一處理核上所述程序在所述第一頻率下執(zhí)行時(shí)的第一內(nèi)存處理時(shí)間。

為便于說(shuō)明,假設(shè)內(nèi)存處理時(shí)間為MET,MET與程序當(dāng)前執(zhí)行中所產(chǎn)生的內(nèi)存操作的數(shù)量線性相關(guān),但是由于內(nèi)存操作也具有并行特征,多個(gè)內(nèi)存訪問(wèn)所造成的時(shí)延也會(huì)相互重疊,所以根據(jù)在每次時(shí)間點(diǎn)(假設(shè)共100次)上讀取的內(nèi)存訪問(wèn)數(shù)量,和這些內(nèi)存訪問(wèn)占所有執(zhí)行指令數(shù)量的比例進(jìn)行線性回歸分析,可通過(guò)如下公式計(jì)算MET:

其中,CM表示在程序執(zhí)行時(shí)每個(gè)時(shí)間點(diǎn)上讀取的最后一級(jí)緩存的訪問(wèn)失效數(shù)量,MPKI表示這些訪問(wèn)失效數(shù)量在每1000條指令中所占的比例,而μ為權(quán)重因子,可以通過(guò)訓(xùn)練集訓(xùn)練后經(jīng)由線性回歸得到。

103、將所述PMC值和所述第一內(nèi)存處理時(shí)間投入CPI模型,得到所述第二處理核上所述程序在所述第一頻率下執(zhí)行時(shí)的第一預(yù)測(cè)內(nèi)存處理時(shí)間和第一預(yù)測(cè)總執(zhí)行時(shí)間;

在根據(jù)讀取到的所述PMC值計(jì)算所述第一處理核上所述程序在所述第一頻率下執(zhí)行時(shí)的第一內(nèi)存處理時(shí)間之后,可以將所述PMC值和所述第一內(nèi)存處理時(shí)間投入CPI模型,得到所述第二處理核上所述程序在所述第一頻率下執(zhí)行時(shí)的第一預(yù)測(cè)內(nèi)存處理時(shí)間和第一預(yù)測(cè)總執(zhí)行時(shí)間,其中,所述CPI模型為預(yù)先建立的所述處理器的第二處理核與所述第一處理核的映射模型。

進(jìn)一步地,所述CPI模型可以通過(guò)以下步驟預(yù)先建立:

A、在用于訓(xùn)練的所述第一處理核和第二處理核上執(zhí)行程序時(shí),抽取所述程序執(zhí)行時(shí)的PMC值和內(nèi)存處理時(shí)間作為訓(xùn)練樣本的輸入,同時(shí)抽取所述程序執(zhí)行時(shí)的CPI值作為所述訓(xùn)練樣本的輸出;

B、將所述訓(xùn)練樣本的輸入和輸出投入預(yù)設(shè)的CPI模型模板中進(jìn)行訓(xùn)練,訓(xùn)練完成后得到所述CPI模型。

對(duì)于上述步驟A和B,該CPI模型模板可以如下式(2)表示:

CPI=γ0Icount+γ1ICA+γ2DCA+γ3LI+γ4SI+γ5BR+γ6IntI+γ7FPI+γ8MET

可以理解的是,基于同屬大小核架構(gòu)的兩個(gè)處理核不同的微架構(gòu)特征建立,當(dāng)程序執(zhí)行時(shí),可以根據(jù)PMC讀數(shù)獲取各個(gè)預(yù)設(shè)指令類型的指令數(shù),根據(jù)第一處理核和第二處理核之間存在的基于事件數(shù)量的映射關(guān)系,可以建立起該CPI棧的模型。在上述式(2)中,各個(gè)指令類型的指令數(shù)分別包括執(zhí)行指令數(shù)Icount、第一級(jí)指令緩存訪問(wèn)數(shù)ICA、數(shù)據(jù)緩存訪問(wèn)數(shù)DCA、存操作指令數(shù)LI、取操作指令數(shù)SI、分支指令數(shù)BR、整形指令數(shù)IntI和浮點(diǎn)指令數(shù)FPI。式(2)的方程可以通過(guò)訓(xùn)練集(所述訓(xùn)練樣本的集合)訓(xùn)練確認(rèn)各個(gè)參數(shù)γ。

進(jìn)一步地,上述步驟103可以包括:

1031、將所述第一內(nèi)存處理時(shí)間投入所述CPI模型進(jìn)行轉(zhuǎn)換得到所述第一預(yù)測(cè)內(nèi)存處理時(shí)間;

1032、將所述PMC值和所述第一內(nèi)存處理時(shí)間輸入所述CPI模型,得到所述CPI模型輸出的CPI值;

1033、根據(jù)所述CPI值和所述第一頻率確定所述第二處理核上所述程序在所述第一頻率下執(zhí)行時(shí)的第一預(yù)測(cè)總執(zhí)行時(shí)間。

對(duì)于上述步驟1031,在預(yù)先建立好的CPI模型下,γ8已確定,由上述式(2)可知,第一預(yù)測(cè)內(nèi)存處理時(shí)間等于γ8MET,即等于所述第一內(nèi)存處理時(shí)間乘以參數(shù)γ8。

對(duì)于上述步驟1032,將所述PMC值和所述第一內(nèi)存處理時(shí)間輸入上述式(2),可以得到輸出的CPI值。

對(duì)于上述步驟1033,可以理解的是,在獲取到輸出的CPI值之后,可以根據(jù)該CPI值和第一頻率計(jì)算程序在第二處理核上執(zhí)行相同指令數(shù)所需的執(zhí)行時(shí)間,如下式(3)所示:

其中,ET表示程序執(zhí)行時(shí)的總執(zhí)行時(shí)間,Ninst表示程序所需執(zhí)行的指令數(shù),而f表示對(duì)應(yīng)的時(shí)鐘頻率。

通過(guò)上述式(3)的計(jì)算,可以確定所述第二處理核上所述程序在所述第一頻率下執(zhí)行時(shí)的第一預(yù)測(cè)總執(zhí)行時(shí)間。

需要說(shuō)明的是,由于第二處理核與第一處理核性能和構(gòu)造上的差異,在經(jīng)過(guò)CPI模型轉(zhuǎn)換后,第二處理核上程序執(zhí)行時(shí)的所述第一頻率的值與第一處理核上程序執(zhí)行時(shí)的第一頻率的值可能不相等,但第二處理核上的第一頻率與第一處理核上的第一頻率存在對(duì)應(yīng)的映射關(guān)系。因此,本實(shí)施例中為了方便表達(dá),在第二處理核上程序執(zhí)行時(shí),其使用的對(duì)應(yīng)時(shí)鐘頻率也表述為第一時(shí)鐘頻率。

104、根據(jù)所述第一預(yù)測(cè)內(nèi)存處理時(shí)間和第一預(yù)測(cè)總執(zhí)行時(shí)間計(jì)算所述第二處理核上所述程序在第二頻率下執(zhí)行時(shí)所需的第二預(yù)測(cè)總執(zhí)行時(shí)間;

在得到所述第二處理核上所述程序在所述第一頻率下執(zhí)行時(shí)的第一預(yù)測(cè)內(nèi)存處理時(shí)間和第一預(yù)測(cè)總執(zhí)行時(shí)間之后,可以根據(jù)所述第一預(yù)測(cè)內(nèi)存處理時(shí)間和第一預(yù)測(cè)總執(zhí)行時(shí)間計(jì)算所述第二處理核上所述程序在第二頻率下執(zhí)行時(shí)所需的第二預(yù)測(cè)總執(zhí)行時(shí)間,所述第二頻率為所述第二處理核通過(guò)DVFS從所述第一頻率調(diào)整至的下一個(gè)時(shí)鐘頻率。

由上述內(nèi)容可知,當(dāng)程序在處理核上執(zhí)行時(shí),其總的執(zhí)行時(shí)間可以分為處理核處理時(shí)間和內(nèi)存處理時(shí)間,也即,總執(zhí)行時(shí)間ET可以等于處理核處理時(shí)間CET加上內(nèi)存處理時(shí)間MET。

因此,進(jìn)一步地,上述步驟104可以包括:

1041、根據(jù)所述第一預(yù)測(cè)內(nèi)存處理時(shí)間和第一預(yù)測(cè)總執(zhí)行時(shí)間確定所述第二處理核上所述程序在所述第一頻率下執(zhí)行時(shí)的第一預(yù)測(cè)處理核處理時(shí)間;

1042、根據(jù)所述第一預(yù)測(cè)內(nèi)存處理時(shí)間、所述第一預(yù)測(cè)處理核處理時(shí)間、所述第一頻率和所述第二頻率計(jì)算所述第二處理核上所述程序在第二頻率下執(zhí)行時(shí)所需的第二預(yù)測(cè)總執(zhí)行時(shí)間。

對(duì)于上述步驟1041,可以通過(guò)如下式(4)表示:

CET=ET-MET (4)

對(duì)于上述步驟1042,當(dāng)?shù)诙幚砗耸褂肈VFS技術(shù)從第一頻率f調(diào)整至下一個(gè)頻率,也即第二頻率f'時(shí),在該f'下的總執(zhí)行時(shí)間ET通過(guò)如下式(5)計(jì)算:

其中,上述的f為所述第一頻率,f'為所述第二頻率,ET(f')為第二頻率下的總執(zhí)行時(shí)間,MET(f)為第一頻率下的內(nèi)存處理時(shí)間,CET(f)為第一頻率下的處理核處理時(shí)間。

可知,根據(jù)式(5),將所述第一預(yù)測(cè)內(nèi)存處理時(shí)間、所述第一預(yù)測(cè)處理核處理時(shí)間、所述第一頻率和所述第二頻率代入式(5)可以計(jì)算得到所述第二處理核上所述程序在第二頻率下執(zhí)行時(shí)所需的第二預(yù)測(cè)總執(zhí)行時(shí)間。

105、根據(jù)所述第二預(yù)測(cè)總執(zhí)行時(shí)間確定所述第二處理核上所述程序在第二頻率下執(zhí)行時(shí)的性能預(yù)測(cè)值和所需的能耗預(yù)測(cè)值;

在計(jì)算所述第二處理核上所述程序在第二頻率下執(zhí)行時(shí)所需的第二預(yù)測(cè)總執(zhí)行時(shí)間之后,可以根據(jù)所述第二預(yù)測(cè)總執(zhí)行時(shí)間確定所述第二處理核上所述程序在第二頻率下執(zhí)行時(shí)的性能預(yù)測(cè)值和所需的能耗預(yù)測(cè)值。

在對(duì)性能和能耗預(yù)測(cè)進(jìn)行預(yù)測(cè)之前,可以先建立性能和能耗的預(yù)測(cè)模型。通過(guò)將可準(zhǔn)確監(jiān)測(cè)的性能(CPI)和能耗,結(jié)合同時(shí)監(jiān)測(cè)得到的事件集,經(jīng)過(guò)推導(dǎo)模型,分析與確定最相關(guān)的關(guān)鍵事件組合,并確定各項(xiàng)參數(shù)進(jìn)行擬合。

對(duì)于性能,經(jīng)過(guò)將各測(cè)試程序各時(shí)間段監(jiān)測(cè)所得性能和同時(shí)得到的事件集相線性擬合,可得出的性能模型如下式(6)表示:

其中,事件數(shù)量(EventCount)可以通過(guò)所述第二預(yù)測(cè)總執(zhí)行時(shí)間進(jìn)行轉(zhuǎn)換計(jì)算得到。參數(shù)α和β可以通過(guò)使用訓(xùn)練集,根據(jù)實(shí)際測(cè)得的性能和PMC值作為訓(xùn)練集,經(jīng)過(guò)線性回歸分析確定。

同理,對(duì)于能耗,其能耗模型可以如下式(7)表示:

其中,Powers表示處理器的平臺(tái)功耗,即處理器在不處理任務(wù)時(shí)所產(chǎn)生的功耗,而δ是跟性能模型中不同的一組權(quán)重參數(shù),需要經(jīng)過(guò)單獨(dú)的訓(xùn)練集通過(guò)顯現(xiàn)回歸分析確定。

可知,通過(guò)上述式(6)和(7),可以分別計(jì)算出所述第二處理核上所述程序在第二頻率下執(zhí)行時(shí)的性能預(yù)測(cè)值和所需的能耗預(yù)測(cè)值,從而實(shí)現(xiàn)程序在第二處理核內(nèi)的第二頻率下執(zhí)行時(shí)產(chǎn)生的性能和能耗的預(yù)測(cè)。

106、輸出所述性能預(yù)測(cè)值和所述能耗預(yù)測(cè)值。

在得到所述第二處理核上所述程序在第二頻率下執(zhí)行時(shí)的性能預(yù)測(cè)值和所需的能耗預(yù)測(cè)值之后,可以輸出所述性能預(yù)測(cè)值和所述能耗預(yù)測(cè)值,為選擇處理核和時(shí)鐘頻率執(zhí)行程序以達(dá)到最優(yōu)的性能和能耗提供重要的參照信息和選擇依據(jù)。

本實(shí)施例中,進(jìn)一步地,在上述步驟102之后,還可以包括:

201、根據(jù)所述第一內(nèi)存處理時(shí)間和與所述第一頻率對(duì)應(yīng)的總執(zhí)行時(shí)間確定所述第一處理核上所述程序在所述第一頻率下執(zhí)行時(shí)的第一處理核處理時(shí)間;

202、根據(jù)所述第一內(nèi)存處理時(shí)間和所述第一處理核處理時(shí)間計(jì)算所述第一處理核上所述程序在所述第二頻率下執(zhí)行時(shí)所需的第三預(yù)測(cè)總執(zhí)行時(shí)間;

203、根據(jù)所述第三預(yù)測(cè)總執(zhí)行時(shí)間確定所述第一處理核上所述程序在第二頻率下執(zhí)行時(shí)的第二性能預(yù)測(cè)值和所需的第二能耗預(yù)測(cè)值;

204、輸出所述第二性能預(yù)測(cè)值和所述第二能耗預(yù)測(cè)值。

對(duì)于上述步驟201~204,可以理解的是,在得到所述第一內(nèi)存處理時(shí)間之后,可以以此為基礎(chǔ)來(lái)預(yù)測(cè)所述第一處理核上所述程序在第二頻率下執(zhí)行時(shí)的性能和能耗的預(yù)測(cè)值,分別表述為第二性能預(yù)測(cè)值和所需的第二能耗預(yù)測(cè)值,其預(yù)測(cè)計(jì)算過(guò)程與上述步驟104~105同理,通過(guò)式(1)、(4)、(5)、(6)和(7)可以確定該第二性能預(yù)測(cè)值和所需的第二能耗預(yù)測(cè)值,并最后輸出所述第二性能預(yù)測(cè)值和所述第二能耗預(yù)測(cè)值,實(shí)現(xiàn)程序在同一處理核下不同頻率下執(zhí)行時(shí)產(chǎn)生的性能和能耗的預(yù)測(cè)。

為便于理解,根據(jù)圖1所描述的實(shí)施例,下面以一個(gè)實(shí)際應(yīng)用場(chǎng)景對(duì)本發(fā)明實(shí)施例中的一種性能和能耗預(yù)測(cè)方法進(jìn)行描述:

圖2示出了本發(fā)明實(shí)施例中一種性能和能耗預(yù)測(cè)方法在一個(gè)應(yīng)用場(chǎng)景下的流程示意圖。

本應(yīng)用場(chǎng)景下,在現(xiàn)有的ARM大小核架構(gòu)(big.LITTLE)系統(tǒng)中展開(kāi),在ARM大小核的芯片上,由一組Cortex-A15和一組Cortex-A7處理核構(gòu)成,兩類處理核均使用了45納米的制程工藝。Cortex-A15處理核使用了亂序執(zhí)行的模型,適合進(jìn)行負(fù)載量較大的運(yùn)算。而Cortex-A7處理核使用了更節(jié)約功耗的按序執(zhí)行模型,這樣的特征也意味著A7上面更適合運(yùn)行負(fù)載量較小的運(yùn)算。盡管兩個(gè)處理核均使用了超標(biāo)量的設(shè)計(jì),但是A15處理核上的微架構(gòu)使用了更高的帶寬,各部件的設(shè)計(jì)也更富余。兩者均使用了2級(jí)緩存的架構(gòu),其中第一級(jí)緩存分為指令緩存和數(shù)據(jù)緩存,僅由各核單獨(dú)使用,而2級(jí)緩存則由各組處理核間共享。在如下表1中簡(jiǎn)要介紹了兩者的主要微架構(gòu)特征值。

表1

由于處理器緩存中的具體狀態(tài)信息在軟件層面是不透明的,只能在軟件層面通過(guò)PMC讀數(shù)構(gòu)建模型來(lái)達(dá)到間接監(jiān)測(cè)任務(wù)緩存使用空間的目的??梢岳肔inux操作系統(tǒng)的內(nèi)核模塊gator,可以高頻率的讀取一系列經(jīng)過(guò)設(shè)置的PMC(最高至100,000次/秒),在每一個(gè)時(shí)間點(diǎn)上讀取到的數(shù)值都作為模型的輸入。本應(yīng)用場(chǎng)景中,PMC的讀取頻率設(shè)置為10KHz,而預(yù)測(cè)的頻率設(shè)置為100Hz,也即在每10毫秒進(jìn)行一次預(yù)測(cè),每次預(yù)測(cè)可用的PMC讀數(shù)為100次。

下面將對(duì)本應(yīng)用場(chǎng)景下執(zhí)行該性能和能耗預(yù)測(cè)方法的具體過(guò)程進(jìn)行描述如下:

一、首先,程序開(kāi)始執(zhí)行時(shí),當(dāng)需要對(duì)該程序在不同核和不同時(shí)鐘頻率下性能和能耗進(jìn)行預(yù)測(cè)時(shí),則啟動(dòng)本發(fā)明的預(yù)測(cè)機(jī)制,在進(jìn)行初始化進(jìn)入后臺(tái)等待到達(dá)預(yù)設(shè)時(shí)間點(diǎn)。當(dāng)前執(zhí)行程序的各初始狀態(tài)設(shè)為0。

二、到達(dá)系統(tǒng)狀態(tài)監(jiān)測(cè)指定時(shí)間點(diǎn)后,讀取所設(shè)定的PMC的監(jiān)測(cè)值,并將每次讀到的PMC值計(jì)入程序中。在到達(dá)預(yù)測(cè)時(shí)間點(diǎn)時(shí),讀出在所有時(shí)間點(diǎn)上讀取的PMC值。

三、根據(jù)式(1)計(jì)算在之前時(shí)間里,該程序執(zhí)行過(guò)程中內(nèi)存操作所占用的內(nèi)存處理時(shí)間。

四、根據(jù)讀取的PMC和計(jì)算出的內(nèi)存處理時(shí)間,投入式(2)的CPI模型,得到異核的預(yù)測(cè)內(nèi)存處理時(shí)間和CPI值;然后得到異核的CPI值之后,根據(jù)式(3)計(jì)算異核的在當(dāng)前頻率下的預(yù)測(cè)總執(zhí)行時(shí)間;

五、根據(jù)式(4)和式(5)計(jì)算異核在不同頻率下的預(yù)測(cè)總執(zhí)行時(shí)間;

六、基于異核在不同頻率下的預(yù)測(cè)總執(zhí)行時(shí)間,通過(guò)式(6)和式(7)計(jì)算異核在不同頻率下程序執(zhí)行時(shí)產(chǎn)生的性能和能耗的預(yù)測(cè)值。

七、判斷是否還要繼續(xù)預(yù)測(cè),若是,則返回繼續(xù)下一周期的預(yù)測(cè),若否,則輸出所有預(yù)測(cè)結(jié)果。

從上述描述內(nèi)容可知,相對(duì)于現(xiàn)有技術(shù),本發(fā)明具有以下優(yōu)點(diǎn):

1、提供在ARM大小核架構(gòu)下基于實(shí)際系統(tǒng)的純軟件方法,結(jié)合了大小核異微架構(gòu)的特點(diǎn)和DVFS對(duì)時(shí)鐘頻率的調(diào)整,實(shí)現(xiàn)了一體化的解決方案。

2、本發(fā)明基于事件在不同頻率下特征的表達(dá)方式,通過(guò)基于事件的性能和能耗模型實(shí)現(xiàn)了在不同頻率下程序執(zhí)行性能和能耗的預(yù)測(cè)功能,并在實(shí)際系統(tǒng)中進(jìn)行實(shí)現(xiàn)和驗(yàn)證。

3、本發(fā)明基于程序執(zhí)行在大小核中產(chǎn)生CPI棧的轉(zhuǎn)換,實(shí)現(xiàn)跨處理核的性能和能耗的預(yù)測(cè)功能,進(jìn)一步結(jié)合不同頻率下性能和能耗的預(yù)測(cè)方法,實(shí)現(xiàn)了在異核上不同時(shí)鐘頻率上性能和能耗的預(yù)測(cè)。

上面主要描述了一種性能和能耗預(yù)測(cè)方法,下面將對(duì)一種性能和能耗預(yù)測(cè)裝置進(jìn)行詳細(xì)描述。

圖3示出了本發(fā)明實(shí)施例中一種性能和能耗預(yù)測(cè)裝置一個(gè)實(shí)施例結(jié)構(gòu)圖。

本實(shí)施例中,一種性能和能耗預(yù)測(cè)裝置,應(yīng)用于異構(gòu)多核架構(gòu)且具備DVFS能力的處理器,包括:

PMC值讀取模塊301,用于讀取所述處理器的第一處理核上程序在預(yù)設(shè)第一頻率下執(zhí)行時(shí)產(chǎn)生的PMC值;

第一內(nèi)存處理時(shí)間計(jì)算模塊302,用于根據(jù)讀取到的所述PMC值計(jì)算所述第一處理核上所述程序在所述第一頻率下執(zhí)行時(shí)的第一內(nèi)存處理時(shí)間;

第一執(zhí)行時(shí)間預(yù)測(cè)模塊303,用于將所述PMC值和所述第一內(nèi)存處理時(shí)間投入CPI模型,得到所述第二處理核上所述程序在所述第一頻率下執(zhí)行時(shí)的第一預(yù)測(cè)內(nèi)存處理時(shí)間和第一預(yù)測(cè)總執(zhí)行時(shí)間,所述CPI模型為預(yù)先建立的所述處理器的第二處理核與所述第一處理核的映射模型;

第二執(zhí)行時(shí)間預(yù)測(cè)模塊304,用于根據(jù)所述第一預(yù)測(cè)內(nèi)存處理時(shí)間和第一預(yù)測(cè)總執(zhí)行時(shí)間計(jì)算所述第二處理核上所述程序在第二頻率下執(zhí)行時(shí)所需的第二預(yù)測(cè)總執(zhí)行時(shí)間,所述第二頻率為所述第二處理核通過(guò)DVFS從所述第一頻率調(diào)整至的下一個(gè)時(shí)鐘頻率;

預(yù)測(cè)值確定模塊305,用于根據(jù)所述第二預(yù)測(cè)總執(zhí)行時(shí)間確定所述第二處理核上所述程序在第二頻率下執(zhí)行時(shí)的性能預(yù)測(cè)值和所需的能耗預(yù)測(cè)值;

輸出模塊306,用于輸出所述性能預(yù)測(cè)值和所述能耗預(yù)測(cè)值。

進(jìn)一步地,所述第一內(nèi)存處理時(shí)間計(jì)算模塊可以包括:

訪問(wèn)失效數(shù)量確定單元,用于根據(jù)讀取到的所述PMC值確定所述程序執(zhí)行時(shí)在各個(gè)時(shí)間點(diǎn)上由緩存訪問(wèn)失效事件導(dǎo)致的訪問(wèn)失效數(shù)量;

處理時(shí)間計(jì)算單元,用于根據(jù)確定的所述訪問(wèn)失效數(shù)量計(jì)算所述第一處理核上所述程序在所述第一頻率下執(zhí)行時(shí)的第一內(nèi)存處理時(shí)間。

進(jìn)一步地,所述CPI模型可以通過(guò)以下模塊預(yù)先建立:

訓(xùn)練樣本抽取模塊,用于在用于訓(xùn)練的所述第一處理核和第二處理核上執(zhí)行程序時(shí),抽取所述程序執(zhí)行時(shí)的PMC值和內(nèi)存處理時(shí)間作為訓(xùn)練樣本的輸入,同時(shí)抽取所述程序執(zhí)行時(shí)的CPI值作為所述訓(xùn)練樣本的輸出;

模型訓(xùn)練模塊,用于將所述訓(xùn)練樣本的輸入和輸出投入預(yù)設(shè)的CPI模型模板中進(jìn)行訓(xùn)練,訓(xùn)練完成后得到所述CPI模型。

進(jìn)一步地,所述第一執(zhí)行時(shí)間預(yù)測(cè)模塊可以包括:

預(yù)測(cè)處理時(shí)間轉(zhuǎn)換單元,用于將所述第一內(nèi)存處理時(shí)間投入所述CPI模型進(jìn)行轉(zhuǎn)換得到所述第一預(yù)測(cè)內(nèi)存處理時(shí)間;

CPI值輸出單元,用于將所述PMC值和所述第一內(nèi)存處理時(shí)間輸入所述CPI模型,得到所述CPI模型輸出的CPI值;

預(yù)測(cè)總執(zhí)行時(shí)間確定單元,用于根據(jù)所述CPI值和所述第一頻率確定所述第二處理核上所述程序在所述第一頻率下執(zhí)行時(shí)的第一預(yù)測(cè)總執(zhí)行時(shí)間。

進(jìn)一步地,所述第二執(zhí)行時(shí)間預(yù)測(cè)模塊可以包括:

第一預(yù)測(cè)處理核處理時(shí)間單元,用于根據(jù)所述第一預(yù)測(cè)內(nèi)存處理時(shí)間和第一預(yù)測(cè)總執(zhí)行時(shí)間確定所述第二處理核上所述程序在所述第一頻率下執(zhí)行時(shí)的第一預(yù)測(cè)處理核處理時(shí)間;

第二預(yù)測(cè)總執(zhí)行時(shí)間計(jì)算單元,用于根據(jù)所述第一預(yù)測(cè)內(nèi)存處理時(shí)間、所述第一預(yù)測(cè)處理核處理時(shí)間、所述第一頻率和所述第二頻率計(jì)算所述第二處理核上所述程序在第二頻率下執(zhí)行時(shí)所需的第二預(yù)測(cè)總執(zhí)行時(shí)間。

進(jìn)一步地,所述性能和能耗預(yù)測(cè)裝置還可以包括:

處理核處理時(shí)間確定模塊,用于根據(jù)所述第一內(nèi)存處理時(shí)間和與所述第一頻率對(duì)應(yīng)的總執(zhí)行時(shí)間確定所述第一處理核上所述程序在所述第一頻率下執(zhí)行時(shí)的第一處理核處理時(shí)間;

第三執(zhí)行時(shí)間預(yù)測(cè)模塊,用于根據(jù)所述第一內(nèi)存處理時(shí)間和所述第一處理核處理時(shí)間計(jì)算所述第一處理核上所述程序在所述第二頻率下執(zhí)行時(shí)所需的第三預(yù)測(cè)總執(zhí)行時(shí)間;

第二預(yù)測(cè)值確定模塊,用于根據(jù)所述第三預(yù)測(cè)總執(zhí)行時(shí)間確定所述第一處理核上所述程序在第二頻率下執(zhí)行時(shí)的第二性能預(yù)測(cè)值和所需的第二能耗預(yù)測(cè)值;

第二輸出模塊,用于輸出所述第二性能預(yù)測(cè)值和所述第二能耗預(yù)測(cè)值。

所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡(jiǎn)潔,上述描述的系統(tǒng),裝置和單元的具體工作過(guò)程,可以參考前述方法實(shí)施例中的對(duì)應(yīng)過(guò)程,在此不再贅述。

在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的系統(tǒng),裝置和方法,可以通過(guò)其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過(guò)一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。

所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。

另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。

所述集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤(pán)、移動(dòng)硬盤(pán)、只讀存儲(chǔ)器(ROM,Read-Only Memory)、隨機(jī)存取存儲(chǔ)器(RAM,Random Access Memory)、磁碟或者光盤(pán)等各種可以存儲(chǔ)程序代碼的介質(zhì)。

以上所述,以上實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1