一種資源綁定方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及通信領(lǐng)域,尤其涉及一種資源綁定方法和裝置。
【背景技術(shù)】
[0002] 隨著虛擬技術(shù)的發(fā)展,虛擬機(jī)處理的業(yè)務(wù)越來(lái)越多,從而虛擬機(jī)業(yè)務(wù)進(jìn)程 (Virtual Application,vAPP)也越來(lái)越多,這樣在虛擬環(huán)境下,vAPP的性能是很重要的 問(wèn)題。目前提升vAPP性能的方法主要是通過(guò)以虛擬機(jī)的CPU(Visual CPU,vcpu)為粒 度進(jìn)行親和性配置,即基于物理非對(duì)稱性內(nèi)存訪問(wèn)架構(gòu)(Non Uniform Memory Access Architecture,NUMA)將vcpu與物理機(jī)CPU(Physical CPU,pcpu)進(jìn)行綁定,以避免遠(yuǎn)端內(nèi) 存訪問(wèn)。但在實(shí)際應(yīng)用于一些vAPP可能會(huì)占用多個(gè)vcpu或者多個(gè)pcpu,這樣以vcpu為調(diào) 度和優(yōu)化的粒度,vAPP的性能提升不直接,從而目前的vAPP的性能比較低。
【發(fā)明內(nèi)容】
[0003] 本發(fā)明提供了一種資源綁定方法和裝置,可以提升VAPP的性能。
[0004] 第一方面,本發(fā)明提供一種資源綁定方法,包括:
[0005] 統(tǒng)計(jì)當(dāng)前虛擬機(jī)業(yè)務(wù)進(jìn)程vAPP與多個(gè)vAPP的關(guān)聯(lián)度;
[0006] 從所述多個(gè)vAPP中選擇與所述當(dāng)前vAPP的關(guān)聯(lián)度按照從高到低的排序中前N個(gè) 的vAPP作為所述當(dāng)前vAPP的關(guān)聯(lián)vAPP,其中,所述N為大于或者等于1的整數(shù);
[0007] 將所述當(dāng)前vAPP與所述關(guān)聯(lián)vAPP綁定至相同的物理節(jié)點(diǎn)。
[0008] 在第一方面的第一種可能的實(shí)現(xiàn)方式中,所述從所述多個(gè)VAPP中選擇與所述當(dāng) 前vAPP的關(guān)聯(lián)度按照從高到低的排序中前N個(gè)的vAPP作為所述當(dāng)前vAPP的關(guān)聯(lián)vAPP,包 括:
[0009] 從所述多個(gè)vAPP中選擇在特定時(shí)間內(nèi)與所述當(dāng)前vAPP通信次數(shù)最多的vAPP作 為所述當(dāng)前vAPP的關(guān)聯(lián)vAPP ;或者
[0010] 從所述多個(gè)vAPP中選擇在特定時(shí)間內(nèi)與所述當(dāng)前vAPP的超級(jí)調(diào)用Hypercall次 數(shù)最多的vAPP作為所述當(dāng)前vAPP的關(guān)聯(lián)vAPP。
[0011] 結(jié)合第一方面,在第一方面的第二種可能的實(shí)現(xiàn)方式中,所述將所述當(dāng)前vAPP與 所述關(guān)聯(lián)vAPP綁定至相同的物理節(jié)點(diǎn),包括:
[0012] 將所述當(dāng)前vAPP與所述關(guān)聯(lián)vAPP綁定至相同的物理機(jī)CPU對(duì)應(yīng)的虛擬機(jī)CPU上; 或者
[0013] 將所述當(dāng)前vAPP與所述關(guān)系vAPP綁定相同的存儲(chǔ)空間;或者
[0014] 將所述當(dāng)前vAPP與所述關(guān)聯(lián)vAPP綁定至相同的網(wǎng)絡(luò)接口。
[0015] 結(jié)合第一方面或者第一方面的第一種可能的實(shí)現(xiàn)方式或者第一方面的第二種可 能的實(shí)現(xiàn)方式,在第一方面的第二種可能的實(shí)現(xiàn)方式中,所述方法還包括:
[0016] 計(jì)算所述當(dāng)前vAPP綁定的虛擬機(jī)CPU對(duì)應(yīng)的物理機(jī)CPU的壓力變化趨勢(shì);
[0017] 當(dāng)所述壓力變化趨勢(shì)為壓力增大趨勢(shì)時(shí),在所述物理機(jī)CPU所在的物理節(jié)點(diǎn)上選 擇另一個(gè)物理機(jī)CPU,并將所述當(dāng)前VAPP與該物理機(jī)對(duì)應(yīng)的虛擬機(jī)CPU綁定。
[0018] 結(jié)合第一方面的第三種可能的實(shí)現(xiàn)方式,在第一方面的第四種可能的實(shí)現(xiàn)方式 中,所述方法還包括:
[0019] 當(dāng)所述壓力變化趨勢(shì)為壓力減小趨勢(shì),且所述當(dāng)前vAPP與多個(gè)物理機(jī)CPU對(duì)應(yīng)的 虛擬機(jī)CPU綁定時(shí),將所述當(dāng)前vAPP與所述多個(gè)物理機(jī)CPU中至少一個(gè)物理機(jī)CPU對(duì)應(yīng)的 虛擬機(jī)CPU解除綁定關(guān)系。
[0020] 第二方面,本發(fā)明提供一種資源綁定裝置,包括:統(tǒng)計(jì)單元、選擇單元和第一綁定 單元,其中:
[0021] 所述統(tǒng)計(jì)單元,用于統(tǒng)計(jì)當(dāng)前虛擬機(jī)業(yè)務(wù)進(jìn)程vAPP與多個(gè)vAPP的關(guān)聯(lián)度;
[0022] 所述選擇單元,用于從所述多個(gè)vAPP中選擇與所述當(dāng)前vAPP的關(guān)聯(lián)度按照從高 到低的排序中前N個(gè)的vAPP作為所述當(dāng)前vAPP的關(guān)聯(lián)vAPP,其中,所述N為大于或者等于 1的整數(shù);
[0023] 所述第一綁定單元,用于將所述當(dāng)前vAPP與所述關(guān)聯(lián)vAPP綁定至相同的物理節(jié) 點(diǎn)。
[0024] 在第二方面的第一種可能的實(shí)現(xiàn)方式中,所述選擇單元用于從所述多個(gè)vAPP中 選擇在特定時(shí)間內(nèi)與所述當(dāng)前vAPP通信次數(shù)最多的vAPP作為所述當(dāng)前vAPP的關(guān)聯(lián)vAPP ; 或者
[0025] 所述選擇單元用于從所述多個(gè)vAPP中選擇在特定時(shí)間內(nèi)與所述當(dāng)前vAPP的超級(jí) 調(diào)用Hypercall次數(shù)最多的vAPP作為所述當(dāng)前vAPP的關(guān)聯(lián)vAPP。
[0026] 結(jié)合第二方面,在第二方面的第二種可能的實(shí)現(xiàn)方式中,所述第一綁定單元用于 將所述當(dāng)前vAPP與所述關(guān)聯(lián)vAPP綁定至相同的物理機(jī)CPU對(duì)應(yīng)的虛擬機(jī)CPU上;或者
[0027] 所述第一綁定單元用于將所述當(dāng)前vAPP與所述關(guān)系vAPP綁定相同的存儲(chǔ)空間; 或者
[0028] 所述第一綁定單元用于將所述當(dāng)前vAPP與所述關(guān)聯(lián)vAPP綁定至相同的網(wǎng)絡(luò)接
[0029] 結(jié)合第二方面或者第二方面的第一種可能的實(shí)現(xiàn)方式或者第二方面的第二種可 能的實(shí)現(xiàn)方式,在第二方面的第二種可能的實(shí)現(xiàn)方式中,所述裝置還包括:
[0030] 計(jì)算單元,用于計(jì)算所述當(dāng)前vAPP綁定的虛擬機(jī)CPU對(duì)應(yīng)的物理機(jī)CPU的壓力變 化趨勢(shì);
[0031] 第二綁定單元,用于當(dāng)所述壓力變化趨勢(shì)為壓力增大趨勢(shì)時(shí),在所述物理機(jī)CPU 所在的物理節(jié)點(diǎn)上選擇另一個(gè)物理機(jī)CPU,并將所述當(dāng)前vAPP與該物理機(jī)對(duì)應(yīng)的虛擬機(jī) (PU綁定。
[0032] 結(jié)合第二方面的第三種可能的實(shí)現(xiàn)方式,在第二方面的第四種可能的實(shí)現(xiàn)方式 中,所述裝置還包括:
[0033] 解除單元,用于當(dāng)所述壓力變化趨勢(shì)為壓力減小趨勢(shì),且所述當(dāng)前vAPP與多個(gè)物 理機(jī)CPU對(duì)應(yīng)的虛擬機(jī)CPU綁定時(shí),將所述當(dāng)前vAPP與所述多個(gè)物理機(jī)CPU中至少一個(gè)物 理機(jī)CPU對(duì)應(yīng)的虛擬機(jī)CPU解除綁定關(guān)系。
[0034] 上述技術(shù)方案中,統(tǒng)計(jì)當(dāng)前虛擬機(jī)業(yè)務(wù)進(jìn)程vAPP與多個(gè)vAPP的關(guān)聯(lián)度;從所述 多個(gè)vAPP中選擇與所述當(dāng)前vAPP的關(guān)聯(lián)度按照從高到低的排序中前N個(gè)的vAPP作為所 述當(dāng)前vAPP的關(guān)聯(lián)vAPP,其中,所述N為大于或者等于1的整數(shù);將所述當(dāng)前vAPP與所述 關(guān)聯(lián)vAPP綁定至相同的物理節(jié)點(diǎn)。這樣可以實(shí)現(xiàn)將關(guān)聯(lián)度高的vAPP綁定至相同的物理節(jié) 點(diǎn),從而關(guān)聯(lián)度高的vAPP彼此之間的通信性能提升,導(dǎo)致vAPP的性能提升。
【附圖說(shuō)明】
[0035] 為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本 發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以 根據(jù)這些附圖獲得其他的附圖。
[0036] 圖1是本發(fā)明實(shí)施例提供的一種資源綁定方法的流程示意圖;
[0037] 圖2是本發(fā)明實(shí)施例提供的另一種資源綁定方法的流程示意圖;
[0038] 圖3是本發(fā)明實(shí)施例提供的一種IPC結(jié)構(gòu)的示意圖;
[0039] 圖4是本發(fā)明實(shí)施例提供的一種物理機(jī)與虛擬機(jī)之間的交互通道示意圖;
[0040] 圖5是本發(fā)明實(shí)施例提供的一種綁定核壓力狀態(tài)監(jiān)控棧的示意圖;
[0041] 圖6是本發(fā)明實(shí)施例提供的一種vAPP與pcpu的綁定關(guān)系示意圖;
[0042] 圖7是本發(fā)明實(shí)施例提供的一種物理機(jī)的結(jié)構(gòu)示意圖;
[0043] 圖8是本發(fā)明實(shí)施例提供的另一種資源綁定方法的流程示意圖;
[0044] 圖9是本發(fā)明實(shí)施例提供的另一種資源綁定方法的流程示意圖;
[0045] 圖10是本發(fā)明實(shí)施例提供一種應(yīng)用實(shí)例的場(chǎng)景示意圖;
[0046] 圖11是圖10所不的實(shí)例中UGW業(yè)務(wù)虛擬機(jī)進(jìn)程綁核不例圖;
[0047] 圖12是本發(fā)明實(shí)施例提供的一種資源綁定裝置的結(jié)構(gòu)示意圖;
[0048] 圖13是本發(fā)明實(shí)施例提供的另一種資源綁定裝置的結(jié)構(gòu)示意圖;
[0049] 圖14是本發(fā)明實(shí)施例提供的另一種資源綁定裝置的結(jié)構(gòu)示意圖;
[0050] 圖15是本發(fā)明實(shí)施例提供的另一種資源綁定裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0051] 下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于 本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他 實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0052] 請(qǐng)參閱圖1,圖1是本發(fā)明實(shí)施例提供的一種資源綁定方法的流程示意圖,如圖1 所示,包括以下步驟:
[0053] 101、統(tǒng)計(jì)當(dāng)前vAPP與多個(gè)vAPP的關(guān)聯(lián)度。
[0054] 上述當(dāng)前vAPP可以是某一虛擬機(jī)中任意一個(gè)vAPP,另外,上述多個(gè)vAPP可以是 與該當(dāng)前vAPP屬于同一個(gè)虛擬機(jī)內(nèi)的多個(gè)vAPP,或者上述多個(gè)vAPP可以是與該當(dāng)前vAPP 屬于同一個(gè)虛擬機(jī)NUMA結(jié)構(gòu)的多個(gè)vAPP,或者上述多個(gè)vAPP可以是與該當(dāng)前vAPP屬于同