本公開涉及數(shù)據(jù)處理領(lǐng)域,尤其涉及一種數(shù)據(jù)處理器虛擬化場(chǎng)景的主機(jī)內(nèi)存資源處理方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)。
背景技術(shù):
1、dpu(data?processing?unit,數(shù)據(jù)處理器)是一種用于數(shù)據(jù)處理和加速計(jì)算任務(wù)的處理器或處理單元,通常用于數(shù)據(jù)中心和云計(jì)算場(chǎng)景中,可以通過硬件設(shè)計(jì)和優(yōu)化算法加速數(shù)據(jù)處理任務(wù),提高系統(tǒng)的性能和效率。
2、在dpu虛擬化場(chǎng)景下,利用dpu硬件加速的優(yōu)勢(shì)將部分虛擬化組件卸載到dpu上,減少對(duì)物理機(jī)(或主機(jī))的資源占用。
3、在dpu虛擬化場(chǎng)景中,通常需要物理機(jī)預(yù)留部分物理內(nèi)存作為系統(tǒng)預(yù)留內(nèi)存,這部分資源則無法分配給虛擬機(jī)使用,因此,在該場(chǎng)景下需要一種更高效的內(nèi)存資源處理方法,以提升資源利用率。
技術(shù)實(shí)現(xiàn)思路
1、為了解決上述技術(shù)問題,本公開提供了一種數(shù)據(jù)處理器虛擬化場(chǎng)景的主機(jī)內(nèi)存資源處理方法、裝置、設(shè)備及存儲(chǔ)介質(zhì),能夠提高主機(jī)內(nèi)存資源的利用率。
2、第一方面,本公開提供了一種數(shù)據(jù)處理器虛擬化場(chǎng)景的主機(jī)內(nèi)存資源處理方法,所述方法包括:
3、接收虛擬機(jī)創(chuàng)建請(qǐng)求,所述虛擬機(jī)創(chuàng)建請(qǐng)求用于請(qǐng)求創(chuàng)建滿足目標(biāo)虛擬機(jī)的內(nèi)存配置需求的虛擬機(jī);
4、根據(jù)所述目標(biāo)虛擬機(jī)的內(nèi)存配置需求啟動(dòng)目標(biāo)虛擬機(jī)并創(chuàng)建對(duì)應(yīng)的兩類表項(xiàng),所述兩類表項(xiàng)包括用戶可用表項(xiàng)和固件預(yù)留表項(xiàng),所述用戶可用表項(xiàng)的內(nèi)存地址指示所述目標(biāo)虛擬機(jī)的可用內(nèi)存,所述固件預(yù)留表項(xiàng)的內(nèi)存地址指示系統(tǒng)預(yù)留內(nèi)存,所述固件預(yù)留表項(xiàng)對(duì)應(yīng)的內(nèi)存大小根據(jù)預(yù)設(shè)第一比例和所述內(nèi)存配置需求中指定的內(nèi)存大小確定;
5、基于所述兩類表項(xiàng)構(gòu)建所述目標(biāo)虛擬機(jī)對(duì)應(yīng)的內(nèi)存信息表,并向所述目標(biāo)虛擬機(jī)發(fā)送所述內(nèi)存信息表,所述內(nèi)存信息表表征所述目標(biāo)虛擬機(jī)的物理內(nèi)存映射信息。
6、一種可選的實(shí)施方式中,所述向所述目標(biāo)虛擬機(jī)發(fā)送所述內(nèi)存信息表,包括:
7、根據(jù)所述目標(biāo)虛擬機(jī)的操作系統(tǒng)特征確定與其匹配的目標(biāo)虛擬化固件,如果所述目標(biāo)虛擬化固件為目標(biāo)固件,則通過所述目標(biāo)虛擬化固件讀取所述內(nèi)存信息表中的各個(gè)表項(xiàng),并為所述內(nèi)存信息表中的固件預(yù)留表項(xiàng)創(chuàng)建固件預(yù)留內(nèi)存區(qū)間;其中,所述固件預(yù)留內(nèi)存區(qū)間用于表征所述固件預(yù)留表項(xiàng)的內(nèi)存地址指示系統(tǒng)預(yù)留內(nèi)存;
8、通過所述目標(biāo)虛擬化固件向所述目標(biāo)虛擬機(jī)透?jìng)魉鰞?nèi)存信息表。
9、一種可選的實(shí)施方式中,所述方法還包括:
10、如果所述目標(biāo)虛擬化固件為目標(biāo)固件,則確定所述內(nèi)存信息表中的用戶可用表項(xiàng)對(duì)應(yīng)的內(nèi)存地址范圍是否屬于目標(biāo)地址范圍,并為內(nèi)存地址范圍屬于所述目標(biāo)地址范圍的用戶可用表項(xiàng)創(chuàng)建可用內(nèi)存區(qū)間;其中,所述可用內(nèi)存區(qū)間用于表征所述用戶可用表項(xiàng)的內(nèi)存地址指示所述目標(biāo)虛擬機(jī)的可用內(nèi)存。
11、一種可選的實(shí)施方式中,根據(jù)所述目標(biāo)虛擬機(jī)的內(nèi)存配置需求啟動(dòng)目標(biāo)虛擬機(jī)并創(chuàng)建對(duì)應(yīng)的兩類表項(xiàng),包括:
12、根據(jù)所述目標(biāo)虛擬機(jī)的內(nèi)存配置需求指示的目標(biāo)內(nèi)存地址范圍確定第一內(nèi)存地址范圍,并基于所述第一內(nèi)存地址范圍創(chuàng)建用戶可用表項(xiàng);
13、根據(jù)所述目標(biāo)虛擬機(jī)的內(nèi)存配置需求指示的內(nèi)存地址范圍確定第二內(nèi)存地址范圍,并基于所述第二內(nèi)存地址范圍創(chuàng)建固件預(yù)留表項(xiàng);所述第二內(nèi)存地址范圍的內(nèi)存大小與所述目標(biāo)內(nèi)存地址范圍的內(nèi)存大小呈第一比例關(guān)系。
14、一種可選的實(shí)施方式中,所述目標(biāo)虛擬機(jī)運(yùn)行在連接有數(shù)據(jù)處理器dpu的物理機(jī)上,所述物理機(jī)依賴所述dpu卸載部分功能。
15、一種可選的實(shí)施方式中,所述接收目標(biāo)虛擬機(jī)的內(nèi)存配置需求之前,還包括:
16、在物理機(jī)內(nèi)核啟動(dòng)階段,為虛擬機(jī)預(yù)留預(yù)設(shè)內(nèi)存大小的物理內(nèi)存;其中,所述預(yù)設(shè)內(nèi)存大小的物理內(nèi)存用于通過目標(biāo)內(nèi)存管理方式進(jìn)行內(nèi)存管理。
17、一種可選的實(shí)施方式中,所述方法還包括:
18、在所述目標(biāo)內(nèi)存管理方式對(duì)應(yīng)的文件系統(tǒng)的掛載目錄下創(chuàng)建內(nèi)存文件,并將所述內(nèi)存文件映射到所述目標(biāo)虛擬機(jī)的虛擬地址空間;
19、若針對(duì)所述目標(biāo)虛擬機(jī)的虛擬地址訪問發(fā)生缺頁,則基于預(yù)留的所述預(yù)設(shè)內(nèi)存大小的物理內(nèi)存為所述目標(biāo)虛擬機(jī)進(jìn)行內(nèi)存分配,并將分配的內(nèi)存地址記錄到所述內(nèi)存文件中,以持久化所述內(nèi)存文件與所述預(yù)設(shè)內(nèi)存大小的物理內(nèi)存的映射關(guān)系,所述映射關(guān)系用于通過所述內(nèi)存文件中的內(nèi)存地址訪問對(duì)應(yīng)的物理內(nèi)存。
20、第二方面,本公開提供了一種數(shù)據(jù)處理器虛擬化場(chǎng)景的主機(jī)內(nèi)存資源處理裝置,所述裝置包括:
21、接收模塊,用于接收虛擬機(jī)創(chuàng)建請(qǐng)求,所述虛擬機(jī)創(chuàng)建請(qǐng)求用于請(qǐng)求創(chuàng)建滿足目標(biāo)虛擬機(jī)的內(nèi)存配置需求的虛擬機(jī);
22、創(chuàng)建模塊,用于根據(jù)所述目標(biāo)虛擬機(jī)的內(nèi)存配置需求啟動(dòng)目標(biāo)虛擬機(jī)并創(chuàng)建對(duì)應(yīng)的兩類表項(xiàng),所述兩類表項(xiàng)包括用戶可用表項(xiàng)和固件預(yù)留表項(xiàng),所述用戶可用表項(xiàng)的內(nèi)存地址指示所述目標(biāo)虛擬機(jī)的可用內(nèi)存,所述固件預(yù)留表項(xiàng)的內(nèi)存地址指示系統(tǒng)預(yù)留內(nèi)存,所述固件預(yù)留表項(xiàng)對(duì)應(yīng)的內(nèi)存大小根據(jù)預(yù)設(shè)第一比例和所述內(nèi)存配置需求中指定的內(nèi)存大小確定;
23、發(fā)送模塊,用于基于所述兩類表項(xiàng)構(gòu)建所述目標(biāo)虛擬機(jī)對(duì)應(yīng)的內(nèi)存信息表,并向所述目標(biāo)虛擬機(jī)發(fā)送所述內(nèi)存信息表,所述內(nèi)存信息表表征所述目標(biāo)虛擬機(jī)的物理內(nèi)存映射信息。
24、第三方面,本公開提供了一種電子設(shè)備,包括:存儲(chǔ)器,處理器,及存儲(chǔ)在所述存儲(chǔ)器上并可在所述處理器上運(yùn)行的計(jì)算機(jī)程序,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí),實(shí)現(xiàn)上述的方法。
25、第四方面,本公開提供了一種計(jì)算機(jī)程序產(chǎn)品,所述計(jì)算機(jī)程序產(chǎn)品包括計(jì)算機(jī)程序/指令,所述計(jì)算機(jī)程序/指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述的方法。
26、本公開實(shí)施例提供的技術(shù)方案與現(xiàn)有技術(shù)相比至少具有如下優(yōu)點(diǎn):
27、本公開實(shí)施例提供的數(shù)據(jù)處理器虛擬化場(chǎng)景的主機(jī)內(nèi)存資源處理方法中,首先接收虛擬機(jī)創(chuàng)建請(qǐng)求,該請(qǐng)求用于請(qǐng)求創(chuàng)建滿足目標(biāo)虛擬機(jī)的內(nèi)存配置需求的虛擬機(jī),然后根據(jù)目標(biāo)虛擬機(jī)的內(nèi)存配置需求啟動(dòng)目標(biāo)虛擬機(jī)并創(chuàng)建對(duì)應(yīng)的兩類表項(xiàng),其中,兩類表項(xiàng)包括用戶可用表項(xiàng)和固件預(yù)留表項(xiàng),用戶可用表項(xiàng)的內(nèi)存地址指示目標(biāo)虛擬機(jī)的可用內(nèi)存,固件預(yù)留表項(xiàng)的內(nèi)存地址指示系統(tǒng)預(yù)留內(nèi)存,固件預(yù)留表項(xiàng)對(duì)應(yīng)的內(nèi)存大小根據(jù)預(yù)設(shè)第一比例和內(nèi)存配置需求中指定的內(nèi)存大小確定;接著基于兩類表項(xiàng)構(gòu)建目標(biāo)虛擬機(jī)對(duì)應(yīng)的內(nèi)存信息表,并向目標(biāo)虛擬機(jī)發(fā)送內(nèi)存信息表,內(nèi)存信息表用于表征目標(biāo)虛擬機(jī)的物理內(nèi)存映射信息。
28、可見,本公開實(shí)施例在為虛擬機(jī)的內(nèi)存信息表創(chuàng)建表項(xiàng)時(shí),不僅可以創(chuàng)建用戶可用類型的表項(xiàng),還可以創(chuàng)建固件預(yù)留類型的表項(xiàng),進(jìn)而將固件預(yù)留表項(xiàng)指示的系統(tǒng)預(yù)留內(nèi)存分?jǐn)傊粮鱾€(gè)虛擬機(jī)上,從而提高了主機(jī)內(nèi)存資源的利用率。
1.一種數(shù)據(jù)處理器虛擬化場(chǎng)景的主機(jī)內(nèi)存資源處理方法,其特征在于,所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述向所述目標(biāo)虛擬機(jī)發(fā)送所述內(nèi)存信息表,包括:
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述方法還包括:
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,根據(jù)所述目標(biāo)虛擬機(jī)的內(nèi)存配置需求啟動(dòng)目標(biāo)虛擬機(jī)并創(chuàng)建對(duì)應(yīng)的兩類表項(xiàng),包括:
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述目標(biāo)虛擬機(jī)運(yùn)行在連接有數(shù)據(jù)處理器dpu的物理機(jī)上,所述物理機(jī)依賴所述dpu卸載部分功能。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述接收目標(biāo)虛擬機(jī)的內(nèi)存配置需求之前,還包括:
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述方法還包括:
8.一種數(shù)據(jù)處理器虛擬化場(chǎng)景的主機(jī)內(nèi)存資源處理裝置,其特征在于,所述裝置包括:
9.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其特征在于,所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中存儲(chǔ)有指令,當(dāng)所述指令在終端設(shè)備上運(yùn)行時(shí),使得所述終端設(shè)備實(shí)現(xiàn)如權(quán)利要求1-7任一項(xiàng)所述的方法。
10.一種電子設(shè)備,其特征在于,包括:存儲(chǔ)器,處理器,及存儲(chǔ)在所述存儲(chǔ)器上并可在所述處理器上運(yùn)行的計(jì)算機(jī)程序,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí),實(shí)現(xiàn)如權(quán)利要求1-7任一項(xiàng)所述的方法。
11.一種計(jì)算機(jī)程序產(chǎn)品,其特征在于,所述計(jì)算機(jī)程序產(chǎn)品包括計(jì)算機(jī)程序/指令,所述計(jì)算機(jī)程序/指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)如權(quán)利要求1-7任一項(xiàng)所述的方法。