本申請涉及計算機,尤其涉及一種分層內(nèi)存中頁面遷移方法、設(shè)備、存儲介質(zhì)及程序產(chǎn)品。
背景技術(shù):
1、隨著數(shù)據(jù)密集型應(yīng)用(如機器學(xué)習(xí)、圖處理、大數(shù)據(jù)分析)的快速發(fā)展,內(nèi)存需求急劇增加。動態(tài)隨機訪問內(nèi)存?(dynamic?random?access?memory,簡稱dram)成本高昂且容量有限,但是訪問速度很快,而新興的非易失性內(nèi)存(non-volatile?memory,簡稱nvm)和(compute?express?link?memory,簡稱cxl)內(nèi)存雖然提供了更大的容量和更低的成本,但其延遲較高,若數(shù)據(jù)放置不當(dāng),可能導(dǎo)致性能下降。因此,內(nèi)存分級技術(shù)應(yīng)運而生。內(nèi)存分級技術(shù)是一種內(nèi)存管理技術(shù),將內(nèi)存劃分為多個層次以形成分層內(nèi)存系統(tǒng),每個內(nèi)存層都有不同的速度和訪問權(quán)限,可以提高內(nèi)存性能和效率。
2、分層內(nèi)存系統(tǒng)設(shè)計的主要目的是將合適的數(shù)據(jù)(內(nèi)存的頁面page)放置在合適的內(nèi)存層,以充分利用不同內(nèi)存層的優(yōu)勢。這樣就會涉及頁面在不同內(nèi)存層之間的遷移問題。
3、現(xiàn)有的分層內(nèi)存系統(tǒng)在進行頁面遷移時,都是由中心處理器(centralprocessing?unit,簡稱cpu)來完成的,面臨cpu開銷大、數(shù)據(jù)遷移效率低等問題。
技術(shù)實現(xiàn)思路
1、本申請實施例提供一種分層內(nèi)存中頁面遷移方法、設(shè)備、存儲介質(zhì)及程序產(chǎn)品,用以提高頁面遷移效率,降低處理器開銷。
2、第一方面,本申請實施例提供一種分層內(nèi)存中頁面遷移方法,應(yīng)用于電子設(shè)備中的處理器,所述電子設(shè)備中設(shè)置有基于硬件加速器的驅(qū)動程序?qū)崿F(xiàn)的頁面并發(fā)復(fù)制功能,所述方法包括:
3、確定多個頁面的訪問熱度;
4、根據(jù)所述訪問熱度確定所述多個頁面中的待遷移頁面,不同待遷移頁面對應(yīng)不同內(nèi)存層;
5、通過調(diào)用所述頁面并發(fā)復(fù)制功能觸發(fā)所述硬件加速器將所述待遷移頁面遷移到對應(yīng)的目標(biāo)內(nèi)存層。
6、第二方面,本申請實施例提供一種分層內(nèi)存中頁面遷移裝置,應(yīng)用于電子設(shè)備中的處理器,所述電子設(shè)備中設(shè)置有基于硬件加速器的驅(qū)動程序?qū)崿F(xiàn)的頁面并發(fā)復(fù)制功能,所述裝置包括:
7、熱度確定模塊,用于確定多個頁面的訪問熱度;
8、頁面分類模塊,用于根據(jù)所述訪問熱度確定所述多個頁面中的待遷移頁面,不同待遷移頁面對應(yīng)不同內(nèi)存層;
9、遷移處理模塊,用于通過調(diào)用所述頁面并發(fā)復(fù)制功能觸發(fā)所述硬件加速器將所述待遷移頁面遷移到對應(yīng)的目標(biāo)內(nèi)存層。
10、第三方面,本申請實施例提供一種分層內(nèi)存中頁面遷移方法,應(yīng)用于電子設(shè)備中的硬件加速器,所述電子設(shè)備中還包括處理器以及基于硬件加速器的驅(qū)動程序?qū)崿F(xiàn)的頁面并發(fā)復(fù)制功能,所述方法包括:
11、獲取所述處理器從多個頁面中確定出的待遷移頁面,不同待遷移頁面對應(yīng)不同內(nèi)存層;其中,所述處理器根據(jù)所述多個頁面的訪問熱度確定出所述待遷移頁面;
12、基于所述頁面并發(fā)復(fù)制功能,將所述待遷移頁面遷移到對應(yīng)的目標(biāo)內(nèi)存層。
13、第四方面,本申請實施例提供一種電子設(shè)備,包括:存儲器、處理器、通信接口;其中,所述存儲器上存儲有可執(zhí)行代碼,當(dāng)所述可執(zhí)行代碼被所述處理器執(zhí)行時,使所述處理器執(zhí)行如第一方面或第三方面所述的分層內(nèi)存中頁面遷移方法。
14、第五方面,本申請實施例提供了一種非暫時性機器可讀存儲介質(zhì),所述非暫時性機器可讀存儲介質(zhì)上存儲有可執(zhí)行代碼,當(dāng)所述可執(zhí)行代碼被電子設(shè)備的處理器執(zhí)行時,使所述處理器至少可以實現(xiàn)如第一方面或第三方面所述的分層內(nèi)存中頁面遷移方法。
15、第六方面,本申請實施例提供了一種計算機程序產(chǎn)品,所述計算機程序產(chǎn)品包括計算機程序,所述計算機程序被處理器執(zhí)行時能夠?qū)崿F(xiàn)如第一方面或第三方面所述的分層內(nèi)存中頁面遷移方法。
16、本申請實施例提供的分層內(nèi)存中頁面遷移方案中,分層內(nèi)存包括快速內(nèi)存層和慢速內(nèi)存層等不同層級的內(nèi)存層,需要將已經(jīng)分配的頁面(page)按照其訪問熱度在不同內(nèi)存層之間進行遷移。為了降低處理器(cpu)的開銷,基于硬件加速器的驅(qū)動程序?qū)崿F(xiàn)頁面并發(fā)復(fù)制功能,從而在執(zhí)行頁面遷移操作時,cpu可以將該任務(wù)交給硬件加速器來完成,以提高頁面遷移效率、降低cpu的開銷。具體地,cpu確定多個頁面的訪問熱度,根據(jù)訪問熱度確定多個頁面中的待遷移頁面,之后,通過調(diào)用頁面并發(fā)復(fù)制功能觸發(fā)硬件加速器將不同待遷移頁面遷移到相應(yīng)內(nèi)存層。
1.一種分層內(nèi)存中頁面遷移方法,其特征在于,應(yīng)用于電子設(shè)備中的處理器,所述電子設(shè)備中設(shè)置有基于硬件加速器的驅(qū)動程序?qū)崿F(xiàn)的頁面并發(fā)復(fù)制功能,所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述電子設(shè)備的操作系統(tǒng)內(nèi)核中設(shè)置有所述基于硬件加速器的驅(qū)動程序?qū)崿F(xiàn)的頁面并發(fā)復(fù)制功能。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述訪問熱度確定所述多個頁面中的待遷移頁面,包括:
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述通過調(diào)用所述頁面并發(fā)復(fù)制功能觸發(fā)所述硬件加速器將所述目標(biāo)熱頁面遷移到快速內(nèi)存層,將所述目標(biāo)冷頁面遷移到慢速內(nèi)存層,包括:
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述頁面并發(fā)復(fù)制功能通過第一api和第二api提供,所述第一api為觸發(fā)頁面遷移的接口,所述第二api為并發(fā)復(fù)制頁面的接口,所述第二api被所述第一api嵌套。
6.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述根據(jù)所述訪問熱度確定所述多個頁面中的熱頁面和冷頁面,包括:
7.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述確定多個頁面的訪問熱度,包括:
8.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述確定多個頁面的訪問熱度,包括:
9.一種分層內(nèi)存中頁面遷移方法,其特征在于,應(yīng)用于電子設(shè)備中的硬件加速器,所述電子設(shè)備中還包括處理器以及基于硬件加速器的驅(qū)動程序?qū)崿F(xiàn)的頁面并發(fā)復(fù)制功能,所述方法包括:
10.一種電子設(shè)備,其特征在于,包括:存儲器、處理器、通信接口;其中,所述存儲器上存儲有可執(zhí)行代碼,當(dāng)所述可執(zhí)行代碼被所述處理器執(zhí)行時,使所述處理器執(zhí)行如權(quán)利要求1至9中任一項所述的分層內(nèi)存中頁面遷移方法。
11.一種非暫時性機器可讀存儲介質(zhì),其特征在于,所述非暫時性機器可讀存儲介質(zhì)上存儲有可執(zhí)行代碼,當(dāng)所述可執(zhí)行代碼被電子設(shè)備的處理器執(zhí)行時,使所述處理器執(zhí)行如權(quán)利要求1至9中任一項所述的分層內(nèi)存中頁面遷移方法。
12.一種計算機程序產(chǎn)品,其特征在于,包括:計算機程序,當(dāng)所述計算機程序被電子設(shè)備的處理器執(zhí)行時,使所述處理器執(zhí)行如權(quán)利要求1至9中任一項所述的分層內(nèi)存中頁面遷移方法。