国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種基于numa高性能網(wǎng)絡(luò)緩存資源親和度的虛擬處理器的調(diào)度方法

      文檔序號(hào):6624302閱讀:384來(lái)源:國(guó)知局
      一種基于numa高性能網(wǎng)絡(luò)緩存資源親和度的虛擬處理器的調(diào)度方法
      【專(zhuān)利摘要】本發(fā)明公開(kāi)了一種基于NUMA高性能網(wǎng)絡(luò)緩存資源親和度的虛擬處理器的調(diào)度方法,包括:在NUMA架構(gòu)下,當(dāng)虛擬機(jī)網(wǎng)卡啟動(dòng)時(shí),獲取網(wǎng)卡緩存在各個(gè)NUMA節(jié)點(diǎn)上的分布;基于各個(gè)NUMA節(jié)點(diǎn)之間的親和度關(guān)系,以得出各個(gè)NUMA節(jié)點(diǎn)對(duì)該網(wǎng)卡緩存的親和度;結(jié)合上述網(wǎng)卡緩存在各個(gè)NUMA節(jié)點(diǎn)上的分布以及各個(gè)NUMA節(jié)點(diǎn)對(duì)該網(wǎng)卡緩存的親和度,以確定目標(biāo)NUMA節(jié)點(diǎn);將虛擬處理器調(diào)度至所述目標(biāo)NUMA節(jié)點(diǎn)的CPU上。本發(fā)明解決了在NUMA架構(gòu)下,虛擬機(jī)的VCPU與網(wǎng)卡緩存親和度非最優(yōu)化,進(jìn)而造成虛擬機(jī)網(wǎng)卡處理網(wǎng)絡(luò)數(shù)據(jù)包的處理速率不高的問(wèn)題。
      【專(zhuān)利說(shuō)明】—種基于NUMA高性能網(wǎng)絡(luò)緩存資源親和度的虛擬處理器的調(diào)度方法

      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及計(jì)算機(jī)系統(tǒng)虛擬化領(lǐng)域,尤其涉及一種基于NUMA高性能網(wǎng)絡(luò)緩存資源親和度的虛擬處理器的調(diào)度方法。

      【背景技術(shù)】
      [0002]虛擬化技術(shù)通常將原本需要多臺(tái)物理設(shè)備實(shí)現(xiàn)的計(jì)算或存儲(chǔ)功能整合到一臺(tái)功能相對(duì)強(qiáng)大的物理服務(wù)器中去,從而實(shí)現(xiàn)了硬件資源的整合與再分配,提高了硬件設(shè)備的利用率,在云計(jì)算以及數(shù)據(jù)中心構(gòu)建中發(fā)揮著非常重要的作用。
      [0003]虛擬機(jī)監(jiān)視器是指存在于硬件和傳統(tǒng)操作系統(tǒng)之間的一個(gè)軟件管理層,其主要作用是管理真實(shí)的物理設(shè)備,例如物理CPU、內(nèi)存等,并將底層的硬件抽象為對(duì)應(yīng)的虛擬設(shè)備接口,使多個(gè)操作系統(tǒng)得到各自所需的虛擬硬件,從而使他們能夠同時(shí)在同一個(gè)物理設(shè)備上運(yùn)行。
      [0004]NUMA(Non Uniform Memory Access Architecture,非統(tǒng)一內(nèi)存訪問(wèn))的特點(diǎn)是:被共享的存儲(chǔ)器物理上是分布式的,所有這些存儲(chǔ)器的集合就是全局地址空間。所以處理器訪問(wèn)這些存儲(chǔ)器的時(shí)間是不一樣的,顯然訪問(wèn)本地存儲(chǔ)器(親和度高)的速度要比訪問(wèn)全局共享存儲(chǔ)器或遠(yuǎn)程訪問(wèn)外地存儲(chǔ)器(親和度低)要快些。如圖1所示的是物理平臺(tái)的非統(tǒng)一內(nèi)存訪問(wèn)(NUMA)架構(gòu)的示意圖。參考圖1,該示意圖是一個(gè)具有8個(gè)NUMA節(jié)點(diǎn)的NUMA架構(gòu)服務(wù)器示意圖。由于不同位置的處理器(CPU)與各個(gè)存儲(chǔ)器之間的距離不同,且各個(gè)處理器之間的距離也不同,因此不同處理器訪問(wèn)各個(gè)存儲(chǔ)器的時(shí)間也是不同的。
      [0005]SR-1OV(Single-Root 1/0 Virtualizat1n)技術(shù)是一種基于硬件的虛擬化的解決方案,可提高性能和可伸縮性。SR-1OV標(biāo)準(zhǔn)允許在虛擬機(jī)之間高效共享PCIe (PeripheralComponent Interconnect Express,快速外設(shè)組件互連)設(shè)備,并且它是在硬件中實(shí)現(xiàn)的,可以獲得能夠與本機(jī)性能媲美的1/0性能。
      [0006]SR-1OV分為物理功能(PF)和虛擬功能(VF)。其中,PF是全功能的PCIe功能,可以像其他任何PCIe設(shè)備一樣進(jìn)行發(fā)現(xiàn)、管理和處理。PF擁有完全配置資源,可以用于配置或控制PCIe設(shè)備。VF是一種輕量級(jí)PCIe功能,可以與物理功能以及與同一物理功能關(guān)聯(lián)的其他VF共享一個(gè)或多個(gè)物理資源。VF僅允許擁有用于其自身行為的配置資源。
      [0007]如圖2所示的是具有SR-1OV功能的網(wǎng)卡運(yùn)行示意圖。參考圖2,SR-1OV網(wǎng)卡物理功能(PF)可以虛擬出多個(gè)虛擬功能(VF),然后分配給虛擬機(jī)虛擬功能(VF),當(dāng)虛擬機(jī)啟動(dòng)時(shí),數(shù)據(jù)包發(fā)送到相應(yīng)的接包緩存/發(fā)包緩存(Rx/Tx),通過(guò)1MMU(input/output memorymanagement unit)等硬件輔助虛擬化的支持,虛擬機(jī)可以直接訪問(wèn)自己的網(wǎng)卡緩存,從而達(dá)到了接近本機(jī)性能的網(wǎng)絡(luò)處理速度。
      [0008]物理設(shè)備和虛擬機(jī)之間引入虛擬機(jī)監(jiān)視器作為中間層,不可避免的使得虛擬機(jī)的性能受到一定的影響,其中一個(gè)就是對(duì)虛擬機(jī)內(nèi)存的影響,在全虛擬化環(huán)境下,具有SR-1OV虛擬功能的虛擬機(jī)通過(guò)硬件輔助虛擬化設(shè)備1MMU等的支持,使得虛擬機(jī)獲取緩存物理地址不需要通過(guò)虛擬機(jī)監(jiān)控器的介入,使得網(wǎng)絡(luò)性能得到很大的提升,但是在NUMA環(huán)境下,虛擬機(jī)網(wǎng)卡緩存多數(shù)情況分配在多個(gè)節(jié)點(diǎn)上面,這造成了緩存分布的不確定性,這勢(shì)必會(huì)影響虛擬機(jī)處理網(wǎng)絡(luò)數(shù)據(jù)包的速度。
      [0009]學(xué)術(shù)界現(xiàn)有的研究主要集中在非虛擬化方面,主要考慮到通過(guò)NUMA —些類(lèi)似NUMACTL等的庫(kù)來(lái)對(duì)NUMA下的任務(wù)的內(nèi)存分布進(jìn)行控制,從而使得相應(yīng)任務(wù)處理的CPU和內(nèi)存達(dá)到較好的親和度,從而提高任務(wù)處理的速度。
      [0010]現(xiàn)有Xen內(nèi)核對(duì)NUMA支持了幾種配置方法,其中包括內(nèi)存完全本地化(NUMAaware placement)以及內(nèi)存配置到幾個(gè)節(jié)點(diǎn)上,然后虛擬處理器(VCPU)調(diào)度到分配的節(jié)點(diǎn)上面(NUMA aware scheduling),但是這樣同樣沒(méi)有充分地從內(nèi)存分布的角度分析虛擬機(jī)內(nèi)存資源,這樣下來(lái)VCPU和內(nèi)存之間的親和度還是沒(méi)有達(dá)到最優(yōu)的效果,這勢(shì)必會(huì)影響VCPU處理內(nèi)存的速度。
      [0011]因此,本領(lǐng)域的技術(shù)人員致力于開(kāi)發(fā)一種基于NUMA高性能網(wǎng)絡(luò)緩存資源親和度的虛擬處理器的調(diào)度方法以解決VCPU處理網(wǎng)絡(luò)數(shù)據(jù)包速率不是最優(yōu)的問(wèn)題。


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

      [0012]有鑒于現(xiàn)有技術(shù)的上述缺陷,本發(fā)明所要解決的技術(shù)問(wèn)題是在NUMA架構(gòu)下,虛擬機(jī)的VCPU與網(wǎng)卡緩存親和度非最優(yōu)化,進(jìn)而造成虛擬機(jī)網(wǎng)卡處理網(wǎng)絡(luò)數(shù)據(jù)包的處理速率不聞。
      [0013]為實(shí)現(xiàn)上述目的,本發(fā)明提供了一種基于NUMA高性能網(wǎng)絡(luò)緩存資源親和度的虛擬處理器的調(diào)度方法,包括如下步驟:
      [0014](I)在NUMA架構(gòu)下,當(dāng)虛擬機(jī)網(wǎng)卡啟動(dòng)時(shí),獲取網(wǎng)卡緩存在各個(gè)NUMA節(jié)點(diǎn)上的分布;
      [0015](2)基于各個(gè)NUMA節(jié)點(diǎn)之間的親和度關(guān)系,以得出各個(gè)NUMA節(jié)點(diǎn)對(duì)該網(wǎng)卡緩存的親和度;
      [0016](3)結(jié)合上述網(wǎng)卡緩存在各個(gè)NUMA節(jié)點(diǎn)上的分布以及各個(gè)NUMA節(jié)點(diǎn)對(duì)該網(wǎng)卡緩存的親和度,以確定目標(biāo)NUMA節(jié)點(diǎn);
      [0017](4)將虛擬處理器調(diào)度至所述目標(biāo)NUMA節(jié)點(diǎn)的CPU上。
      [0018]進(jìn)一步地,在所述步驟(3)中,還結(jié)合各個(gè)NUMA節(jié)點(diǎn)上的CPU負(fù)載均衡以確定目標(biāo)NUMA節(jié)點(diǎn)。
      [0019]進(jìn)一步地,在所述步驟(I)中,所述獲取網(wǎng)卡緩存在各個(gè)NUMA節(jié)點(diǎn)上的分布包括如下步驟:
      [0020](11)通過(guò)在虛擬機(jī)虛擬功能的驅(qū)動(dòng)啟動(dòng)的時(shí)候,在驅(qū)動(dòng)程序中探取直接內(nèi)存訪問(wèn)分配緩存的虛擬地址,并獲取虛擬功能的緩存的大?。?br> [0021](12)將所述虛擬地址發(fā)送至指定域;
      [0022](13)所述指定域通過(guò)超級(jí)調(diào)用向虛擬機(jī)監(jiān)控器請(qǐng)求得到與所述虛擬地址對(duì)應(yīng)的物理地址;
      [0023](14)基于對(duì)所述物理地址對(duì)應(yīng)的NUMA節(jié)點(diǎn)上的緩存分布情況分析,以確定所述網(wǎng)卡緩存在各個(gè)NUMA節(jié)點(diǎn)上的分布。
      [0024]進(jìn)一步地,在所述步驟(11)中,通過(guò)網(wǎng)卡性能檢測(cè)工具來(lái)獲取虛擬功能的緩存的大小。
      [0025]進(jìn)一步地,所述指定域?yàn)樘摂M機(jī)監(jiān)控器中的DomainO。
      [0026]進(jìn)一步地,在所述步驟⑵中,所述基于各個(gè)NUMA節(jié)點(diǎn)之間的親和度關(guān)系,以得出各個(gè)NUMA節(jié)點(diǎn)對(duì)該網(wǎng)卡緩存的親和度包括如下步驟:
      [0027](21)根據(jù)各個(gè)NUMA節(jié)點(diǎn)之間的距離信息,以得出各個(gè)NUMA節(jié)點(diǎn)對(duì)該網(wǎng)卡緩存的親和度。
      [0028]進(jìn)一步地,在執(zhí)行所述步驟(4)之后,還包括如下步驟:(5)繼續(xù)監(jiān)控虛擬機(jī)網(wǎng)卡的運(yùn)行情況。
      [0029]進(jìn)一步地,所述虛擬機(jī)具有SR-1OV虛擬功能。
      [0030]與現(xiàn)有技術(shù)相比,本技術(shù)方案至少具有以下有益效果:
      [0031]根據(jù)本發(fā)明提供的虛擬處理器的調(diào)度方法,通過(guò)獲取網(wǎng)卡緩存在各個(gè)NUMA節(jié)點(diǎn)上的分布情況以及各個(gè)NUMA節(jié)點(diǎn)對(duì)該網(wǎng)卡緩存的親和度情況,以確定最優(yōu)的虛擬處理器的調(diào)度方案(即確定目標(biāo)NUMA節(jié)點(diǎn)),使得虛擬處理器運(yùn)行到與網(wǎng)卡緩存具有最優(yōu)親和度的狀態(tài),從而提高虛擬網(wǎng)絡(luò)數(shù)據(jù)包的處理速度。
      [0032]進(jìn)一步地,基于對(duì)當(dāng)前虛擬機(jī)的網(wǎng)卡緩存的分析,能夠保證在NUMA架構(gòu)下虛擬處理器和目標(biāo)內(nèi)存之間存在最優(yōu)的親和度,從而使得虛擬機(jī)更充分地利用NUMA架構(gòu)的特點(diǎn)。
      [0033]進(jìn)一步地,在確定目標(biāo)NUMA節(jié)點(diǎn)過(guò)程中,還結(jié)合考慮了各個(gè)NUMA節(jié)點(diǎn)上的CPU負(fù)載均衡問(wèn)題,從而使得將VCPU調(diào)度到目標(biāo)NUMA節(jié)點(diǎn)上的多個(gè)CPU核上,在這些CPU核上仍然保持著原有的負(fù)載調(diào)度方法,減少了對(duì)系統(tǒng)的影響。
      [0034]進(jìn)一步地,可有效控制在Xen平臺(tái)上VCPU資源的精確配置,保證VCPU對(duì)具有SR-1OV虛擬功能的虛擬機(jī)網(wǎng)卡數(shù)據(jù)包具有最優(yōu)的網(wǎng)絡(luò)處理速率。
      [0035]以下將結(jié)合附圖對(duì)本發(fā)明的構(gòu)思、具體結(jié)構(gòu)及產(chǎn)生的技術(shù)效果作進(jìn)一步說(shuō)明,以充分地了解本發(fā)明的目的、特征和效果。

      【專(zhuān)利附圖】

      【附圖說(shuō)明】
      [0036]圖1是物理平臺(tái)的非統(tǒng)一內(nèi)存訪問(wèn)(NUMA)架構(gòu)的示意圖;
      [0037]圖2是具有SR-1OV功能的網(wǎng)卡運(yùn)行示意圖;
      [0038]圖3是本發(fā)明的一種基于NUMA高性能網(wǎng)絡(luò)緩存資源親和度的虛擬處理器的調(diào)度方法的流程示意圖;
      [0039]圖4是圖3所述虛擬處理器的調(diào)度方法中獲取網(wǎng)卡緩存在各個(gè)NUMA節(jié)點(diǎn)上的分布的示意圖。

      【具體實(shí)施方式】
      [0040]下面結(jié)合附圖對(duì)本發(fā)明的實(shí)施例作詳細(xì)說(shuō)明:本實(shí)施例在以本發(fā)明技術(shù)方案為前提下進(jìn)行實(shí)施,給出了詳細(xì)的實(shí)施方式和具體的操作過(guò)程,但本發(fā)明的保護(hù)范圍不限于下述的實(shí)施例。
      [0041]如圖3所示的是本發(fā)明的一種基于NUMA高性能網(wǎng)絡(luò)緩存資源親和度的虛擬處理器的調(diào)度方法的流程示意圖。參考圖3,所示調(diào)度方法包括如下步驟:
      [0042]步驟S1:在NUMA架構(gòu)下,當(dāng)虛擬機(jī)網(wǎng)卡啟動(dòng)時(shí),獲取網(wǎng)卡緩存在各個(gè)NUMA節(jié)點(diǎn)上的分布;
      [0043]步驟S2:基于各個(gè)NUMA節(jié)點(diǎn)之間的親和度關(guān)系,以得出各個(gè)NUMA節(jié)點(diǎn)對(duì)該網(wǎng)卡緩存的親和度;
      [0044]步驟S3:結(jié)合上述網(wǎng)卡緩存在各個(gè)NUMA節(jié)點(diǎn)上的分布以及各個(gè)NUMA節(jié)點(diǎn)對(duì)該網(wǎng)卡緩存的親和度,以確定目標(biāo)NUMA節(jié)點(diǎn);
      [0045]步驟S4:將虛擬處理器調(diào)度至所述目標(biāo)NUMA節(jié)點(diǎn)的CPU上。
      [0046]需要說(shuō)明的是,本發(fā)明實(shí)施例提供的虛擬處理調(diào)度方法適用于具有SR-1OV虛擬功能的虛擬機(jī),在NUMA架構(gòu)下,虛擬機(jī)的網(wǎng)卡緩存分布在多個(gè)NUMA節(jié)點(diǎn)上,造成了緩存分布的不確定性,從而影響虛擬機(jī)處理網(wǎng)絡(luò)數(shù)據(jù)包的速度的情況。
      [0047]具體來(lái)說(shuō),在本實(shí)施例中,每當(dāng)具有SR-1OV虛擬功能的虛擬機(jī)啟動(dòng)并開(kāi)辟網(wǎng)卡緩存用于接收網(wǎng)絡(luò)數(shù)據(jù)包時(shí),通過(guò)在虛擬機(jī)虛擬功能的驅(qū)動(dòng)啟動(dòng)的時(shí)候,在驅(qū)動(dòng)程序中探取直接內(nèi)存訪問(wèn)(Direct Memory Access, DMA)分配緩存的虛擬地址,并通過(guò)網(wǎng)卡性能檢測(cè)工具(例如Ethtool)來(lái)獲取虛擬功能的緩存的大小,并將所述虛擬地址發(fā)送至指定域。其中,所述指定域是指虛擬機(jī)監(jiān)控器(例如Xen)中的DomainO。
      [0048]然后,所述指定域通過(guò)超級(jí)調(diào)用向虛擬機(jī)監(jiān)控器(VMM)請(qǐng)求得到與所述虛擬地址對(duì)應(yīng)的物理地址,并且基于對(duì)所述物理地址對(duì)應(yīng)的NUMA節(jié)點(diǎn)上的緩存分布情況分析,以確定所述網(wǎng)卡緩存在各個(gè)NUMA節(jié)點(diǎn)上的分布。
      [0049]實(shí)現(xiàn)確定所述網(wǎng)卡緩存在各個(gè)NUMA節(jié)點(diǎn)上的分布的核心代碼如下:
      [0050]增加以下變量,用來(lái)存放調(diào)用接口的虛擬機(jī)參數(shù)。
      [0051]struct P2m_domain*myp2m[1];
      [0052]p2m_type_t*myt[10];
      [0053]p2m_ _access_t*mya[10];
      [0054]p2m—query—t myq[10];
      [0055]unsigned int^mypo [10];
      [0056]int count = 0 ;
      [0057]通過(guò)在下面初始化調(diào)用里面增加探取代碼,獲取參數(shù)信息。
      [0058]

      【權(quán)利要求】
      1.一種基于NUMA高性能網(wǎng)絡(luò)緩存資源親和度的虛擬處理器的調(diào)度方法,其特征在于,包括如下步驟: (1)在NUMA架構(gòu)下,當(dāng)虛擬機(jī)網(wǎng)卡啟動(dòng)時(shí),獲取網(wǎng)卡緩存在各個(gè)NUMA節(jié)點(diǎn)上的分布; (2)基于各個(gè)NUMA節(jié)點(diǎn)之間的親和度關(guān)系,以得出各個(gè)NUMA節(jié)點(diǎn)對(duì)該網(wǎng)卡緩存的親和度; (3)結(jié)合上述網(wǎng)卡緩存在各個(gè)NUMA節(jié)點(diǎn)上的分布以及各個(gè)NUMA節(jié)點(diǎn)對(duì)該網(wǎng)卡緩存的親和度,以確定目標(biāo)NUMA節(jié)點(diǎn); (4)將虛擬處理器調(diào)度至所述目標(biāo)NUMA節(jié)點(diǎn)的CPU上。
      2.如權(quán)利要求1所述的虛擬處理器的調(diào)度方法,其特征在于,在所述步驟(3)中,還結(jié)合各個(gè)NUMA節(jié)點(diǎn)上的CPU負(fù)載均衡以確定目標(biāo)NUMA節(jié)點(diǎn)。
      3.如權(quán)利要求1所述的虛擬處理器的調(diào)度方法,其特征在于,在所述步驟(I)中,所述獲取網(wǎng)卡緩存在各個(gè)NUMA節(jié)點(diǎn)上的分布包括如下步驟: (11)通過(guò)在虛擬機(jī)虛擬功能的驅(qū)動(dòng)啟動(dòng)的時(shí)候,在驅(qū)動(dòng)程序中探取直接內(nèi)存訪問(wèn)分配緩存的虛擬地址,并獲取虛擬功能的緩存的大小; (12)將所述虛擬地址發(fā)送至指定域; (13)所述指定域通過(guò)超級(jí)調(diào)用向虛擬機(jī)監(jiān)控器請(qǐng)求得到與所述虛擬地址對(duì)應(yīng)的物理地址; (14)基于對(duì)所述物理地址對(duì)應(yīng)的NUMA節(jié)點(diǎn)上的緩存分布情況分析,以確定所述網(wǎng)卡緩存在各個(gè)NUMA節(jié)點(diǎn)上的分布。
      4.如權(quán)利要求3所述的虛擬處理器的調(diào)度方法,其特征在于,在所述步驟(11)中,通過(guò)網(wǎng)卡性能檢測(cè)工具來(lái)獲取虛擬功能的緩存的大小。
      5.如權(quán)利要求3所述的虛擬處理器的調(diào)度方法,其特征在于,所述指定域?yàn)樘摂M機(jī)監(jiān)控器中的DomainO。
      6.如權(quán)利要求1所述的虛擬處理器的調(diào)度方法,其特征在于,在所述步驟(2)中,所述基于各個(gè)NUMA節(jié)點(diǎn)之間的親和度關(guān)系,以得出各個(gè)NUMA節(jié)點(diǎn)對(duì)該網(wǎng)卡緩存的親和度包括如下步驟: (21)根據(jù)各個(gè)NUMA節(jié)點(diǎn)之間的距離信息,以得出各個(gè)NUMA節(jié)點(diǎn)對(duì)該網(wǎng)卡緩存的親和度。
      7.如權(quán)利要求1所述的虛擬處理器的調(diào)度方法,其特征在于,在執(zhí)行所述步驟(4)之后,還包括如下步驟: (5)繼續(xù)監(jiān)控虛擬機(jī)網(wǎng)卡的運(yùn)行情況。
      8.如權(quán)利要求1所述的虛擬處理器的調(diào)度方法,其特征在于,所述虛擬機(jī)具有SR-1OV虛擬功能。
      【文檔編號(hào)】G06F9/50GK104199718SQ201410415792
      【公開(kāi)日】2014年12月10日 申請(qǐng)日期:2014年8月22日 優(yōu)先權(quán)日:2014年8月22日
      【發(fā)明者】管海兵, 馬汝輝, 李健, 賈小龍 申請(qǐng)人:上海交通大學(xué)
      網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1