本公開涉及計(jì)算機(jī),尤其涉及一種調(diào)度方法、裝置、電子設(shè)備及存儲介質(zhì)。
背景技術(shù):
1、圖形處理器(graphics?processing?unit,gpu)在圖形圖像渲染、并行計(jì)算、人工智能等領(lǐng)域都有著非常重要的用途。其中在gpu虛擬化技術(shù)中,為了實(shí)現(xiàn)支持多個虛擬機(jī)(virtual?machine,vm)同時(shí)使用一個gpu,會將gpu的硬件資源劃分成多份,以為各虛擬機(jī)提供獨(dú)立的gpu硬件資源。
2、當(dāng)虛擬機(jī)分得的顯存資源較少,而虛擬機(jī)的工作負(fù)載較重時(shí),虛擬機(jī)可以通過外圍組件互連快速(peripheral?component?interconnect?express,pcie)鏈路來使用系統(tǒng)內(nèi)存。然而,由于所有的虛擬機(jī)共享一條pcie鏈路,所有的虛擬機(jī)訪問系統(tǒng)內(nèi)存的命令按照順序進(jìn)行提交;當(dāng)同時(shí)有多個虛擬機(jī)通過pcie鏈路訪問系統(tǒng)內(nèi)存時(shí),工作負(fù)載較重的虛擬機(jī)可能會造成pcie鏈路的阻塞,從而嚴(yán)重干擾了工作負(fù)載較輕的虛擬機(jī),導(dǎo)致工作負(fù)載較輕的虛擬機(jī)的命令得不到及時(shí)響應(yīng),造成工作負(fù)載較輕的虛擬機(jī)的gpu利用率顯著上升。
技術(shù)實(shí)現(xiàn)思路
1、有鑒于此,本公開提出了一種調(diào)度方法、裝置、電子設(shè)備、存儲介質(zhì)及計(jì)算機(jī)程序產(chǎn)品。
2、根據(jù)本公開的一方面,提供了一種調(diào)度方法,應(yīng)用于分布式虛擬化系統(tǒng),所述分布式虛擬化系統(tǒng)中包括多個虛擬機(jī),其中,所述多個虛擬機(jī)與將目標(biāo)圖形處理器gpu虛擬化形成的多個虛擬圖形處理器vgpu一一對應(yīng);
3、所述方法包括:
4、響應(yīng)于所述目標(biāo)gpu與系統(tǒng)內(nèi)存之間的通信鏈路出現(xiàn)擁塞,確定所述多個虛擬機(jī)中各目標(biāo)虛擬機(jī)的調(diào)度優(yōu)先級;其中,所述調(diào)度優(yōu)先級與虛擬機(jī)的工作負(fù)載負(fù)相關(guān);所述目標(biāo)虛擬機(jī)為當(dāng)前訪問所述系統(tǒng)內(nèi)存的虛擬機(jī);
5、基于所述各目標(biāo)虛擬機(jī)的調(diào)度優(yōu)先級,調(diào)度所述各目標(biāo)虛擬機(jī)對所述系統(tǒng)內(nèi)存的訪問命令。
6、在一種可能的實(shí)現(xiàn)方式中,所述方法還包括:
7、獲取所述通信鏈路的吞吐量統(tǒng)計(jì)信息和/或所述通信鏈路的擁塞統(tǒng)計(jì)信息;
8、響應(yīng)于所述通信鏈路的吞吐量統(tǒng)計(jì)信息和/或所述通信鏈路的擁塞統(tǒng)計(jì)信息超過預(yù)設(shè)閾值,確定所述通信鏈路出現(xiàn)擁塞。
9、在一種可能的實(shí)現(xiàn)方式中,所述確定所述多個虛擬機(jī)中各目標(biāo)虛擬機(jī)的調(diào)度優(yōu)先級,包括:
10、獲取所述各目標(biāo)虛擬機(jī)的運(yùn)行信息;其中,每一目標(biāo)虛擬機(jī)的運(yùn)行信息包括以下中的至少一項(xiàng):該目標(biāo)虛擬機(jī)對應(yīng)vgpu的利用率、該目標(biāo)虛擬機(jī)對應(yīng)vgpu使用所述系統(tǒng)內(nèi)存的大小、所述目標(biāo)gpu執(zhí)行該目標(biāo)虛擬機(jī)對所述系統(tǒng)內(nèi)存的訪問命令所用的平均時(shí)間;
11、基于所述各目標(biāo)虛擬機(jī)的運(yùn)行信息,確定所述各目標(biāo)虛擬機(jī)的調(diào)度優(yōu)先級。
12、在一種可能的實(shí)現(xiàn)方式中,所述通信鏈路中的吞吐量統(tǒng)計(jì)信息包括:所述通信鏈路上傳輸?shù)臄?shù)據(jù)量、所述通信鏈路上傳輸?shù)臄?shù)據(jù)包的數(shù)量、所述通信鏈路上傳輸?shù)拿恳粩?shù)據(jù)包的平均大小中至少一項(xiàng);和/或,所述通信鏈路的擁塞統(tǒng)計(jì)信息,包括:所述目標(biāo)gpu的反壓信息和/或所述系統(tǒng)內(nèi)存的額度;其中,所述反壓信息包括所述目標(biāo)gpu中寫出停滯寄存器的數(shù)值和/或讀取停滯寄存器的數(shù)值,所述額度用于指示所述系統(tǒng)內(nèi)存可接收的數(shù)據(jù)量。
13、在一種可能的實(shí)現(xiàn)方式中,所述基于所述各目標(biāo)虛擬機(jī)的調(diào)度優(yōu)先級,調(diào)度所述各目標(biāo)虛擬機(jī)對所述系統(tǒng)內(nèi)存的訪問命令,包括:
14、將調(diào)度優(yōu)先級的高低順序確定為所述各目標(biāo)虛擬機(jī)對應(yīng)的調(diào)度順序;
15、按照所述各目標(biāo)虛擬機(jī)對應(yīng)的調(diào)度順序,調(diào)度所述各目標(biāo)虛擬機(jī)對所述系統(tǒng)內(nèi)存的訪問命令。
16、在一種可能的實(shí)現(xiàn)方式中,所述基于所述各目標(biāo)虛擬機(jī)的調(diào)度優(yōu)先級,調(diào)度所述各目標(biāo)虛擬機(jī)對所述系統(tǒng)內(nèi)存的訪問命令,包括:
17、基于所述各目標(biāo)虛擬機(jī)的調(diào)度優(yōu)先級,調(diào)整所述各目標(biāo)虛擬機(jī)對應(yīng)的調(diào)度頻率;
18、按照所述各目標(biāo)虛擬機(jī)對應(yīng)的調(diào)度頻率,調(diào)度所述各目標(biāo)虛擬機(jī)對所述系統(tǒng)內(nèi)存的訪問命令。
19、在一種可能的實(shí)現(xiàn)方式中,所述基于所述各目標(biāo)虛擬機(jī)的調(diào)度優(yōu)先級,調(diào)整所述各目標(biāo)虛擬機(jī)對應(yīng)的調(diào)度頻率,包括:
20、針對所述各目標(biāo)虛擬機(jī)中任一目標(biāo)虛擬機(jī),響應(yīng)于該目標(biāo)虛擬機(jī)的調(diào)度優(yōu)先級小于預(yù)設(shè)優(yōu)先級,降低該目標(biāo)虛擬機(jī)的調(diào)度頻率。
21、根據(jù)本公開的另一方面,提供了一種調(diào)度裝置,應(yīng)用于分布式虛擬化系統(tǒng),所述分布式虛擬化系統(tǒng)中包括多個虛擬機(jī),其中,所述多個虛擬機(jī)與將目標(biāo)圖形處理器gpu虛擬化形成的多個虛擬圖形處理器vgpu一一對應(yīng);
22、所述裝置包括:優(yōu)先級確定模塊,用于響應(yīng)于所述目標(biāo)gpu與系統(tǒng)內(nèi)存之間的通信鏈路出現(xiàn)擁塞,確定所述多個虛擬機(jī)中各目標(biāo)虛擬機(jī)的調(diào)度優(yōu)先級;其中,所述調(diào)度優(yōu)先級與虛擬機(jī)的工作負(fù)載負(fù)相關(guān);所述目標(biāo)虛擬機(jī)為當(dāng)前訪問所述系統(tǒng)內(nèi)存的虛擬機(jī);調(diào)度模塊,用于基于所述各目標(biāo)虛擬機(jī)的調(diào)度優(yōu)先級,調(diào)度所述各目標(biāo)虛擬機(jī)對所述系統(tǒng)內(nèi)存的訪問命令。
23、根據(jù)本公開的另一方面,提供了一種電子設(shè)備,包括:處理器;用于存儲處理器可執(zhí)行指令的存儲器;其中,所述處理器被配置為在執(zhí)行所述存儲器存儲的指令時(shí),實(shí)現(xiàn)上述方法。
24、根據(jù)本公開的另一方面,提供了一種非易失性計(jì)算機(jī)可讀存儲介質(zhì),其上存儲有計(jì)算機(jī)程序指令,其中,所述計(jì)算機(jī)程序指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述方法。
25、根據(jù)本公開的另一方面,提供了一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)可讀代碼,或者承載有計(jì)算機(jī)可讀代碼的非易失性計(jì)算機(jī)可讀存儲介質(zhì),當(dāng)所述計(jì)算機(jī)可讀代碼在電子設(shè)備的處理器中運(yùn)行時(shí),所述電子設(shè)備中的處理器執(zhí)行上述方法。
26、通過本公開的各方面,,響應(yīng)于所述目標(biāo)gpu與系統(tǒng)內(nèi)存之間的通信鏈路出現(xiàn)擁塞,確定多個虛擬機(jī)中各目標(biāo)虛擬機(jī)的調(diào)度優(yōu)先級;其中,所述調(diào)度優(yōu)先級與虛擬機(jī)的工作負(fù)載負(fù)相關(guān);所述目標(biāo)虛擬機(jī)為當(dāng)前訪問所述系統(tǒng)內(nèi)存的虛擬機(jī);基于所述各目標(biāo)虛擬機(jī)的調(diào)度優(yōu)先級,調(diào)度所述各目標(biāo)虛擬機(jī)對所述系統(tǒng)內(nèi)存的訪問命令。這樣,在多個目標(biāo)虛擬機(jī)當(dāng)前的工作負(fù)載不均等,且目標(biāo)gpu與系統(tǒng)內(nèi)存之間的通信鏈路出現(xiàn)阻塞時(shí),為工作負(fù)載較輕的目標(biāo)虛擬機(jī)配置更高的調(diào)度優(yōu)先級,使其在使用系統(tǒng)內(nèi)存資源時(shí)具有更多的優(yōu)先級,工作負(fù)載較輕的目標(biāo)虛擬機(jī)的對所述系統(tǒng)內(nèi)存的訪問命令被優(yōu)先調(diào)度,即工作負(fù)載較輕的目標(biāo)虛擬機(jī)對所述系統(tǒng)內(nèi)存的訪問命令能夠得到及時(shí)響應(yīng);同時(shí),降低了工作負(fù)載較重的目標(biāo)虛擬機(jī)的運(yùn)行對工作負(fù)載較輕的目標(biāo)虛擬機(jī)造成的影響,提高了各目標(biāo)虛擬機(jī)之間的隔離性。
27、根據(jù)下面參考附圖對示例性實(shí)施例的詳細(xì)說明,本公開的其它特征及方面將變得清楚。
1.一種調(diào)度方法,其特征在于,應(yīng)用于分布式虛擬化系統(tǒng),所述分布式虛擬化系統(tǒng)中包括多個虛擬機(jī),其中,所述多個虛擬機(jī)與將目標(biāo)圖形處理器gpu虛擬化形成的多個虛擬圖形處理器vgpu一一對應(yīng);
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括:
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述確定所述多個虛擬機(jī)中各目標(biāo)虛擬機(jī)的調(diào)度優(yōu)先級,包括:
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述通信鏈路中的吞吐量統(tǒng)計(jì)信息包括:所述通信鏈路上傳輸?shù)臄?shù)據(jù)量、所述通信鏈路上傳輸?shù)臄?shù)據(jù)包的數(shù)量、所述通信鏈路上傳輸?shù)拿恳粩?shù)據(jù)包的平均大小中至少一項(xiàng);和/或,所述通信鏈路的擁塞統(tǒng)計(jì)信息,包括:所述目標(biāo)gpu的反壓信息和/或所述系統(tǒng)內(nèi)存的額度;其中,所述反壓信息包括所述目標(biāo)gpu中寫出停滯寄存器的數(shù)值和/或讀取停滯寄存器的數(shù)值,所述額度用于指示所述系統(tǒng)內(nèi)存可接收的數(shù)據(jù)量。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述基于所述各目標(biāo)虛擬機(jī)的調(diào)度優(yōu)先級,調(diào)度所述各目標(biāo)虛擬機(jī)對所述系統(tǒng)內(nèi)存的訪問命令,包括:
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述基于所述各目標(biāo)虛擬機(jī)的調(diào)度優(yōu)先級,調(diào)度所述各目標(biāo)虛擬機(jī)對所述系統(tǒng)內(nèi)存的訪問命令,包括:
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述基于所述各目標(biāo)虛擬機(jī)的調(diào)度優(yōu)先級,調(diào)整所述各目標(biāo)虛擬機(jī)對應(yīng)的調(diào)度頻率,包括:
8.一種調(diào)度裝置,其特征在于,應(yīng)用于分布式虛擬化系統(tǒng),所述分布式虛擬化系統(tǒng)中包括多個虛擬機(jī),其中,所述多個虛擬機(jī)與將目標(biāo)圖形處理器gpu虛擬化形成的多個虛擬圖形處理器vgpu一一對應(yīng);
9.一種電子設(shè)備,其特征在于,包括:
10.一種非易失性計(jì)算機(jī)可讀存儲介質(zhì),其上存儲有計(jì)算機(jī)程序指令,其特征在于,所述計(jì)算機(jī)程序指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)權(quán)利要求1至7中任意一項(xiàng)所述的方法。