用于產(chǎn)生指示負(fù)載平衡狀態(tài)的硬件級(jí)中斷的方法和設(shè)備的制作方法
【專利摘要】本發(fā)明公開涉及用于產(chǎn)生指示負(fù)載平衡狀態(tài)的硬件級(jí)中斷的方法和設(shè)備。一種計(jì)算節(jié)點(diǎn)包括至少一個(gè)包括多個(gè)硬件資源的硬件層,和至少一個(gè)虛擬化層,可操作來管理由多個(gè)硬件資源中的至少一個(gè)硬件資源定義的至少一個(gè)虛擬機(jī)。計(jì)算節(jié)點(diǎn)包括在計(jì)算節(jié)點(diǎn)的硬件層中配置的負(fù)載平衡中斷邏輯。該負(fù)載平衡中斷邏輯可操作來將至少一個(gè)虛擬機(jī)對(duì)多個(gè)硬件資源的至少一個(gè)資源利用率水平與至少一個(gè)閾值進(jìn)行比較。負(fù)載平衡中斷邏輯可操作來基于至少一個(gè)資源利用率水平與至少一個(gè)閾值的比較,產(chǎn)生指示計(jì)算節(jié)點(diǎn)的至少一個(gè)負(fù)載平衡狀態(tài)的至少一個(gè)負(fù)載平衡中斷。
【專利說明】用于產(chǎn)生指示負(fù)載平衡狀態(tài)的硬件級(jí)中斷的方法和設(shè)備
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明一般涉及計(jì)算環(huán)境,尤其是涉及在虛擬化計(jì)算環(huán)境中通過硬件級(jí)產(chǎn)生的指 示負(fù)載平衡狀態(tài)的中斷對(duì)于節(jié)點(diǎn)進(jìn)行工作負(fù)荷平衡。
【背景技術(shù)】
[0002] 諸如云計(jì)算環(huán)境的虛擬化計(jì)算環(huán)境包括多個(gè)計(jì)算節(jié)點(diǎn),每個(gè)計(jì)算節(jié)點(diǎn)都為諸如一 個(gè)或多個(gè)虛擬機(jī)的虛擬化資源的一個(gè)或多個(gè)選擇提供服務(wù)。一般而言,虛擬化計(jì)算環(huán)境提 供管理工作負(fù)荷在多個(gè)計(jì)算節(jié)點(diǎn)上的分配的軟件服務(wù)。隨著虛擬化計(jì)算環(huán)境中可用的計(jì)算 節(jié)點(diǎn)數(shù)量的增長(zhǎng),不僅有更多可用于讓軟件服務(wù)把工作負(fù)荷分配到其的計(jì)算節(jié)點(diǎn),而且有 更多讓軟件服務(wù)監(jiān)視其的計(jì)算節(jié)點(diǎn)。
【發(fā)明內(nèi)容】
[0003] 鑒于以上所述,存在對(duì)在虛擬化計(jì)算環(huán)境中通過硬件級(jí)產(chǎn)生的指示負(fù)載平衡狀態(tài) 的中斷對(duì)于節(jié)點(diǎn)進(jìn)行工作負(fù)荷平衡的方法、系統(tǒng)和程序產(chǎn)品的需求。
[0004] 在一種實(shí)施例中,一種計(jì)算節(jié)點(diǎn)包括至少一個(gè)包括多個(gè)硬件資源的硬件層。計(jì)算 節(jié)點(diǎn)包括至少一個(gè)虛擬化層,可操作來管理由多個(gè)硬件資源中的至少一個(gè)硬件資源定義的 至少一個(gè)虛擬機(jī)。計(jì)算節(jié)點(diǎn)包括在計(jì)算節(jié)點(diǎn)的硬件層中配置的負(fù)載平衡中斷邏輯。該負(fù)載 平衡中斷邏輯可操作來將至少一個(gè)虛擬機(jī)對(duì)多個(gè)硬件資源的至少一個(gè)資源利用率水平與 至少一個(gè)閾值進(jìn)行比較。負(fù)載平衡中斷邏輯可操作來基于至少一個(gè)資源利用率水平與至少 一個(gè)閾值的比較,產(chǎn)生指示計(jì)算節(jié)點(diǎn)的至少一個(gè)負(fù)載平衡狀態(tài)的至少一個(gè)負(fù)載平衡中斷。
[0005] 在另一種實(shí)施例中,一種處理器系統(tǒng)包括:連接到至少一個(gè)存儲(chǔ)器的至少一個(gè)處 理器。處理器系統(tǒng)包括可操作來將運(yùn)行在至少一個(gè)處理器中的至少一個(gè)虛擬機(jī)對(duì)至少一個(gè) 處理器的至少一個(gè)利用率水平與至少一個(gè)閾值進(jìn)行比較的比較器。處理器系統(tǒng)包括比較 器,可操作來基于至少一個(gè)利用率水平與至少一個(gè)閾值的比較,為至少一個(gè)虛擬機(jī)產(chǎn)生指 示至少一個(gè)處理器的至少一個(gè)負(fù)載平衡狀態(tài)的至少一個(gè)負(fù)載平衡中斷。
[0006] 在另一種實(shí)施例中,一種用于報(bào)告計(jì)算節(jié)點(diǎn)的負(fù)載平衡需求的方法包括在計(jì)算節(jié) 點(diǎn)的硬件級(jí),將在至少一個(gè)硬件資源上的軟件層中運(yùn)行的至少一個(gè)虛擬機(jī)對(duì)至少硬件資源 的至少一個(gè)利用率水平與至少一個(gè)閾值進(jìn)行比較。該方法還包括響應(yīng)至少一個(gè)利用率水平 大于至少一個(gè)閾值,在硬件級(jí)為計(jì)算節(jié)點(diǎn)產(chǎn)生指示至少一個(gè)處理器需要負(fù)載平衡的負(fù)載平 衡中斷。
【專利附圖】
【附圖說明】
[0007] 所附權(quán)利要求中闡述了被認(rèn)為是本發(fā)明一個(gè)或多個(gè)實(shí)施例的新穎特性的特征。但 是,當(dāng)結(jié)合附圖閱讀時(shí),本發(fā)明自身的一個(gè)或多個(gè)實(shí)施例將通過參考以下說明性實(shí)施例的 詳細(xì)描述得到最好的理解,其中:
[0008] 圖1是說明計(jì)算環(huán)境層次的一個(gè)例子的框圖,其中計(jì)算環(huán)境包括至少一個(gè)帶有用 于產(chǎn)生負(fù)載平衡中斷的硬件的計(jì)算節(jié)點(diǎn),其中負(fù)載平衡中斷指示計(jì)算節(jié)點(diǎn)是否需要負(fù)載平 衡或者計(jì)算節(jié)點(diǎn)是否可用于其它計(jì)算節(jié)點(diǎn)以進(jìn)行負(fù)載平衡;
[0009] 圖2是說明在計(jì)算環(huán)境中執(zhí)行負(fù)載平衡的軟件層的一個(gè)例子的框圖,其中計(jì)算環(huán) 境包括帶有用于產(chǎn)生負(fù)載平衡中斷的硬件的計(jì)算節(jié)點(diǎn),其中負(fù)載平衡中斷指示計(jì)算節(jié)點(diǎn)可 用于其它計(jì)算節(jié)點(diǎn)以進(jìn)行負(fù)載平衡;
[0010] 圖3是說明在計(jì)算環(huán)境中執(zhí)行負(fù)載平衡的軟件層的一個(gè)例子的框圖,其中計(jì)算環(huán) 境包括帶有用于產(chǎn)生負(fù)載平衡中斷的硬件的計(jì)算節(jié)點(diǎn),其中負(fù)載平衡中斷指示計(jì)算節(jié)點(diǎn)需 要負(fù)載平衡;
[0011] 圖4是說明利用率中斷邏輯的邏輯組件的一個(gè)例子的框圖;
[0012] 圖5是說明處理器系統(tǒng)板的一個(gè)例子的框圖,其中處理器系統(tǒng)板在板上包括利用 率中斷邏輯與一個(gè)或多個(gè)處理器核;
[0013] 圖6是說明云計(jì)算節(jié)點(diǎn)的一個(gè)例子的一個(gè)示意性例子的框圖;
[0014] 圖7是說明云計(jì)算節(jié)點(diǎn)的一個(gè)例子的框圖的框圖;
[0015] 圖8是說明由云計(jì)算環(huán)境提供的功能抽象層集合的框圖的框圖;
[0016] 圖9是說明用于在計(jì)算節(jié)點(diǎn)中硬件級(jí)上產(chǎn)生負(fù)載平衡中斷的過程和程序的高層 邏輯流程圖;
[0017] 圖10是說明用于計(jì)算節(jié)點(diǎn)的本地軟件服務(wù)處理在計(jì)算節(jié)點(diǎn)中硬件級(jí)產(chǎn)生的、請(qǐng) 求幫助負(fù)載平衡的負(fù)載平衡中斷的過程和程序的高層邏輯流程圖;
[0018] 圖11是說明用于計(jì)算節(jié)點(diǎn)的本地軟件服務(wù)處理在計(jì)算節(jié)點(diǎn)中硬件級(jí)產(chǎn)生的、指 示該計(jì)算節(jié)點(diǎn)可用于負(fù)載平衡的負(fù)載平衡中斷的過程和程序的高層邏輯流程圖;
[0019] 圖12是說明用于節(jié)點(diǎn)管理服務(wù)處理來自計(jì)算節(jié)點(diǎn)本地軟件服務(wù)的中斷以便在計(jì) 算環(huán)境中管理負(fù)載平衡的過程和程序的高層邏輯流程圖;及
[0020] 圖13是說明用于處理請(qǐng)求以接受用于負(fù)載平衡的虛擬機(jī)的過程和程序的高層邏 輯流程圖。
【具體實(shí)施方式】
[0021] 在以下描述中,以解釋為目的,闡述了多種具體細(xì)節(jié),以便提供對(duì)本發(fā)明的透徹理 解。但是顯然,對(duì)本領(lǐng)域技術(shù)人員來說,在沒有這些具體細(xì)節(jié)的情況下也可以實(shí)踐本發(fā)明。 在其它情況下,眾所周知的結(jié)構(gòu)和設(shè)備用框圖的形式示出,以避免不必要地模糊本發(fā)明。
[0022] 此外,在以下描述中,以解釋為目的,描述了多種系統(tǒng)。重要的是要注意,對(duì)本領(lǐng)域 技術(shù)人員來說,顯然,本發(fā)明可以在各種系統(tǒng)中執(zhí)行,其中系統(tǒng)包括各種計(jì)算機(jī)系統(tǒng)以及運(yùn) 行任意數(shù)量不同類型操作系統(tǒng)的電子設(shè)備。
[0023] 如本文所描述的,本發(fā)明實(shí)施例提供了一種解決方案,該解決方案用于配置節(jié)點(diǎn) 的硬件層以產(chǎn)生節(jié)點(diǎn)的負(fù)載平衡狀態(tài)以便通過一種或多種類型計(jì)算環(huán)境中的軟件層觸發(fā) 負(fù)載平衡,以便在云基礎(chǔ)架構(gòu)和非云基礎(chǔ)架構(gòu)中促進(jìn)工作負(fù)荷平衡,其中計(jì)算環(huán)境包括但 不限于服務(wù)器云。
[0024] 此外,本發(fā)明實(shí)施例提供了 一種解決方案,該解決方案用于使單獨(dú)服務(wù)器能夠?yàn)?處理器頻率和電壓的調(diào)節(jié)、存儲(chǔ)器節(jié)流、風(fēng)扇速度和環(huán)境溫度進(jìn)行表決,以便從單獨(dú)的服務(wù) 器管理散熱來影響一個(gè)或多個(gè)熱控制區(qū)域內(nèi)的熱環(huán)境。
[0025] 現(xiàn)在參考附圖,尤其參考圖1,框圖說明了計(jì)算環(huán)境層次的一個(gè)例子,其中計(jì)算環(huán) 境包括至少一個(gè)帶有用于產(chǎn)生負(fù)載平衡中斷的硬件的計(jì)算節(jié)點(diǎn),其中負(fù)載平衡中斷指示計(jì) 算節(jié)點(diǎn)是否需要負(fù)載平衡或者計(jì)算節(jié)點(diǎn)是否可用于其它計(jì)算節(jié)點(diǎn)以進(jìn)行負(fù)載平衡。
[0026] 在該例子中,計(jì)算環(huán)境100包括多個(gè)計(jì)算節(jié)點(diǎn),作為例子示出了節(jié)點(diǎn)110、節(jié)點(diǎn)150 和節(jié)點(diǎn)152。節(jié)點(diǎn)經(jīng)網(wǎng)絡(luò)連接并且通過節(jié)點(diǎn)管理層102互相接口。在一個(gè)例子中,節(jié)點(diǎn)管理 層102可以包括集群管理控制器的一層或多層、負(fù)載平衡服務(wù)的一層或多層、用于管理計(jì) 算環(huán)境100的虛擬化管理服務(wù)的一層或多層。此外,節(jié)點(diǎn)管理層102可以包括管理控制器 的一層或多層,以啟用點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)體系結(jié)構(gòu)用于促進(jìn)每個(gè)節(jié)點(diǎn)之間的通信。計(jì)算環(huán)境100 可以表示包括實(shí)現(xiàn)一種或多種類型網(wǎng)絡(luò)體系結(jié)構(gòu)的多個(gè)節(jié)點(diǎn)的計(jì)算環(huán)境。
[0027] 在該例子中,節(jié)點(diǎn)110實(shí)現(xiàn)包括硬件資源122的硬件層120。硬件資源122可以包 括但不限于處理器、存儲(chǔ)器、網(wǎng)絡(luò)設(shè)備、網(wǎng)絡(luò)帶寬、存儲(chǔ)、I/O資源以及電源。在一個(gè)例子中, 硬件資源122包括來自一個(gè)或多個(gè)計(jì)算系統(tǒng)的物理資源。在另一個(gè)例子中,硬件資源122 也可以包括虛擬資源。在其它的或備選的實(shí)施例中,硬件資源122可以包括硬件資源的其 它或者備選的類型與配置。
[0028] 在該例子中,節(jié)點(diǎn)110實(shí)現(xiàn)軟件層130,該軟件層130可以包括用于執(zhí)行一類或多 類功能的軟件的一層或多層,其中所述功能包括但不限于管理硬件資源122的虛擬化以及 管理節(jié)點(diǎn)110中的服務(wù)。在該例子中,軟件層130也可以稱為虛擬化層。
[0029] 在該例子中,軟件層130包括用于管理一個(gè)或多個(gè)虛擬機(jī)(VM)的一個(gè)或多個(gè)控制 器或者服務(wù)。在一個(gè)例子中,在軟件層130中管理的虛擬機(jī)包括VM132和VM134,其中VM132 和VM134中每一個(gè)都是定義為運(yùn)行操作系統(tǒng)和節(jié)點(diǎn)110工作負(fù)荷的硬件資源122中資源的 集合,其中資源諸如虛擬的或物理的處理器、存儲(chǔ)器以及I/O資源。每一個(gè)VM都可以被虛 擬化為單獨(dú)的計(jì)算機(jī)。每一個(gè)VM都可以托管單獨(dú)的操作系統(tǒng)。多個(gè)VM可以訪問公共存儲(chǔ) 器芯片中的存儲(chǔ)器,但是,VM中每一個(gè)可直接訪問的地址區(qū)間并不重疊。處理器可以專用 于單一的VM或者由多個(gè)VM共享。在其它或備選實(shí)施例中,軟件層130可以只包括單一的 VM或者可以包括其它的或者備選的VM。在該例子中,VM132或VM134也可以指或稱為例如 客戶邏輯分區(qū)、邏輯分區(qū)或虛擬服務(wù)器。
[0030] 在該例子中,軟件層130包括服務(wù)VM136,其中服務(wù)VM136是為節(jié)點(diǎn)110提供管理 和控制服務(wù)的硬件資源122中硬件資源的集合。例如,服務(wù)VM136可以控制硬件資源122 中的所有物理I/O資源。在該例子中,服務(wù)VM136也可以指或稱為例如固件、管理分區(qū)、虛 擬機(jī)、虛擬服務(wù)器、管理操作系統(tǒng)或VMware?服務(wù)控制臺(tái)。軟件層130也可以包括其它 或備選組件,包括但不限于,監(jiān)控程序?qū)?、虛擬機(jī)管理器、虛擬化管理器、或提供用于管理把 硬件資源122虛擬化成VM以及使得硬件資源122中物理資源在VM間共享的底層軟件的其 它層和組件。
[0031] 在該例子中,節(jié)點(diǎn)110的硬件層120配置有用于在節(jié)點(diǎn)110的硬件層120中執(zhí)行資 源監(jiān)視的資源核算(accounting)邏輯124。在一個(gè)例子中,資源核算邏輯124通過VM中的 每一個(gè)利用跨樣本窗口采樣資源利用率來監(jiān)視硬件資源122的利用率。在一個(gè)例子中,資 源核算邏輯124單獨(dú)地為VM中的每一個(gè)監(jiān)視硬件資源122的利用率并且還按照硬件資源 的類型單獨(dú)地為VM中的每一個(gè)監(jiān)視硬件資源的利用率。在一個(gè)例子中,資源核算邏輯124 把指示硬件資源122在諸如一個(gè)時(shí)鐘周期的采樣窗口上的利用率的值計(jì)數(shù)到單獨(dú)的寄存 器中。在一個(gè)例子中,在每個(gè)樣本窗口時(shí)間段的結(jié)尾或者在被監(jiān)視的虛擬機(jī)狀態(tài)改變之后, 諸如如果管理程序在時(shí)間上把虛擬機(jī)切出以執(zhí)行管理程序功能,資源核算邏輯124可以把 寄存器值轉(zhuǎn)儲(chǔ)到存儲(chǔ)器。
[0032] 在一個(gè)例子中,資源核算邏輯124計(jì)數(shù)指示資源利用率的值,包括但不限于,作為 剩余容量投影(projection)的方式的處理器利用率、處理器工作率、每個(gè)虛擬機(jī)消耗的處 理器時(shí)間、存儲(chǔ)器容量、存儲(chǔ)器帶寬、網(wǎng)絡(luò)帶寬、網(wǎng)絡(luò)事務(wù)速率、存儲(chǔ)每秒輸入/輸出操作 (I0PS),以及電源。在該例子中,由于處理器單元會(huì)在多個(gè)虛擬機(jī)之間共享,所以資源核算 邏輯124可以單獨(dú)地記錄每個(gè)處理單元的利用率。在其它或備選實(shí)施例中,資源核算邏輯 124可以在硬件層120計(jì)數(shù)指示資源利用率的其它或備選的值。
[0033] 在該例子中,節(jié)點(diǎn)110的硬件層120還可以配置有利用率中斷邏輯126。利用率中 斷邏輯126實(shí)時(shí)地把由資源核算邏輯124采樣的資源利用率值與一個(gè)或多個(gè)可編程閾值進(jìn) 行比較。如果用于采樣窗口的資源利用率值大于規(guī)定的閾值,那么利用率中斷邏輯126產(chǎn) 生負(fù)載平衡中斷,該負(fù)載平衡中斷指示計(jì)算節(jié)點(diǎn)需要負(fù)載平衡幫助,也稱為"需要幫助"負(fù) 載平衡中斷。如果用于采樣窗口的資源利用率值不大于閾值,那么利用率中斷邏輯126產(chǎn) 生負(fù)載平衡中斷,該負(fù)載平衡中斷指示計(jì)算節(jié)點(diǎn)有資源可用于幫助平衡工作負(fù)荷,也稱為 "能幫助"負(fù)載平衡中斷。
[0034] 此外,利用率中斷邏輯126可以包括帶有多個(gè)可編程閾值的多級(jí)比較器邏輯,用 于產(chǎn)生其它或備選類型的負(fù)載平衡中斷以滿足計(jì)算環(huán)境100中對(duì)計(jì)算節(jié)點(diǎn)110的性能要 求,諸如在服務(wù)水平協(xié)議中設(shè)置的性能要求。尤其,由于節(jié)點(diǎn)110可以在不同時(shí)間以不同服 務(wù)水平協(xié)議處理不同的工作負(fù)荷,所以利用率中斷邏輯126可以在硬件層配置有多級(jí)比較 器邏輯,其中多級(jí)比較器邏輯是可編程的,以滿足多種類型的服務(wù)水平協(xié)議設(shè)置。在一個(gè)例 子中,需要在計(jì)算環(huán)境100中運(yùn)行工作負(fù)荷的客戶可以在管理層規(guī)定服務(wù)水平協(xié)議。諸如 服務(wù)VM136的節(jié)點(diǎn)管理層102或軟件層130的一種或多種服務(wù)可以把收到的用于工作負(fù)荷 的服務(wù)水平協(xié)議到用于編程的閾值的轉(zhuǎn)換自動(dòng)化成用于在該服務(wù)水平協(xié)議下處理工作負(fù) 荷的利用率中斷邏輯126,并且服務(wù)VM136或節(jié)點(diǎn)110的另一個(gè)控制器可以把可編程閾值的 編程自動(dòng)化成利用率中斷邏輯126。
[0035] 在一個(gè)例子中,除了包括用于產(chǎn)生"需要幫助"負(fù)載平衡中斷和"能幫助"負(fù)載平 衡中斷的邏輯外,利用率中斷邏輯126還可以包括用于產(chǎn)生"正常"負(fù)載平衡中斷的邏輯, 其中"正常"負(fù)載平衡中斷在用于采樣窗口的資源利用率值小于"需要幫助"閾值并且大于 "能幫助"閾值時(shí)產(chǎn)生。利用率中斷邏輯126還可以產(chǎn)生多種程度的"需要幫助"或"能幫 助"負(fù)載平衡中斷。例如,當(dāng)資源利用率值達(dá)到諸如70%的第一閾值時(shí),利用率中斷邏輯126 可以產(chǎn)生第一級(jí)"需要幫助"負(fù)載平衡中斷,當(dāng)資源利用率值達(dá)到諸如90%的第二閾值時(shí), 產(chǎn)生第二級(jí)"需要幫助"負(fù)載平衡中斷。在一個(gè)例子中,所述不同程度的"需要幫助"負(fù)載 平衡中斷可以由節(jié)點(diǎn)110中的不同層捕獲,例如,軟件層130捕獲第一級(jí)"需要幫助"負(fù)載 平衡中斷觸發(fā)器以及軟件層130和硬件層120兩者都捕獲第二級(jí)"需要幫助"負(fù)載平衡中 斷觸發(fā)器。
[0036] 在一個(gè)例子中,在具有一個(gè)或多個(gè)虛擬化資源層的計(jì)算環(huán)境100中,參考在計(jì)算 節(jié)點(diǎn)中虛擬機(jī)之間平衡工作負(fù)荷或者在計(jì)算環(huán)境100的不同計(jì)算節(jié)點(diǎn)之間平衡工作負(fù)荷 的能力在此描述了負(fù)載平衡。在另一個(gè)例子中,為了滿足服務(wù)水平協(xié)議、策略以及計(jì)算環(huán)境 100的一層或多層中規(guī)定的其它要求,負(fù)載平衡可以包括計(jì)算環(huán)境100中其它類型的工作 負(fù)荷管理。
[0037] 在一個(gè)例子中,由硬件層120輸出的負(fù)載平衡中斷是專用輸出信號(hào),該輸出信號(hào) 或者在其產(chǎn)生時(shí)發(fā)出或者是關(guān)閉的??梢砸?guī)定"能幫助"負(fù)載平衡中斷為一種信號(hào),并且可 以規(guī)定"需要幫助"負(fù)載平衡中斷為另一種信號(hào)。在該例子中,因?yàn)榭梢詾槊糠N類型所監(jiān)視 的硬件資源規(guī)定單獨(dú)的負(fù)載平衡中斷,所以硬件層120可以同時(shí)為存儲(chǔ)器資源產(chǎn)生"需要 幫助"負(fù)載平衡中斷和為處理器資源產(chǎn)生"能幫助"負(fù)載平衡中斷。為了給每個(gè)硬件資源產(chǎn) 生單獨(dú)的負(fù)載平衡中斷,可以設(shè)置由利用率中斷邏輯126對(duì)照用于每種類型硬件資源的利 用率統(tǒng)計(jì)所進(jìn)行比較的閾值,以滿足用于計(jì)算節(jié)點(diǎn)、虛擬機(jī)、個(gè)別工作負(fù)荷的策略和服務(wù)水 平協(xié)議。此外,在利用率中斷邏輯126中為每種類型硬件資源設(shè)置的閾值可以動(dòng)態(tài)可編程 以反映用于當(dāng)前在計(jì)算節(jié)點(diǎn)上的虛擬機(jī)和當(dāng)前運(yùn)行在虛擬機(jī)上的工作負(fù)荷的當(dāng)前策略和 服務(wù)水平協(xié)議。
[0038] 在該例子中,可以指定軟件層130和節(jié)點(diǎn)管理層102中的一個(gè)或多個(gè)軟件層來捕 獲由利用率中斷邏輯126從硬件層120發(fā)出的負(fù)載平衡中斷。在一個(gè)例子中,為了在計(jì)算 節(jié)點(diǎn)110上本地運(yùn)行的軟件層130中捕獲負(fù)載平衡中斷,可以指定服務(wù)VM136來捕獲由利 用率中斷邏輯126從硬件層120發(fā)出的負(fù)載平衡中斷。在其它例子中,可以指定軟件層130 中的其它組件來捕獲從硬件層120發(fā)出的負(fù)載平衡中斷。
[0039] 在一個(gè)例子中,每一個(gè)負(fù)載平衡中斷都是通過單獨(dú)的特殊引腳輸出的并且邊上的 微控制器實(shí)現(xiàn)為監(jiān)視引腳和運(yùn)行代碼,以便為服務(wù)VM136捕獲中斷。在另一個(gè)例子中,每一 個(gè)負(fù)載平衡中斷都是作為硬件管理的中斷輸出,使得軟件層130中當(dāng)前運(yùn)行的軟件停止, 并且使得指定處理該中斷的軟件層130的控制器運(yùn)行以便處理該中斷。指定處理中斷的軟 件層130的控制器可以包括服務(wù)VM136,或者可以包括處理中斷并且把中斷傳給服務(wù)VM136 的另一個(gè)控制器,諸如管理程序。在另一個(gè)例子中,服務(wù)VM136可以按時(shí)間片以一定時(shí)間間 隔運(yùn)行并且檢測(cè)在時(shí)間間隔期間硬件級(jí)發(fā)生的任何變化,諸如檢測(cè)由利用率中斷邏輯126 在時(shí)間間隔期間輸出的任何負(fù)載平衡中斷。關(guān)于用于產(chǎn)生負(fù)載平衡中斷的硬件和用于捕獲 和處理負(fù)載平衡中斷的軟件所描述的例子是說明性的例子,本發(fā)明不限于此。在其它或備 選實(shí)施例中,可以實(shí)現(xiàn)其它或備選類型的軟件和硬件使得利用率中斷邏輯126能夠輸出基 于硬件的負(fù)載平衡中斷以及對(duì)于計(jì)算節(jié)點(diǎn)110的軟件層130能夠檢測(cè)和處理基于硬件的負(fù) 載平衡中斷。
[0040] 在一個(gè)例子中,負(fù)載平衡中斷也可以觸發(fā)硬件層120中的一個(gè)或多個(gè)處理器來停 止和運(yùn)行服務(wù)VM136以處理負(fù)載平衡需求。在一個(gè)例子中,服務(wù)VM136可以執(zhí)行多種服務(wù) 功能并且這些功能直到被觸發(fā)運(yùn)行才在多個(gè)處理器中的一個(gè)上被調(diào)度。在該例子中,當(dāng)服 務(wù)VM136通過負(fù)載平衡中斷被觸發(fā)來執(zhí)行負(fù)載平衡時(shí),可以指定硬件資源122的一個(gè)或多 個(gè)處理器來運(yùn)行服務(wù)VM136,并且該指定的處理器可以接收負(fù)載平衡中斷并且停止運(yùn)行服 務(wù)VM136的負(fù)載平衡服務(wù)。在其它或備選實(shí)施例中,負(fù)載平衡中斷可以用于觸發(fā)硬件層120 中其它的或備選的元件以停止,用于停止和執(zhí)行另一種有關(guān)硬件的功能,或者用于從軟件 層130停止和運(yùn)行代碼。
[0041] 在一個(gè)例子中,如果服務(wù)VM136捕獲"需要幫助"負(fù)載平衡中斷,那么服務(wù)VM136評(píng) 估從資源核算邏輯124轉(zhuǎn)儲(chǔ)到存儲(chǔ)器中的在采樣窗口上的存儲(chǔ)器中利用率統(tǒng)計(jì)、基于該利 用率統(tǒng)計(jì)確定哪一個(gè)或哪些特定的VM需要幫助、并且傳遞"需要幫助"負(fù)載平衡中斷事件 以及對(duì)于把該特定的VM轉(zhuǎn)移到節(jié)點(diǎn)管理層102的請(qǐng)求。在一個(gè)例子中,由于資源利用率是 在硬件層120中采樣的,因此硬件產(chǎn)生的負(fù)載平衡中斷會(huì)實(shí)時(shí)發(fā)生,而通過服務(wù)VM136的軟 件輪詢將會(huì)有一些與輪詢間隔相關(guān)聯(lián)的延遲并且需要周期性地停止處理器處理其它功能, 以處理由服務(wù)VM136的軟件輪詢請(qǐng)求。因此,在一個(gè)例子中,通過設(shè)置應(yīng)用在利用率中斷邏 輯126中的特定閾值級(jí)別來在硬件級(jí)產(chǎn)生"需要幫助"負(fù)載平衡中斷,硬件產(chǎn)生的負(fù)載平衡 中斷提供基于實(shí)時(shí)策略的觸發(fā)器,用于觸發(fā)節(jié)點(diǎn)110請(qǐng)求負(fù)載平衡以便在節(jié)點(diǎn)級(jí)滿足服務(wù) 水平協(xié)議,其中包括由節(jié)點(diǎn)管理層102規(guī)定的服務(wù)水平協(xié)議。此外,在一個(gè)例子中,通過設(shè) 置應(yīng)用在利用率中斷邏輯126中的特定閾值級(jí)別來在硬件級(jí)產(chǎn)生"需要幫助"負(fù)載平衡中 斷,以便實(shí)時(shí)地滿足服務(wù)水平協(xié)議,而不需要軟件層130為利用率統(tǒng)計(jì)而周期性地輪詢硬 件層120以及分析利用率統(tǒng)計(jì)以確定節(jié)點(diǎn)110是否需要任何負(fù)載平衡,軟件層130可以等 待利用率中斷邏輯126發(fā)出"需要幫助"負(fù)載平衡中斷來為節(jié)點(diǎn)110請(qǐng)求負(fù)載平衡。
[0042] 在該例子中,如果服務(wù)VM136捕獲"能幫助"負(fù)載平衡中斷,那么服務(wù)VM136把"能 幫助"負(fù)載平衡中斷事件傳到節(jié)點(diǎn)管理層102以觸發(fā)節(jié)點(diǎn)管理層102來記錄節(jié)點(diǎn)110為可 用于幫助平衡工作負(fù)荷。在一個(gè)例子中,當(dāng)服務(wù)VM136捕獲可得到的負(fù)載平衡中斷時(shí),服務(wù) VM136把"能幫助"負(fù)載平衡中斷事件傳到節(jié)點(diǎn)管理層102而不需要讀取對(duì)硬件資源120的 利用率統(tǒng)計(jì),從而使網(wǎng)絡(luò)通信量以及向節(jié)點(diǎn)管理層102報(bào)告計(jì)算節(jié)點(diǎn)110可用于負(fù)載平衡 所需要的計(jì)算資源最小化。此外,在該例子中,通過設(shè)置應(yīng)用在利用率中斷邏輯126中的特 定閾值級(jí)別是在硬件級(jí)產(chǎn)生"能幫助"負(fù)載平衡中斷,而不是在需要為利用率統(tǒng)計(jì)而周期性 地輪詢硬件層120以及分析利用率統(tǒng)計(jì)以確定節(jié)點(diǎn)110是否可用于負(fù)載平衡的軟件層130, 軟件層130可以等待"能幫助"負(fù)載平衡中斷并且把"能幫助"負(fù)載平衡中斷事件傳給節(jié)點(diǎn) 管理層102以指示節(jié)點(diǎn)110可用于幫助負(fù)載平衡。
[0043] 在該例子中,節(jié)點(diǎn)管理層102可以包括配置為捕獲負(fù)載平衡中斷的一層或多層和 用于把VM從一個(gè)節(jié)點(diǎn)轉(zhuǎn)移到另一個(gè)節(jié)點(diǎn)以及用于在節(jié)點(diǎn)上復(fù)制VM的一個(gè)或多個(gè)控制器。 在該例子中,如果節(jié)點(diǎn)管理層102從計(jì)算節(jié)點(diǎn)捕獲"需要幫助"負(fù)載平衡中斷事件以及對(duì)特 定VM的轉(zhuǎn)移請(qǐng)求,那么節(jié)點(diǎn)管理層102可以確定一個(gè)或多個(gè)可用于負(fù)載平衡的候選節(jié)點(diǎn), 諸如節(jié)點(diǎn)150和節(jié)點(diǎn)152。然后,節(jié)點(diǎn)管理層102可以查詢候選節(jié)點(diǎn)以確定每個(gè)候選節(jié)點(diǎn)是 否能幫助該特定的VM。候選節(jié)點(diǎn)可以為候選節(jié)點(diǎn)幫助該特定VM計(jì)算最合適的值并且返回 最合適的值。在一個(gè)例子中,最合適的值可以表現(xiàn)為由節(jié)點(diǎn)評(píng)估的表示節(jié)點(diǎn)承擔(dān)額外的工 作負(fù)荷并且滿足一個(gè)或多個(gè)策略中的性能要求的風(fēng)險(xiǎn)的值。節(jié)點(diǎn)管理層102從返回最合適 值的候選節(jié)點(diǎn)中選擇最合適的節(jié)點(diǎn)并且把所述特定VM轉(zhuǎn)移到該最合適節(jié)點(diǎn)??蛇x地,如果 該特定VM可以被復(fù)制從而避免過分利用,那么節(jié)點(diǎn)管理層102可以選擇該最合適節(jié)點(diǎn)并且 服務(wù)VM136可以協(xié)調(diào)把該特定VM在最合適節(jié)點(diǎn)上復(fù)制。
[0044] 在該例子中,如果節(jié)點(diǎn)管理層102接收"能幫助"負(fù)載平衡中斷事件,那么節(jié)點(diǎn)管 理層102可以用"可用"中斷狀態(tài)為計(jì)算節(jié)點(diǎn)更新記錄。在一個(gè)例子中,節(jié)點(diǎn)管理層102可 以維護(hù)指示"可用"狀態(tài)的計(jì)算節(jié)點(diǎn)的幫助狀態(tài)列表,使得當(dāng)節(jié)點(diǎn)管理層102需要確定用于 負(fù)載平衡的候選節(jié)點(diǎn)時(shí),節(jié)點(diǎn)管理層102首先咨詢?cè)搸椭鸂顟B(tài)列表來選擇帶有最近指示的 "可用"負(fù)載平衡中斷狀態(tài)的候選節(jié)點(diǎn)。
[0045] 在該例子中,軟件層130能夠動(dòng)態(tài)地在VM132和134中重新配置資源分配而不需 要包括動(dòng)態(tài)邏輯分區(qū)在內(nèi)的重啟。尤其,通過服務(wù)VM136或另一種服務(wù),軟件層130可以使 存儲(chǔ)器、CPU容量、I/O接口以及其它硬件資源能夠在同一服務(wù)器中的VM之間無干擾地轉(zhuǎn) 移。
[0046] 此外,在該例子中,節(jié)點(diǎn)管理層102的一個(gè)或多個(gè)服務(wù)可以控制活躍VM從一個(gè)節(jié) 點(diǎn)轉(zhuǎn)移到另一個(gè)節(jié)點(diǎn)而不會(huì)被停用。節(jié)點(diǎn)管理層102可以通過連接節(jié)點(diǎn)的服務(wù)VM協(xié)調(diào)活 躍VM從一個(gè)節(jié)點(diǎn)到另一個(gè)節(jié)點(diǎn)的轉(zhuǎn)移。在一個(gè)例子中,為了管理VM從一個(gè)節(jié)點(diǎn)到另一個(gè) 節(jié)點(diǎn)的轉(zhuǎn)移,可能需要源和目標(biāo)節(jié)點(diǎn)能夠訪問同一網(wǎng)絡(luò)和存儲(chǔ)區(qū)域網(wǎng)絡(luò),但不必要是同種 類型的網(wǎng)絡(luò)。在一個(gè)例子中,當(dāng)VM從源節(jié)點(diǎn)轉(zhuǎn)移到目標(biāo)節(jié)點(diǎn)時(shí),該VM的存儲(chǔ)器內(nèi)容被異步 地從一個(gè)系統(tǒng)拷貝到另一個(gè)系統(tǒng)以創(chuàng)建分區(qū)的克隆,直到達(dá)到閾值,然后使該VM過渡到目 標(biāo)節(jié)點(diǎn)并且同步地拷貝任何剩余頁(yè)。在其它實(shí)施例中,可以控制其它類型的VM和資源的中 介。
[0047] 在該例子中,由于計(jì)算環(huán)境100中的一層或多層可以配置為捕獲來自節(jié)點(diǎn)110硬 件層120的利用率中斷邏輯126發(fā)出的負(fù)載平衡中斷,所以至少對(duì)于節(jié)點(diǎn)110來說,不需要 軟件層來輪詢節(jié)點(diǎn)110的硬件層120以確定節(jié)點(diǎn)110是否需要任何負(fù)載平衡或者節(jié)點(diǎn)110 是否可用于接收來自另一個(gè)計(jì)算節(jié)點(diǎn)的工作負(fù)荷。作為對(duì)照,如果節(jié)點(diǎn)不包括用于產(chǎn)生負(fù) 載平衡中斷以觸發(fā)針對(duì)節(jié)點(diǎn)的負(fù)載平衡動(dòng)作的利用率中斷邏輯126,那么,為了管理節(jié)點(diǎn)上 的工作負(fù)荷,諸如節(jié)點(diǎn)的服務(wù)VM或節(jié)點(diǎn)管理和虛擬化層102的一個(gè)或多個(gè)軟件層會(huì)包括輪 詢一個(gè)或多個(gè)硬件層的軟件代理以及該節(jié)點(diǎn)的服務(wù)VM層來為節(jié)點(diǎn)積累利用率統(tǒng)計(jì)以便在 做出關(guān)于負(fù)載平衡的決定時(shí)使用。當(dāng)需要軟件層輪詢一個(gè)或多個(gè)硬件層和節(jié)點(diǎn)的服務(wù)器VM 層時(shí),每一個(gè)輪詢請(qǐng)求都產(chǎn)生網(wǎng)絡(luò)流量并且需要額外的計(jì)算資源用于這些層發(fā)送和響應(yīng)輪 詢請(qǐng)求以及分析返回的利用率統(tǒng)計(jì)。此外,當(dāng)需要軟件層為利用率統(tǒng)計(jì)輪詢節(jié)點(diǎn)的硬件層 時(shí),軟件層可能會(huì)需要等到采樣窗口完成或者停止采樣周期以訪問利用率統(tǒng)計(jì),這就給硬 件層增加了額外的計(jì)算負(fù)擔(dān)并且延遲收到利用率統(tǒng)計(jì)。隨著計(jì)算環(huán)境100中節(jié)點(diǎn)數(shù)量的增 力口,如果需要軟件輪詢,那么將產(chǎn)生網(wǎng)絡(luò)流量并且需要額外的計(jì)算資源來處理軟件輪詢。作 為對(duì)照,如果節(jié)點(diǎn)的硬件層120包括用于實(shí)時(shí)地產(chǎn)生指示負(fù)載平衡需求或節(jié)點(diǎn)可用于處理 工作負(fù)荷的負(fù)載平衡中斷的利用率中斷邏輯126,那么就去掉或者減少了對(duì)軟件輪詢和大 量信息發(fā)現(xiàn)的需要,其效率遠(yuǎn)比利用率中斷邏輯126的效率低。
[0048] 如將參考圖5、6和7進(jìn)一步描述的,計(jì)算環(huán)境100可以表示有多個(gè)云計(jì)算節(jié)點(diǎn)的 服務(wù)器云環(huán)境,其中節(jié)點(diǎn)110、節(jié)點(diǎn)150和節(jié)點(diǎn)152中的每一個(gè)可以表示一個(gè)或多個(gè)云計(jì)算 節(jié)點(diǎn)。在該例子中,軟件層130和節(jié)點(diǎn)管理層102可以表示云環(huán)境中的一個(gè)或多個(gè)管理功 能,并且一個(gè)或多個(gè)云計(jì)算節(jié)點(diǎn)可以支持每個(gè)管理功能。
[0049] 在一個(gè)例子中,其中節(jié)點(diǎn)管理層102表示云環(huán)境中的一個(gè)或多個(gè)管理功能并且節(jié) 點(diǎn)110、節(jié)點(diǎn)150和節(jié)點(diǎn)152表示一個(gè)或多個(gè)云計(jì)算節(jié)點(diǎn),節(jié)點(diǎn)管理層102可以包括云級(jí)別 管理服務(wù),用于與提供節(jié)點(diǎn)管理層102的一個(gè)或多個(gè)集群級(jí)別的服務(wù)交互。節(jié)點(diǎn)管理層102 可以把服務(wù)水平協(xié)議分配給一個(gè)或多個(gè)節(jié)點(diǎn)并且可以針對(duì)一個(gè)或多個(gè)軟件控制器在利用 率中斷邏輯126中設(shè)置可編程閾值以滿足服務(wù)水平協(xié)議。
[0050] 本領(lǐng)域普通技術(shù)人員將認(rèn)識(shí)到,盡管資源核算邏輯124和利用率中斷邏輯126是 參考在硬件層120中執(zhí)行的硬件邏輯描述的,但是資源核算邏輯124和利用率中斷邏輯126 的一個(gè)或多個(gè)功能可以由硬件和其中包括軟件層130中軟件的一種或多種類型的軟件元 素以及用于運(yùn)行嵌入在硬件層120中的代碼的微控制器的組合來執(zhí)行。此外,資源核算邏 輯124和利用率中斷邏輯126的一個(gè)或多個(gè)可以由軟件層130中的服務(wù)、或節(jié)點(diǎn)110中除 硬件層120之外的另一層中的服務(wù)、或節(jié)點(diǎn)管理層102的層中的服務(wù)執(zhí)行。
[0051] 圖2說明了在計(jì)算環(huán)境中執(zhí)行負(fù)載平衡的軟件層的一個(gè)例子的框圖,其中計(jì)算環(huán) 境包括帶有用于產(chǎn)生指示計(jì)算節(jié)點(diǎn)可用于對(duì)其它計(jì)算節(jié)點(diǎn)進(jìn)行負(fù)載平衡的負(fù)載平衡中斷 的硬件的計(jì)算節(jié)點(diǎn)。
[0052] 在該例子中,在硬件層120中執(zhí)行的資源核算邏輯124包括一個(gè)或多個(gè)樣本窗口, 其中在樣本窗口中,單獨(dú)地測(cè)量VM132和VM134的資源利用率,分別以樣本窗口 210和樣本 窗口 212說明。在其它或備選的實(shí)施例中,資源核算邏輯可以實(shí)現(xiàn)其它的或備選的資源利 用率測(cè)量組件。此外,在其它或備選的實(shí)施例中,除了實(shí)現(xiàn)每個(gè)VM-個(gè)單獨(dú)的采樣窗口外, 資源核算邏輯124還可以實(shí)現(xiàn)每個(gè)VM以及VM中所監(jiān)視的每種類型資源一個(gè)單獨(dú)的采樣窗 □。
[0053] 在該例子中,利用率中斷邏輯126包括用于組合樣本窗口 210和樣本窗口 212中 利用率值的總利用率邏輯214。在一個(gè)例子中,總利用率邏輯214可以從多個(gè)樣本窗口合計(jì) 利用率的值。在另一種例子中,總利用率邏輯214可以平均利用率的值并且計(jì)算資源的利 用率百分比??偫寐蔬壿?14可以配置為取決于資源類型和用于每種類型資源的可計(jì)算 的資源利用率統(tǒng)計(jì)的類型來計(jì)算不同類型的值。
[0054] 此外,利用率中斷邏輯126包括用于把總利用率值與用于整個(gè)窗口的閾值"X"進(jìn) 行比較的比較器216,并且如果總利用率值大于X,那么發(fā)出"需要幫助"負(fù)載平衡中斷220。 此外,利用率邏輯126包括用于把總利用率值與用于整個(gè)窗口的閾值"X"進(jìn)行比較的比較 器218,并且如果總利用率值小于X,那么發(fā)出"能幫助"負(fù)載平衡中斷222。在該例子中,盡 管比較器216和比較器208兩者有相同的可編程閾值X,但是在其它實(shí)施例中,每個(gè)比較器 可以有不同的可編程閾值。在該例子中,比較器216和比較器218可以包括附加的比較層 以便在臨時(shí)使用高峰期間最小化中斷的發(fā)射。
[0055] 在該例子中,服務(wù)VM136的負(fù)載服務(wù)232捕獲"能幫助"負(fù)載平衡中斷222并且把 "能幫助"負(fù)載平衡中斷(INTR)事件234傳給節(jié)點(diǎn)管理層120中的集群本地領(lǐng)導(dǎo)者(leader) 240。集群本地領(lǐng)導(dǎo)者240的集群平衡服務(wù)242檢測(cè)來自節(jié)點(diǎn)110的"能幫助"負(fù)載平衡中 斷事件并且在幫助狀態(tài)列表246中更新節(jié)點(diǎn)110的狀態(tài)。
[0056] 在該例子中,通過在硬件級(jí)把樣本窗口上的總資源利用率對(duì)照閾值X進(jìn)行比較并 且在硬件級(jí)產(chǎn)生"能幫助"負(fù)載平衡中斷222,示為"層1",只需要最小的邏輯來確定節(jié)點(diǎn) 110是否可用于在計(jì)算環(huán)境中幫助負(fù)載平衡。此外,從硬件層120發(fā)出可以被軟件層捕獲并 且通過軟件層傳遞的簡(jiǎn)化的、單一的中斷,示為"層2"和"層3",來指示節(jié)點(diǎn)110可用于在 計(jì)算環(huán)境中幫助負(fù)載平衡。作為對(duì)照,如果節(jié)點(diǎn)110沒有包括利用率中斷邏輯126發(fā)射指 示節(jié)點(diǎn)110對(duì)于幫助負(fù)載平衡的可用性的"能幫助"負(fù)載平衡中斷222,那么為了使節(jié)點(diǎn)110 在計(jì)算環(huán)境中具有負(fù)載平衡服務(wù),服務(wù)VM136可以包括附加的輪詢代理服務(wù)來周期性地為 樣本窗口 210和樣本窗口 212中的值輪詢資源核算邏輯124。在該例子中,軟件層130和硬 件層120之間的交互,尤其在軟件層130實(shí)現(xiàn)資源虛擬化的地方,會(huì)包括通過網(wǎng)絡(luò)接口發(fā)送 流量以及需要額外的計(jì)算資源來從資源核算邏輯124檢索資源利用率統(tǒng)計(jì)并且還對(duì)該資 源利用率統(tǒng)計(jì)進(jìn)行分析以確定節(jié)點(diǎn)110是否可用于在計(jì)算環(huán)境中幫助負(fù)載平衡。隨著節(jié)點(diǎn) 數(shù)量的增加,如果節(jié)點(diǎn)不斷地執(zhí)行軟件輪詢來訪問資源利用率統(tǒng)計(jì),那么由軟件輪詢引起 的網(wǎng)絡(luò)通信量也明顯地增長(zhǎng)并且移動(dòng)大量資源利用率統(tǒng)計(jì)所需要的資源也增加。因此,盡 管軟件層中的服務(wù)可以為利用率統(tǒng)計(jì)輪詢硬件層120并且可以執(zhí)行與利用率中斷邏輯126 相同的分析以確定節(jié)點(diǎn)110是否可用于幫助負(fù)載平衡,但是軟件層的使用產(chǎn)生網(wǎng)絡(luò)流量并 且需要額外的計(jì)算資源,當(dāng)在硬件級(jí)通過利用率中斷邏輯126做出同樣的決定時(shí),這些額 外的計(jì)算資源是不需要的。
[0057] 圖3說明了在計(jì)算環(huán)境中執(zhí)行負(fù)載平衡的軟件層的一個(gè)例子的框圖,其中計(jì)算環(huán) 境包括帶有用于產(chǎn)生指示計(jì)算節(jié)點(diǎn)需要負(fù)載平衡的負(fù)載平衡中斷的硬件的計(jì)算節(jié)點(diǎn)。
[0058] 如前面參考圖2所描述的,如果總利用率大于用于整個(gè)采樣窗口的閾值X,那么利 用率中斷邏輯126可以產(chǎn)生"需要幫助"負(fù)載平衡中斷220。在該例子中,服務(wù)VM136的負(fù) 載服務(wù)232可以捕獲"需要幫助"負(fù)載平衡中斷220,并且在捕獲"需要幫助"負(fù)載平衡中 斷220時(shí),從存儲(chǔ)器中讀取用于樣本窗口 210和樣本窗口 212的值,作為統(tǒng)計(jì)數(shù)據(jù)234。特 別地,在該例子中,盡管總利用率邏輯214可以合并來自樣本窗口 210和樣本窗口 212的資 源利用率用于對(duì)照閾值進(jìn)行比較,但是為了繪出每個(gè)VM資源利用率圖并且確定應(yīng)該轉(zhuǎn)移 哪個(gè)VM,負(fù)載服務(wù)232可以讀取單獨(dú)用于樣本窗口 210和樣本窗口 212的值。特別地,在 該例子中,連同為負(fù)載服務(wù)232設(shè)置的一個(gè)或多個(gè)策略236和在利用率日志238中以前監(jiān) 視的度量一起,負(fù)載服務(wù)232可以分析統(tǒng)計(jì)數(shù)據(jù)234。從分析中,負(fù)載服務(wù)232可以選擇至 少一個(gè)需要被轉(zhuǎn)移到其它節(jié)點(diǎn)的VM。在備選的實(shí)施例中,負(fù)載服務(wù)232也可以把統(tǒng)計(jì)數(shù)據(jù) 234傳給另一個(gè)服務(wù),其確定哪個(gè)VM要轉(zhuǎn)移到另一個(gè)節(jié)點(diǎn)。負(fù)載服務(wù)232也可以把統(tǒng)計(jì)數(shù) 據(jù)234增加到利用率日志238中以為將來使用。
[0059] 在所說明的例子中,負(fù)載服務(wù)232是服務(wù)VM136的插件或組件。在另一個(gè)例子中, 可以在軟件層130中獨(dú)立于服務(wù)VM136實(shí)現(xiàn)負(fù)載服務(wù)232。
[0060] 在該例子中,負(fù)載服務(wù)232把"需要幫助"負(fù)載平衡中斷事件332推送到節(jié)點(diǎn)管理 層102。此外,如果負(fù)載服務(wù)232選擇了至少一個(gè)要被轉(zhuǎn)移的VM,那么負(fù)載服務(wù)232可以把 轉(zhuǎn)移請(qǐng)求330推送到節(jié)點(diǎn)管理層102,諸如"轉(zhuǎn)移VM2",其中"VM2"識(shí)別所選擇的要被轉(zhuǎn)移 的VM。
[0061] 在該例子中,節(jié)點(diǎn)管理層102中的集群平衡服務(wù)242監(jiān)聽來自一個(gè)或多個(gè)節(jié)點(diǎn)的 負(fù)載平衡中斷事件。在該例子中,當(dāng)集群平衡服務(wù)242檢測(cè)到從節(jié)點(diǎn)110傳來的"需要幫 助"負(fù)載平衡中斷事件332時(shí),集群平衡服務(wù)242也可以監(jiān)視是否已經(jīng)為節(jié)點(diǎn)110中所選擇 的VM把轉(zhuǎn)移VM330請(qǐng)求發(fā)送到VM轉(zhuǎn)移器344。在該例子中,負(fù)載服務(wù)232選擇至少一個(gè) 要被轉(zhuǎn)移的VM,諸如"VM2",并且把"轉(zhuǎn)移VM2"請(qǐng)求發(fā)送到集群本地領(lǐng)導(dǎo)者240的VM轉(zhuǎn)移 器344,以及把"需要幫助"負(fù)載平衡中斷332事件傳遞到集群負(fù)載服務(wù)242。在另一個(gè)例 子中,集群平衡服務(wù)242可以選擇要被轉(zhuǎn)移的VM。此外,負(fù)載服務(wù)232可以把"需要幫助" 負(fù)載平衡中斷事件和該事件中指定的所選擇的VM -起轉(zhuǎn)發(fā)。
[0062] 在該例子中,集群平衡服務(wù)242可以選擇至少一個(gè)用于接收所選VM的候選節(jié)點(diǎn)。 在一個(gè)例子中,通過按幫助狀態(tài)列表246檢查是否存在任何報(bào)告其幫助進(jìn)行負(fù)載平衡的可 用性的節(jié)點(diǎn),集群平衡服務(wù)242可以選擇至少一個(gè)候選節(jié)點(diǎn),并且基于策略248和利用率日 志250進(jìn)一步過濾候選節(jié)點(diǎn)的選擇。利用率日志238和利用率日志250可以包括短期歷史 數(shù)據(jù),其包括但不限于,峰值、谷值、頻率、平均值、趨勢(shì)、以及當(dāng)前用于在優(yōu)化資源利用中使 用的數(shù)據(jù)。此外,利用率日志250可以包括由集群平衡服務(wù)242確定的較長(zhǎng)期的時(shí)間和日 期相關(guān)的模式以預(yù)測(cè)將來的資源競(jìng)爭(zhēng)以及優(yōu)化用于初始布置的工作負(fù)荷組合。策略248可 以包括用于管理多種系統(tǒng)能力的策略,其中系統(tǒng)能力包括但不限于招投標(biāo)、代理、和保留工 作負(fù)荷用于負(fù)載平衡以優(yōu)化資源。策略248可以包括用于工作負(fù)荷采樣的策略并且可以包 括用于工作負(fù)荷類型的策略,工作負(fù)荷類型包括但不限于,優(yōu)先級(jí)、共置(colocation)、抗 共置(anti-colocation)、可靠性、功率限制、本地管理的、粘粘的、可移動(dòng)的、可取消的、可 重新啟動(dòng)的、以及容錯(cuò)的/無狀態(tài)的,其可以為期望的高可用性故障轉(zhuǎn)移特征定義或規(guī)定 參數(shù)。
[0063] 在該例子中,如在參考標(biāo)號(hào)350處說明的,負(fù)載服務(wù)242已經(jīng)從節(jié)點(diǎn)150收到"能 幫助"負(fù)載平衡中斷350,并且已經(jīng)更新了幫助狀態(tài)列表246以指示節(jié)點(diǎn)150可用于負(fù)載平 衡。響應(yīng)從節(jié)點(diǎn)110接收"需要幫助"負(fù)載平衡中斷事件332,負(fù)載平衡服務(wù)242可以把節(jié) 點(diǎn)150識(shí)別為用于接收"VM2"的候選節(jié)點(diǎn)。在該例子中,集群平衡服務(wù)242向節(jié)點(diǎn)150發(fā) 送請(qǐng)求352詢問節(jié)點(diǎn)150是否能幫助"VM2"。服務(wù)VM360中的負(fù)載服務(wù)362處理請(qǐng)求352, 并且基于反映節(jié)點(diǎn)150當(dāng)前資源利用率的統(tǒng)計(jì)數(shù)據(jù)364連同策略和利用率日志一起為節(jié)點(diǎn) 150計(jì)算最合適的值來處理"VM2"。負(fù)載服務(wù)362把指示節(jié)點(diǎn)150能幫助"VM2"以及最合 適的值的響應(yīng)354返回到集群平衡服務(wù)242。集群平衡服務(wù)242收集從一個(gè)或多個(gè)候選節(jié) 點(diǎn)接收的最合適的值并且基于返回的最合適的值和策略248選擇最合適的節(jié)點(diǎn)。VM轉(zhuǎn)移器 344在服務(wù)VM136和服務(wù)VM360之間協(xié)調(diào)以便把VM2從節(jié)點(diǎn)110轉(zhuǎn)移到節(jié)點(diǎn)150,如參考標(biāo) 號(hào)356處說明的。在該例子中,VM2原先在節(jié)點(diǎn)110中反映為VM⑵134比并且轉(zhuǎn)移到節(jié)點(diǎn) 150反映為VM⑵356。
[0064] 可選地,如果選擇的VM具有允許其被復(fù)制以避免過度使用的屬性,那么負(fù)載服務(wù) 232可以發(fā)送"需要幫助"負(fù)載平衡中斷332并且規(guī)定該請(qǐng)求是用于復(fù)制的。集群平衡服 務(wù)242可以識(shí)別最合適的節(jié)點(diǎn)并且通知服務(wù)VM136該最合適的節(jié)點(diǎn),諸如節(jié)點(diǎn)150。服務(wù) VM136可以直接聯(lián)系最合適節(jié)點(diǎn)的服務(wù)VM,諸如服務(wù)VM360,并且協(xié)調(diào)把該VM復(fù)制到最合適 的節(jié)點(diǎn)。
[0065] 在該例子中,通過在硬件級(jí)把樣本窗口上的總資源利用率對(duì)照閾值X進(jìn)行比較并 且在硬件級(jí)產(chǎn)生"需要幫助"負(fù)載平衡中斷220,示為"層1",只需要最小的邏輯來確定節(jié) 點(diǎn)110在計(jì)算環(huán)境中是否需要負(fù)載平衡幫助。此外,從硬件層120發(fā)出可以被軟件層捕獲 并且通過軟件層傳遞的簡(jiǎn)化的、單一的中斷,示為"層2"和"層",來指示節(jié)點(diǎn)110在計(jì)算環(huán) 境中需要負(fù)載平衡幫助。作為對(duì)照,如果節(jié)點(diǎn)110沒有包括利用率中斷邏輯126發(fā)射指示 節(jié)點(diǎn)110需要負(fù)載平衡幫助的"需要幫助"負(fù)載平衡中斷220,那么為了使節(jié)點(diǎn)110在計(jì)算 環(huán)境中具有負(fù)載平衡服務(wù),服務(wù)VM136可以包括附加的輪詢代理服務(wù)來周期性地為樣本窗 口 210和樣本窗口 212中的值輪詢資源核算邏輯124、把采樣利用率值繪圖、對(duì)照策略比較 這些值、并且確定節(jié)點(diǎn)是否需要負(fù)載平衡幫助。在該例子中,軟件層130和硬件層120之間 的交互,尤其在軟件層130實(shí)現(xiàn)資源虛擬化的地方,會(huì)包括通過網(wǎng)絡(luò)接口發(fā)送流量以及需 要額外的計(jì)算資源來從資源核算邏輯124檢索資源利用率統(tǒng)計(jì)并且還對(duì)該資源利用率統(tǒng) 計(jì)進(jìn)行分析以確定節(jié)點(diǎn)110是否在計(jì)算環(huán)境中需要負(fù)載平衡幫助。隨著節(jié)點(diǎn)數(shù)量的增加, 如果節(jié)點(diǎn)不斷地執(zhí)行軟件輪詢來訪問資源利用率統(tǒng)計(jì),那么由軟件輪詢引起的網(wǎng)絡(luò)通信量 也明顯地增長(zhǎng)并且移動(dòng)大量資源利用率統(tǒng)計(jì)所需要的資源也增加。因此,盡管軟件層中的 服務(wù)可以為利用率統(tǒng)計(jì)輪詢硬件層120并且執(zhí)行與利用率中斷邏輯126相同的分析來確定 節(jié)點(diǎn)110是否需要負(fù)載平衡幫助,但是軟件層的使用產(chǎn)生網(wǎng)絡(luò)流量并且需要額外的計(jì)算資 源,當(dāng)在硬件級(jí)通過利用率中斷邏輯126做出同樣的決定時(shí),這些額外的資源是不需要的。 而且,利用率中斷邏輯126可以與資源核算邏輯124 -起配置在芯片上,使得對(duì)于利用率中 斷邏輯126確定節(jié)點(diǎn)是否需要負(fù)載平衡幫助或者是否可用于進(jìn)行負(fù)載平衡來說不產(chǎn)生網(wǎng) 絡(luò)流量。
[0066] 在該例子中,盡管節(jié)點(diǎn)管理層102的第一層是參考集群本地領(lǐng)導(dǎo)者層進(jìn)行描述 的,但是在其它實(shí)施例中,可以在計(jì)算節(jié)點(diǎn)層和集群本地領(lǐng)導(dǎo)層之間包括其它層。此外,在 其它實(shí)施例中,可以按配置而不是在節(jié)點(diǎn)間維護(hù)點(diǎn)到點(diǎn)關(guān)系的集群中管理節(jié)點(diǎn),并且參考 集群本地領(lǐng)導(dǎo)者層所描述的功能可以由不同類型的節(jié)點(diǎn)配置控制器來實(shí)現(xiàn)。
[0067] 在該例子中,在節(jié)點(diǎn)層以及在集群本地領(lǐng)導(dǎo)者層,利用由在硬件級(jí)產(chǎn)生的負(fù)載平 衡中斷提供的信息,諸如服務(wù)VM136的節(jié)點(diǎn)層服務(wù)VM在計(jì)算節(jié)點(diǎn)中的軟件層響應(yīng)負(fù)載平衡 中斷,并且諸如集群本地領(lǐng)導(dǎo)者240的集群本地領(lǐng)導(dǎo)者響應(yīng)來自節(jié)點(diǎn)層的負(fù)載平衡中斷事 件廣播以及對(duì)節(jié)點(diǎn)執(zhí)行負(fù)載平衡,計(jì)算環(huán)境中的節(jié)點(diǎn)的集群就能夠進(jìn)行自動(dòng)化容量管理、 自我優(yōu)化、自我調(diào)節(jié),以及自動(dòng)響應(yīng)。
[0068] 計(jì)算環(huán)境可以包括多個(gè)集群本地領(lǐng)導(dǎo)者,每個(gè)集群本地領(lǐng)導(dǎo)者都跨多個(gè)計(jì)算節(jié)點(diǎn) 管理負(fù)載平衡,諸如集群本地領(lǐng)導(dǎo)者240跨節(jié)點(diǎn)110和節(jié)點(diǎn)150管理負(fù)載平衡以及集群本 地領(lǐng)導(dǎo)者372跨節(jié)點(diǎn)374和節(jié)點(diǎn)376管理負(fù)載平衡。因此,在集群本地領(lǐng)導(dǎo)者層之上操作 的諸如服務(wù)級(jí)云管理層370的云管理層能夠從諸如集群本地領(lǐng)導(dǎo)者240和集群本地領(lǐng)導(dǎo)者 372的多個(gè)集群本地領(lǐng)導(dǎo)者接收性能統(tǒng)計(jì),其中每一個(gè)集群本地領(lǐng)導(dǎo)者集都跨多個(gè)計(jì)算節(jié) 點(diǎn)平衡工作負(fù)荷,并且該云管理層能夠執(zhí)行其它的分析以便在云計(jì)算環(huán)境中跨多個(gè)可用的 計(jì)算節(jié)點(diǎn)有效地平衡工作負(fù)荷。
[0069] 在一個(gè)例子中,響應(yīng)在節(jié)點(diǎn)硬件級(jí)產(chǎn)生的負(fù)載平衡中斷,個(gè)別節(jié)點(diǎn)和由集群本地 領(lǐng)導(dǎo)者管理的節(jié)點(diǎn)集群通過通知容量(advertising capacity)進(jìn)行自動(dòng)化容量管理。節(jié)點(diǎn) 和集群本地領(lǐng)導(dǎo)者可以在本地積累來自利用率統(tǒng)計(jì)的、響應(yīng)負(fù)載平衡中斷而收集的容量信 息。節(jié)點(diǎn)和集群本地領(lǐng)導(dǎo)者可以通過負(fù)載平衡中斷事件和其它類型的事件或者對(duì)其它集群 和對(duì)諸如云管理層370的節(jié)點(diǎn)管理層102的其它層的通信來通知,否則就推送,容量更新。 節(jié)點(diǎn)和集群本地領(lǐng)導(dǎo)者可以在利用率日志238和利用率日志250中保留例如節(jié)點(diǎn)中和節(jié)點(diǎn) 集群中資源消耗模式的輕量級(jí)柱狀圖,并且根據(jù)資源使用模式進(jìn)行工作分類。
[0070] 在一個(gè)例子中,響應(yīng)在節(jié)點(diǎn)硬件級(jí)產(chǎn)生的負(fù)載平衡中斷和來自集群本地領(lǐng)導(dǎo)者的 關(guān)于在負(fù)載平衡期間接收負(fù)載的請(qǐng)求,個(gè)別節(jié)點(diǎn)和由集群本地領(lǐng)導(dǎo)者管理的節(jié)點(diǎn)集群可以 執(zhí)行加劇的(expedited)風(fēng)險(xiǎn)和資源分析。利用統(tǒng)計(jì)數(shù)據(jù)364和其它策略,服務(wù)VM360的 負(fù)載服務(wù)362可以對(duì)照當(dāng)前的實(shí)時(shí)義務(wù)(commitment)以及統(tǒng)計(jì)數(shù)據(jù)364中資源利用率趨 勢(shì)來分析接受新工作的風(fēng)險(xiǎn)?;谠诠?jié)點(diǎn)150的利用率中斷邏輯中編程的當(dāng)前閾值,給定 當(dāng)前的閾值設(shè)置,負(fù)載服務(wù)362可以確定是否允許額外的工作負(fù)荷義務(wù)。負(fù)載服務(wù)362可 以決定當(dāng)用于工作負(fù)荷的服務(wù)水平協(xié)議參數(shù)有較少限制時(shí),允許高水平的工作負(fù)荷義務(wù), 當(dāng)用于工作負(fù)荷的服務(wù)水平協(xié)議參數(shù)有較多限制時(shí),允許較低水平的工作負(fù)荷義務(wù)。負(fù)載 服務(wù)362可以計(jì)算指示負(fù)載服務(wù)362在給定當(dāng)前工作負(fù)荷義務(wù)的情況下處理工作負(fù)荷的風(fēng) 險(xiǎn)等級(jí)的最合適值。負(fù)載服務(wù)362可以計(jì)算指示與將計(jì)算節(jié)點(diǎn)用于VM相關(guān)聯(lián)的成本的最 合適的值。集群本地領(lǐng)導(dǎo)者和負(fù)載服務(wù)可以一起工作以優(yōu)化工作負(fù)荷和資源從而在滿足服 務(wù)水平協(xié)議參數(shù)和策略的情況下用最低的成本處理VM。
[0071 ] 在一個(gè)例子中,響應(yīng)在節(jié)點(diǎn)硬件層產(chǎn)生的負(fù)載平衡中斷,個(gè)別節(jié)點(diǎn)和由集群本地 領(lǐng)導(dǎo)者管理的節(jié)點(diǎn)集群通過自動(dòng)檢測(cè)資源競(jìng)爭(zhēng)進(jìn)行自我調(diào)節(jié)。在該例子中,基于在硬件層 積累的實(shí)時(shí)資源利用率統(tǒng)計(jì),硬件產(chǎn)生的"需要幫助"負(fù)載平衡中斷觸發(fā)指示VM間資源競(jìng) 爭(zhēng)的警報(bào)。由于是在硬件層檢測(cè)到資源競(jìng)爭(zhēng),因此硬件產(chǎn)生的"需要幫助"負(fù)載平衡中斷觸 發(fā)計(jì)算節(jié)點(diǎn)的軟件層來處理資源競(jìng)爭(zhēng),并且觸發(fā)負(fù)載平衡中斷的同一資源利用率統(tǒng)計(jì)對(duì)軟 件層來說也可訪問以分析來確定哪個(gè)VM正在促成資源競(jìng)爭(zhēng)問題以及確定哪個(gè)VM具有優(yōu)先 級(jí)。
[0072] 在一個(gè)例子中,響應(yīng)在節(jié)點(diǎn)硬件層產(chǎn)生的負(fù)載平衡中斷,個(gè)別節(jié)點(diǎn)和由集群本地 領(lǐng)導(dǎo)者管理的節(jié)點(diǎn)的集群基于在每個(gè)軟件層設(shè)置的策略,自動(dòng)化由節(jié)點(diǎn)和集群領(lǐng)導(dǎo)者響應(yīng) 負(fù)載平衡中斷而做出的響應(yīng)。在該例子中,每個(gè)軟件層,無論其在節(jié)點(diǎn)中或者在其中一個(gè)節(jié) 點(diǎn)管理層102中,都可以包括策略以響應(yīng)負(fù)載平衡中斷或負(fù)載平衡中斷事件。策略可以包 括但不限于快速、低成本的動(dòng)作:諸如立即執(zhí)行動(dòng)作來停止、休眠、或基于工作負(fù)荷類型和 屬性調(diào)節(jié)工作負(fù)荷。策略可以包括諸如轉(zhuǎn)移VM的較慢和較高成本的選項(xiàng)。策略可以包括 自動(dòng)定位和分析目標(biāo)節(jié)點(diǎn)。策略可以包括規(guī)定的附加參數(shù)和動(dòng)作以滿足用于一個(gè)或多個(gè)工 作負(fù)荷的一個(gè)或多個(gè)服務(wù)水平協(xié)議的參數(shù)。
[0073] 響應(yīng)接收來自計(jì)算節(jié)點(diǎn)、集群本地領(lǐng)導(dǎo)者、或其它軟件層的負(fù)載平衡中斷事件,并 且響應(yīng)訪問從一個(gè)或多個(gè)計(jì)算節(jié)點(diǎn)的硬件層推送或提取的利用率統(tǒng)計(jì),集群本地領(lǐng)導(dǎo)者和 云管理層370可以根據(jù)為計(jì)算環(huán)境規(guī)定的一個(gè)或多個(gè)策略執(zhí)行額外的負(fù)載功能。在一個(gè)例 子中,即使當(dāng)計(jì)算節(jié)點(diǎn)的數(shù)量增加到上千個(gè)時(shí),為了在云環(huán)境中執(zhí)行云管理功能,節(jié)點(diǎn)管理 層102中的一層或多層也可以基于硬件產(chǎn)生的負(fù)載平衡中斷、利用率統(tǒng)計(jì)以及由計(jì)算節(jié)點(diǎn) 報(bào)告的最合適的值有效地執(zhí)行額外的負(fù)載平衡功能。響應(yīng)其中在計(jì)算環(huán)境中存在用于一個(gè) 或多個(gè)工作負(fù)荷的容量的硬件級(jí)負(fù)載平衡中斷,節(jié)點(diǎn)管理層102中的一層或多層可以確定 計(jì)算環(huán)境中哪里是發(fā)送工作負(fù)荷最好的地方。響應(yīng)硬件級(jí)負(fù)載平衡中斷,節(jié)點(diǎn)管理層102 中的一層或多層可以確定是否所有計(jì)算節(jié)點(diǎn)資源都被優(yōu)化了以及怎樣優(yōu)化這些資源。響應(yīng) 硬件級(jí)產(chǎn)生的中斷和最合適值的響應(yīng),節(jié)點(diǎn)管理層102中的一層或多層可以確定什么計(jì)算 節(jié)點(diǎn)不執(zhí)行來滿足服務(wù)水平協(xié)議是最有風(fēng)險(xiǎn)的,以及計(jì)算環(huán)境中存在多大的風(fēng)險(xiǎn)。節(jié)點(diǎn)管 理層102中的一層或多層可以基于節(jié)點(diǎn)級(jí)硬件產(chǎn)生的負(fù)載平衡中斷在計(jì)算環(huán)境中執(zhí)行問 題的自動(dòng)檢測(cè)和對(duì)問題的自動(dòng)響應(yīng)。節(jié)點(diǎn)管理層102中的一層或多層可以確定哪個(gè)工作負(fù) 荷有服務(wù)水平協(xié)議并且選擇包括啟用了利用率中斷邏輯的計(jì)算節(jié)點(diǎn)來觸發(fā)負(fù)載平衡中斷, 該負(fù)載平衡中斷將使計(jì)算節(jié)點(diǎn)能夠進(jìn)行負(fù)載平衡并且滿足服務(wù)水平協(xié)議中的參數(shù)。節(jié)點(diǎn)管 理層102中的一層或多層可以收集負(fù)載平衡中斷和負(fù)載平衡中斷事件并且在不影響商務(wù) 應(yīng)用和正在進(jìn)行的工作負(fù)荷義務(wù)的情況下,確定使用節(jié)點(diǎn)中未使用容量最有效的方式。
[0074] 如所說明的,在該例子中,盡管軟件本身可以執(zhí)行多種負(fù)載平衡功能,但是隨著云 計(jì)算環(huán)境中節(jié)點(diǎn)數(shù)量的增長(zhǎng),虛擬化層次也增長(zhǎng)、并且服務(wù)水平協(xié)議中用于工作負(fù)荷的參 數(shù)變化,通過實(shí)現(xiàn)硬件級(jí)和芯片級(jí)硬件邏輯來執(zhí)行資源利用率水平的實(shí)時(shí)監(jiān)控,對(duì)照設(shè)置 為滿足服務(wù)水平協(xié)議參數(shù)和其它策略的可編程閾值比較實(shí)時(shí)水平,以及觸發(fā)指示硬件負(fù)載 平衡狀態(tài)的負(fù)載平衡中斷,在云計(jì)算環(huán)境中實(shí)現(xiàn)的軟件層是推送的觸發(fā)器以便更有效和精 確地在云計(jì)算環(huán)境中響應(yīng)負(fù)載平衡需要以及向云客戶提供所期望的工作負(fù)荷性能結(jié)果。
[0075] 圖4說明了利用率中斷邏輯的組件的一個(gè)例子的框圖。如所說明的,圖4中示出 的組件、層和功能僅僅是要說明性的,本發(fā)明并不限于此。
[0076] 在一個(gè)例子中,利用率中斷邏輯126訪問由資源核算邏輯124采樣的利用率數(shù)據(jù) 402的多個(gè)樣本,利用率數(shù)據(jù)包括但不限于,處理器的使用、存儲(chǔ)器的使用、高速緩存命中 率、以及代表節(jié)點(diǎn)中的資源利用率的其它資源統(tǒng)計(jì)。利用率中斷邏輯126包括功能組件404 來計(jì)算資源的總利用率,其中功能組件404用于通過平均來合并利用率數(shù)據(jù)402的N個(gè)樣 本。
[0077] 在一個(gè)例子中,利用率中斷邏輯126包括需要幫助閾值寄存器410,其中加載需要 幫助閾值,該閾值指示負(fù)載平衡變得必要之前資源的最大利用率水平。此外,利用率中斷邏 輯126包括能幫助閾值寄存器430,其中加載能幫助閾值,該閾值指示資源的最大利用率水 平,其中如果該資源的利用率水平小于最大利用率水平,那么資源可用于負(fù)載平衡。在一個(gè) 例子中,需要幫助閾值寄存器410和能幫助閾值寄存器430是動(dòng)態(tài)可編程的,并且可以在操 作期間根據(jù)策略、用法、以及其它因素進(jìn)行動(dòng)態(tài)調(diào)整。
[0078] 此外,在一個(gè)例子中,利用率中斷邏輯126包括需要幫助計(jì)數(shù)寄存器418,其中加 載需要幫助閾值計(jì)數(shù)值,該值指示產(chǎn)生需要幫助中斷420之前資源利用率應(yīng)該超過需要幫 助閾值寄存器410中值的周期的最大數(shù)量。此外,利用率中斷邏輯126包括能幫助計(jì)數(shù)寄 存器438,其中加載能幫助閾值計(jì)數(shù)值,該值指示產(chǎn)生能幫助中斷440之前資源利用率應(yīng)該 小于能幫助閾值寄存器430中值的周期的最大數(shù)量。在一個(gè)例子中,需要幫助計(jì)數(shù)寄存器 418和能幫助計(jì)數(shù)寄存器438是動(dòng)態(tài)可編程的,并且可以在操作期間根據(jù)策略、用法、以及 其它因素進(jìn)行動(dòng)態(tài)調(diào)整。
[0079] 在一個(gè)例子中,利用率中斷邏輯126包括比較器412,用于比較被功能組件404平 均的總利用率和需要幫助閾值寄存器410中的值。在該例子中,如果總利用率大于需要幫 助閾值寄存器410中的值,那么比較器412輸出信號(hào)以遞增計(jì)數(shù)器414。利用率中斷邏輯 126包括比較器416,用于把計(jì)數(shù)器414中的值與需要幫助計(jì)數(shù)寄存器418中的值進(jìn)行比 較,并且如果值相等的話,就產(chǎn)生需要幫助中斷420。
[0080] 在一個(gè)例子中,利用率中斷邏輯126包括比較器432,用于比較被功能組件404平 均的總利用率和能幫助閾值寄存器430中的值。在該例子中,如果總利用率小于能幫助閾 值寄存器430中的值,那么比較器432輸出信號(hào)以遞增計(jì)數(shù)器434。利用率中斷邏輯126包 括比較器436,用于把計(jì)數(shù)器434中的值與能幫助計(jì)數(shù)寄存器438中的值進(jìn)行比較,并且如 果值相等的話,就產(chǎn)生能幫助中斷440。
[0081] 在一個(gè)例子中,功能組件404合并包括每個(gè)時(shí)鐘周期CPU利用率值的利用率數(shù)據(jù) 402的N個(gè)樣本。為滿足用于計(jì)算節(jié)點(diǎn)的關(guān)于CPU負(fù)載平衡的策略,需要幫助閾值寄存器 410可以用表示總利用率百分比的值加載,其中高于該百分比就會(huì)觸發(fā)負(fù)載平衡,諸如表示 一個(gè)或多個(gè)CPU90%利用率的值。用于計(jì)算節(jié)點(diǎn)的策略可以設(shè)置為:優(yōu)選地,對(duì)CPU使用率 超過90%但只持續(xù)最小數(shù)量時(shí)鐘周期的小高峰避免觸發(fā)需要幫助中斷420。在一個(gè)例子中, 為避免對(duì)CPU使用的小高峰觸發(fā)需要幫助中斷420,可以設(shè)置需要幫助計(jì)數(shù)寄存器418的值 為100,使得只有當(dāng)CPU利用率超過90%容量持續(xù)多于100個(gè)連續(xù)周期時(shí)才產(chǎn)生需要幫助中 斷 420。
[0082] 在另一個(gè)例子中,功能組件404合并包括每個(gè)時(shí)鐘周期CPU利用率值的利用率數(shù) 據(jù)402的N個(gè)樣本。在一個(gè)例子中,為滿足用于計(jì)算節(jié)點(diǎn)關(guān)于CPU負(fù)載平衡的策略,能幫助 閾值寄存器430可以用表示總利用率的值加載,其中低于該值時(shí)節(jié)點(diǎn)就具有可用于進(jìn)行負(fù) 載平衡的CPU資源,諸如表示一個(gè)或多個(gè)CPU50%利用率的值。用于計(jì)算節(jié)點(diǎn)的策略可以設(shè) 置為:優(yōu)選地,除非CPU使用率保持低于50%最小數(shù)量的時(shí)鐘周期,其指示較慢的工作負(fù)荷 段,否則避免觸發(fā)能幫助中斷440。在一個(gè)例子中,為避免對(duì)CPU使用率只有很少的下降觸 發(fā)能幫助中斷440,可以設(shè)置能幫助計(jì)數(shù)寄存器438的值為200,使得只有當(dāng)CPU利用率低 于50%容量多于200個(gè)連續(xù)周期時(shí)才產(chǎn)生能幫助中斷440。
[0083] 圖5說明處理器系統(tǒng)板的一個(gè)例子的框圖,其中處理器系統(tǒng)板在板上包括利用率 中斷邏輯和一個(gè)或多個(gè)處理器核。如所說明的,在圖5中示出的組件、層和功能僅僅是要說 明性的,本發(fā)明并不限于此。
[0084] 在該例子中,處理器板502可以用一個(gè)或多個(gè)處理器核配置,諸如處理器核504和 處理器核506,其中每個(gè)處理器核可以包括連接到一個(gè)或多個(gè)其它硬件元件的單一處理單 元或多個(gè)處理單元。在一個(gè)例子中,處理器系統(tǒng)板502表現(xiàn)在節(jié)點(diǎn)110的硬件層120中。
[0085] 在一個(gè)例子中,處理器系統(tǒng)板502可以在板上包括資源核算邏輯124,其中資源核 算邏輯124跨樣本窗口采樣和收集一個(gè)或多個(gè)資源的利用率統(tǒng)計(jì)。在一個(gè)例子中,資源核 算邏輯124配置成:根據(jù)由一個(gè)或多個(gè)虛擬機(jī)中每一個(gè)使用的一個(gè)或多個(gè)硬件資源中每一 個(gè)硬件資源,為節(jié)點(diǎn)的一個(gè)或多個(gè)硬件資源的使用采樣和收集利用率統(tǒng)計(jì),其中每一個(gè)虛 擬機(jī)都通過一個(gè)或多個(gè)硬件資源虛擬化的集合定義。在一個(gè)例子中,資源核算邏輯124對(duì) 硬件層120中由VM132和VM134中每一個(gè)使用的硬件資源122進(jìn)行采樣和收集利用率統(tǒng)計(jì)。
[0086] 在該例子中,處理器系統(tǒng)板502可以把利用率中斷邏輯126包括在板上或者集成 到板上的另一個(gè)處理器核中,其中利用率中斷邏輯126合并通過資源核算邏輯124收集的 利用率統(tǒng)計(jì),把合并的利用率統(tǒng)計(jì)對(duì)照一個(gè)或多個(gè)閾值進(jìn)行比較,并且觸發(fā)指示在處理器 系統(tǒng)板502上運(yùn)行的節(jié)點(diǎn)的負(fù)載平衡狀態(tài)的中斷。在一個(gè)例子中,其中處理器系統(tǒng)板502 存在在節(jié)點(diǎn)110的硬件層120中,利用率中斷邏輯126觸發(fā)指示節(jié)點(diǎn)110的負(fù)載平衡狀態(tài) 為可用于幫助進(jìn)行負(fù)載平衡的中斷。
[0087] 在該例子中,通過把利用率中斷邏輯126和資源核算邏輯124 -起布置在板上,利 用率中斷邏輯126通過資源核算邏輯124和利用率中斷邏輯126之間硬連接的路徑可以迅 速地讀取為VM持有利用率統(tǒng)計(jì)的寄存器。在一個(gè)例子中,當(dāng)設(shè)計(jì)處理器系統(tǒng)板502來用于 制造時(shí),可以布置利用率中斷邏輯126以便最小化資源核算邏輯124和利用率中斷邏輯126 之間路徑上的任何延遲。在另一個(gè)例子中,利用率中斷邏輯126可以制造成獨(dú)立的芯片并 且安裝在處理器系統(tǒng)板502上。
[0088] 在另一種實(shí)施例中,處理器核504和處理器核506兩者都可以把資源核算邏輯124 或利用率中斷邏輯126集成到處理器核的一個(gè)或多個(gè)之中。此外,在另一種實(shí)施例中,處理 器系統(tǒng)板502的一個(gè)或多個(gè)處理器核可以每一個(gè)都包括資源核算邏輯124和利用率中斷邏 輯126分開的實(shí)例,其中分開的實(shí)例可以用線連在處理器系統(tǒng)板502上進(jìn)行彼此通信。而 且,在另一種實(shí)施例中,處理器核502和處理器核504的一個(gè)或多個(gè)可以在與嵌有利用率中 斷邏輯126的處理器板分開的處理器板上,其中處理器板通過一條或多條總線、網(wǎng)絡(luò)接口、 或其它類型的連接接口連接。對(duì)本領(lǐng)域普通技術(shù)人員來說,顯然,節(jié)點(diǎn)的一個(gè)或多個(gè)處理器 核可以與一個(gè)或多個(gè)處理器系統(tǒng)板以多種方式配置,并且一個(gè)或多個(gè)處理器系統(tǒng)板可以與 其它處理器系統(tǒng)板以多種方式配置。資源核算邏輯124和利用率中斷邏輯126可以用許多 不同的配置配置到處理器核、系統(tǒng)板、以及其它硬件層元件中。
[0089] 現(xiàn)在參考圖6,其中說明了云計(jì)算節(jié)點(diǎn)的一個(gè)例子的一個(gè)示意性例子的框圖。云計(jì) 算節(jié)點(diǎn)610僅僅是云計(jì)算節(jié)點(diǎn)的一個(gè)示例,不應(yīng)對(duì)本文所描述的本發(fā)明實(shí)施例的功能和使 用范圍帶來任何限制??傊?,云計(jì)算節(jié)點(diǎn)610能夠被用來實(shí)現(xiàn)和/或執(zhí)行本文闡述的任何 功能。
[0090] 應(yīng)當(dāng)理解,盡管本公開包括關(guān)于云計(jì)算的詳細(xì)描述,但其中記載的技術(shù)方案的實(shí) 現(xiàn)卻不限于云計(jì)算環(huán)境,而是本發(fā)明實(shí)施例能夠結(jié)合現(xiàn)在已知或以后開發(fā)的任何其它類型 的計(jì)算環(huán)境而實(shí)現(xiàn)。
[0091] 云計(jì)算是一種服務(wù)交付模式,用于對(duì)共享的可配置計(jì)算資源池進(jìn)行方便、按需的 網(wǎng)絡(luò)訪問??膳渲糜?jì)算資源是能夠以最小的管理成本或與服務(wù)提供者進(jìn)行最少的交互就能 快速供給并釋放的資源(例如可以是網(wǎng)絡(luò)、網(wǎng)絡(luò)帶寬、服務(wù)器、處理、內(nèi)存、存儲(chǔ)、應(yīng)用、虛擬 機(jī)和服務(wù))。這種云模式可以包括至少五個(gè)特征、至少三個(gè)服務(wù)模型和至少四個(gè)部署模型。
[0092] 特征包括:
[0093] 按需自助式服務(wù):云的消費(fèi)者在無需與每個(gè)服務(wù)提供者進(jìn)行人為交互的情況下能 夠單方面自動(dòng)地按需部署諸如服務(wù)器時(shí)間和網(wǎng)絡(luò)存儲(chǔ)等的計(jì)算能力。
[0094] 廣泛的網(wǎng)絡(luò)接入:計(jì)算能力可以在網(wǎng)絡(luò)上獲取并通過標(biāo)準(zhǔn)機(jī)制訪問,這種標(biāo)準(zhǔn)機(jī) 制促進(jìn)了通過不同種類的瘦客戶機(jī)平臺(tái)或厚客戶機(jī)平臺(tái)(例如移動(dòng)通信設(shè)備、膝上型電腦、 平板電腦)對(duì)云的使用。
[0095] 資源池:提供者的計(jì)算資源被歸入資源池并通過多租戶(multi-tenant)模式服 務(wù)于多重消費(fèi)者,其中按需將不同的實(shí)體資源和虛擬資源動(dòng)態(tài)地分配和再分配。一般情況 下,消費(fèi)者不能控制或甚至并不知曉所提供的資源的確切位置,但可以在較高抽象程度上 指定位置(例如國(guó)家、州或數(shù)據(jù)中心),因此具有位置無關(guān)性。資源的例子包括存儲(chǔ)、處理、應(yīng) 用、內(nèi)存、網(wǎng)絡(luò)帶寬和虛擬機(jī)。
[0096] 迅速?gòu)椥裕耗軌蜓杆?、有彈性?有時(shí)是自動(dòng)地)部署計(jì)算能力,以實(shí)現(xiàn)快速擴(kuò)展, 并且能迅速釋放來快速縮小。在消費(fèi)者看來,用于部署的可用計(jì)算能力往往顯得是無限的, 并能在任意時(shí)候都能獲取任意數(shù)量的計(jì)算能力。
[0097] 可測(cè)量的服務(wù):云系統(tǒng)通過利用適于服務(wù)類型(例如存儲(chǔ)、處理、帶寬和活躍用戶 帳號(hào))的某種抽象程度的計(jì)量能力,自動(dòng)地控制和優(yōu)化資源效用。可以監(jiān)測(cè)、控制和報(bào)告資 源使用情況,為服務(wù)提供者和消費(fèi)者雙方提供透明度。
[0098] 服務(wù)模型如下:
[0099] 軟件即服務(wù)(SaaS):向消費(fèi)者提供的能力是使用提供者在云基礎(chǔ)架構(gòu)上運(yùn)行的 應(yīng)用??梢酝ㄟ^諸如網(wǎng)絡(luò)瀏覽器的瘦客戶機(jī)接口(例如基于網(wǎng)絡(luò)的電子郵件)從各種客戶機(jī) 設(shè)備訪問應(yīng)用。除了可能有限的特定于用戶的應(yīng)用配置設(shè)置外,消費(fèi)者既不管理也不控制 包括網(wǎng)絡(luò)、服務(wù)器、操作系統(tǒng)、存儲(chǔ)、乃至單個(gè)應(yīng)用能力等的底層云基礎(chǔ)架構(gòu)。
[0100] 平臺(tái)即服務(wù)(PaaS):向消費(fèi)者提供的能力是在云基礎(chǔ)架構(gòu)上部署消費(fèi)者創(chuàng)建或 獲得的應(yīng)用,這些應(yīng)用利用提供者支持的程序設(shè)計(jì)語言和工具創(chuàng)建。消費(fèi)者既不管理也不 控制包括網(wǎng)絡(luò)、服務(wù)器、操作系統(tǒng)或存儲(chǔ)的底層云基礎(chǔ)架構(gòu),但對(duì)其部署的應(yīng)用具有控制 權(quán),對(duì)應(yīng)用托管環(huán)境配置可能也具有控制權(quán)。
[0101] 基礎(chǔ)架構(gòu)即服務(wù)(IaaS):向消費(fèi)者提供的能力是消費(fèi)者能夠在其中部署并運(yùn)行包 括操作系統(tǒng)和應(yīng)用的任意軟件的處理、存儲(chǔ)、網(wǎng)絡(luò)和其它基礎(chǔ)計(jì)算資源。消費(fèi)者既不管理也 不控制底層的云基礎(chǔ)架構(gòu),但是對(duì)操作系統(tǒng)、存儲(chǔ)和其部署的應(yīng)用具有控制權(quán),對(duì)選擇的網(wǎng) 絡(luò)組件(例如主機(jī)防火墻)可能具有有限的控制權(quán)。
[0102] 部署模型如下:
[0103] 私有云:云基礎(chǔ)架構(gòu)單獨(dú)為某個(gè)組織運(yùn)行。云基礎(chǔ)架構(gòu)可以由該組織或第三方管 理并且可以存在于該組織內(nèi)部或外部。
[0104] 共同體云:云基礎(chǔ)架構(gòu)被若干組織共享并支持有共同利害關(guān)系(例如任務(wù)使命、安 全要求、政策和合規(guī)考慮)的特定共同體。共同體云可以由共同體內(nèi)的多個(gè)組織或第三方管 理并且可以存在于該共同體內(nèi)部或外部。
[0105] 公共云:云基礎(chǔ)架構(gòu)向公眾或大型產(chǎn)業(yè)群提供并由出售云服務(wù)的組織擁有。
[0106] 混合云:云基礎(chǔ)架構(gòu)由兩個(gè)或更多部署模型的云(私有云、共同體云或公共云)組 成,這些云依然是獨(dú)特的實(shí)體,但是通過使數(shù)據(jù)和應(yīng)用能夠移植的標(biāo)準(zhǔn)化技術(shù)或私有技術(shù) (例如用于云之間的負(fù)載平衡的云突發(fā)流量分擔(dān)技術(shù))綁定在一起。
[0107] 云計(jì)算環(huán)境是面向服務(wù)的,特點(diǎn)集中在無狀態(tài)性、低耦合性、模塊性和語意的互操 作性。
[0108] 在云計(jì)算節(jié)點(diǎn)610中具有計(jì)算機(jī)系統(tǒng)/服務(wù)器612,其可與眾多其它通用或?qū)S糜?jì) 算系統(tǒng)環(huán)境或配置一起操作。眾所周知,適于與計(jì)算機(jī)系統(tǒng)/服務(wù)器612 -起使用的計(jì)算系 統(tǒng)、環(huán)境和/或配置的例子包括但不限于:個(gè)人計(jì)算機(jī)系統(tǒng)、服務(wù)器計(jì)算機(jī)系統(tǒng)、瘦客戶機(jī)、 厚客戶機(jī)、手持或膝上設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、機(jī)頂盒、可編程消費(fèi)電子 產(chǎn)品、網(wǎng)絡(luò)個(gè)人電腦、小型計(jì)算機(jī)系統(tǒng)、大型計(jì)算機(jī)系統(tǒng)和包括上述任意系統(tǒng)或設(shè)備的分布 式云計(jì)算環(huán)境,等等。
[0109] 計(jì)算機(jī)系統(tǒng)/服務(wù)器612可以在由計(jì)算機(jī)系統(tǒng)執(zhí)行的計(jì)算機(jī)系統(tǒng)可執(zhí)行指令(諸 如程序模塊)的一般語境下描述。通常,程序模塊包括執(zhí)行特定的任務(wù)或者實(shí)現(xiàn)特定的抽象 數(shù)據(jù)類型的過程、程序、對(duì)象、組件、邏輯、數(shù)據(jù)結(jié)構(gòu)等。計(jì)算機(jī)系統(tǒng)/服務(wù)器612可以在通 過通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備執(zhí)行任務(wù)的分布式云計(jì)算環(huán)境中實(shí)施。在分布式云計(jì)算環(huán) 境中,程序模塊可以位于包括內(nèi)存存儲(chǔ)設(shè)備的本地和遠(yuǎn)程計(jì)算機(jī)系統(tǒng)存儲(chǔ)介質(zhì)上。
[0110] 如圖6所示,云計(jì)算節(jié)點(diǎn)610中的計(jì)算機(jī)系統(tǒng)/服務(wù)器612以通用計(jì)算設(shè)備的形 式示出。計(jì)算機(jī)系統(tǒng)/服務(wù)器612的組件可以包括但不限于:一個(gè)或者多個(gè)處理器或者處 理單元616,系統(tǒng)存儲(chǔ)器628,以及把包括系統(tǒng)存儲(chǔ)器628的各種系統(tǒng)組件耦合到一個(gè)或多 個(gè)處理器616的總線618。
[0111] 總線618表示幾類總線結(jié)構(gòu)中任意一類的一條或多條,包括存儲(chǔ)器總線或者存儲(chǔ) 器控制器,外圍總線,圖形加速端口,處理器或者使用多種總線結(jié)構(gòu)中的任意總線結(jié)構(gòu)的局 域總線。舉例來說,這些體系結(jié)構(gòu)包括但不限于工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(ISA)總線,微通道體系 結(jié)構(gòu)(MAC)總線,增強(qiáng)型ISA總線、視頻電子標(biāo)準(zhǔn)協(xié)會(huì)(VESA)局域總線以及外圍組件互連 (PCI)總線。
[0112] 計(jì)算機(jī)系統(tǒng)/服務(wù)器612典型地包括多種計(jì)算機(jī)系統(tǒng)可讀介質(zhì)。這些介質(zhì)可以是 能夠被計(jì)算機(jī)系統(tǒng)/服務(wù)器612訪問的任意可獲得的介質(zhì),包括易失性和非易失性介質(zhì),可 移動(dòng)的和不可移動(dòng)的介質(zhì)。
[0113] 系統(tǒng)存儲(chǔ)器628可以包括易失性存儲(chǔ)器形式的計(jì)算機(jī)系統(tǒng)可讀介質(zhì),例如隨機(jī)存 取存儲(chǔ)器(RAM) 630和/或高速緩存存儲(chǔ)器632。計(jì)算機(jī)系統(tǒng)/服務(wù)器612可以進(jìn)一步包 括其它可移動(dòng)/不可移動(dòng)的、易失性/非易失性計(jì)算機(jī)系統(tǒng)存儲(chǔ)介質(zhì)。僅作為舉例,存儲(chǔ)系 統(tǒng)634可以提供用于讀寫不可移動(dòng)的、非易失性磁介質(zhì)(圖中未顯示并且通常稱為"硬盤驅(qū) 動(dòng)器")。盡管圖中未示出,可以提供用于對(duì)可移動(dòng)非易失性磁盤(例如"軟盤")讀寫的磁盤 驅(qū)動(dòng)器,以及對(duì)可移動(dòng)非易失性光盤(例如⑶-ROM,DVD-ROM或者其它光介質(zhì))讀寫的光盤 驅(qū)動(dòng)器。在這些情況下,每個(gè)驅(qū)動(dòng)器可以通過一個(gè)或者多個(gè)數(shù)據(jù)介質(zhì)接口與總線618相連。 如將在下文中進(jìn)一步繪出和描述的,存儲(chǔ)器628可以包括至少一個(gè)程序產(chǎn)品,該程序產(chǎn)品 具有一組(例如至少一個(gè))程序模塊,這些程序模塊被配置以執(zhí)行本發(fā)明的功能。
[0114] 具有一組(至少一個(gè))程序模塊642的程序/實(shí)用工具640,可以存儲(chǔ)在存儲(chǔ)器628 中,這樣的程序模塊642包括但不限于操作系統(tǒng)、一個(gè)或者多個(gè)應(yīng)用程序、其它程序模塊以 及程序數(shù)據(jù)。這些示例中的每一個(gè)或某種組合中都可能包括網(wǎng)絡(luò)環(huán)境的實(shí)現(xiàn)。程序模塊 642通常執(zhí)行本發(fā)明在本文中所描述的功能和/或方法。
[0115] 計(jì)算機(jī)系統(tǒng)/服務(wù)器612也可以與一個(gè)或多個(gè)外部設(shè)備614 (諸如鍵盤、指向設(shè) 備、顯示器24等)通信,還可與一個(gè)或者多個(gè)使得用戶能與計(jì)算機(jī)系統(tǒng)/服務(wù)器612交互的 設(shè)備通信,和/或與使得該計(jì)算機(jī)系統(tǒng)/服務(wù)器612能與一個(gè)或多個(gè)其它計(jì)算設(shè)備進(jìn)行通 信的任何設(shè)備(例如網(wǎng)卡,調(diào)制解調(diào)器等)通信。這種通信可以通過輸入/輸出(I/O)接口 622進(jìn)行。并且,計(jì)算機(jī)系統(tǒng)/服務(wù)器612還可以通過網(wǎng)絡(luò)適配器620與一個(gè)或者多個(gè)網(wǎng)絡(luò) (諸如局域網(wǎng)(LAN),廣域網(wǎng)(WAN)和/或例如因特網(wǎng)的公共網(wǎng)絡(luò))通信。如所繪出的,網(wǎng)絡(luò) 適配器620通過總線618與計(jì)算機(jī)系統(tǒng)/服務(wù)器612的其它組件通信。應(yīng)當(dāng)明白,盡管圖 中未示出,其它硬件和/或軟件組件可以與計(jì)算機(jī)系統(tǒng)/服務(wù)器612 -起使用,例子包括但 不限于:微代碼、設(shè)備驅(qū)動(dòng)器、冗余處理單元、外部磁盤驅(qū)動(dòng)陣列、RAID系統(tǒng)、磁帶驅(qū)動(dòng)器以 及數(shù)據(jù)備份存儲(chǔ)系統(tǒng)等。
[0116] 現(xiàn)在參考圖7,其中說明了云計(jì)算環(huán)境的一個(gè)例子的框圖。如所說明的,云計(jì)算環(huán) 境750包括計(jì)算設(shè)備與其相通信的一個(gè)或者多個(gè)云計(jì)算節(jié)點(diǎn)610,計(jì)算設(shè)備例如可以是便 攜通信設(shè)備754、臺(tái)式計(jì)算機(jī)756、膝上電腦758、服務(wù)器762、和/或汽車計(jì)算機(jī)系統(tǒng)760。 計(jì)算節(jié)點(diǎn)610之間可以在云計(jì)算環(huán)境750中相互通信,并且它們可以在諸如本文所述的私 有云、共同體云、公共云或混合云或者它們的組合的一個(gè)或者多個(gè)網(wǎng)絡(luò)中進(jìn)行物理或虛擬 分組(圖中未顯示)。這樣,云的消費(fèi)者無需在本地計(jì)算設(shè)備上維護(hù)資源就能請(qǐng)求云計(jì)算環(huán) 境750提供的基礎(chǔ)架構(gòu)即服務(wù)(IaaS)、平臺(tái)即服務(wù)(PaaS)和/或軟件即服務(wù)(SaaS)。應(yīng)當(dāng) 理解,圖7中示出的各類計(jì)算設(shè)備754、756、758、760和762僅僅是說明性的,計(jì)算節(jié)點(diǎn)610 以及云計(jì)算環(huán)境750可以與任意類型網(wǎng)絡(luò)上和/或網(wǎng)絡(luò)/可尋址連接的任意類型的計(jì)算設(shè) 備(例如利用網(wǎng)絡(luò)瀏覽器)通信。在一個(gè)例子中,一個(gè)或多個(gè)客戶端可以與云計(jì)算環(huán)境750 接口,以便在云計(jì)算環(huán)境750中調(diào)度、交付并且分配工作負(fù)荷??蛻舳丝梢哉{(diào)度包括服務(wù)水 平協(xié)議的工作負(fù)荷,其中服務(wù)水平協(xié)議規(guī)定一個(gè)或多個(gè)性能參數(shù)、策略和該工作負(fù)荷的其 它需求。
[0117] 現(xiàn)在參考圖8,其中說明了由云計(jì)算環(huán)境提供的一組功能抽象層的框圖。如所說明 的,圖8所示的組件、層以及功能僅僅是說明性的,本發(fā)明并不限于此。如所繪出的,提供了 下列層和對(duì)應(yīng)功能:
[0118] 硬件和軟件層860包括硬件和軟件組件。硬件組件的例子包括:主機(jī),在一個(gè)例 子中,IBM? zSeries?系統(tǒng);基于Rise (精簡(jiǎn)指令集計(jì)算機(jī))體系結(jié)構(gòu)的服務(wù)器,在一 個(gè)例子中,IBM pSeries?系統(tǒng);IBM xSeries?系統(tǒng);IBM Blade Center?系統(tǒng);存儲(chǔ) 設(shè)備;網(wǎng)絡(luò)和網(wǎng)絡(luò)組件。軟件組件的例子包括:網(wǎng)絡(luò)應(yīng)用服務(wù)器軟件,在一個(gè)例子中,IBM WebSphere?應(yīng)用服務(wù)器軟件和數(shù)據(jù)庫(kù)軟件,在一個(gè)例子中,IBM DB2?數(shù)據(jù)庫(kù)軟件。 (IBM, zSeries, pSeries, xSeries, BladeCenter, WebSphere 和 DB2 是國(guó)際商業(yè)機(jī)器公司的 注冊(cè)商標(biāo))。
[0119] 虛擬層862提供一個(gè)抽象層,該層可以提供下列示例性虛擬實(shí)體:虛擬服務(wù)器、虛 擬存儲(chǔ)、虛擬網(wǎng)絡(luò)(包括虛擬私有網(wǎng)絡(luò))、虛擬應(yīng)用和操作系統(tǒng),以及虛擬客戶端。
[0120] 在一個(gè)例子中,管理層864提供了功能性的例子,其中云計(jì)算環(huán)境的該功能性用 于處理一個(gè)或多個(gè)功能。資源供應(yīng)功能:提供用于在云計(jì)算環(huán)境中執(zhí)行任務(wù)的計(jì)算資源和 其它資源的動(dòng)態(tài)獲取。計(jì)量和定價(jià)功能:在云計(jì)算環(huán)境內(nèi)對(duì)資源的使用進(jìn)行成本跟蹤,并為 這些資源的消費(fèi)提供帳單和發(fā)票。在一個(gè)例子中,這些資源可以包括應(yīng)用軟件許可。安全 功能:為用戶和任務(wù)提供身份驗(yàn)證,以及為數(shù)據(jù)和其它資源提供保護(hù)。用戶門戶功能:為用 戶和系統(tǒng)管理員提供對(duì)云計(jì)算環(huán)境的訪問。服務(wù)水平管理功能:提供云計(jì)算資源的分配和 管理,以滿足必需的服務(wù)水平。服務(wù)水平協(xié)議(SLA)計(jì)劃和履行功能:為根據(jù)SLA預(yù)測(cè)的對(duì) 云計(jì)算資源未來需求提供預(yù)先安排和獲取。
[0121] 工作負(fù)荷層866提供了功能性的例子,其中云計(jì)算環(huán)境的該功能性用于由工作負(fù) 荷分配者分配的工作負(fù)荷??梢詮脑搶犹峁┑墓ぷ髫?fù)荷和功能的例子包括:地圖繪制與導(dǎo) 航;軟件開發(fā)及生命周期管理;虛擬教室的教學(xué)提供;數(shù)據(jù)分析處理;交易處理;或服務(wù)器 云環(huán)境750中任意其它可以得到的能與管理層864功能中的一個(gè)或多個(gè)一起工作的功能。 如上所述,以上關(guān)于圖8所描述的所有例子僅僅是說明性的,本發(fā)明并不限于這些例子。
[0122] 資源核算邏輯124、利用率中斷邏輯126、VM、服務(wù)VM、節(jié)點(diǎn)管理層102及其功能性 元素一般地實(shí)現(xiàn)本發(fā)明實(shí)施例的技術(shù)方案。就此而言,資源核算邏輯124、利用率中斷邏輯 126、VM、服務(wù)VM以及節(jié)點(diǎn)管理層102功能可以實(shí)現(xiàn)為硬件、軟件(例如,實(shí)用工具/程序640 的程序模塊642)或其組合??傊景l(fā)明實(shí)施例的資源核算邏輯124、利用率中斷邏輯126、 VM、服務(wù)VM、節(jié)點(diǎn)管理層102功能將聯(lián)系附圖9-13以及以上說明性例子進(jìn)一步描述。
[0123] 圖9說明用于在計(jì)算節(jié)點(diǎn)硬件級(jí)產(chǎn)生負(fù)載平衡中斷的過程和程序的高層邏輯流 程圖。在一個(gè)實(shí)施例中,圖9的過程和程序可以通過板上硬件邏輯與一個(gè)或多個(gè)處理器核 來實(shí)現(xiàn)或者在處理器核內(nèi)實(shí)現(xiàn),其中處理器核是被優(yōu)化用于虛擬化的。在其它實(shí)施例中,圖 9的過程和程序可以通過軟件元素或者通過硬件元素和軟件元素的組合來實(shí)現(xiàn)。在該例子 中,過程和程序來塊900開始,然后前進(jìn)到塊902。塊902說明用需要幫助閾值加載需要幫 助閾值寄存器、用能幫助閾值加載能幫助閾值寄存器、用最小周期數(shù)量加載需要幫助計(jì)數(shù) 器閾值,以及用最小周期數(shù)量加載能幫助計(jì)數(shù)器閾值。塊904說明合并為至少一個(gè)資源在 硬件層跟蹤的用于一個(gè)或多個(gè)虛擬機(jī)的至少一個(gè)資源利用率樣本窗口值。下一步,塊906 說明把合并的用于每個(gè)資源的資源利用率與為至少一個(gè)資源中每一個(gè)編程的單獨(dú)閾值進(jìn) 行比較。此后,過程和程序可以同時(shí)進(jìn)行到塊910和塊920。
[0124] 塊910說明確定合并的資源利用率是否大于需要幫助閾值。在塊910,如果合并的 資源利用率不大于需要幫助閾值,那么根據(jù)需要幫助的決定,取決于需要幫助計(jì)數(shù)器是否 設(shè)置為在每個(gè)周期清零,過程可以進(jìn)行到塊918,或者返回到塊904。在塊910,如果合并的 資源利用率大于需要幫助閾值,那么過程進(jìn)行到塊912。塊912說明遞增需要幫助計(jì)數(shù)器。 下一步,塊914說明確定需要幫助計(jì)數(shù)器值是否等于需要幫助計(jì)數(shù)器閾值。在塊914,如果 需要幫助計(jì)數(shù)器值不等于需要幫助計(jì)數(shù)器閾值,那么根據(jù)需要幫助的決定,過程返回到塊 904。在塊914,如果需要幫助計(jì)數(shù)器值等于需要幫助計(jì)數(shù)器閾值,那么過程進(jìn)行到塊916。 塊916說明了產(chǎn)生"需要幫助"負(fù)載平衡中斷。下一步,塊918說明清零需要幫助計(jì)數(shù)器, 并且處理返回到塊904。
[0125] 塊920說明確定合并的資源利用率是否小于能幫助閾值。在塊920,如果合并的資 源利用率不小于能幫助閾值,那么根據(jù)能幫助決定,取決于能幫助計(jì)數(shù)器是否設(shè)置為在每 個(gè)周期清零,過程進(jìn)行到塊928,或者可以返回到塊904。在塊920,如果合并的資源利用率 小于能幫助閾值,那么過程進(jìn)行到塊922。塊922說明遞增能幫助計(jì)數(shù)器。下一步,塊924 說明確定能幫助計(jì)數(shù)器值是否等于能幫助計(jì)數(shù)器閾值。在塊924,如果能幫助計(jì)數(shù)器值不等 于能幫助計(jì)數(shù)器閾值,那么根據(jù)能幫助決定,過程返回到塊904。在塊924,如果能幫助計(jì)數(shù) 器值等于需要幫助計(jì)數(shù)器閾值,那么過程進(jìn)行到塊926。塊926說明產(chǎn)生"能幫助"負(fù)載平 衡中斷。下一步,塊928說明清零能幫助計(jì)數(shù)器,并且處理返回到塊904。
[0126] 圖10說明用于計(jì)算節(jié)點(diǎn)的本地軟件服務(wù)處理負(fù)載平衡中斷的過程和程序的高層 邏輯流程圖,該負(fù)載平衡中斷在計(jì)算節(jié)點(diǎn)硬件級(jí)產(chǎn)生用于請(qǐng)求負(fù)載平衡幫助。在該例子中, 處理在塊1000開始,此后前進(jìn)到塊1002。塊1002說明確定軟件服務(wù)是否捕獲由計(jì)算節(jié)點(diǎn) 硬件層產(chǎn)生的"需要幫助"負(fù)載平衡中斷。在塊1002,如果軟件服務(wù)捕獲了"需要幫助"負(fù) 載平衡中斷,那么過程繼續(xù)到塊1004。塊1004說明在中斷日志中記錄"需要幫助"負(fù)載平 衡中斷。下一步,塊1006描繪了為計(jì)算節(jié)點(diǎn)上每個(gè)虛擬機(jī)從存儲(chǔ)器讀取利用率統(tǒng)計(jì)。此 后,塊1008說明基于利用率統(tǒng)計(jì)、策略、和利用率日志,選擇至少一個(gè)最好從節(jié)點(diǎn)移出以優(yōu) 化現(xiàn)有資源的特定的VM。下一步,塊1010說明帶著對(duì)于所選擇的至少一個(gè)VM的轉(zhuǎn)移ViU# 求,帶著根據(jù)所選擇的至少一個(gè)VM的復(fù)制設(shè)置設(shè)置的復(fù)制選項(xiàng),把"需要幫助"負(fù)載平衡中 斷事件傳遞到節(jié)點(diǎn)管理層,然后過程結(jié)束。
[0127] 圖11說明用于計(jì)算節(jié)點(diǎn)的本地軟件服務(wù)處理負(fù)載平衡中斷的過程和程序的高層 邏輯流程圖,其中負(fù)載平衡中斷在計(jì)算節(jié)點(diǎn)硬件級(jí)產(chǎn)生,其指示該計(jì)算節(jié)點(diǎn)可用于進(jìn)行負(fù) 載平衡。在該例子中,過程和程序在塊1100開始,此后前進(jìn)到塊1102。塊1102說明確定 軟件服務(wù)是否捕獲"能幫助"負(fù)載平衡中斷。在塊1102,如果軟件層捕獲"能幫助"負(fù)載平 衡中斷,那么過程進(jìn)行到塊1104。塊1104說明在中斷日志中記錄"能幫助"負(fù)載平衡中斷。 下一步,塊1106說明把"能幫助"負(fù)載平衡中斷事件傳遞到節(jié)點(diǎn)管理層,并且過程結(jié)束。
[0128] 圖12說明用于節(jié)點(diǎn)管理服務(wù)處理來自計(jì)算節(jié)點(diǎn)本地軟件服務(wù)的中斷以管理計(jì)算 環(huán)境中負(fù)載平衡的過程和程序的高層邏輯流程圖。在該例子中,過程在塊1200開始,此后 前進(jìn)到塊1202。塊1202說明監(jiān)聽從多個(gè)計(jì)算節(jié)點(diǎn)中的一個(gè)節(jié)點(diǎn)的本地軟件服務(wù)傳來的中 斷事件。下一步,塊1204說明當(dāng)節(jié)點(diǎn)管理服務(wù)從本地軟件服務(wù)接收用于計(jì)算節(jié)點(diǎn)的負(fù)載平 衡中斷事件時(shí),確定負(fù)載平衡中斷事件是"需要幫助"負(fù)載平衡中斷事件還是"能幫助"負(fù) 載平衡中斷事件。
[0129] 在塊1204,如果節(jié)點(diǎn)管理服務(wù)從計(jì)算節(jié)點(diǎn)接收"需要幫助"負(fù)載平衡中斷事件,那 么過程進(jìn)行到塊1206。塊1206說明從與負(fù)載平衡中斷事件一起發(fā)送的轉(zhuǎn)移VM請(qǐng)求中識(shí)別 至少一個(gè)所選擇的VM以使其從請(qǐng)求負(fù)載平衡的計(jì)算節(jié)點(diǎn)移出。下一步,塊1208說明從幫 助中斷列表中識(shí)別為可用的節(jié)點(diǎn)中選擇至少一個(gè)候選節(jié)點(diǎn)用于接收該VM,其中所述至少一 個(gè)候選節(jié)點(diǎn)的選擇也符合對(duì)VM、計(jì)算節(jié)點(diǎn)以及其它實(shí)體進(jìn)行負(fù)載平衡所需要的策略。下一 步,塊1210說明從候選節(jié)點(diǎn)請(qǐng)求許可以轉(zhuǎn)移所選擇的至少一個(gè)VM。此后,塊1212說明確 定節(jié)點(diǎn)管理服務(wù)是否在請(qǐng)求超時(shí)之前從至少一個(gè)候選節(jié)點(diǎn)中收到響應(yīng)。在塊1212,如果節(jié) 點(diǎn)管理服務(wù)沒有在請(qǐng)求超時(shí)之前從至少一個(gè)候選節(jié)點(diǎn)中收到任何響應(yīng),那么過程進(jìn)行到塊 1218。塊1218說明觸發(fā)額外的用于負(fù)載平衡需求的管理服務(wù),并且過程結(jié)束?;氐綁K1212, 如果節(jié)點(diǎn)管理服務(wù)確實(shí)在請(qǐng)求超時(shí)之前從至少一個(gè)候選節(jié)點(diǎn)中收到響應(yīng),那么過程進(jìn)行到 塊1214。塊1214說明從最佳候選節(jié)點(diǎn)中選擇特定的節(jié)點(diǎn)作為最合適的節(jié)點(diǎn),其中最佳候選 節(jié)點(diǎn)返回指示轉(zhuǎn)移該VM的許可的響應(yīng)。下一步,塊1216說明管理把至少一個(gè)所選擇的VM 從源節(jié)點(diǎn)轉(zhuǎn)移到最合適節(jié)點(diǎn),并且過程結(jié)束。
[0130] 在塊1204,如果節(jié)點(diǎn)管理服務(wù)從計(jì)算節(jié)點(diǎn)收到"能幫助"負(fù)載平衡中斷事件,那么 過程進(jìn)行到塊1220。塊1220說明在幫助中斷列表中記錄節(jié)點(diǎn)標(biāo)識(shí)符和"能幫助"負(fù)載平衡 中斷,并且過程結(jié)束。
[0131] 圖13說明用于處理請(qǐng)求以接受用于進(jìn)行負(fù)載平衡的虛擬機(jī)的過程和程序的高層 邏輯流程圖。在該例子中,過程和程序在塊1300開始,此后前進(jìn)到塊1302。塊1302說明確 定計(jì)算節(jié)點(diǎn)的本地軟件層是否收到對(duì)于接受至少一個(gè)所選擇的VM用于進(jìn)行負(fù)載平衡的請(qǐng) 求。下一步,塊1304說明讀取計(jì)算節(jié)點(diǎn)的當(dāng)前利用率統(tǒng)計(jì)。此后,塊1306說明識(shí)別可應(yīng)用 到至少一個(gè)所選擇VM上的任何計(jì)算節(jié)點(diǎn)策略。下一步,塊1308說明基于利用率統(tǒng)計(jì)、策略 和利用率日志值,為節(jié)點(diǎn)計(jì)算最合適的值以幫助該VM。塊1310說明向請(qǐng)求節(jié)點(diǎn)管理服務(wù)返 回帶有最合適值的響應(yīng),并且過程結(jié)束。
[0132] 附圖中的流程圖和框圖顯示了根據(jù)本發(fā)明的多個(gè)實(shí)施例的系統(tǒng)、方法和計(jì)算機(jī)程 序產(chǎn)品的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個(gè)方框可以 代表一個(gè)模塊、程序段或代碼的一部分,所述模塊、程序段或代碼的一部分包含一個(gè)或多個(gè) 用于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為替換的實(shí)現(xiàn)中,方框中所 標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個(gè)連續(xù)的方框?qū)嶋H上可以 基本并行地發(fā)生,它們有時(shí)也可以按相反的順序發(fā)生,這依所涉及的功能而定。也要注意的 是,框圖和/或流程圖中的每個(gè)方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行 規(guī)定的功能或動(dòng)作的專用的基于硬件的系統(tǒng)來實(shí)現(xiàn),或者可以用專用硬件與計(jì)算機(jī)指令的 組合來實(shí)現(xiàn)。
[0133] 在這里所使用的術(shù)語僅僅是為了描述特定的實(shí)施例而不是要作為本發(fā)明的限制。 所在此所使用的,除非上下文明確地另外指出,否則單數(shù)形式"一個(gè)"和"這個(gè)"是要也包括 復(fù)數(shù)形式。還應(yīng)當(dāng)理解,當(dāng)在本說明書使用時(shí),術(shù)語"包括"和/或"包含"指定了所述特征、 整數(shù)、步驟、操作、元素和/或部件的存在,但是并不排除一個(gè)或多個(gè)其它特征、整數(shù)、步驟、 操作、元素、部件和/或其組的存在或添加。
[0134] 以下權(quán)利要求中所有方式或步驟加功能元素的對(duì)應(yīng)結(jié)構(gòu)、材料、動(dòng)作及等同替換 都是要包括用于結(jié)合具體所述的其它所述元素執(zhí)行所述功能的任何結(jié)構(gòu)、材料或行為。已 經(jīng)為了說明和描述給出了本發(fā)明的描述,但這不是詳盡的或者要把本發(fā)明限定到所公開的 形式。在不背離本發(fā)明范圍與主旨的情況下,許多修改和變化對(duì)本領(lǐng)域普通技術(shù)人員都將 是顯而易見的。實(shí)施例的選擇和描述是為了最好地解釋本發(fā)明的原理和實(shí)踐應(yīng)用,并使本 領(lǐng)域普通技術(shù)人員能夠理解本發(fā)明具有適于預(yù)期特定使用的各種修改的各種實(shí)施例。
[〇135] 雖然已經(jīng)參考一個(gè)或多個(gè)實(shí)施例特定地示出本發(fā)明并對(duì)其進(jìn)行了描述,但是本領(lǐng) 域技術(shù)人員應(yīng)當(dāng)理解,在不背離本發(fā)明主旨與范圍的情況下,可以對(duì)其中的形式和細(xì)節(jié)進(jìn) 行各種改變。
【權(quán)利要求】
1. 一種計(jì)算節(jié)點(diǎn),包括: 至少一個(gè)硬件層,其中硬件層包括多個(gè)硬件資源; 至少一個(gè)虛擬化層,其中虛擬化層可操作來管理由多個(gè)硬件資源中的至少一個(gè)硬件資 源定義的至少一個(gè)虛擬機(jī); 在計(jì)算節(jié)點(diǎn)的硬件層中配置的負(fù)載平衡中斷邏輯,可操作來將至少一個(gè)虛擬機(jī)對(duì)多個(gè) 硬件資源的至少一個(gè)資源利用率水平與至少一個(gè)閾值進(jìn)行比較;及 負(fù)載平衡中斷邏輯可操作來基于至少一個(gè)資源利用率水平與至少一個(gè)閾值的比較,產(chǎn) 生指示計(jì)算節(jié)點(diǎn)的至少一個(gè)負(fù)載平衡狀態(tài)的至少一個(gè)負(fù)載平衡中斷。
2. 如權(quán)利要求1所述的計(jì)算節(jié)點(diǎn),其中: 計(jì)算節(jié)點(diǎn)還包括在硬件層中配置的資源核算邏輯,可操作來為每個(gè)單獨(dú)的至少一個(gè)虛 擬機(jī)采樣硬件層中多個(gè)硬件資源中特定類型資源的單獨(dú)的資源利用率水平;及 負(fù)載平衡中斷邏輯可操作來把每個(gè)單獨(dú)的至少一個(gè)虛擬機(jī)的特定類型資源的單獨(dú)資 源利用率水平總計(jì)成表示計(jì)算節(jié)點(diǎn)中特定類型資源的總利用率的至少一個(gè)資源利用率水 平。
3. 如權(quán)利要求1所述的計(jì)算節(jié)點(diǎn),其中,負(fù)載平衡中斷邏輯可操作來基于至少一個(gè)資 源利用率水平與至少一個(gè)閾值的比較,產(chǎn)生指示計(jì)算節(jié)點(diǎn)的至少一個(gè)負(fù)載平衡狀態(tài)的至少 一個(gè)負(fù)載平衡中斷,進(jìn)一步包括: 負(fù)載平衡中斷邏輯響應(yīng)至少一個(gè)資源利用率水平大于至少一個(gè)閾值,可操作來產(chǎn)生指 示計(jì)算節(jié)點(diǎn)需要負(fù)載平衡的第一負(fù)載平衡中斷; 負(fù)載平衡中斷邏輯響應(yīng)至少一個(gè)資源利用率水平小于至少一個(gè)閾值,可操作來產(chǎn)生指 示計(jì)算節(jié)點(diǎn)能用于負(fù)載平衡的第二負(fù)載平衡中斷。
4. 如權(quán)利要求1所述的計(jì)算節(jié)點(diǎn),其中: 計(jì)算節(jié)點(diǎn)還包括虛擬化層中的管理分區(qū),該管理分區(qū)可操作來捕獲從硬件層輸出的第 一負(fù)載平衡中斷; 管理分區(qū)響應(yīng)捕獲到第一負(fù)載平衡中斷,可操作來從硬件層訪問至少一個(gè)資源利用率 水平; 管理分區(qū)響應(yīng)從硬件級(jí)訪問了至少一個(gè)資源利用率水平,可操作來基于所述至少一個(gè) 資源利用率水平,從需要負(fù)載平衡的至少一個(gè)邏輯分區(qū)中確定至少一個(gè)特定邏輯分區(qū);及 管理分區(qū)響應(yīng)確定了至少一個(gè)特定邏輯分區(qū),可操作來把第一負(fù)載平衡中斷和用于至 少一個(gè)特定邏輯分區(qū)的轉(zhuǎn)移中斷經(jīng)網(wǎng)絡(luò)傳到節(jié)點(diǎn)管理層,其中節(jié)點(diǎn)管理層從能夠經(jīng)網(wǎng)絡(luò)訪 問的至少一個(gè)其它計(jì)算節(jié)點(diǎn)中為至少一個(gè)特定邏輯分區(qū)確定最合適候選節(jié)點(diǎn),并且控制邏 輯分區(qū)從計(jì)算節(jié)點(diǎn)到最合適候選節(jié)點(diǎn)的轉(zhuǎn)移,其中邏輯分區(qū)是由最合適候選節(jié)點(diǎn)的多個(gè)其 它資源中的至少一個(gè)其它資源定義的。
5. 如權(quán)利要求4所述的計(jì)算節(jié)點(diǎn),其中節(jié)點(diǎn)管理層在云環(huán)境中作為管理服務(wù)提供。
6. 如權(quán)利要求3所述的計(jì)算節(jié)點(diǎn),還包括: 計(jì)算節(jié)點(diǎn)還包括虛擬化層中的管理分區(qū),該管理分區(qū)可操作來捕獲從硬件層輸出的第 二負(fù)載平衡中斷; 管理分區(qū)響應(yīng)捕獲第二負(fù)載平衡中斷,可操作來把第二負(fù)載平衡中斷經(jīng)網(wǎng)絡(luò)傳到節(jié)點(diǎn) 管理層,其中節(jié)點(diǎn)管理層把計(jì)算節(jié)點(diǎn)識(shí)別為能用于處理工作負(fù)荷,并且響應(yīng)另一個(gè)計(jì)算節(jié) 點(diǎn)需要對(duì)另一個(gè)虛擬機(jī)進(jìn)行負(fù)載平衡,查詢計(jì)算節(jié)點(diǎn)以確定計(jì)算節(jié)點(diǎn)是否能用于接收另一 個(gè)虛擬機(jī)。
7. 如權(quán)利要求1所述的計(jì)算節(jié)點(diǎn),其中計(jì)算節(jié)點(diǎn)在云服務(wù)器環(huán)境中作為虛擬化計(jì)算節(jié) 點(diǎn)提供。
8. -種處理器系統(tǒng),包括: 連接到至少一個(gè)存儲(chǔ)器的至少一個(gè)處理器; 可操作來將運(yùn)行在至少一個(gè)處理器中的至少一個(gè)虛擬機(jī)對(duì)至少一個(gè)處理器的至少一 個(gè)利用率水平與至少一個(gè)閾值進(jìn)行比較的比較器;及 比較器可操作來基于至少一個(gè)利用率水平與至少一個(gè)閾值的比較,為至少一個(gè)虛擬機(jī) 產(chǎn)生指示至少一個(gè)處理器的至少一個(gè)負(fù)載平衡狀態(tài)的至少一個(gè)負(fù)載平衡中斷。
9. 如權(quán)利要求8所述的處理器系統(tǒng),其中,可操作來基于至少一個(gè)利用率水平與至少 一個(gè)閾值的比較,為至少一個(gè)虛擬機(jī)產(chǎn)生指示至少一個(gè)處理器的至少一個(gè)負(fù)載平衡狀態(tài)的 至少一個(gè)負(fù)載平衡中斷的比較器進(jìn)一步包括: 比較器響應(yīng)至少一個(gè)利用率水平大于至少一個(gè)閾值,可操作來為至少一個(gè)虛擬機(jī)中的 至少一個(gè)產(chǎn)生指示至少一個(gè)處理器需要負(fù)載平衡的負(fù)載平衡中斷。
10. 如權(quán)利要求8所述的處理器系統(tǒng),其中至少一個(gè)處理器連接到至少一個(gè)存儲(chǔ)器并 且比較器在計(jì)算節(jié)點(diǎn)的硬件層中可操作,計(jì)算節(jié)點(diǎn)還包括至少一個(gè)可操作來管理運(yùn)行在至 少一個(gè)處理器上的至少一個(gè)虛擬機(jī)的軟件層。
11. 如權(quán)利要求9所述的處理器系統(tǒng),其中計(jì)算節(jié)點(diǎn)可操作為云服務(wù)器環(huán)境中的虛擬 化計(jì)算節(jié)點(diǎn)。
12. 如權(quán)利要求8所述的處理器系統(tǒng),其中至少一個(gè)處理器和比較器嵌入在同一處理 器板中。
13. 如權(quán)利要求8所述的處理器系統(tǒng),還包括: 用于把至少一個(gè)虛擬機(jī)對(duì)至少一個(gè)處理器的多個(gè)采樣的利用率數(shù)據(jù)值平均成至少一 個(gè)利用率水平的功能組件。
14. 如權(quán)利要求8所述的處理器系統(tǒng),其中,響應(yīng)至少一個(gè)利用率水平大于至少一個(gè) 閾值,可操作來產(chǎn)生指示至少一個(gè)處理器需要負(fù)載平衡的負(fù)載平衡中斷的比較器進(jìn)一步包 括: 響應(yīng)至少一個(gè)利用率水平大于至少一個(gè)閾值,可操作來遞增計(jì)數(shù)器值的計(jì)數(shù)器; 可操作來把計(jì)數(shù)器值與計(jì)數(shù)器閾值進(jìn)行比較的第二比較器;及 響應(yīng)計(jì)數(shù)器值與計(jì)數(shù)器閾值匹配,第二比較器可操作來產(chǎn)生指示至少一個(gè)處理器核需 要負(fù)載平衡的負(fù)載平衡中斷。
15. 如權(quán)利要求8所述的處理器系統(tǒng),其中,可操作來基于至少一個(gè)利用率水平與至少 一個(gè)閾值的比較,為至少一個(gè)虛擬機(jī)產(chǎn)生指示至少一個(gè)處理器的至少一個(gè)負(fù)載平衡狀態(tài)的 至少一個(gè)負(fù)載平衡中斷的比較器進(jìn)一步包括: 比較器響應(yīng)至少一個(gè)利用率水平小于至少一個(gè)閾值,可操作來產(chǎn)生指示計(jì)算環(huán)境中至 少一個(gè)處理器可用于負(fù)載平衡的負(fù)載平衡中斷。
16. 如權(quán)利要求8所述的處理器系統(tǒng),還包括: 用于為至少一個(gè)虛擬機(jī)中的每一個(gè)在每個(gè)周期采樣至少一個(gè)處理器的至少一個(gè)利用 率水平的資源核算邏輯。
17. -種用于報(bào)告負(fù)載平衡需求的方法,包括: 在計(jì)算節(jié)點(diǎn)的硬件級(jí),將在至少一個(gè)硬件資源上的軟件層中運(yùn)行的至少一個(gè)虛擬機(jī)對(duì) 至少硬件資源的至少一個(gè)利用率水平與至少一個(gè)閾值進(jìn)行比較;及 響應(yīng)至少一個(gè)利用率水平大于至少一個(gè)閾值,在硬件級(jí)為計(jì)算節(jié)點(diǎn)產(chǎn)生指示至少一個(gè) 處理器需要負(fù)載平衡的負(fù)載平衡中斷。
18. 如權(quán)利要求17所述的方法,還包括: 由計(jì)算節(jié)點(diǎn)的軟件層捕獲負(fù)載平衡中斷; 由軟件層訪問根據(jù)硬件層中至少一個(gè)虛擬機(jī)中的每一個(gè)指定的至少一個(gè)硬件資源的 至少一個(gè)采樣的利用率值; 基于根據(jù)硬件層中至少一個(gè)虛擬機(jī)中的每一個(gè)指定的至少一個(gè)硬件資源的至少一個(gè) 采樣的利用率值,在計(jì)算節(jié)點(diǎn)的軟件層從至少一個(gè)虛擬機(jī)中選擇特定的虛擬機(jī);及 從軟件層傳遞對(duì)于把特定虛擬機(jī)轉(zhuǎn)移到至少一個(gè)其它計(jì)算節(jié)點(diǎn)以便負(fù)載平衡的請(qǐng)求。
19. 如權(quán)利要求18所述的方法,還包括: 在硬件級(jí),把根據(jù)硬件層中至少一個(gè)虛擬機(jī)中每一個(gè)指定的至少一個(gè)硬件資源的至少 一個(gè)采樣的利用率值平均成至少一個(gè)硬件資源的至少一個(gè)利用率水平。
20. 如權(quán)利要求17所述的方法,其中,響應(yīng)至少一個(gè)利用率水平大于至少一個(gè)閾值,在 硬件級(jí)為計(jì)算節(jié)點(diǎn)產(chǎn)生指示至少一個(gè)處理器需要負(fù)載平衡的負(fù)載平衡中斷還包括: 響應(yīng)在計(jì)數(shù)器閾值數(shù)目的循環(huán)上至少一個(gè)利用率水平大于至少一個(gè)閾值,在硬件級(jí)為 計(jì)算節(jié)點(diǎn)產(chǎn)生指示至少一個(gè)處理器需要負(fù)載平衡的負(fù)載平衡中斷。
【文檔編號(hào)】G06F9/50GK104113585SQ201410156300
【公開日】2014年10月22日 申請(qǐng)日期:2014年4月18日 優(yōu)先權(quán)日:2013年4月19日
【發(fā)明者】N·K·詹姆斯, B·C·諾維克, M·W·萬德維勒 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司