
本說明書涉及通過消費者的計算工作負載來估計和管理資源消耗,以及標識和實現提高工作負載性能的工作負載合并和資源分配策略。本說明書還涉及通過高效的工作負載合并策略提高用戶體驗并增加云提供方的收益。
背景技術:云計算使用戶能夠在需要時訪問大型計算池以及存儲資源,減輕商家(例如,云消費者)的管理負擔,并保持信息技術(IT)資產。云提供方使用虛擬化技術(例如,)通過合并工作負載和應用資源分配來滿足消費者提交的工作負載。合并和分配設置通常是靜態的,并依賴于固定的規則,這些規則通常不考慮工作負載的實時資源使用特性,更不用說對工作負載的性能影響。當前系統基于使用或者保留的資源量對云消費者進行收費,其中僅有最低的關于云消費者的應用(例如,工作負載)體驗的服務質量(QoS)以及由此的應用用戶的體驗的保證。因此,云消費者尋求如下有吸引力的云提供方,其提供資源(例如,足夠量的硬件基礎結構)以滿足用于云消費者的工作負載的最大等級的QoS保證。隨著虛擬化技術在云提供方中的激增,將多個云消費者的應用合并到多核服務器上提高用于云提供方的資源利用。現有的工具使用具有靜態規則的隨機供應,這可能引起不良工作負載性能(例如,不滿足用于云消費者的工作負載的QoS保證),和/或低效資源利用,并手動執行應用分析和資源調整。此外,多個云消費者的應用(例如,工作負載)的合并在同地共置的(colocated)工作負載之間引入了性能干擾,這明顯影響每個合并的用戶的應用工作負載的QoS。
技術實現要素:工作負載分析器和性能干擾(WPPI)系統使用用于表征可能不被云提供方識別的消費者工作負載的識別的工作負載(例如,一組基準工作負載)、資源估計分析器和影響矩陣的測試套件,以及用于最大化(例如,優化)有效工作負載分配的從屬關系規則以滿足工作負載QoS目標。WPPI系統可以重新剖析WPPI系統沒有識別的之前剖析的工作負載以便推斷工作負載的特性,因為提供方可能未直接識別或知曉消費者工作負載。WPPI系統還使用性能干擾模型來預測(例如,預報)對各種合并方案的工作負載的性能影響。WPPI系統使用從屬關系規則和性能干擾模型來確定最佳的和次佳的分配和合并方案,其可以被用來實現云提供方和/或云消費者目標。WPPI系統可以使用識別的工作負載、資源估計分析器和影響矩陣的測試套件,從屬關系規則,以及性能干擾模型,來執行離線建模以確定初始分配選擇和合并策略(例如,方案)以用來部署工作負載。WPPI系統還可以是在線合并算法,其使用離線模型(例如,資源估計分析器、影響矩陣、從屬關系規則,和性能干擾模型)和在線監測來確定響應于實時條件(例如,用戶需求和資源的可用性)的最佳的和次佳的虛擬機到物理主機分配,以便滿足云提供方和/或云消費者目標。根據對以下附圖和具體實施方式的分析,其他系統、方法和特征對于本領域技術人員將是或將變得顯而易見。所有這些附加的系統、方法和特征都旨在于被包括在本說明書中,在本公開內容的范圍內,以及通過以下權利要求進行保護。附圖說明通過參考以下附圖和說明,可以更好地理解用于QoS感知云的工作負載分析器和性能干擾(WPPI)系統和方法。參考以下附圖描述了非限制性和非窮盡的描述。附圖中的組件不一定是按照比例的,相反重點在于示例性的原則。在附圖中,除非另有說明,相同的參考數字貫穿不同附圖指代相同部分。圖1示出了工作負載分析器和性能干擾(WPPI)配置。圖2示出了WPPI系統可以標識用于合并云消費者的工作負載(例如,應用)的云提供方的類型。圖3示出了WPPI系統可以分析的資源和資源競爭的類型。圖4示出了WPPI系統用來確定工作負載性能干擾和合并方案的邏輯的流程圖。圖5示出了WPPI系統確定用來優化工作負載合并和資源利用的工作負載簡檔的圖形表示。圖6示出了WPPI系統可以用來確定資源使用簡檔估計的邏輯。圖7示出了WPPI系統可以用來標識用于資源的從屬關系映射到工作負載的映射的模糊邏輯。圖8示出了WPPI系統可以用來計算用于工作負載的擴大因子的影響矩陣。圖9示出了WPPI系統可以用來優化工作負載的數量和最大化提供方收益的邏輯。圖10示出了WPPI系統可以用來確定工作負載合并以及最大化云提供方收益的虛擬機(VM)規范。圖11示出了展現識別的工作負載簡檔(工作負載簽名)的測試套件工作負載。圖12示出了由WPPI系統用來計算合并的工作負載的退化的性能干擾模型驗證。圖13示出了由WPPI系統用來計算合并的工作負載的退化的另一性能干擾模型驗證。圖14示出了WPPI系統可以生成以優化提供方收益的分析。圖15示出了在提議的工作負載合并之前和之后的工作負載映射。圖16示出了云消費者提交的應用的軟截止期限。圖17示出了由WPPI系統確定用于多個云消費者提交的應用的合并置換。圖18示出了指示合并策略是否滿足工作負載的QoS保證的視覺指示符。圖19示出了提交給WPPI系統以確定合并策略的附加應用。圖20示出了合并策略,其中至少一個云消費者提交的工作負載未能滿足工作負載的QoS保證。圖21示出了合并和工作負載遷移策略,其滿足云消費者提交的工作負載的QoS保證,并最大化云提供方的收益。圖22示出了第2種情況的合并策略,其滿足云消費者提交的工作負載的QoS保證,并最大化云提供方的收益。具體實施方式這里描述的原則可以按照多種不同形式進行具體化。然而,并不要求全部描述的組件,并且某些實現方式可以包括附加的、不同的、或者更少的組件。可以對布置和組件類型進行變化,而不脫離如這里闡明的權利要求的精神或范圍。此外,可以提供不同的或者更少的組件。圖1示出了工作負載分析器和性能干擾(WPPI)配置100,其包括WPPI系統102。WPPI系統102包括耦合到存儲器106的處理器104,其使用通信接口108經由網絡110(例如,因特網)與WPPI配置100中的各種組件進行通信。工作負載WPPI系統102使用識別的工作負載112、資源估計分析器114和影響矩陣116的測試套件以表征工作負載(118、120),以及用于標識最佳的和次佳的工作負載分配124的從屬關系規則122以實現消費者服務質量(QoS)保證126和/或提供方收益目標128。WPPI系統102使用性能干擾模型130來預測對可用于實現云提供方134和/或云消費者136目標(126、128)的各種合并方案(例如,合并策略132)的工作負載(118、120)的性能影響,并使用識別的工作負載112、資源估計分析器114和影響矩陣116的測試套件、從屬關系規則122,以及性能干擾模型130來執行離線建模以確定初始分配124選擇和合并策略132以用來部署工作負載(118、120)。WPPI系統102使用在線合并算法138,離線建模工具(114、116、122、130)和在線監測來確定響應于實時條件的虛擬機到物理主機分配140以滿足云提供方134和/或云消費者136目標(126、128)。WPPI系統102可以調整從屬關系規則122以平衡云消費者136的目標126和服務提供方134的目標128。最大化提供方的收益可以被計算為被收集用于運行工作負載(118、120)和滿足QoS保證126的費用小于用于提供用于滿足QoS保證126的硬件基礎結構資源(144、146、148、150、160)的成本142。云消費者136可以支付額外費用來影響一個或多個從屬關系規則122的實施。備選的,并非支付一定量的金錢作為額外費用,云消費者136可以評價云消費者的工作負載(118、120)以標識用于云消費者136的工作負載的優先級排序152。從歷史上說,在使用多個應用的運行時期間監測,當觀察到兩個應用展現出資源競爭問題時,則設置規則指示應用應該從使用相同的資源分離出來。通常,這種觀測的展現出資源競爭和規則設置是人工(human-in-the-loop)進行的。相反,WPPI系統102使用性能干擾模型130來自動確定可以使用相同或者不同硬件基礎結構資源(144、146、148、150、160)而被最佳執行的工作負載類型(118、120、112、154)。干擾模型130向使用硬件基礎結構資源(144、146、148、150、160)來一起分析以用于執行的多個工作負載(118、120、112、154)提供估計的擴大因子156(例如,乘法器,其指示性能退化,該性能退化可以根據性能干擾164的百分比來表示,該百分比通過一起執行多個工作負載而產生)。WPPI系統102應用擴大因子到資源使用簡檔,WPPI系統102將該簡檔翻譯為保持QoS保證所需的所需的要求的資源,包括用于處理的時間或者準確度(例如,使用從訓練退回的資源時間關系)。除了時間作為QoS度量,QoS度量還可以包括其他度量,諸如工作準確度(例如,在MonteCarlo仿真中,當沒提供了不充足的資源時,在固定時間量之后,與分配了所需要的擴大資源的情況相比,仿真的準確度會更低)。時間作為QoS度量,還可以應用到完成交易、處理請求或者完成批任務所要求的時間。擴大比較單獨運行在機器上的工作負載的QoS與當該工作負載在共享的并置環境中操作時保持相同QoS所需的要求的資源。與測量CpU或者多個工作負載所要求的存儲器的最后級緩存的歷史性能干擾模型相比,當前的性能干擾模型130跨用于多個工作負載(112、118、120)的多類型的資源(例如,CpU、緩存、網絡帶寬、儲存器)(144、146、148、150、160)提供定量分析,以及用于滿足工作負載的多個置換的QoS保證126的那些硬件基礎結構資源(144、146、148、150、160)的時間變量特征。工作負載資源利用配置文件可以被表示為時間序列資源簡檔向量158,從而使得例如被標識為CPU密集型的兩個工作負載(118、120)可以被組合以使用CPU,因為相應的兩個工作負載(118、120)的時間序列CPU利用在不同時間要求CPU。例如,當同地共置第一工作負載118和第二工作負載120以使用相同集合的物理資源(144、146、148、150、160)執行時,擴大156指示工作負載(118、120)可能如何相互干擾。WPPI系統102捕獲這種干擾,作為在用于獨自執行單個工作負載所需的那些資源之上的執行兩個工作負載所需的附加物理資源量。例如,當工作負載‘A’獨自需要10%的資源,并且B獨自需要10%,但是當組合時,‘A’需要15%并且‘B'需要12%。在這個示例中,由于與‘B’并置,‘A’的擴大因子是1.5,并且由于‘A’,‘B’的擴大因子是1.2。當并置時,工作負載‘A'和‘B'一起消耗了27%的物理資源。應用相同的邏輯,通過在用于獨自執行單個工作負載所需的那些資源之上的執行全部工作負載(例如,主體工作負載和來自群組的其他工作負載)所需的附加物理資源量捕獲一組其他的工作負載的干擾。當物理資源不能容納用于工作負載的附加的擴大因子時,那么干擾的結果是退化的QoS,這可能包括性能退化、準確度缺失、或者用于工作、交易或工作負載的時間的附加延遲。WPPI系統102可能不直接將合并方案與QoS度量相關。WPPI系統102將合并方案映射到用于使用預測模型來預測QoS度量的應用資源使用簡檔(通過擴大因子)。例如,當第一應用(例如,工作負載118)是CPU密集型并且第二應用(例如,工作負載120)是存儲器密集型時,同地共置第一應用和第二應以使用相同的服務器(例如,資源146)將導致所需物理資源總量的增加(例如,擴大值156),用作在用于執行第一應用的工作負載所需的資源中的采取百分比增加形式的乘數。擴大因子是資源使用簡檔中度量的乘數,并且WPPI系統102使用擴大因子調整資源使用簡檔,WPPI系統102繼而使用新的簡檔來預測應用性能。例如,當單獨操作時第一應用所需資源R0在將第二應用分配給相同服務器時被影響增加15%擴大(156)到所需資源量R1,其被計算為R0乘以擴大(156)1.15,或者R0×1.15=R1,其為當第一應用和第二應用被同地并置以使用相同基本物理資源時第一應用的所需資源。由第一應用使用的資源(R0)將被擴大為R1=1.15×R0,這里1.15是擴大因子,擴大因子、R0和R1是標量。通常,擴大因子可以是與資源度量相同維度的向量,所以每個資源度量存在一個擴大值。例如,考慮到擴大因子向量(例如,1.15和1.05),其中第一資源度量被擴大15%并且第二資源度量被擴大5%。資源向量可以是時間或者時間序列的函數(例如,RO(t))。WPPI系統可以訓練函數以將資源使用映射到執行時間。當WPPI系統更新資源使用簡檔時,WPPI系統將資源使用簡檔插入到資源-時間關系中以用于估計新應用執行時間。從屬關系規則122使用擴大156,工作負載類型(118、120、112、154),以及對資源(144、146、148、152、160)的工作負載類型的映射的置換(例如,合并策略132)以便確定最佳映射以滿足工作負載的QoS保證126,并提高提供方134的收益目標128。對于每個工作負載類型(118、120、112、154)向資源簡檔向量158應用擴大156乘數標識工作負載的組合的最佳映射以及滿足工作負載的QoS保證126的資源映射(例如,合并策略132)。給定由工作負載(118、120、112、154)展現出的工作負載的類型,WPPI系統102使用從屬關系規則122提供最佳映射以確定滿足工作負載的QoS保證的工作負載的組合和資源映射。WPPI系統102使用離線分析來配置工作負載的初始部署(140)并監測工作負載隨時間的變化(例如,工作負載簡檔可以隨時間改變工作負載類型)。資源估計分析器114使用時間序列方式以預測工作負載簡檔。例如,工作負載(118、120、112、154)可能具有季節性簡檔(例如,用于web服務器應用的假日零售購物對比夏季交易)。對比WPPI系統102,當前的虛擬化環境(例如,web服務器農場)監測系統(例如,系統)實時監測工作負載性能,而無如提議的由工作負載簡檔提供的離線分析的益處。這些當前的虛擬化環境監測系統基于需求實時反應并進行調整(例如,以保守方式再平衡工作負載)。然而,在當前的虛擬化環境監測系統再平衡工作負載之后,提供方仍可以觀察隨時間過去(例如,時間序列系數)的工作負載的資源使用(例如,虛擬機VM)變化,而無自動預期此類變化和/或提前有效地前攝地進行調整。因此,當前的虛擬化環境監測系統不提供與由WPPI系統102提供的資源供應相同水平的資源供應。WPPI系統102實時調整資源估計(例如,當應用被在線執行時工作負載簡檔改變)。工作負載可以包括web服務器應用、數據庫服務器、應用服務器和批處理任務。在在線模式中,WPPI系統102開始對提交的工作負載(118、120)的部署,并且WPPI系統102應用模型(例如,資源估計分析器模型114、性能干擾模型130、影響矩陣116、以及從屬關系規則122)以開始執行工作負載(118、120),繼而使用由工作負載(118、120)的實時表征調整的歷史資源估計簡檔166實時調整工作負載(118、120)。在在線模式期間,使用實時數據再校準工作負載簡檔(例如,資源使用簡檔估計166),并且工作負載簽名可以因此被修正和/或更新。用于工作負載的資源估計簡檔166,以及由工作負載(118、120)使用的資源(例如,硬件基礎設施資源-服務器故障切換到另一個服務器)可以在在線模式期間改變。因此,在在線模式期間,從屬關系規則122實時映射(例如虛擬機到物理主機分配140)資源(144、146、148、150、160)到一組計算需求(例如,對CPU、RAM和緩存存儲器和磁盤儲存器的數量以及網絡帶寬的工作負載需求)。資源(144、146、148、150、160)可以改變用于計算需求所映射到的可用資源數量(容量)和類型(特性)。然而,因為WPPI系統102在離線模式期間對工作負載(例如,計算需求)所映射到的的資源變化進行再計算,WPPI系統102立即并且有效地適配從屬關系規則將計算需求映射到的資源的數量(容量)和類型(特性)的變化。云消費者136可以影響由WPPI系統102執行的優化功能以標識用于使用的從屬關系規則映射,這根據目標是否容納盡可能多的工作負載,或者基于用于標識優選的工作負載的排序優先級(排序152)的應用于由云消費者136提交的工作負載的某些加權,以便基于由云提供方資源執行的工作負載標識最大化云提供方收益的資源映射。WPPI系統102提供性能干擾模型,其可以由云提供方用來優化收益以及改善資源利用。云消費者的工作負載(118、120)(例如,應用)可以包括多個從屬業務,每個從屬業務可以被映射到獨立的VM(140)中。WPPI系統102可以評估云消費者的工作負載(例如,應用)的一個或多個服務質量(QoS)度量126(例如,響應時間)。如果應用在工作負載的截止期限(126)之前完成,則云消費者136和/或WPPI系統102向提供方134分配值。從歷史上說,資源管理系統考慮到由于資源競爭產生的性能退化,其中資源競爭是由合并多個應用到單個處理器上而產生的。然而,WPPI系統102提供一種方法來標識由同地共置以共享資源(例如,I/O資源、存儲器和/或最后級緩存)的使用的多個工作負載(例如,兩個I/O密集型應用)所經歷的性能干擾164。用于工作負載的資源使用(166)是隨時間變化的,因為工作負載隨時間是動態的。當工作負載競爭相同類型的資源時,多個同地共置的應用(例如,工作負載118、120)的性能是否被嚴重影響取決于工作負載的資源使用簡檔(158、166)(例如,工作負載簡檔158、166)的特性。例如,WPPI系統102可以使用資源使用估計簡檔166來確定是否合并工作負載(118、120),因為工作負載的各自的峰值資源利用(126)在不同時間達到峰值。云提供方134接受云消費者提交的工作負載(118、120)以用于使用云提供方134的資源(144、146、148、150、160)執行。云提供方134可以試圖容納盡可能多的工作負載,并同時滿足用于每個云消費者136的QoS保證126。云消費者的QoS要求126可以包括用于完成特定工作或任務的截止期限,CPU數量、存儲器數量、在特定時間量中使用的實際資源。WPPI系統102向云提供方134提供一種方式來遞送更高的用于消費者工作負載的QoS126的保證,同時增強用于滿足用于消費者136工作負載(118、120)的QoS保證126的資源分配(140)的效率。工作負載分析器114自動表征消費者提交的工作負載(118、120),并且優化用于滿足用于消費者136工作負載(118、120)的QoS126的保證所需要的工作負載到資源分配(138、140)。WPPI系統102使用工作負載資源估計分析器114,從屬關系規則122、影響矩陣116和性能干擾模型130,并可以提供工作負載(118、120)的自動供應。WPPI系統102在線執行對合并配置(124、132、140)的實時調整以便實現更好的資源利用,并由此允許云提供方136優化資源利用(例如,避免由于低效資源利用造成的資源成本142并執行工作負載來提高提供方的收益)。云提供方134可以不知曉預期的工作負載(例如,需求),或者云消費者的工作負載的工作負載資源使用簡檔166,直到云消費者136提交工作負載(118、120)以用于由云提供方的資源執行。WPPI系統102向云消費者136提供一種方式來估計(例如,建模)用于所提交的工作負載的工作負載資源使用簡檔166并將提交的工作負載映射(124、132、140)到實際物理資源(144、146、148、150、160)。WPPI系統102應用從屬關系規則122以確定資源到工作負載映射(140、122、132)以標識滿足一個或多個功能(126、128)的最佳的和次佳的映射。例如,WPPI系統102使用模型(114、130、116)和從屬關系規則122來優化滿足的工作負載的QoS保證126的數量,或者當成本與每個工作負載相關聯時,則優化可以通過處理工作負載生成收益(例如,128)。優化工作負載的數量可以包括相等地加權工作負載的優先級值,或者基于可以通過執行每個工作負載生成的收益加權工作負載的優先級值(152),或者這兩者。WPPI系統102使用離線模式和在線模式在對分配的(140)提供方資源(144、146、148、150、160)進行部署之前確定用于云消費者的工作負載的優化資源映射,并在運行時期間作為響應調整資源分配(124、132、140)、合并以及遷移決定。WPPI系統102執行分析以訓練一個或多個模型(例如,工作負載資源估計分析器114模型、性能干擾模型130、影響矩陣116、以及從屬關系規則122)以針對每個云消費者提交的工作負載(118、120)確定最佳和次佳的資源映射(124、132、140)以用來滿足QoS保證126和/或提供方收益目標(128)。代替基于服務器為中心的供應,工作負載資源估計分析器114模型標識資源(例如,展現出某種特性、容量和/或能力的服務器)以滿足服務為中心的QoS度量126。WPPI系統102使用一個或多個模型來預測云消費者的工作負載的性質和特性的變化,用戶的需求,和云資源可用性。工作負載資源估計分析器114模型提供一種能力,其根據基于監測的數據的資源使用來估計消費者提交的工作負載(118、120)。工作負載資源估計分析器114模型將由云消費者136提交的工作負載(118、120)在時間上(例如CPU、存儲器、磁盤和網絡的利用)表征為工作負載利用資源(例如資源使用度量168)。云提供方134可能預先不知道工作負載...