亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

計(jì)算節(jié)點(diǎn)集群中的工作負(fù)載之間的交叉干擾的識(shí)別的制作方法

文檔序號(hào):12463638閱讀:307來源:國(guó)知局
計(jì)算節(jié)點(diǎn)集群中的工作負(fù)載之間的交叉干擾的識(shí)別的制作方法與工藝

本申請(qǐng)要求提交于2015年11月22日的美國(guó)臨時(shí)專利申請(qǐng)62/258,473的權(quán)益,其公開內(nèi)容通過引用并入本文。

發(fā)明領(lǐng)域

本發(fā)明總體涉及計(jì)算節(jié)點(diǎn)集群,并且具體來說,涉及用于工作負(fù)載的布置的方法和系統(tǒng)。

發(fā)明背景

機(jī)器虛擬化經(jīng)常用于各種計(jì)算環(huán)境,諸如用于數(shù)據(jù)中心和云計(jì)算。在本領(lǐng)域中已知各種虛擬化方案。例如,VMware公司(加利福尼亞,帕洛阿爾托)提供了用于諸如數(shù)據(jù)中心、云計(jì)算、個(gè)人臺(tái)式機(jī)和移動(dòng)計(jì)算的環(huán)境的虛擬化軟件。

發(fā)明概述

在本文中描述的本發(fā)明的實(shí)施例提供了包括監(jiān)視在多個(gè)計(jì)算節(jié)點(diǎn)上運(yùn)行的多個(gè)工作負(fù)載的性能的方法。針對(duì)工作負(fù)載中的至少一些工作負(fù)載,建立了異常性能事件的相應(yīng)的時(shí)間序列。通過比較時(shí)間序列中的兩個(gè)或更多個(gè)時(shí)間序列,將選擇出的工作負(fù)載布置在選擇出的計(jì)算節(jié)點(diǎn)上,從而降低在工作負(fù)載中的兩個(gè)或更多個(gè)工作負(fù)載之間的交叉干擾。

在一些實(shí)施例中,比較時(shí)間序列包括:通過檢測(cè)第一工作負(fù)載和第二工作負(fù)載的相應(yīng)的第一時(shí)間序列和第二時(shí)間序列展示異常性能事件的同步發(fā)生,識(shí)別在第一工作負(fù)載和第二工作負(fù)載之間的交叉干擾。在實(shí)施例中,布置選擇出的工作負(fù)載包括:響應(yīng)于識(shí)別到交叉干擾,將第一工作負(fù)載和第二工作負(fù)載中的一個(gè)工作負(fù)載遷移到不同的計(jì)算節(jié)點(diǎn)。在另一實(shí)施例中,該方法還包括:識(shí)別異常性能事件中的一些異常性能事件與交叉干擾不相關(guān),并且從時(shí)間序列的比較中忽略所識(shí)別出的異常性能事件。

在一些實(shí)施例中,比較時(shí)間序列包括:通過將多對(duì)時(shí)間序列進(jìn)行比較,評(píng)估在第一類型的工作負(fù)載和第二類型的工作負(fù)載之間典型的交叉干擾,其中,每對(duì)包括第一類型的時(shí)間序列和第二類型的時(shí)間序列。在示例實(shí)施例中,布置選擇出的工作負(fù)載包括:制定第一類型的工作負(fù)載的和第二類型的工作負(fù)載的布置規(guī)則。在所公開的實(shí)施例中,比較多對(duì)時(shí)間序列是在多個(gè)第一類型的工作負(fù)載上、多個(gè)第二類型的工作負(fù)載上以及多個(gè)計(jì)算節(jié)點(diǎn)上執(zhí)行的。在實(shí)施例中,比較時(shí)間序列包括:通過相應(yīng)的簽名表示時(shí)間序列,并且比較簽名。

根據(jù)本發(fā)明的實(shí)施例,另外提供了包括接口和一個(gè)或多個(gè)處理器的系統(tǒng)。接口被配置成用于與多個(gè)計(jì)算節(jié)點(diǎn)進(jìn)行通信。處理器被配置成監(jiān)視在多個(gè)計(jì)算節(jié)點(diǎn)上運(yùn)行的多個(gè)工作負(fù)載的性能,以建立關(guān)于工作負(fù)載中的至少一些工作負(fù)載的異常性能事件相應(yīng)的時(shí)間序列,并且通過比較時(shí)間序列中的兩個(gè)或更多個(gè)時(shí)間序列,將選擇出的工作負(fù)載布置在選擇出的計(jì)算節(jié)點(diǎn)上,從而降低在工作負(fù)載中的兩個(gè)或更多個(gè)工作負(fù)載之間的交叉干擾。

根據(jù)本發(fā)明的實(shí)施例,還提供了一種計(jì)算機(jī)軟件產(chǎn)品,該產(chǎn)品包括程序指令儲(chǔ)存于其中的有形的非暫時(shí)性計(jì)算機(jī)可讀介質(zhì),該指令在由一個(gè)或多個(gè)處理器讀取的時(shí)候,使得一個(gè)或多個(gè)處理器監(jiān)視在多個(gè)計(jì)算節(jié)點(diǎn)上運(yùn)行的多個(gè)工作負(fù)載的性能,以建立關(guān)于工作負(fù)載中的至少一些工作負(fù)載的異常性能事件的相應(yīng)的時(shí)間序列,并且通過比較時(shí)間序列中的兩個(gè)或更多個(gè)時(shí)間序列,將選擇出的工作負(fù)載布置在選擇出的計(jì)算節(jié)點(diǎn)上,從而降低在工作負(fù)載中的兩個(gè)或更多個(gè)工作負(fù)載之間的交叉干擾。

根據(jù)以下結(jié)合附圖進(jìn)行的本發(fā)明的實(shí)施例的詳細(xì)描述,本發(fā)明將被更徹底地理解,其中:

附圖簡(jiǎn)述

圖1為根據(jù)本發(fā)明的實(shí)施例示意性示出計(jì)算系統(tǒng)的方框圖;

圖2為根據(jù)本發(fā)明的實(shí)施例示意性示出圖1中的計(jì)算系統(tǒng)的元素的方框圖;

圖3為根據(jù)本發(fā)明的實(shí)施例,示出在一段時(shí)間中異常的VM性能的示例的曲線圖;并且

圖4為根據(jù)本發(fā)明的實(shí)施例,示意性示出用于基于在一段時(shí)間中異常性能的比較進(jìn)行的VM布置的方法的流程圖。

具體實(shí)施方式

概述

本發(fā)明的實(shí)施例提供了用于在包括多個(gè)互連的計(jì)算節(jié)點(diǎn)的系統(tǒng)中的工作負(fù)載的布置的改進(jìn)技術(shù)。每個(gè)工作負(fù)載消耗其運(yùn)行所在的計(jì)算節(jié)點(diǎn)的物理資源,例如,存儲(chǔ)器、儲(chǔ)存器、CPU和/或網(wǎng)絡(luò)資源。在系統(tǒng)中運(yùn)行的工作負(fù)載通常是各種類型的,并且每種類型的工作負(fù)載的特征在于資源消耗的不同分布。

在相同節(jié)點(diǎn)上運(yùn)行的工作負(fù)載可能造成相互交叉干擾,例如,在相同時(shí)間的資源競(jìng)爭(zhēng)的時(shí)候。工作負(fù)載布置決定對(duì)于系統(tǒng)中的交叉干擾的程度具有相當(dāng)大的影響,并且因此對(duì)于整個(gè)系統(tǒng)性能具有相當(dāng)大的影響。然而,交叉干擾的程度是極為難以被估計(jì)或者預(yù)測(cè)的。例如,在運(yùn)行大量工作負(fù)載的計(jì)算節(jié)點(diǎn)中,識(shí)別造成交叉干擾的工作負(fù)載、以及受此影響的工作負(fù)載是極為復(fù)雜的。

在本文中描述的技術(shù)識(shí)別了有可能造成相互交叉干擾的工作負(fù)載的類型。這個(gè)識(shí)別是基于在各種工作負(fù)載中發(fā)生的異常性能事件的檢測(cè)和相互關(guān)系。潛在的假設(shè)是:在大約相同時(shí)間經(jīng)歷異常性能事件的工作負(fù)載同樣有可能遭受相互的交叉干擾。通常應(yīng)將這些工作負(fù)載分離,并且并不放置在相同的計(jì)算節(jié)點(diǎn)。

在一些實(shí)施例中,系統(tǒng)在一段時(shí)間中監(jiān)視各種工作負(fù)載的性能,并且識(shí)別異常性能事件。異常性能事件通常涉及工作負(fù)載脫離其基線或者期望性能的短周期時(shí)間。對(duì)于工作負(fù)載中的至少一些工作負(fù)載,該系統(tǒng)建立了異常性能事件的相應(yīng)的時(shí)間序列。

通過比較不同工作負(fù)載的時(shí)間序列,該系統(tǒng)識(shí)別了有可能造成相互交叉干擾的工作負(fù)載(通常是成對(duì)的工作負(fù)載)。通常,在其中在大致相同的時(shí)間發(fā)生異常性能事件的工作負(fù)載被懷疑為具有交叉干擾,并且反之亦然。在一些實(shí)施例中,系統(tǒng)通過在長(zhǎng)時(shí)間周期中以及在多個(gè)計(jì)算節(jié)點(diǎn)上檢查時(shí)間序列,來評(píng)估可能的交叉干擾。通常,交叉干擾關(guān)系是在工作負(fù)載的類型之間被確定的,而不是在各個(gè)工作負(fù)載實(shí)例之間被確定的。然后,交叉干擾評(píng)估被用于以降低在工作負(fù)載之間的交叉干擾的方式布置工作負(fù)載。

應(yīng)注意到,所公開的技術(shù)識(shí)別并比較在各個(gè)工作負(fù)載中發(fā)生的異常性能事件,而與在計(jì)算節(jié)點(diǎn)中的異常資源消耗作為整體截然不同。正因如此,所公開的技術(shù)幾乎不檢測(cè)潛在的布置問題或者瓶頸,但仍然提供用于解決潛在的布置問題或者瓶頸的可操作的信息。

在本文中描述的方法和系統(tǒng)對(duì)于識(shí)別并且降低在工作負(fù)載之間的交叉干擾高度有效。作為結(jié)果,資源(諸如,存儲(chǔ)器、儲(chǔ)存器、網(wǎng)絡(luò)和計(jì)算能力)被有效利用。所公開的技術(shù)有助于廣泛的各種環(huán)境中,例如,在其中交叉干擾造成租戶為他們并沒有使用的計(jì)算資源付費(fèi)的多租戶數(shù)據(jù)中心中。

雖然在本文中描述的實(shí)施例主要指的是虛擬機(jī)(VM)的布置,然而,所公開的技術(shù)可以以類似的方式被用于其他類型的工作負(fù)載(諸如,操作系統(tǒng)容器和過程)的布置。所公開的技術(shù)對(duì)于工作負(fù)載的初始布置以及對(duì)于工作負(fù)載遷移均有用。此外,雖然在本文中描述的實(shí)施例主要指的是在給定的計(jì)算節(jié)點(diǎn)中的VM之間的交叉干擾的檢測(cè),但是所公開的技術(shù)可以以類似的方式被用于例如在給定的VM中的容器之間的交叉干擾的檢測(cè),或者在給定的計(jì)算節(jié)點(diǎn)集群中的計(jì)算節(jié)點(diǎn)之間的交叉干擾的檢測(cè)。

系統(tǒng)描述

圖1是根據(jù)本發(fā)明的實(shí)施例示意性示出計(jì)算系統(tǒng)20的方框圖,計(jì)算系統(tǒng)20包括許多計(jì)算節(jié)點(diǎn)24的集群。例如,系統(tǒng)20可包括數(shù)據(jù)中心、云計(jì)算系統(tǒng)、高性能計(jì)算(HPC)系統(tǒng)、或任何其他合適的系統(tǒng)。

計(jì)算節(jié)點(diǎn)24(為了簡(jiǎn)潔,而被簡(jiǎn)稱為“節(jié)點(diǎn)”)通常包括服務(wù)器,但可以可選地包括任何其他合適類型的計(jì)算節(jié)點(diǎn)。系統(tǒng)20可包括任何合適數(shù)量的節(jié)點(diǎn),這些節(jié)點(diǎn)或是相同類型,或是不同類型。節(jié)點(diǎn)24也被稱為物理機(jī)器。

節(jié)點(diǎn)24由通常是局域網(wǎng)(LAN)的通信網(wǎng)絡(luò)28連接。網(wǎng)絡(luò)28可根據(jù)任何合適的網(wǎng)絡(luò)協(xié)議(諸如,以太網(wǎng)或Infiniband)運(yùn)行。在本文描述的實(shí)施例中,網(wǎng)絡(luò)28包括互聯(lián)網(wǎng)協(xié)議(IP)網(wǎng)絡(luò)。

每個(gè)節(jié)點(diǎn)24均包括中央處理單元(CPU)32。根據(jù)計(jì)算節(jié)點(diǎn)的類型,CPU 32可包括多個(gè)處理核心和/或多個(gè)集成電路(IC)。無論具體的節(jié)點(diǎn)配置,在本文中將節(jié)點(diǎn)的處理電路作為整體當(dāng)作節(jié)點(diǎn)CPU。每個(gè)節(jié)點(diǎn)24還包括存儲(chǔ)器36(通常是易失性存儲(chǔ)器,諸如動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器-DRAM)以及用于與網(wǎng)絡(luò)28進(jìn)行通信的網(wǎng)絡(luò)接口卡(NIC)44。在一些實(shí)施例中,節(jié)點(diǎn)可以包括兩個(gè)或更多個(gè)結(jié)合在一起的NIC,例如,為了使帶寬能夠更高。在本文中將這個(gè)配置也當(dāng)作NIC 44的實(shí)現(xiàn)。節(jié)點(diǎn)24中的一些節(jié)點(diǎn)(而不必是全部節(jié)點(diǎn))可以包括一個(gè)或多個(gè)非易失性存儲(chǔ)設(shè)備40(例如,磁性硬盤驅(qū)動(dòng)-HDD-或固態(tài)驅(qū)動(dòng)-SSD)。

在一些實(shí)施例中,系統(tǒng)20還包括協(xié)調(diào)器節(jié)點(diǎn)48。協(xié)調(diào)器節(jié)點(diǎn)48包括用于通過網(wǎng)絡(luò)28與節(jié)點(diǎn)24進(jìn)行通信的網(wǎng)絡(luò)接口52(例如,NIC)以及被配置成執(zhí)行在本文中描述的方法的處理器56。

圖2為根據(jù)本發(fā)明的實(shí)施例,示意性示出圖1中的系統(tǒng)20的元素中的一些元素的內(nèi)部結(jié)構(gòu)的方框圖。在本示例中,每個(gè)節(jié)點(diǎn)24運(yùn)行一個(gè)或多個(gè)虛擬機(jī)(VM)60。通常實(shí)現(xiàn)為在節(jié)點(diǎn)24的CPU 32上運(yùn)行的軟件層的管理程序64將節(jié)點(diǎn)24的物理資源分配到各個(gè)VM。物理資源可以包括例如CPU 32的計(jì)算資源、存儲(chǔ)器36的存儲(chǔ)器資源、儲(chǔ)存器設(shè)備40的儲(chǔ)存器資源和/或NIC 44的通信資源。

在實(shí)施例中,協(xié)調(diào)器節(jié)點(diǎn)48包括布置選擇模塊68。在圖1中的系統(tǒng)配置中,模塊68運(yùn)行在處理器56上。模塊68決定如何將VM 60分配給各個(gè)節(jié)點(diǎn)24的方式。該決定在本文中被稱為“布置決定”。一種類型的布置決定指定在哪一個(gè)節(jié)點(diǎn)24上初始地布置之前沒有運(yùn)行的新VM60。另一種類型的布置決定(也被稱為遷移決定)指定是否將已經(jīng)在某個(gè)節(jié)點(diǎn)24上運(yùn)行的VM 60遷移到另一節(jié)點(diǎn)24,以及將已經(jīng)在某個(gè)節(jié)點(diǎn)24上運(yùn)行的VM 60遷移到另一節(jié)點(diǎn)24的方式。遷移決定通常涉及源節(jié)點(diǎn)的選擇、運(yùn)行在源節(jié)點(diǎn)上的VM和/或目的節(jié)點(diǎn)。一旦已經(jīng)做出布置決定(初始布置或者遷移),協(xié)調(diào)器節(jié)點(diǎn)48執(zhí)行布置過程。

在圖1和圖2中顯示的系統(tǒng)、計(jì)算節(jié)點(diǎn)和協(xié)調(diào)器節(jié)點(diǎn)配置是僅為了概念上清晰起見而被選擇的示例配置。在可選的實(shí)施例中,可以使用任何其它合適的配置。例如,雖然在本文中描述的實(shí)施例主要指的是虛擬化的數(shù)據(jù)中心,但是所公開的技術(shù)可用于在任何其他合適類型的計(jì)算系統(tǒng)中的工作負(fù)載之間的通信。

協(xié)調(diào)器節(jié)點(diǎn)48的功能可以由處理器56排他地執(zhí)行,即,由與計(jì)算節(jié)點(diǎn)24分離的節(jié)點(diǎn)執(zhí)行??蛇x地,協(xié)調(diào)器節(jié)點(diǎn)48的功能可以由節(jié)點(diǎn)24的CPU 32中的一個(gè)或多個(gè)CPU執(zhí)行,或者由處理器56和一個(gè)或多個(gè)CPU32共同執(zhí)行。為了清楚和簡(jiǎn)單的目的,在后面的描述通常指的是“協(xié)調(diào)器”。協(xié)調(diào)器的功能可以由系統(tǒng)20中的任何合適的處理器或多個(gè)處理器執(zhí)行。在一個(gè)示例實(shí)施例中,所公開的技術(shù)以充分去中心化的、對(duì)等(P2P)方式被實(shí)現(xiàn)。在這種配置中,每個(gè)節(jié)點(diǎn)24保持其本地信息(例如,受監(jiān)視的VM性能),并且基于周圍的對(duì)等信息而決定要交互的節(jié)點(diǎn)(“對(duì)等體”)。

可使用硬件/固件(諸如,以一個(gè)或多個(gè)專用集成電路(ASIC)或現(xiàn)場(chǎng)可編程門陣列(FPGA)的方式)實(shí)現(xiàn)設(shè)備20的各個(gè)元素,特別是實(shí)現(xiàn)節(jié)點(diǎn)24的元素和協(xié)調(diào)器節(jié)點(diǎn)48。可選地,可以以軟件的方式或使用硬件/固件與軟件元素的組合,來實(shí)現(xiàn)一些系統(tǒng)、計(jì)算節(jié)點(diǎn)或協(xié)調(diào)器節(jié)點(diǎn)組件,例如,CPU 32或處理器56的元素。

通常,CPU 32、存儲(chǔ)器36、儲(chǔ)存器設(shè)備40、NIC 44、處理器56和接口52是物理的硬件實(shí)現(xiàn)的部件,并且因此分別還被稱為物理CPU、物理存儲(chǔ)器、物理儲(chǔ)存器設(shè)備、物理磁盤和物理NIC。

在一些實(shí)施例中,CPU 32和/或處理器56包括通用處理器,通用處理器在軟件中被編程以執(zhí)行在本文中描述的功能。例如,可通過網(wǎng)絡(luò)以電子形式將軟件下載到處理器,或者軟件可以可選地或附加地被提供和/或儲(chǔ)存在非暫時(shí)性有形介質(zhì)(諸如,磁存儲(chǔ)器、光存儲(chǔ)器或電子存儲(chǔ)器)上。

基于在一段時(shí)間中的異常性能的比較的VM布置

在系統(tǒng)20的每個(gè)計(jì)算節(jié)點(diǎn)24中,管理程序64將物理資源(例如,存儲(chǔ)器、儲(chǔ)存器、CPU和/或網(wǎng)絡(luò)帶寬)分配給在該節(jié)點(diǎn)上運(yùn)行的VM 60。在很多實(shí)際實(shí)現(xiàn)中,管理程序并不對(duì)這些分配強(qiáng)加限制,意味著只要資源可用,任何VM在其請(qǐng)求時(shí)就被分配資源。因此,一些VM的集中的資源利用可能造成對(duì)其他VM的資源匱乏。這種效應(yīng)是交叉干擾的示例,即,因?yàn)橄嗤?jié)點(diǎn)上的另一VM的運(yùn)行而造成一個(gè)VM的性能退化。交叉干擾還可能具有成本影響。例如,在多租戶數(shù)據(jù)中心中,來源于不同租戶的交叉干擾可能造成為實(shí)際上沒有使用的資源付費(fèi)。

在各個(gè)實(shí)施例中,VM 60是各種類型的。僅舉幾個(gè)例子,不同類型的VM的示例是SQL數(shù)據(jù)庫VM、NoSQL數(shù)據(jù)庫服務(wù)器VM、Hadoop VM、機(jī)器學(xué)習(xí)VM、Web服務(wù)器VM、儲(chǔ)存器服務(wù)器VM和網(wǎng)絡(luò)服務(wù)器VM(例如,路由器或者DNS服務(wù)器)。通常,不同類型的VM具有不同的資源要求和不同的性能特征。例如,數(shù)據(jù)庫VM傾向于輸入/輸出(I/O)集中,并且因此帶來相當(dāng)可觀的網(wǎng)絡(luò)資源,而機(jī)器學(xué)習(xí)VM傾向于存儲(chǔ)器和CPU集中。VM設(shè)置同樣影響它的資源消耗。例如,使用遠(yuǎn)程儲(chǔ)存器運(yùn)行數(shù)據(jù)庫的VM還可以受到大量可用的網(wǎng)絡(luò)資源的影響。

不同類型的VM特征還在于它們?cè)斐傻暮?或它們?cè)馐艿牟煌潭鹊慕徊娓蓴_。例如,在相同節(jié)點(diǎn)上運(yùn)行全部消耗大量?jī)?chǔ)存器空間的多個(gè)VM可能造成相當(dāng)大的交叉干擾。另一方面,運(yùn)行平衡混合的VM(一些是儲(chǔ)存器加強(qiáng)的、另一些是CPU加強(qiáng)的、并且又一些是存儲(chǔ)器加強(qiáng)的)通常將產(chǎn)生高整體性能。這樣,布置決定對(duì)于總體交叉干擾程度具有顯著影響,并且因此對(duì)于系統(tǒng)20的總體性能具有顯著影響。

在一些實(shí)施例中,協(xié)調(diào)器48以有助于降低VM之間的交叉干擾的方式將VM 60分配給節(jié)點(diǎn)24。協(xié)調(diào)器48的布置決定是基于在各個(gè)VM中發(fā)生的異常性能事件的時(shí)間序列的比較。以下描述的實(shí)施例指的是指定劃分在(在節(jié)點(diǎn)24的CPU 32上運(yùn)行的)管理程序64和(在協(xié)調(diào)器48的處理器56上運(yùn)行的)布置選擇模塊68之間的任務(wù)。然而,這個(gè)實(shí)施例僅僅是通過示例的方式描繪。在可選的實(shí)施例中,所公開的技術(shù)可以通過系統(tǒng)20中的任何處理器或者處理器的組合(例如,任何CPU32和/或處理器56)以及使用在處理器中間進(jìn)行的對(duì)任務(wù)的任何合適的劃分來執(zhí)行。

在一些實(shí)施例中,管理程序64監(jiān)視其服務(wù)的VM 60的性能,并且識(shí)別在VM中發(fā)生的異常性能事件。要強(qiáng)調(diào)的是,每個(gè)異常性能事件是發(fā)生在指定VM中,而不是作為整體發(fā)生在管理程序中或者作為整體發(fā)生在計(jì)算節(jié)點(diǎn)中。

在VM中的異常性能事件通常涉及VM脫離其基線或者期望性能的短周期時(shí)間。在一些異常性能事件中,VM消耗非正常水平(極高或者極低)的一些物理資源,例如,存儲(chǔ)器、儲(chǔ)存器、CPU能力或者網(wǎng)絡(luò)帶寬。在一些異常性能事件中,一些VM性能測(cè)量結(jié)果(例如,時(shí)延)脫離其基線或者期望值。

更通常地,可以將VM中的異常性能事件限定為VM的性能度量脫離其基線或者期望值。性能度量可以包括VM的一個(gè)或多個(gè)資源消耗水平的、和/或VM的一個(gè)或多個(gè)性能測(cè)量的任何合適的組合。在一些實(shí)施例中,管理程序64或者協(xié)調(diào)器48降低了用于識(shí)別異常性能事件的資源消耗水平的和/或性能測(cè)量結(jié)果的維度。使用任何合適的方案(諸如,例如,使用主成分分析(PCA))可以執(zhí)行降維。由Candes等人在“Robust Principal Component Analysis?”(2011年5月的ACM期刊,第58卷,第3期,在此以引用的方式并入本文)中描述了示例PCA技術(shù)。然而,所公開的技術(shù)沒有限于PCA,并且可以使用任何其他合適方法而被實(shí)現(xiàn)。

在各個(gè)實(shí)施例中,管理程序64例如可以通過將性能測(cè)量結(jié)果與閾值比較、通過計(jì)算和分析性能測(cè)量結(jié)果的合適的統(tǒng)計(jì)參數(shù)、通過執(zhí)行時(shí)間序列分析,來檢測(cè)異常性能事件。在各個(gè)實(shí)施例中,檢測(cè)異常性能事件的過程可以受監(jiān)管或者不受監(jiān)管。

受監(jiān)管的異常檢測(cè)方案通常需要已被標(biāo)記為正常(即,非異常)的一組訓(xùn)練數(shù)據(jù),使得異常檢測(cè)過程可以將這個(gè)數(shù)據(jù)與引入的數(shù)據(jù)進(jìn)行比較,以便確定異常。不受監(jiān)管的異常監(jiān)測(cè)方案不需要已標(biāo)記的訓(xùn)練組,并且通常靈活得多并且易于使用,因?yàn)樗鼈儾恍枰祟惛深A(yù)和訓(xùn)練。受監(jiān)管的異常檢測(cè)方案的示例包括基于規(guī)則的方法、以及基于模型的方法,諸如,復(fù)制器神經(jīng)網(wǎng)絡(luò)、貝葉斯或者不受監(jiān)管的支持向量機(jī)。

可以將一些異常檢測(cè)方法設(shè)計(jì)成檢測(cè)“點(diǎn)”異常(即,相對(duì)于剩下的數(shù)據(jù)點(diǎn)來說異常的各個(gè)數(shù)據(jù)實(shí)例)。隨著數(shù)據(jù)變得更加復(fù)雜并且較不可預(yù)測(cè),重要的是,異常是基于數(shù)據(jù)環(huán)境的,無論環(huán)境是空間的、時(shí)間的或者語義的。在這種情況下,可以優(yōu)選統(tǒng)計(jì)學(xué)方法。

圖3是根據(jù)本發(fā)明的實(shí)施例,示出在一段時(shí)間中三個(gè)VM的受監(jiān)視的性能的曲線圖,并且顯示了異常VM性能的示例。被表示為72A-72C的三個(gè)繪圖分別示出作為時(shí)間的函數(shù)的被表示為VM1-VM3的三個(gè)VM的一些性能度量。

在這個(gè)示例中,每個(gè)VM的性能度量在大部分時(shí)間期間具有某個(gè)基線值,其中偶然頂點(diǎn)被稱為異常性能事件。潛在的假設(shè)是:其中在大約相同時(shí)間發(fā)生了異常性能事件的VM被懷疑遭受相互的交叉干擾。

考慮例如圖3中的VM1和VM3的性能度量。在時(shí)間76A,異常性能事件80A和80B在兩個(gè)VM中同時(shí)發(fā)生。這個(gè)同時(shí)的發(fā)生可以指示在VM1和VM3之間的交叉干擾。在時(shí)間76B,在VM1中發(fā)生異常性能事件80C,并且剛剛在此之后馬上在VM3中發(fā)生異常性能事件80D。兩個(gè)事件(80C和80D)并不同時(shí),但是盡管如此,發(fā)生在小的相近時(shí)間84之內(nèi)。這種近同時(shí)的發(fā)生也可以指示在VM1和VM3之間的交叉干擾。在其他時(shí)間,在三個(gè)VM中雖然發(fā)生了各個(gè)異常性能事件,但是這些事件并沒顯現(xiàn)同步。

在本示例中,在VM1和VM3中的異常性能事件顯現(xiàn)得稍微同步,在VM1和VM2中的異常性能事件并不顯現(xiàn)同步,并且在VM2和VM3中的異常性能事件同樣并不顯現(xiàn)同步。換句話說,VM1和VM3顯現(xiàn)得具有相互的反關(guān)聯(lián)性,然而VM1和VM2、以及同樣的VM2和VM3顯現(xiàn)得具有相互的關(guān)聯(lián)性?;谶@些關(guān)系,可以懷疑VM1和VM3造成相互交叉干擾,并且這可能有益于將它們布置在不同節(jié)點(diǎn)。VM1和VM2、以及同樣的VM2和VM3并沒有顯現(xiàn)造成相互交叉干擾,并且可以是在相同節(jié)點(diǎn)上進(jìn)行布置的選項(xiàng)。

應(yīng)注意到,異常性能事件的單一的同步發(fā)生通常并不是交叉干擾的強(qiáng)烈的跡象。為了建立VM對(duì)確實(shí)造成相互的交叉干擾的高置信度,通常有必要在一長(zhǎng)段時(shí)間周期中積累異常性能事件的多個(gè)同步發(fā)生。這種時(shí)間的長(zhǎng)度通常取決于在某個(gè)周期中發(fā)生的異常性能事件的通常的數(shù)量。例如,如果以每天一次的量級(jí)發(fā)生異常性能事件,那么相對(duì)時(shí)間周期可以是幾周的量級(jí)。另一方面,如果以微秒級(jí)的量級(jí)發(fā)生異常性能事件,那么超出一分鐘的數(shù)據(jù)的累積可以是足夠的。一般來說,相對(duì)的持續(xù)時(shí)間與生成信息的量以及它的頻率相關(guān)。

在本文中,術(shù)語“造成相互的交叉干擾的VM”指的是不同類型的VM,而不是各個(gè)VM實(shí)例。例如,可以證實(shí)的是,運(yùn)行數(shù)據(jù)庫服務(wù)器的兩個(gè)VM造成相互的相當(dāng)大的交叉干擾,但是運(yùn)行網(wǎng)絡(luò)服務(wù)器的VM和運(yùn)行數(shù)據(jù)庫服務(wù)器的VM并不是這樣。因此,協(xié)調(diào)器48可能有助于將數(shù)據(jù)庫服務(wù)器VM分離,并且不把它們布置在相同的節(jié)點(diǎn)上。

因?yàn)榻徊娓蓴_關(guān)系建立在VM的不同類型之間,所以協(xié)調(diào)器48可以累積有可能跨很多計(jì)算節(jié)點(diǎn)在很多對(duì)VM上的異常性能事件的同步發(fā)生。例如,協(xié)調(diào)器48可以在所有計(jì)算節(jié)點(diǎn)24之間檢查布置在相同節(jié)點(diǎn)上的所有成對(duì)的{數(shù)據(jù)庫服務(wù)器VM,Web服務(wù)器VM}上的異常性能事件的同步發(fā)生。這個(gè)過程使得協(xié)調(diào)器48能夠交叉參考并且驗(yàn)證所檢測(cè)的異常確實(shí)涉及與該對(duì)的經(jīng)過考慮的VM類型,而不歸因于一些其他隱藏原因。

圖4為根據(jù)本發(fā)明的實(shí)施例,示意性示出用于基于在一段時(shí)間中異常性能的比較的VM布置的方法的流程圖。該方法以(在節(jié)點(diǎn)24的CPU 32上運(yùn)行的)管理程序64監(jiān)視其托管的VM 60的性能度量開始,并且在監(jiān)視步驟90識(shí)別異常性能事件。

每個(gè)管理程序在時(shí)間序列限定步驟94為每個(gè)VM限定相應(yīng)的在該VM中發(fā)生的異常性能事件的時(shí)間序列。每個(gè)時(shí)間序列通常包括一系列異常性能事件的發(fā)生時(shí)間,有可能一起包括使事件和/或VM特征化的另外的信息。管理程序?qū)⒏鱾€(gè)時(shí)間序列發(fā)送給協(xié)調(diào)器48的處理器56。

在關(guān)聯(lián)性/反關(guān)聯(lián)性建立步驟98,協(xié)調(diào)器48的處理器56比較各對(duì)VM的時(shí)間序列。通過比較時(shí)間序列,處理器56確立哪些成對(duì)VM顯現(xiàn)具有高反關(guān)聯(lián)性(即,展示異常性能事件的穩(wěn)定的同步發(fā)生),以及哪些成對(duì)VM顯現(xiàn)具有高關(guān)聯(lián)性(即,并未展示異常性能事件的穩(wěn)定的同步發(fā)生)。

如以上注意到的,當(dāng)比較兩個(gè)VM的時(shí)間序列的時(shí)候,處理器56考慮在異常性能事件之間的一些時(shí)間偏移量(例如,圖3的示例中的事件80C和80D之間的相近時(shí)間84)。具有這種偏移量的事件同樣可以是(有可能采用較低置信分?jǐn)?shù))經(jīng)過考慮地同步的。這個(gè)偏移量容限有助于例如應(yīng)對(duì)系統(tǒng)中的傳播延時(shí)和定時(shí)偏移量。

在交叉干擾推斷步驟102,處理器56使用比較結(jié)果推斷哪些VM對(duì)(或者是哪些VM的類型的對(duì))展示顯著的交叉干擾。如以上注意到的,處理器56在一長(zhǎng)段時(shí)間周期中在屬于這些類型的多對(duì)VM上和/或在多個(gè)節(jié)點(diǎn)24之間比較成對(duì)的VM類型的時(shí)間序列。

在一些實(shí)施例中,處理器56可以使用一些數(shù)值分?jǐn)?shù)量化在兩個(gè)VM類型之間的關(guān)聯(lián)性的程度或者反關(guān)聯(lián)性的程度,和/或?qū)?shù)值置信度分配給關(guān)聯(lián)性估計(jì)值或者反關(guān)聯(lián)性估計(jì)值。數(shù)值分?jǐn)?shù)和/或置信度可以取決于例如同步的異常性能事件的數(shù)量和/或強(qiáng)度。

在布置步驟106,處理器56基于步驟102中的交叉干擾估計(jì)值,做出布置決定??梢援a(chǎn)生各種布置決定。例如,處理器56可以制定布置規(guī)則,該布置規(guī)定限定哪些類型的VM要被分離到不同節(jié)點(diǎn)以及哪些類型的VM可以安全地布置在相同節(jié)點(diǎn)上。在一個(gè)實(shí)施例中,處理器56可以識(shí)別受到某個(gè)節(jié)點(diǎn)24上的交叉干擾影響最嚴(yán)重的VM,并且將這個(gè)VM遷移到不同節(jié)點(diǎn)。作為另一示例,如果已知某個(gè)節(jié)點(diǎn)運(yùn)行相對(duì)于有問題的VM具有高反關(guān)聯(lián)性的VM,那么處理器56可以避免將VM遷移到這個(gè)節(jié)點(diǎn)。

在一些實(shí)施例中,使用以上描述的配對(duì)過程,處理器56形成VM的集群,并且因此識(shí)別資源消耗的“熱點(diǎn)”。配對(duì)過程同樣可以用于識(shí)別較高等級(jí)的干擾(超出成對(duì)的VM的等級(jí)),例如,機(jī)架網(wǎng)絡(luò)干擾。

在一些實(shí)施例中,處理器56識(shí)別并且丟棄沒有指示VM之間的交叉干擾的異常性能事件。例如,某種類型的VM(例如,某個(gè)應(yīng)用的網(wǎng)絡(luò)服務(wù)器)可以展示在某些時(shí)間的一些資源消耗的頂點(diǎn),而不管其他VM并且不管該VM在其中運(yùn)行的節(jié)點(diǎn)的身份。這種事件應(yīng)當(dāng)被識(shí)別,并且從交叉干擾評(píng)估過程中丟棄。在一些實(shí)施例中,處理器56通過比較多個(gè)不同節(jié)點(diǎn)24上的某個(gè)類型的VM的時(shí)間序列,識(shí)別這種事件。如果在多個(gè)不同的節(jié)點(diǎn)上的某種類型的多個(gè)VM上找到典型的異常性能事件,那么處理器56可以推斷出這個(gè)種類的事件與交叉干擾不相關(guān),并且因此丟棄這個(gè)種類型的事件。

以上的過程(比較多個(gè)不同節(jié)點(diǎn)上的某種類型的VM的時(shí)間序列)通常涉及很大數(shù)量的時(shí)間序列比較。為了降低比較時(shí)間和計(jì)算復(fù)雜性,處理器56可以通過相應(yīng)的緊湊簽名表示異常性能事件的每個(gè)時(shí)間序列,并且執(zhí)行在簽名之間的比較而不是執(zhí)行在真實(shí)時(shí)間序列之間的比較。在實(shí)施例中,將簽名比較用作快速丟棄相當(dāng)不同的時(shí)間序列的初始修剪步驟。然后使用真實(shí)時(shí)間序列而不是簽名來比較剩下的時(shí)間序列。示例簽名可以包括時(shí)間序列的平均值、標(biāo)準(zhǔn)差、差和/或周期性。處理器56可以限定在這些簽名上的合適的相似性度量,并且在大量的簽名上搜索類似的時(shí)間序列。

在一些實(shí)施例中,基于找到具有相當(dāng)水平的同步發(fā)生的異常性能事件的兩個(gè)時(shí)間序列,處理器56初步認(rèn)為對(duì)應(yīng)的VM類型具有交叉干擾。只有在使用以上過程后來證明這些異常性能事件與交叉干擾不相關(guān)的時(shí)候,處理器56才將VM類型當(dāng)作具有關(guān)聯(lián)性。在一些實(shí)施例中,處理器56使用另外的外來信息來識(shí)別類似的VM(VM的異常性能事件因此與交叉干擾不相關(guān))。這種外來信息可以包括例如VM是否由相同一方擁有、VM是否具有類似的VM映像、VM是否具有類似的部署設(shè)置(例如,遠(yuǎn)程的或者本地的儲(chǔ)存器、網(wǎng)絡(luò)接口的數(shù)量和類型)、VM是否具有CPU的、核心的、存儲(chǔ)器的或者其他元素的類似結(jié)構(gòu)、和/或VM是否具有類似的工作負(fù)載組成。

雖然在本文中描述的實(shí)施例主要處理工作負(fù)載布置,然而在本文中描述的方法和系統(tǒng)同樣可被用于其他應(yīng)用中,諸如,例如,用于微服務(wù)設(shè)置(例如,用于調(diào)查服務(wù)交互),或者用于硬件設(shè)置(例如,用于識(shí)別最好的或最壞的硬件組合并且檢測(cè)異常行為)。

因此,應(yīng)理解以上描述的實(shí)施例是通過示例的方式引用的,并且應(yīng)理解本發(fā)明并不限于上文已具體顯示和描述的內(nèi)容。相反,本發(fā)明的范圍包括上文所描述的各種特征的組合和子組合以及本領(lǐng)域技術(shù)人員在閱讀以上描述之后將想到的且未在現(xiàn)有技術(shù)中公開的其變型和修改的組合和子組合。通過引用而并入本專利申請(qǐng)中的文檔被視為本申請(qǐng)的組成部分,當(dāng)在這些結(jié)合的文檔中定義的任何術(shù)語與本說明書中明確地或隱含地作出的定義沖突時(shí),僅應(yīng)考慮本說明書中的定義。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1