本發(fā)明屬于云計算
技術領域:
,更為具體地講,涉及一種基于貝葉斯網的虛擬機底層環(huán)境特征分析與性能度量方法。
背景技術:
:基礎設施即服務(InfrastructureasaService,IaaS)的云計算平臺以虛擬機的形式向用戶提供資源,資源提供方和用戶需要準確了解虛擬機的性能,以便更合理地利用資源、部署服務;商用的云計算平臺,通常以虛擬機的性能為依據制定虛擬機的租用價格。因此,如何準確度量虛擬機的性能成為了一個重要問題。為了從虛擬機底層環(huán)境特征準確度量虛擬機的性能,需要對虛擬機底層環(huán)境特征、虛擬機性能的以下三類關系進行評估:1.虛擬機的各軟硬件配置特征與虛擬機性能之間的關系:在虛擬化環(huán)境中,配置一臺虛擬機時,其軟硬件配置特征都是確定的,例如,虛擬CPU的個數、內存容量,虛擬機監(jiān)控器(VirtualMachineMonitor,VMM)使用的虛擬化技術類型、采用的CPU調度算法等,都可以進行精確的設置。這些軟硬件配置特征共同影響虛擬機的性能,但是各特征對性能的影響程度不同,同一個特征對計算性能、訪存性能、I/O性能等不同的性能指標也有不同程度的影響。需要明確各特征與性能之間的關系。2.同一物理主機上運行的其他虛擬機帶來的干擾與虛擬機性能的關系:在虛擬化平臺上,同一臺物理主機上的各虛擬機共享底層的物理資源,虛擬機的性能受到其他虛擬機訪問資源的方式的干擾,這種性能干擾具有較大的不確定性,難以準確評估。需要設計有效的模型評估虛擬機間干擾對虛擬機性能的影響。3.虛擬機的各軟硬件配置特征之間的關系:虛擬機的軟硬件配置、同一平臺上各虛擬機使用資源的方式等特征并不是相互獨立的,其中存在相互影響和依賴關系。需要挖掘這些特征之間的相互關系。分析并定量描述以上三類關系,是度量虛擬機性能的基礎和關鍵。公知的虛擬機的性能分析及建模研究,主要通過尋找虛擬機的部分配置參數或資源利用率與虛擬機性能或虛擬機上運行的應用性能之間的關系,幫助虛擬機的性能預測,或優(yōu)化虛擬機的資源分配以保證應用服務質量。黎豐澤等(<計算機系統(tǒng)應用>,2015)收集CPU時間周期權重、虛擬CPU的數量、內存以及I/O競爭四種硬件資源單獨對虛擬機應用性能的影響作為建模參數,利用基于奇異值分解的特征拓展與非線性模型的建模方法,對硬件與虛擬機性能的關系進行建模。王睿(<上海交通大學碩士論文>,2011)采用遞推最小二乘法建立應用性能和虛擬機使用的資源之間的關系模型,基于該模型可通過差分誤差函數決定虛擬機的最優(yōu)資源分配量以達到預期的性能目標。但虛擬機的性能受到硬件參數、軟件環(huán)境、配置特征、運行時環(huán)境等諸多方面的聯合影響,可能對虛擬機性能產生影響的所有特征與虛擬機性能之間的關系難以分析;此外,虛擬機性能具有不確定性,以上方法中,對不確定性的表示和推理也存在困難。公知的虛擬機間性能干擾的評估,主要對應用負載特征或部分硬件性能參數與性能干擾之間的關系建模。王卅等(<軟件學報>,2015)發(fā)現末級緩存失效率(LLCmissrates)與CPU密集型、網絡密集型應用性能干擾存在的不同關聯關系,以此建立虛擬機性能干擾估算模型,估算虛擬機性能。孟凡欣(<山東大學碩士論文>,2014)設計了一種基于應用類型的虛擬機性能干擾預測模型,通過監(jiān)控應用訪問資源的不同特征,使用決策樹分類方法完成應用分類,然后使用線性回歸技術為每種類型的應用分別建立性能干擾預測模型。王進(<東北大學碩士論文>,2013)設計了一種基于多元線性回歸分析的虛擬機性能互擾度模型,通過挖掘虛擬機性能互擾度與其背景負載參數之間的關系建立性能互擾度模型,并用多元線性回歸分析求解模型參數,其中,背景負載參數是指同時運行的其他虛擬機的CPU利用率、內存利用率等資源使用信息?;谠撃P停軌驅ζ渌尘柏撦d下的虛擬機性能互擾做出預測。虛擬機間的性能干擾是虛擬機性能呈現不確定性的主要原因,量化描述虛擬機性能的不確定性,是另一種衡量虛擬機間性能干擾的方式。公知的將貝葉斯方法應用于虛擬機領域的工作主要使用樸素貝葉斯分類器對虛擬機中的應用類型、虛擬機安全級別等進行分類作為應用性能預測及應用部署的基礎。例如,楊光(<北京郵電大學碩士論文>,2013)分析實時監(jiān)控的虛擬機CPU、內存、網絡帶寬的使用率及使用率變化率,用樸素貝葉斯分類器將虛擬機劃分到三個類別:擴大資源規(guī)模、縮小資源規(guī)模、無需調整資源,根據分類結果動態(tài)調整虛擬機使用的資源。沈典(<東南大學碩士論文>,2012)分析云計算環(huán)境中虛擬機的行為,基于樸素貝葉斯分類算法,提出了一種對虛擬機進行安全級別分類的方法,根據不同用戶行為將虛擬機分類到預先設定的四個不同的安全信任級別,以指導虛擬機的部署。樸素貝葉斯方法要求假設條件變量之間相互獨立,而在虛擬化環(huán)境中,影響虛擬機性能的各底層特征之間可能存在相互依賴關系,難以利用樸素貝葉斯方法處理。技術實現要素:本發(fā)明的目的在于克服現有技術的不足,提供一種基于貝葉斯網的虛擬機底層環(huán)境特征分析與性能度量方法,采用貝葉斯網來表現底層環(huán)境特征和性能指標間的依賴關系,從而實現對虛擬機性能的準確度量。為實現上述發(fā)明目的,本發(fā)明基于貝葉斯網的虛擬機底層環(huán)境特征分析與性能度量方法包括以下步驟:S1:根據待評估的虛擬化平臺中具體的軟硬件配置,從硬件特征、軟件特征、配置特征、運行時環(huán)境特征四個方面提取可能影響虛擬機性能的底層環(huán)境特征,記所提取到的底層環(huán)境特征數量為N,當可判定兩個底層環(huán)境特征Xi和Xj之間不存在依賴關系,則記其依賴標識rij=0,否則rij=1,其中i=1,2,…,N,j=1,2,…,N,i≠j;S2:根據需要確定需要度量的性能指標Yk,k=1,2,…,K,K表示性能指標數量;S3:根據步驟S1中各項底層環(huán)境特征的可能取值,在待評估的虛擬化平臺中配置不同底層環(huán)境特征組合的虛擬機,然后根據待評估的虛擬化環(huán)境中待部署的主要應用類型選擇一組基準測試程序,在各個虛擬機上運行基準測試程序,記錄步驟S2中所確定的對應性能指標的數值,從而得到每個性能指標Yk所對應的由一系列虛擬機的特征-性能數據(x1,x2,…,xN,yk)構成的數據樣本集Dk,其中xi表示底層環(huán)境特征Xi的取值,yk表示性能指標Yk的值;S4:對于底層環(huán)境特征與每個性能指標Yk的組合,根據其數據樣本集Dk,建立對應的特征-性能貝葉斯網,并且計算得到各個結點的條件概率表;建立特征-性能貝葉斯網的方法為:初始化一個以{X1,X2,…,XN,Yk}為結點集V、無邊的圖結構G=(V,E),即V={X1,X2,…,XN,Yk},初始化結點對列表對于由底層環(huán)境特征兩兩組成的結點對(Xi,Xj),首先根據步驟S1中的依賴標識rij進行判定,如果rij=0,則不作任何操作,否則計算其互信息;計算由底層環(huán)境特征和性能指標組成的結點對(Xi,Yk)的互信息;對于存在互信息的結點對,如果互信息大于閾值ε,則放入結點對列表L中,否則不作任何操作;對于列表L中所有的結點對,根據互信息的值由大到小進行排序;根據結點對列表L中的結點對添加邊并去除冗余邊,得到特征-性能貝葉斯網,為每個結點計算其條件概率表;S5:當在待評估的虛擬化平臺配置一個虛擬機時,根據配置信息得到該虛擬機的底層環(huán)境特征的取值,然后在步驟S4得到的各個性能指標的特征-性能貝葉斯網性能指標結點的條件概率表中,查找得到該虛擬機底層環(huán)境特征所對應的各項性能指標的最大條件概率,該最大條件概率所對應的性能指標取值即度量了虛擬機由該性能指標所衡量的性能,該虛擬機底層環(huán)境特征在性能指標結點的條件概率表中所對應的性能指標的各項可能取值表示了虛擬機性能波動的范圍,所對應的性能指標各取值的概率分布反映了該虛擬機性能波動的程度。本發(fā)明基于貝葉斯網的虛擬機底層環(huán)境特征分析與性能度量方法,根據待評估的虛擬化平臺中具體的軟硬件配置,從硬件特征、軟件特征、配置特征、運行時環(huán)境特征四個方面提取可能影響虛擬機性能的底層環(huán)境特征,然后確定需要度量的性能指標,在待評估的虛擬化平臺中配置不同底層環(huán)境特征組合的虛擬機,通過運行基準測試程序來獲取所需的性能指標數值,得到每個性能指標的特征-性能數據樣本集;根據特征-性能數據樣本集構建每個性能指標對應的特征-性能貝葉斯網,最后根據性能指標結點的條件概率表來對虛擬機的性能進行度量。本發(fā)明具有以下技術效果:(1)本發(fā)明采用貝葉斯網對虛擬機底層環(huán)境特征與性能數據進行建模,能夠有效表達性能與特征之間的依賴關系,尤其對同一物理主機上的多個虛擬機之間由于資源競爭造成的性能波動能夠用概率形式量化描述,解決云計算環(huán)境下由于虛擬機的性能具有不確定性難以準確評估虛擬機性能的問題;(2)本發(fā)明分析虛擬機實測性能數據,從數據中分析虛擬機底層環(huán)境特征之間可能存在的關系,并分析性能與各特征之間的依賴,能夠發(fā)現人工分析難以捕獲的關系;(3)借助本發(fā)明,可以在虛擬機底層環(huán)境特征與性能關系的貝葉斯網模型的基礎上度量特定虛擬機的性能,或者根據用戶的需求為用戶推薦可以達到約定性能的虛擬機配置,還可以指導虛擬機間的資源動態(tài)分配,為在云計算環(huán)境中租賃虛擬機和部署應用提供重要的基礎信息。附圖說明圖1是本發(fā)明基于貝葉斯網的虛擬機底層環(huán)境特征分析與性能度量方法的具體實施方法流程圖;圖2是本發(fā)明中特征-性能貝葉斯網的構建流程圖;圖3是本實施例得到的特征-性能貝葉斯網。具體實施方式下面結合附圖對本發(fā)明的具體實施方式進行描述,以便本領域的技術人員更好地理解本發(fā)明。需要特別提醒注意的是,在以下的描述中,當已知功能和設計的詳細描述也許會淡化本發(fā)明的主要內容時,這些描述在這里將被忽略。圖1是本發(fā)明基于貝葉斯網的虛擬機底層環(huán)境特征分析與性能度量方法的具體實施方法流程圖。如圖1所示,本發(fā)明基于貝葉斯網的虛擬機底層環(huán)境特征分析與性能度量方法包括以下步驟:S101:提取可能影響虛擬機性能的底層環(huán)境特征:根據待評估的虛擬化平臺中具體的軟硬件配置,從硬件特征、軟件特征、配置特征、運行時環(huán)境特征四個方面提取可能影響虛擬機性能的底層環(huán)境特征,記所提取到的底層環(huán)境特征數量為N,當可判定兩個底層環(huán)境特征Xi和Xj之間不存在依賴關系,則記其依賴標識rij=0,否則rij=1,其中i=1,2,…,N,j=1,2,…,N,i≠j。根據目前的虛擬化平臺,各個類型的底層環(huán)境特征分別包括如下特征:●硬件特征包括:1)物理CPU架構,主要關注多核之間的關系,多級Cache在多核之間的共享關系;2)物理CPU的主頻;3)內存的容量和主頻;4)硬盤類型和帶寬,類型主要包括IDE、SATA、SCSI、SSD等,或者網絡存儲,如NFS、NAS、SAN等。5)網絡帶寬。●軟件特征包括:1)采用的VMM軟件,主要包括主流的Xen、KVM、VMwareESXi等;2)CPU的虛擬化方式,包括半虛擬化、無硬件虛擬化支持的全虛擬化、基于硬件虛擬化支持的全虛擬化等;3)虛擬化平臺采用的CPU調度算法,若采用基于優(yōu)先級的調度,則包括為各虛擬CPU配置的調度優(yōu)先級;4)內存的虛擬化方式,包括影子頁表、全虛擬化等;5)I/O設備的虛擬化方式,包括特權虛擬機代理I/O訪問、軟件模擬I/O設備、繞過VMM直接訪問物理設備等?!衽渲锰卣靼ǎ?)虛擬機配置的vCPU個數,每個vCPU綁定到物理CPU核心的方式;2)虛擬機使用的內存容量;3)虛擬機使用的CPUCache的容量;4)虛擬機使用的虛擬硬盤類型,主要包括物理分區(qū)、LVM邏輯卷、文件(Loop設備)等?!襁\行時環(huán)境特征包括:1)同一臺物理主機上運行的虛擬機數量;2)同一臺物理主機上其他虛擬機的負載類型;3)多主機之間調整資源配置(虛擬機遷移、遠程內存訪問等)的頻度和持續(xù)時間。底層環(huán)境特征之間是否存在依賴關系是可以通過虛擬機領域的常識來獲取,例如可以判定物理CPU的架構和硬盤類型之間、虛擬機的內存容量與虛擬機的vCPU個數之間不存在相互依賴關系。而采用的VMM軟件和CPU的虛擬化方式之間、I/O設備的虛擬化方式與虛擬機使用的虛擬硬盤類型之間則會存在相互依賴關系,等等。S102:確定性能指標:根據需要確定需要度量的性能指標Yk,k=1,2,…,K,K表示性能指標數量。例如可以以基準測試程序的運行時間作為性能指標來衡量虛擬機的計算性能和訪存性能,以吞吐率、響應時間等作為性能指標來衡量虛擬機的I/O性能。S103:獲取特征-性能數據:根據步驟S101中各項底層環(huán)境特征的可能取值,在待評估的虛擬化平臺中配置不同底層環(huán)境特征組合的虛擬機。也就是說,這些虛擬機中的底層環(huán)境特征要包含步驟S101中的所有底層環(huán)境特征,并且這些虛擬機的底層環(huán)境特征取值要覆蓋步驟S101中底層環(huán)境特征的所有可能組合。然后根據待評估的虛擬化環(huán)境中待部署的主要應用類型選擇一組基準測試程序,在各個虛擬機上運行基準測試程序,記錄步驟S102中所確定的對應性能指標的數值,從而得到每個性能指標Yk所對應的由一系列虛擬機的特征-性能數據(x1,x2,…,xN,yk)構成的性能指標Yk的數據樣本集Dk,其中xi表示底層環(huán)境特征Xi的取值,yk表示性能指標Yk的值。例如可以選擇SPECCPU、PARSEC等基準測試程序,測試虛擬機的處理器計算性能和訪存性能,其對應指標為程序運行時間,還可以選擇Bonnie++、netperf等I/O密集型基準測試程序,其對應指標為吞吐率和響應時間。由于虛擬機性能受運行時環(huán)境的影響,具有不確定性,因此,每個虛擬機多次運行基準測試程序,以記錄性能的變化,每次運行后均得到一條特征-性能數據。S104:建立特征-性能貝葉斯網:貝葉斯網(BayesianNetwork,BN)是一個帶有條件概率表的有向無環(huán)圖,是不確定性知識表示和推理最有效的工具之一,被廣泛應用于數據分析、醫(yī)療診斷、經濟預測等領域。本發(fā)明采用貝葉斯網來表達虛擬機的底層環(huán)境特征之間、底層環(huán)境特征和虛擬機性能指標之間的依賴關系,并表示其依賴關系的不確定性。將特征-性能貝葉斯網用有向無環(huán)圖G=(V,E)表示,其中,V={X1,X2,…,XN,Yk},{X1,X2,…,XN,Yk}是特征-性能貝葉斯網中的所有結點;E為各特征之間、各特征與性能指標之間有向邊的集合。{X1,X2,…,XN,Yk}中的結點,若存在父結點,則用一個條件概率分布量化該結點對父結點集的概率依賴關系。顯然,對于每個性能指標,均有一個特征-性能貝葉斯網,也就是說,每個性能指標Yk都需要根據其數據樣本集Dk,構建一個特征-性能貝葉斯網。圖2是本發(fā)明中特征-性能貝葉斯網的構建流程圖。如圖2所示,本發(fā)明中特征-性能貝葉斯網的構建包括以下步驟:S201:初始化貝葉斯網:初始化一個以{X1,X2,…,XN,Yk}為結點集V、無邊的圖結構G=(V,E),即V={X1,X2,…,XN,Yk},初始化結點對列表列表L用于保存篩選出的結點對。對于V={X1,X2,…,XN,Yk}中各結點的順序,由于虛擬機的各底層環(huán)境特征之間可能存在依賴關系,例如,硬件特征的取值會影響軟件特征取值,比如硬件CPU不支持硬件虛擬化擴展,則無法使用KVM作為VMM軟件;軟件特征的取值則會影響配置特征取值,比如,I/O設備的虛擬化方式若選擇了“繞過VMM直接訪問物理設備”,則虛擬機使用的虛擬硬盤類型不會選擇“文件(Loop設備)”,等等,而虛擬機的各底層環(huán)境特征影響虛擬機性能。因此優(yōu)選的方式是按照虛擬機的硬件特征、軟件特征、配置特征、運行時環(huán)境特征順序排列各特征結點,最后是虛擬機的性能指標結點。而對于各類型特征內部,也可以規(guī)定其結點順序,例如硬件特征則可按照CPU特征、內存特征、I/O設備特征順序排列。S202:篩選結點對:在篩選結點對時,需要計算結點間的互信息。在本發(fā)明中,由于兩個特征結點可能不存在依賴關系,那么對于這些結點對,就可以直接跳過,不需要計算互信息,只有存在依賴關系的兩個特征結點,才需要計算互信息,以量化其依賴程度。而對于特征結點和性能結點構成的結點對,則需要計算全部結點對的互信息。因此,本發(fā)明中篩選結點對的具體方法為:對于由底層環(huán)境特征兩兩組成的結點對(Xi,Xj),首先根據步驟S101中的依賴標識rij進行判定,如果rij=0,則不作任何操作,如果rij=1,則根據以下公式計算其互信息:其中,P(xi)和P(xj)分別表示特征Xi的取值xi、特征Xj的取值xj在數據樣本集Dk中出現的概率,P(xi,xj)表示特征Xi的取值xi和特征Xj的取值xj同時在數據樣本集Dk中出現的概率。對于由底層環(huán)境特征和性能指標組成的結點對(Xi,Yk),根據以下公式計算其互信息:其中,P(yk)表示性能指標Yk的取值yk在數據樣本集Dk中出現的概率,P(xi,yk)表示特征Xi的取值xi和性能指標Yk的取值yk同時在數據樣本集Dk中出現的概率。對于存在互信息的結點對,根據閾值ε判定其是否加入結點對列表L。如果互信息大于ε,則放入結點對列表L中,否則不作任何操作??梢?,閾值ε的大小決定了最終模型中能夠保留何種程度的相互依賴關系,一般其取值范圍為0.01≤ε≤0.05。對于列表L中所有的結點對,根據互信息的值由大到小進行排序。互信息越大,表示對應的兩個結點之間的概率依賴關系越強,顯然I(Xi,Yk)越大,則特征Xi對性能指標Yk的影響程度越高。S203:添加邊:順序檢查列表L中的每一對結點,如(Xi,Xj),找出當前的G=(V,E)中的Xi和Xj的最小割集C(如果在G中Xi和Xj之間的所有路徑都被結點集合C所阻塞,則C是Xi和Xj的割集。若從C中去掉任何一個結點得到的C′都不能阻塞Xi和Xj之間的所有路徑,則稱集合C為Xi和Xj的最小割集),利用以下公式計算結點Xi和Xj在給定最小割集C時的條件互信息I(Xi,Xj|C):其中,P(xi,xj,c)表示特征Xi的取值xi、特征Xj的取值xj和C的取值c都在數據樣本集Dk中出現的概率,P(xi,xj|c)表示在最小割集c下特征Xi的取值xi、特征Xj的取值xj在數據樣本集Dk中同時出現的概率,P(xi|c)、P(xj|c)分別表示在最小割集c下特征Xi的取值xi、特征Xj的取值xj在數據樣本集Dk中出現的概率。若I(Xi,Xj|C)>ε,則把(Xi,Xj)添加到邊集E中。繼續(xù)檢查列表L中的下一對結點,把符合要求的結點對構成的邊添加到E中,直到檢查完所有的結點對。S204:去除冗余邊:依次檢查邊集E中的每一條邊,例如(Xi,Xj),如果Xi、Xj之間除了邊(Xi,Xj)之外,不存在其他路徑,則繼續(xù)檢查下一條邊;否則,將(Xi,Xj)從邊集E中暫時刪除,得到邊集E′。找出((V,E′)中Xi和Xj的最小割集C′,利用公式(3)計算結點Xi和Xj在給定最小割集C′時的條件互信息I(Xi,Xj|C′)。若I(Xi,Xj|C′)<ε,則令E=E′,即從邊集E中永久刪除(Xi,Xj),否則恢復這邊條(Xi,Xj)。繼續(xù)檢查E中的下一條邊。最終得到的有向無環(huán)圖G=(V,E),即為虛擬機的底層環(huán)境特征與當前性能指標的特征-性能貝葉斯網。S205:計算結點條件概率表:接下來為貝葉斯網中的每個結點計算其條件概率表。條件概率表是貝葉斯網的重要組成部分,對于結點Xi,其條件概率表中的每一行表示該結點Xi的一個取值對于其父結點集Pa(Xi)的一個可能取值組合的條件概率。本實施例中采用最大似然估計方法來計算條件概率表中的各個概率參數。其具體方法為:記特征-性能貝葉斯網的結點集為V={A1,A2,…,AN+1},其中A1,A2,…,AN是虛擬機底層環(huán)境特征,AN+1為性能指標,其中An在數據樣本集Dk中的可能取值有Rn個,n=1,2,…,N+1。An的父親結點集Pa(An)中所有結點的可能取值組合有Qn個,那么An的條件概率參數αnrq=P(An=r|Pa(An)=q),其中r表示An的可能取值序號,q表示An的父親結點集Pa(An)的可能取值序號,那么可以根據以下公式計算得到條件概率參數的最大似然估計其中,Wnrq表示數據樣本集Dk中同時滿足An=r和Pa(An)=q的樣本數量,Wnq表示數據樣本集Dk中滿足Pa(An)=q的樣本數量。根據以上步驟可知,與常規(guī)的貝葉斯網的構建流程相比,本發(fā)明在篩選結點對的步驟中根據本發(fā)明所針對對象的特點進行了適應性的處理,從而簡化了構建流程,降低了貝葉斯網構建的計算復雜度。S105:度量虛擬機性能:當在待評估的虛擬化平臺配置一個虛擬機時,根據配置信息得到該虛擬機的底層環(huán)境特征的取值,然后在步驟S104得到的各個性能指標的特征-性能貝葉斯網中性能指標結點的條件概率表中,查找得到該虛擬機底層環(huán)境特征所對應的各項性能指標的最大條件概率,該最大條件概率所對應的性能指標取值即度量了虛擬機由該性能指標所衡量的性能,該虛擬機底層環(huán)境特征在性能指標結點的條件概率表中所對應的性能指標的各項可能取值表示了虛擬機性能波動的范圍,所對應的性能指標各取值的概率分布反映了該虛擬機性能波動的程度。實施例為了更好地說明本發(fā)明的技術效果,采用一個具體的實施例對本發(fā)明進行實驗驗證。某虛擬化環(huán)境中,有如下配置的三臺主機,需要度量該環(huán)境中虛擬機的計算性能。主機1:Intelcorei5-6600(3.3GHz),DDR4213316GB內存,SATA3500GB硬盤;主機2:Intelcorei7-6700(3.4GHz),DDR4213316GB內存,SATA3500GB硬盤;主機3:AMDA10-7850K(3.7GHz),DDR3186616GB內存,SSD120GB硬盤。首先提取影響虛擬機計算性能的底層環(huán)境特征:硬件特征:CPU核心代號(取值為Skylake、Kaveri),主頻(取值為3.3GHz、3.4GHz、3.7GHz),內存主頻(取值為DDR42133MHz、DDR31866MHz),硬盤類型(SATA3、SSD)。軟件特征:CPU虛擬化類型(取值為全虛擬化、半虛擬化),CPU調度算法(取值為credit、credit2)。配置特征:虛擬CPU數量(取值為1、2、3),虛擬機內存容量(取值為500MB、1000MB、2000MB),虛擬硬盤類型(取值為分區(qū)、文件)。運行時環(huán)境特征:同時運行的虛擬機個數(取值為0、1、2、4),同時運行的虛擬機負載類型(取值為“無負載”、“計算密集”、“數據密集”、“I/O密集”、“混合”)。在本文件中,為了簡化描述,對于以上特征進行了篩選,并且每個特征僅使用較小的值域,所選用的特征包括:特征X1為CPU主頻(取值為3.3,3.4),特征X2為虛擬機內存容量(取值為1000、2000),特征X3為同時運行的虛擬機個數(取值為0、1),特征X4為同時運行的虛擬機負載類型(0代表未運行負載,1代表計算密集,2代表數據密集)。為便于描述,本實施例中只選擇一個性能指標,即以基準程序的運行時間離散化后作為性能指標Y。本實施例中按照硬件特征、軟件特征、配置特征、運行時環(huán)境特征、性能指標的順序排列各結點,得到結點序為X1、X2、X3、X4、Y。利用虛擬機領域常識可以判斷得到:(X1,X2)、(X1,X3)、(X1,X4)、(X2,X3)和(X2,X4)等各結點對不相關,即不存在依賴關系,那么對應依賴標識為0,剩余特征對(X3,X4)的依賴標識為1。配置不同底層環(huán)境特征組合的虛擬機,運行一組計算密集型基準測試程序,以程序運行總時間作為衡量計算性能的指標。顯然,特征-性能數據樣本集越大,則該性能度量結果越準確。本實施例中為了便于描述,采用16項數據樣本。表1是本實施例中所獲取的數據樣本集。X1X2X3X4YD13.310000065D23.310001170D33.310001265D43.310001270D53.320000060D63.320001165D73.320001160D83.320001265D93.410000060D103.410001165D113.410001265D123.410001265D133.420000055D143.420001160D153.420001155D163.420001260表1對于由底層環(huán)境特征兩兩組成的結點對(Xi,Xj),首先判定其依賴標識。顯然本實施例中依賴標識為1的特征對僅有(X3,X4),因此根據表1中數據可得其互信息為:計算由底層環(huán)境特征和性能指標組成的結點對(Xi,Yk)的互信息,以結點對(X1,Y)為例,根據表1中數據可得其互信息為:同理可得:I(X2,Y)=0.40、I(X3,Y)=0.12、I(X4,Y)=0.16。本實施例中設置閾值ε=0.01,將互信息大于ε的結點對放入列表L中,并按照互信息值降序排列,得到L={(X3,X4),(X2,Y),(X1,Y),(X4,Y),(X3,Y)}。順序檢查列表L中的每一對結點,如(X3,X4),在當前G=(V,E)中X3和X4的最小割集則條件互信息I(X3,X4|C)=0.81,由于I(X3,X4|C)>ε,因此,把邊(X3,X4)添加到邊集E中。按以上操作過程繼續(xù)檢查列表L中的下一對結點,依次將(X2,Y),(X1,Y),(X4,Y)添加到邊集E中。當檢查到(X3,Y)時,在當前G=(V,E)中X3和Y的最小割集C={X4},計算其條件互信息為:I(X3,Y|{X4})>ε,因此,把(X3,Y)添加到邊集E,L中的結點對檢查完畢,得到E={(X3,X4),(X2,Y),(X1,Y),(X4,Y),(X3,Y)}。然后順序檢查E中的每一條邊,如(X3,X4),檢查發(fā)現X3和X4之間不存在其他路徑,則繼續(xù)檢查下一條邊。當檢查到(X3,Y)時,發(fā)現X3和Y之間還存在其他路徑,則將(X3,Y)從E中暫時刪除,得到E′,找出G'=(V,E')中X3和Y之的最小割集C'={X4},計算條件互信息I(X3,Y|{X4})=0.07,由于I(X3,Y|{X4})>ε,則邊集E中依然保留(X3,Y)。檢查完畢后,得到最終的邊集,E={(X3,X4),(X2,Y),(X1,Y),(X4,Y),(X3,Y)}。當前的G=(V,E)即虛擬機特征與性能指標的貝葉斯有向無環(huán)圖結構。然后采用最大似然估計法計算各個結點的條件概率表。表2是本實施例中性能指標的條件概率表。表2同理可得其它結點的條件概率表。圖3是本實施例得到的特征-性能貝葉斯網。如圖3所示,該貝葉斯網表達了虛擬機各底層環(huán)境特征之間、各底層環(huán)境特征與性能之間的依賴關系。接下來就可以通過該貝葉斯網進行虛擬機的性能度量。在主機1上配置一個虛擬機,則其CPU主頻取值為3.3GHz,即X1=3.3,虛擬機使用2000MB內存空間,即X2=2000,該虛擬機獨立在主機1上運行,即X3=0、X4=0,則查結點Y的條件概率表,當X1=3.3,X2=2000,X3=0、X4=0時,找到P(Y|X1,X2,X3,X4)中最大的條件概率,得到P(Y=60|X1=3.3,X2=2000,X3=0,X4=0)=1.0,則以基準測試程序運行時間作為性能指標,度量該虛擬機的性能為60。類似的,在主機2上配置一個虛擬機,配置X1=3.4,X2=2000,X3=1、X4=1時,結點Y的條件概率表中有P(Y=55|X1=3.4,X2=2000,X3=1,X4=1)=0.5,P(Y=60|X1=3.4,X2=2000,X3=1,X4=1)=0.5。因此,以基準測試程序運行時間作為性能指標,度量該虛擬機的性能,其性能以50%與50%的概率在{55,60}波動。盡管上面對本發(fā)明說明性的具體實施方式進行了描述,以便于本
技術領域:
的技術人員理解本發(fā)明,但應該清楚,本發(fā)明不限于具體實施方式的范圍,對本
技術領域:
的普通技術人員來講,只要各種變化在所附的權利要求限定和確定的本發(fā)明的精神和范圍內,這些變化是顯而易見的,一切利用本發(fā)明構思的發(fā)明創(chuàng)造均在保護之列。當前第1頁1 2 3