欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于虛擬數(shù)據(jù)中心的資源控制的制作方法

文檔序號:11530660閱讀:311來源:國知局
用于虛擬數(shù)據(jù)中心的資源控制的制造方法與工藝



背景技術(shù):

近年來,諸如數(shù)據(jù)中心之類的云平臺已經(jīng)從提供簡單的按需計算演進(jìn)到提供大量服務(wù)選擇。例如,網(wǎng)絡(luò)存儲、監(jiān)視、負(fù)載平衡和彈性高速緩存。這些服務(wù)常常使用諸如網(wǎng)絡(luò)內(nèi)中間盒如加密設(shè)備和負(fù)載平衡器之類的資源以及諸如終端設(shè)備如網(wǎng)絡(luò)存儲服務(wù)器之類的資源來實現(xiàn)。此類服務(wù)的采用跨越從小型數(shù)據(jù)中心到企業(yè)數(shù)據(jù)中心的寬泛規(guī)模都是常見的。雖然占用方(tenant)(即這些云計算服務(wù)的客戶)可以在這些服務(wù)之上構(gòu)建他們的應(yīng)用,但這樣做導(dǎo)致了一個主要缺點:由對競爭資源的共享訪問所引起的易失性應(yīng)用性能。這種缺乏隔離也損害了提供者,因為過載的資源更容易失敗,并且服務(wù)級別協(xié)議不能被滿足。

下面描述的實施例不限于解決已知數(shù)據(jù)中心資源控制系統(tǒng)的任何或所有缺點的實現(xiàn)。



技術(shù)實現(xiàn)要素:

以下提供了本公開的簡化概述,以便向讀者提供基本理解。該概述不是本公開的廣泛綜述,并且它不標(biāo)識關(guān)鍵/緊要的元件或描繪本說明書的范圍。其唯一目的是以簡化形式呈現(xiàn)本文所公開的概念的選擇,作為稍后呈現(xiàn)的更詳細(xì)描述的序言。

例如,描述了用于虛擬數(shù)據(jù)中心的資源控制,其中多個虛擬數(shù)據(jù)中心被實現(xiàn)在物理數(shù)據(jù)中心中以滿足保證。在示例中,每個虛擬數(shù)據(jù)中心指定具有吞吐量保證的多個不同類型的資源,該吞吐量保證通過針對在物理數(shù)據(jù)中心中被實現(xiàn)的虛擬數(shù)據(jù)中心的個體流計算流分配而被滿足。例如,對于被流使用的數(shù)據(jù)中心的多個不同類型的物理資源中的每一個,流分配具有流可以使用的物理資源的量。流是數(shù)據(jù)中心的端點之間的路徑,消息沿著該路徑被發(fā)送以實現(xiàn)服務(wù)。在示例中,將流分配被發(fā)送到數(shù)據(jù)中心中的實施器,實施器使用流分配來控制流中的業(yè)務(wù)速率。工作的其他元素的示例是cpu時間,存儲操作,高速緩存分配。流消耗一個或多個共享資源的一部分,并且本文描述的示例相對于其他需求和絕對參數(shù)來管理該共享。

在各種示例中,共享資源的可用容量被動態(tài)地估計。在一些示例中,流分配使用涉及局部的每個虛擬數(shù)據(jù)中心分配以及然后的全局分配的兩階段過程來計算,以使用任何剩余的數(shù)據(jù)中心資源。術(shù)語“容量”在這里指的是性能容量或可用容量,而不是資源的大小。

通過參考結(jié)合附圖考慮的以下詳細(xì)描述,許多伴隨的特征將更容易理解,同樣也變得更好理解。

附圖說明

從下面根據(jù)附圖閱讀的詳細(xì)描述將更好地理解本說明書,其中:

圖1是被布置為向占用方提供多個虛擬數(shù)據(jù)中心的數(shù)據(jù)中心的示意圖;

圖2是圖1的數(shù)據(jù)中心的邏輯集中化控制器的示意圖;

圖3是數(shù)據(jù)中心的多個計算服務(wù)器的示意圖,并且具有計算服務(wù)器之一的分解圖;

圖4是諸如圖1的虛擬數(shù)據(jù)中心之一的虛擬數(shù)據(jù)中心的示意圖;

圖5是示出了兩個示例端到端流的圖4的虛擬數(shù)據(jù)中心的示意圖;

圖6是在圖2的邏輯集中化控制器處用于生成和發(fā)送指令到數(shù)據(jù)中心的計算服務(wù)器處的實施器的方法的流程圖;

圖7是在圖2的邏輯集中化控制器處用于計算局部流分配的方法的流程圖;

圖8是在圖2的邏輯集中化控制器處用于計算全局流分配的方法的流程圖;

圖9是在圖2的邏輯集中化控制器的容量估計器處的方法的流程圖;

圖10是在圖2的邏輯集中化控制器的需求估計器處的過程以及在實施器處的過程的流程圖;

圖11是數(shù)據(jù)中心的端到端流、實施器、和在實施器處的過程的示意圖;

圖12示出了其中可以實現(xiàn)集中化數(shù)據(jù)中心控制器的實施例的示例性基于計算的設(shè)備。

相同的附圖標(biāo)記用于指示附圖中的類似部件。

具體實施方式

以下結(jié)合附圖提供的詳細(xì)描述旨在作為對本示例的描述,并且不旨在表示可以構(gòu)建或利用本示例的僅有形式。該描述闡述了示例的功能以及用于構(gòu)造和操作該示例的步驟的序列。然而,可以通過不同的示例來實現(xiàn)相同或等同的功能和序列。

在下面描述的示例中,描述了用于在數(shù)據(jù)中心處使用的算法和裝備,其使得能夠向數(shù)據(jù)中心占用方提供專用虛擬數(shù)據(jù)中心。虛擬數(shù)據(jù)中心描述了端到端保證,其在一些示例中在新的度量中來指定。例如,占用方可以為虛擬數(shù)據(jù)中心的每個資源指定最小或絕對吞吐量保證。本文所描述的算法和裝備使得保證能夠獨立于占用方的工作負(fù)載,并且力圖確保在不同類型的分布式數(shù)據(jù)中心資源和中間數(shù)據(jù)中心網(wǎng)絡(luò)之間保持這些保證。以前的方法尚未使得能夠以這種方式提供虛擬數(shù)據(jù)中心。

圖1是被布置為向占用方提供多個虛擬數(shù)據(jù)中心110的數(shù)據(jù)中心108的示意圖。虛擬數(shù)據(jù)中心是對占用方期望租用的物理數(shù)據(jù)中心的不同類型的資源的性能的要求規(guī)范。下面參考圖4給出關(guān)于虛擬數(shù)據(jù)中心的更多細(xì)節(jié)。數(shù)據(jù)中心108包括多個不同類型的資源。這些包括計算服務(wù)器104和與計算服務(wù)器互連的網(wǎng)絡(luò)資源102以及附加資源106。在圖1的示例中,為了清楚起見,示出了四個計算服務(wù)器104,但是任意兩個或更多個計算服務(wù)器可以被使用。

附加資源106可以是網(wǎng)絡(luò)內(nèi)資源或端點資源。資源的非窮舉示例列表是:網(wǎng)絡(luò)鏈路,加密設(shè)備,負(fù)載平衡器,聯(lián)網(wǎng)存儲服務(wù)器,密鑰值對存儲。因此,數(shù)據(jù)中心具有不同類型的資源。每個資源具有可隨時間變化的容量和將請求的特性映射到在資源處服務(wù)該請求的(按照令牌的)成本的成本函數(shù)。

數(shù)據(jù)中心108包括邏輯集中化控制器100,其使用軟件和/或硬件來計算機實現(xiàn)并且連接到網(wǎng)絡(luò)資源102。邏輯集中化控制器可以是如圖1所描繪的單個實體,或者它可以分布在數(shù)據(jù)中心108中的多個實體之中。邏輯集中化控制器100將虛擬數(shù)據(jù)中心110映射到物理數(shù)據(jù)中心108。它還執(zhí)行資源分配過程,使得由不同的虛擬數(shù)據(jù)中心共享的物理數(shù)據(jù)中心的資源被有效地使用,同時滿足虛擬數(shù)據(jù)中心的要求/保證。以控制間隔重復(fù)資源分配過程,使得數(shù)據(jù)中心中的改變可以被考慮。

虛擬數(shù)據(jù)中心具有將在物理數(shù)據(jù)中心中使用諸如網(wǎng)絡(luò)資源、加密設(shè)備、負(fù)載平衡器、密鑰值對存儲以及其他之類的多個資源來實現(xiàn)的業(yè)務(wù)的一個或多個虛擬端到端流。邏輯集中化控制器指定可以由在物理數(shù)據(jù)中心中以重復(fù)的控制間隔實現(xiàn)的端到端流所使用的多個不同類型的數(shù)據(jù)中心資源的量。在一些示例中,作為分配過程的一部分,其考慮了數(shù)據(jù)中心資源的容量估計(其可以是動態(tài)的)。也可以監(jiān)視和考慮與端到端流相關(guān)聯(lián)的需求。邏輯集中化控制器向物理數(shù)據(jù)中心中的端到端流的端點處的速率控制器發(fā)送指令,指定可以使用的流的不同資源的量。速率控制器調(diào)整它們維護(hù)的隊列或桶,以便實施資源分配。例如,對于端到端流的每個不同資源存在一個桶。先前的方法沒有指定可以由端到端流使用的多個不同資源的個體量。以這種方式,多個資源一起貢獻(xiàn)以實現(xiàn)更高級別的流。

端到端流是在諸如虛擬機或計算服務(wù)器的兩個端點之間的數(shù)據(jù)中心中的路徑,業(yè)務(wù)沿著該路徑被發(fā)送以實現(xiàn)服務(wù)。例如,業(yè)務(wù)可以包括從虛擬機發(fā)送到聯(lián)網(wǎng)文件存儲的請求消息和從聯(lián)網(wǎng)文件存儲發(fā)回到相同或不同虛擬機的響應(yīng)消息。端到端流可以具有相同的端點;也就是說,端到端流可以在同一端點開始和結(jié)束。

控制器的一個或多個部分可以使用軟件和/或硬件來計算機實現(xiàn)。在一些示例中,需求估計器、容量估計器和資源分配器全部或部分地使用一個或多個硬件邏輯組件來實現(xiàn)。例如但不限于,可以使用的硬件邏輯組件的說明性類型包括現(xiàn)場可編程門陣列(fpga),專用集成電路(asic),專用標(biāo)準(zhǔn)產(chǎn)品(assp),系統(tǒng)級芯片系統(tǒng)(soc),復(fù)雜可編程邏輯器件(cpld),圖形處理單元(gpu)或其他。

圖2是圖1的數(shù)據(jù)中心的邏輯集中化控制器100的示意圖。它包括需求估計器202、容量估計器204和資源分配器206,其每一個都是使用軟件和/或硬件來計算機實現(xiàn)的。下面參考圖10描述由需求估計器202實現(xiàn)的示例方法。需求估計器202能夠估計對數(shù)據(jù)中心的不同個體資源的當(dāng)前和未來需求。下面參照圖9描述由容量估計器實現(xiàn)的示例方法。在一些示例中,容量估計器動態(tài)地估計數(shù)據(jù)中心的不同個體資源的可用容量??捎萌萘侩S時間變化,因為數(shù)據(jù)中心中的工作量隨時間變化,并且因為資源可以被共享。資源分配器206為數(shù)據(jù)中心的不同個體資源計算可以被特定虛擬數(shù)據(jù)中心的特定端到端流在每單位時間使用的資源量。資源分配器可以在新的度量中計算每單位時間的這些量,本文中稱為令牌每秒,其考慮了服務(wù)對特定資源的請求的成本。

在數(shù)據(jù)中心的資源處服務(wù)請求的實際成本可以隨請求特性、并發(fā)工作負(fù)載、或資源詳情而變化。在一些示例中,這通過使用新度量來解決。例如,每個資源被指派了預(yù)定的成本函數(shù),該預(yù)定的成本函數(shù)將請求映射到其按照令牌的成本。占用方保證跨越所有資源,并且網(wǎng)絡(luò)可以按照令牌每秒而被指定。成本函數(shù)可以從特定資源的域知識或從歷史統(tǒng)計中通過基準(zhǔn)來確定。

在本文所描述的示例中,可以以新的令牌每秒的度量來測量各種量。例如,需求、容量、隊列長度、物理資源的消耗、虛擬資源的消耗。

控制器100存儲或訪問關(guān)于虛擬數(shù)據(jù)中心110的數(shù)據(jù)和關(guān)于物理數(shù)據(jù)中心的拓?fù)?00的數(shù)據(jù)。下面參考圖4描述關(guān)于虛擬數(shù)據(jù)中心的數(shù)據(jù)。物理數(shù)據(jù)中心的拓?fù)?00包括數(shù)據(jù)中心的端點的細(xì)節(jié)(例如最大容量,位置),諸如聯(lián)網(wǎng)文件存儲、負(fù)載平衡器、中間盒之類的任何附加資源、以及關(guān)于互連的細(xì)節(jié)。

如上所述,物理數(shù)據(jù)中心的資源具有相關(guān)聯(lián)的成本函數(shù)??刂破?00訪問或存儲成本函數(shù)210。在一些示例中,控制器100訪問或存儲全局策略208(也稱為全局多資源分配機制),其指定在實現(xiàn)虛擬數(shù)據(jù)中心之后被留下的物理數(shù)據(jù)中心的資源將被如何分配。

到控制器的輸入包括至少經(jīng)驗數(shù)據(jù)中心觀測218,比如業(yè)務(wù)流數(shù)據(jù)、隊列數(shù)據(jù)、錯誤報告和其他經(jīng)驗數(shù)據(jù)??刂破?00還可以采取每流需求數(shù)據(jù)212作為輸入。例如,每流需求數(shù)據(jù)可以是關(guān)于實施器處的隊列的信息,其由在數(shù)據(jù)中心端點處的實施器和/或直接從在計算服務(wù)器上執(zhí)行的應(yīng)用發(fā)送到控制器100。

控制器100的輸出至少包括虛擬數(shù)據(jù)中心到物理數(shù)據(jù)中心的映射216和到物理數(shù)據(jù)中心中的多個實施器的指令214。在一個示例中,指令是列出可由特定流使用的物理數(shù)據(jù)中心的不同資源的每單位時間的量的向量??梢允褂蒙厦嫣峒暗男碌牧钆泼棵氲亩攘縼肀硎驹摿?。然而,使用向量不是必要的。指令可以以任何格式發(fā)送。

圖3是數(shù)據(jù)中心的多個物理計算服務(wù)器104的示意圖,并且具有計算服務(wù)器之一的分解圖。計算服務(wù)器的分解圖示出了在計算服務(wù)器處執(zhí)行的多個虛擬機300、管理程序302和網(wǎng)絡(luò)接口卡306。在管理程序302內(nèi)是實施速率分配并收集局部統(tǒng)計的實施器304。

圖4示出了諸如圖1的虛擬數(shù)據(jù)中心之一的示例虛擬數(shù)據(jù)中心110。如上所提及,虛擬數(shù)據(jù)中心是需求的規(guī)范。例如,規(guī)范包括要通過物理數(shù)據(jù)中心處的網(wǎng)絡(luò)來互連的一個或多個數(shù)據(jù)中心端點(比如計算服務(wù)器處的虛擬機或計算服務(wù)器本身)的列表。規(guī)范包括不是數(shù)據(jù)中心端點的一個或多個附加資源的列表,諸如負(fù)載平衡器、加密設(shè)備、聯(lián)網(wǎng)存儲服務(wù)器以及其他。規(guī)范還包括如上所解釋的保證,其可以是吞吐量保證或非吞吐量保證。例如,對于端點和網(wǎng)絡(luò)之間的每個鏈路以及對于每個指定的附加資源的最小(或絕對)吞吐量保證??梢砸孕碌牧钆泼棵氲亩攘縼碇付ㄗ钚?或絕對)吞吐量保證。在圖4的示例中,虛擬數(shù)據(jù)中心規(guī)范包括多個虛擬機vm1至vmn,每個虛擬機vm1至vmn通過具有相關(guān)聯(lián)的最小吞吐量保證g1至gn的鏈路連接到虛擬網(wǎng)絡(luò)400。虛擬數(shù)據(jù)中心還包括具有最小吞吐量保證gs的聯(lián)網(wǎng)文件存儲402和具有最小吞吐量保證ge的加密服務(wù)404。

虛擬數(shù)據(jù)中心規(guī)范包括一個或多個端到端流。如上所提及,流是數(shù)據(jù)中心的兩個端點之間的路徑,業(yè)務(wù)流沿著該路徑實現(xiàn)特定服務(wù)。流可以在虛擬數(shù)據(jù)中心規(guī)范中被詳細(xì)描述或者可以被推斷。圖5是圖4的虛擬數(shù)據(jù)中心的副本,并且指示了兩個流500,502。流500從一個虛擬機去往文件存儲402,然后返回到同一虛擬機。流502從一個虛擬機去往另一個虛擬機。

圖6是由圖1的控制器100所實現(xiàn)的資源分配過程的流程圖??刂破髟L問600布局算法的輸出。布局算法采用虛擬數(shù)據(jù)中心規(guī)范和物理數(shù)據(jù)中心的拓?fù)洌⒂嬎阌成浠虿季?。該布局指定物理?shù)據(jù)中心的哪些其他資源以及哪些計算服務(wù)器將由哪些虛擬數(shù)據(jù)中心使用。作為該布局過程的結(jié)果,控制器知道在個體虛擬數(shù)據(jù)中心的哪些流的路徑上存在哪些物理資源??梢允褂萌魏魏线m的布局算法。例如,ballani等人2013年的“chattytenantsandthecloudnetworksharingproblem”nsdi。

控制器處的資源分配器執(zhí)行資源分配過程602,其以諸如每秒或其他合適時間的控制間隔612進(jìn)行重復(fù)??刂崎g隔612可以由運營方根據(jù)數(shù)據(jù)中心的特定類型、在數(shù)據(jù)中心處執(zhí)行的應(yīng)用的類型、計算服務(wù)器的數(shù)量和其他因素來設(shè)置。

在示例中,資源分配過程602包括向每個虛擬數(shù)據(jù)中心的每個流指派速率分配向量。使用多資源分配來計算604局部流分量,然后也使用多資源分配來計算606全局流分量。組合608局部和全局流分量,并且將結(jié)果分配作為指令發(fā)送610到物理數(shù)據(jù)中心中的實施器。通過使用兩階段方法,實現(xiàn)了數(shù)據(jù)中心資源分配的效率提高。以前的方法沒有使用這種類型的兩階段方法。然而,使用兩階段過程不是必要的;也可以僅使用局部流分配;或組合局部和全局分配步驟。

可以使用任何合適的多資源分配機制,其能夠在具有異構(gòu)需求的客戶端之間分發(fā)多種類型的資源。合適的多資源分配機制的示例在2013年10月的socc中的bhattacharya,d等人的“hierarchicalschedulingfordiversedatacenterworkloads”中給出。例如,用于m個流和n個資源的多資源分配機制提供了接口:

a←mra(d,w,c)

其中a,d和w是m×n矩陣,c是n條目向量。di,j表示對于資源j的流i的需求,或者在控制間隔中能夠消耗多少資源j流i。aij包含所得的需求感知分配(即,對于所有i和j,ai,j≤di,j)。w包含用于偏置分配以實現(xiàn)所選目標(biāo)(例如,權(quán)重的公平或收入最大化)的權(quán)重條目。c包含每個資源的容量。

參考圖7給出關(guān)于計算局部流分量的更多細(xì)節(jié),并且參考圖8給出關(guān)于全局流分量的更多細(xì)節(jié)。

參考圖7,控制器的資源分配器訪問700占用方的局部多資源分配機制。例如,占用方可以能夠選擇由符號mral表示的局部多資源分配機制,以向占用方給出如何將其保證資源分配給其流的控制。例如,想要在他們的流上公平地劃分他們的虛擬數(shù)據(jù)中心資源的占用方可以選擇實現(xiàn)主要資源公平性或基于瓶頸的公平性的機制。占用方t的局部分配矩陣at由下式給出:

at←mral(dt,wt,ct)

dt和wt是僅包含t個流的需求和權(quán)重矩陣,ct是包含t的虛擬數(shù)據(jù)中心中的每個虛擬資源的容量的容量向量。這些容量對應(yīng)于占用方的保證,其是靜態(tài)的并且是先驗已知的(來自虛擬數(shù)據(jù)中心規(guī)范)??梢詫t設(shè)置為默認(rèn)值(比如所有條目都為1),但可以由占用方覆蓋。

控制器的資源分配器例如使用圖9的過程來估計702dt的流需求。資源分配器還訪問704權(quán)重以進(jìn)入權(quán)重矩陣w并且根據(jù)虛擬數(shù)據(jù)中心規(guī)范訪問t的虛擬數(shù)據(jù)中心中的虛擬資源的容量。將該信息應(yīng)用于占用方的局部多資源分配機制以計算局部分配矩陣708。

為了實現(xiàn)虛擬數(shù)據(jù)中心彈性,控制器處的資源分配器基于包括全局多資源分配機制mrag的數(shù)據(jù)中心的全局策略,將未使用的資源指派給具有未滿足的需求的流。使用全局多資源分配機制給出可以表達(dá)為m×n矩陣ag的全局分配,其中m是跨所有占用方的流的總數(shù),并且n是數(shù)據(jù)中心中的資源的總數(shù)。ag由下式給出:

ag←mrag(dg,wg,cg)

速率控制器訪問800可以預(yù)先存儲在控制器處或者可從全局分配機制庫訪問的全局分配機制。速率控制器獲得數(shù)據(jù)中心中的個體物理資源的剩余容量804的估計,并且在矩陣cg中填充這些值。這是使用實現(xiàn)諸如下面參考圖9所描述的過程之類的一個過程的容量估計器來完成的。速率控制器訪問806權(quán)重以進(jìn)入矩陣wg。例如,權(quán)重可以從占用方的虛擬數(shù)據(jù)中心得出,以允許備用資源與前期支付(權(quán)重公平分配)成比例地被共享,或者將其設(shè)置為1以允許公平(支付不可知)分配。速率控制器在運行局部分配步驟之后跨每個物理資源計算每個流的未滿足的需求808。不在流路徑中的資源的條目可以設(shè)置為零。未滿足的需求可以使用如參考圖10所描述的需求估計量來計算。然后,速率控制器能夠通過將容量、權(quán)重和需求值輸入到全局多資源分配機制中來計算810全局分配ag。

現(xiàn)在參考圖9給出關(guān)于如何估計容量的更多細(xì)節(jié)。圖9的過程由控制器的容量估計器實現(xiàn)。該過程包括觀察900資源的吞吐量。例如,該數(shù)量以考慮了在資源處服務(wù)請求的成本(例如上面提及的令牌每秒)的度量來表達(dá)??刂破魇褂猛掏铝繑?shù)據(jù)來監(jiān)視902資源是否違反任何虛擬數(shù)據(jù)中心規(guī)范。在一些示例中,監(jiān)視903在資源處的未完成請求。

獲得(其中該過程已經(jīng)在進(jìn)行中)或者初始化(其中該過程剛開始)當(dāng)前探測窗口904。探測窗口是資源的實際容量預(yù)期處于其中的值的范圍。探測窗口由其極值minw和maxw來表征,并且響應(yīng)于擁塞信號的存在或不存在而不斷地精細(xì)調(diào)整(refine)。當(dāng)前容量估計cest在探測窗口內(nèi)并且被控制器用于速率分配。探測窗口的精細(xì)調(diào)整包括四個階段:二進(jìn)制搜索增加階段908,恢復(fù)階段920,等待階段926和穩(wěn)定階段914。

如果在判定點906處沒有檢測到擁塞,則進(jìn)入二進(jìn)制搜索增加階段908。檢測擁塞包括發(fā)現(xiàn)虛擬數(shù)據(jù)中心違反902。在二進(jìn)制搜索增加階段908中,控制器增加容量估計——例如通過將容量估計910設(shè)置為探測窗口內(nèi)的值比如探測窗口的中點或探測窗口中的任何其它合適的值??刂破鬟€將minw912增加到例如先前的容量估計,因為缺乏擁塞意味著資源沒有過載并且其實際容量超過先前的估計。重復(fù)此過程直到達(dá)到穩(wěn)定性,或者直到檢測到擁塞。

當(dāng)在決策點906處檢測到擁塞時,進(jìn)入恢復(fù)階段920。控制器恢復(fù)922容量估計,例如恢復(fù)到minw。這確保資源不會過載超過一個控制間隔。由于資源的實際容量小于該估計,因此進(jìn)一步將maxw減小924,例如減小至先前的容量估計。然后檢查任何vdc(虛擬數(shù)據(jù)中心)違反。如果沒有發(fā)現(xiàn)vdc違反,則過程去往二進(jìn)制搜索增加階段908。如果檢測到vdc違反,則過程移至等待階段926。

假設(shè)進(jìn)入等待階段926。在恢復(fù)階段中設(shè)置為minw的容量估計不會更改,直到虛擬數(shù)據(jù)中心保證再次被滿足。這允許先前已過載的資源為所有未完成的請求服務(wù)。這在資源不能丟棄請求的情況下是有益的,其通常是資源不是網(wǎng)絡(luò)交換機的情況。當(dāng)滿足保證時,過程移至二進(jìn)制搜索增加階段908。當(dāng)不滿足保證時,進(jìn)行檢查以查看等待定時器是否已期滿。如果沒有,則重新進(jìn)入等待階段。如果等待定時器已經(jīng)期滿,則過程去往步驟904。

在二進(jìn)制搜索階段908之后,進(jìn)行檢查以查看是否要進(jìn)入穩(wěn)定階段914。一旦探測窗口大小達(dá)到諸如資源的最大容量(或任何其它合適的閾值)的1%的閾值,就進(jìn)入穩(wěn)定階段914。在穩(wěn)定階段期間,可以響應(yīng)于工作負(fù)載中的輕微波動來調(diào)整916容量估計。在示例中,跟蹤在控制間隔期間在資源處的未完成請求的平均數(shù)目(按照令牌被測量)。將該平均值與穩(wěn)定階段開始時在資源處的未完成請求o的平均數(shù)目進(jìn)行比較。從當(dāng)前容量估計中減去由靈敏度參數(shù)加權(quán)的這些觀察值之間的差。o用作資源是瓶頸時的資源利用率的預(yù)測。在當(dāng)前未完成請求超過這個量時,資源必須處理比它可以在單個控制間隔中處理的請求更多的請求,并且作為結(jié)果,估計減小。反之也適用。

如果檢測到改變918,則估計過程重新開始。例如,如果檢測到虛擬數(shù)據(jù)中心違反,或者如果檢測到到達(dá)該資源的需求與穩(wěn)定階段的開始時的顯著變化。如果在判定點918處未檢測到變化,則過程返回到框916的微調(diào)整過程。

在一些示例中,圖9的方法被布置為在過程開始時檢查顯著的工作負(fù)載變化。以這種方式,不管估計處于什么狀態(tài),這種工作負(fù)載變化導(dǎo)致圖9的過程重新開始。

現(xiàn)在參考圖10給出關(guān)于如何估計需求的更多細(xì)節(jié)。圖10的過程,框1000,1002和1004由控制器的需求估計器針對被期望估計其需求的每個個體資源實現(xiàn)。圖10的過程,框1020,1022和1024在物理數(shù)據(jù)中心中的流的端點處的實施器處實現(xiàn)。需求矩陣d中的行表示流的需求向量,其又包含沿著流的路徑針對每個資源的按照令牌的需求??刂破鲝膶嵤┢鹘邮?000需求向量。它對估計進(jìn)行平滑以避免對突發(fā)工作負(fù)載的過度反應(yīng)。例如,平滑使用指數(shù)加權(quán)的移動平均或任何其他平滑過程??刂破魇褂闷交^的需求向量來計算每個資源的需求矩陣。在高級別處,在流的源處的實施器使用在當(dāng)前和先前控制間隔期間處理的請求以及排隊信息,以便估計下一間隔的流需求。例如,實施器計算1020在當(dāng)前和先前控制間隔上被它的流所消耗的令牌數(shù)目。實施器使用它存儲的或者可以從遠(yuǎn)程位置訪問的成本函數(shù)來執(zhí)行此操作。在示例中,實施器評估通過它的個體請求以計算針對該特定請求的按照令牌的成本。這使得例如可以考慮不同大小的請求。實施器還計算流的當(dāng)前排隊請求的令牌的數(shù)目1022。然后將該信息用于計算需求向量1024。

在一些示例中,在實施器處用于計算需求向量的過程被布置為考慮流可以是閉環(huán)流(與開環(huán)流相對)的情形。開環(huán)流對未完成請求的數(shù)目沒有限制。閉環(huán)流保持固定數(shù)目的未完成請求,并且當(dāng)另一個完成時,新請求到達(dá)。這是通過實施器監(jiān)視在控制間隔期間排隊的按照令牌的平均請求數(shù)目(使用新度量)以及還監(jiān)視在控制間隔期間未完成但已被允許經(jīng)過實施器的按照令牌中的平均請求數(shù)目來完成的。在下一時間間隔處的流f的需求向量被計算為先前時間間隔的流的積壓向量與以下的較大者:前一時間間隔的流的利用率向量加上如下乘積,該乘積為在控制間隔期間排隊的按照令牌的平均請求數(shù)目(使用新度量)和前一時間間隔的流的利用率向量與在控制間隔期間未完成的按照令牌的平均請求數(shù)目的比率之乘積。積壓向量包含流的每個資源所需的令牌(在新度量中),以便處理在間隔結(jié)束時仍然排隊的所有請求。利用率向量包含在時間間隔上的流的請求針對每個資源所消耗的令牌的總數(shù)(在新度量中)。通過考慮流以這種方式可以是閉環(huán)的,改進(jìn)了需求估計的準(zhǔn)確性,并且因此改進(jìn)了數(shù)據(jù)中心中的資源分配,從而給出了改進(jìn)的虛擬數(shù)據(jù)中心性能。

圖11是數(shù)據(jù)中心中的端到端流1100、實施器304、以及在速率實施器處的過程1120,1122的示意圖。在此示例中,流1100在虛擬機1處開始,通過網(wǎng)絡(luò)行進(jìn)到密鑰值存儲,返回到網(wǎng)絡(luò)和虛擬機1。在此示例中,在虛擬機1處的實施器304具有網(wǎng)絡(luò)桶1102和密鑰值存儲桶1104。通常,實施器針對流的每個資源具有一個桶(也稱為隊列)。在虛擬機1處的實施器從控制器接收流分配向量1120。速率分配向量包括針對流的每個資源的速率——令牌每秒,所述資源在該示例中是網(wǎng)絡(luò)和密鑰值存儲。已經(jīng)以考慮物理數(shù)據(jù)中心的虛擬數(shù)據(jù)中心、局部和全局分配策略以及數(shù)據(jù)中心的資源的需求和容量的方式來計算速率。在虛擬機1處的實施器基于速率分配向量來調(diào)整流的各個桶的補充速率。以這種方式,分配和控制物理數(shù)據(jù)中心的資源。

圖12示出了可以被實現(xiàn)為任何形式的計算和/或電子設(shè)備并且其中可以實現(xiàn)本文描述的任何方法的實施例的示例性基于計算的設(shè)備1200的各種組件。

基于計算的設(shè)備1200包括一個或多個處理器1202,其可以是微處理器、控制器或用于處理計算機可執(zhí)行指令以控制物理數(shù)據(jù)中心的資源的任何其它合適類型的處理器。在一些示例中,例如在使用芯片上系統(tǒng)架構(gòu)的情況下,處理器702可以包括實現(xiàn)本文描述的方法的一部分的一個或多個固定功能塊(也稱為加速器)(而不是軟件或固件)。可以在基于計算的設(shè)備處提供包括操作系統(tǒng)1204或任何其他合適的平臺軟件的平臺軟件,以使得能夠在設(shè)備上執(zhí)行應(yīng)用軟件。在示例中,基于計算的設(shè)備1200還可以包括用于估計物理數(shù)據(jù)中心的資源的需求的需求估計器1206,用于估計物理數(shù)據(jù)中心的資源的可用容量的容量估計器1208,以及用于計算和發(fā)送可以使用的不同類型的個體資源的數(shù)量的資源分配器1210。數(shù)據(jù)存儲1212可以存儲全局和局部多資源分配機制、布局算法、參數(shù)值、速率分配向量、需求向量和其他數(shù)據(jù)。

可以使用可由基于計算的設(shè)備1200訪問的任何計算機可讀介質(zhì)來提供計算機可執(zhí)行指令。計算機可讀介質(zhì)可以例如包括諸如存儲器1214的計算機存儲介質(zhì)和通信介質(zhì)。諸如存儲器1214的計算機存儲介質(zhì)包括以用于存儲諸如計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)的信息的任何方法或技術(shù)來實現(xiàn)的易失性和非易失性、可移動和不可移動介質(zhì)。計算機存儲介質(zhì)包括但不限于ram,rom,eprom,eeprom,閃存或其他存儲器技術(shù),cd-rom,數(shù)字通用盤(dvd)或其他光學(xué)存儲器,磁帶盒,磁帶,磁盤存儲器或其他磁存儲器或可以用于存儲信息以供計算設(shè)備訪問的任何其它非傳輸介質(zhì)。相比之下,通信介質(zhì)可以在調(diào)制的數(shù)據(jù)信號比如載波或其他傳輸機制中體現(xiàn)計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)。如本文所定義的,計算機存儲介質(zhì)不包括通信介質(zhì)。因此,計算機存儲介質(zhì)不應(yīng)被解釋為傳播信號本身。傳播的信號可以存在于計算機存儲介質(zhì)中,但是傳播的信號本身不是計算機存儲介質(zhì)的示例。盡管在基于計算的設(shè)備1200內(nèi)示出了計算機存儲介質(zhì)(存儲器1214),但是應(yīng)當(dāng)理解,存儲可以是分布式的或遠(yuǎn)程定位的,并且經(jīng)由網(wǎng)絡(luò)或其他通信鏈路(例如,使用通信接口1216)來訪問。

在示例中,描述了一種計算機實現(xiàn)的控制物理數(shù)據(jù)中心的方法,包括:

訪問關(guān)于多個虛擬數(shù)據(jù)中心的數(shù)據(jù),每個虛擬數(shù)據(jù)中心指定具有吞吐量保證的多個不同類型的資源;

在物理數(shù)據(jù)中心中實現(xiàn)虛擬數(shù)據(jù)中心,使得吞吐量保證通過以下操作被滿足:

為物理數(shù)據(jù)中心中實現(xiàn)的虛擬數(shù)據(jù)中心的個體流計算流分配,流分配包括:對于由流使用的物理數(shù)據(jù)中心的多個不同類型的物理資源中的每個物理資源,流可以使用的該物理資源的量;流是物理數(shù)據(jù)中心的端點之間的路徑,消息沿著該路徑被發(fā)送以實現(xiàn)服務(wù);以及

將流分配發(fā)送到物理數(shù)據(jù)中心中的實施器,實施器被布置為使用流分配來控制流中業(yè)務(wù)的速率,使得在使用中虛擬數(shù)據(jù)中心之間的性能影響被減小。

以這種方式,物理數(shù)據(jù)中心控制器可以有效且高效的方式實現(xiàn)虛擬數(shù)據(jù)中心,而不需要改變應(yīng)用、客戶操作系統(tǒng)或數(shù)據(jù)中心資源。

在示例中,計算流分配包括針對每個虛擬數(shù)據(jù)中心,考慮與虛擬數(shù)據(jù)中心相關(guān)聯(lián)的局部策略來計算局部流分配。這使得每個虛擬數(shù)據(jù)中心標(biāo)準(zhǔn)能夠被有效地考慮。

在上述示例中,計算流分配還包括考慮數(shù)據(jù)中心的局部流分配和未使用資源來計算全局流分配。這使得虛擬數(shù)據(jù)中心彈性能夠被提供。

例如,計算局部流分配包括通過至少觀察與物理數(shù)據(jù)中心中的個體流相關(guān)聯(lián)的業(yè)務(wù)的消耗和業(yè)務(wù)的隊列來估計針對個體流的流需求。使用經(jīng)驗數(shù)據(jù)實時估計流需求提供了準(zhǔn)確性和效率。

例如,計算局部流分配包括通過考慮個體流可以是閉環(huán)流來估計針對個體流的流需求。這改善了精度——即使在控制器不可能分辨流是開環(huán)還是閉環(huán)的情況下。

在示例中,動態(tài)地估計物理資源中的至少一些物理資源的容量通過觀察該至少一些物理資源的業(yè)務(wù)吞吐量而被實現(xiàn)。

在示例中,動態(tài)地估計容量還包括監(jiān)視對與虛擬數(shù)據(jù)中心相關(guān)聯(lián)的業(yè)務(wù)吞吐量的保證的違反,其中保證是在經(jīng)過虛擬數(shù)據(jù)中心的資源的一組流上被聚合的聚合保證。通過使用保證的違反,改進(jìn)了容量估計的質(zhì)量,并且更好地適用于本文描述的資源分配過程。即使資源吞吐量和虛擬數(shù)據(jù)中心違反是隱式擁塞信號,發(fā)現(xiàn)這些信號對于本文描述的容量估計過程也非常有效。

估計容量可以包括維持探測窗口,物理資源的容量被預(yù)期位于探測窗口中,探測窗口是容量值的范圍,并且基于存在或不存在保證的違反來重復(fù)地精細(xì)調(diào)整探測窗口的大小。通過使用探測窗精細(xì)調(diào)整,實現(xiàn)了一種容易實現(xiàn)的計算估計的簡單且有效的方式。

在不存在保證的違反的情況下,該方法可以包括將物理資源的估計的容量設(shè)置為探測窗口的中點并且增大探測窗口中的最小值。

在存在保證的違反的情況下,方法可以包括:將所估計的容量恢復(fù)為先前值并且減小探測窗口的最大值。該方法可以包括在繼續(xù)進(jìn)行估計物理資源的容量之前等待,直到與虛擬數(shù)據(jù)中心相關(guān)聯(lián)的保證被滿足為止。

在示例中,當(dāng)探測窗口達(dá)到閾值大小時進(jìn)入穩(wěn)定階段,并且該方法包括在穩(wěn)定階段期間對估計的可用容量做出調(diào)整。通過在穩(wěn)定階段做出調(diào)整,實現(xiàn)了結(jié)果質(zhì)量的顯著改進(jìn)。

在示例中,流可以使用的物理資源的量按照每單位時間的令牌被計算,其中令牌是考慮了服務(wù)對物理資源的請求的成本的單位。

在示例中,物理資源中的至少一些物理資源包括選自以下的資源:聯(lián)網(wǎng)存儲服務(wù)器、加密設(shè)備、負(fù)載平衡器、密鑰值存儲。

在另一示例中,描述了一種動態(tài)地估計數(shù)據(jù)中心的物理資源的可用容量的方法,包括:

在處理器處監(jiān)視跨資源的總吞吐量;

訪問與使用該資源的數(shù)據(jù)中心中所實現(xiàn)的多個虛擬數(shù)據(jù)中心相關(guān)聯(lián)地被指定的保證;

通過所監(jiān)視的吞吐量檢測保證中的至少一個保證的違反的存在或不存在;以及

基于違反的存在或不存在來更新可用容量的估計。

上述方法可以包括維持探測窗口,物理資源的容量被預(yù)期位于探測窗口中,該探測窗口是容量值的范圍,以及基于存在或不存在保證中的至少一個保證的違反來重復(fù)地精細(xì)調(diào)整探測窗口的大小。

上述動態(tài)估計的方法可以包括:監(jiān)視資源處的未完成請求并在探測窗口低于閾值大小時基于所監(jiān)視的未完成請求來更新可用容量的估計。在不存在保證中的至少一個保證的違反的情況下,該方法可以包括將物理資源的估計的容量設(shè)置為探測窗口的中點并且增大探測窗口中的最小值。在存在保證中的至少一個保證的違反的情況下,方法可以包括將所估計的容量恢復(fù)為先前值并減小探測窗口的最大值。

在示例中,數(shù)據(jù)中心控制器包括:

存儲關(guān)于多個虛擬數(shù)據(jù)中心的數(shù)據(jù)的存儲器,每個虛擬數(shù)據(jù)中心指定具有吞吐量保證的多個不同類型的資源;

存儲器保存指令,該指令在由處理器執(zhí)行時實現(xiàn)物理數(shù)據(jù)中心中的虛擬數(shù)據(jù)中心,使得吞吐量保證被滿足;以及為物理數(shù)據(jù)中心中所實現(xiàn)的虛擬數(shù)據(jù)中心的個體流計算流分配,流分配包括:對于由流使用的數(shù)據(jù)中心的多個不同物理資源中的每個物理資源,流可以使用的該物理資源的量;流是數(shù)據(jù)中心的端點之間的路徑,消息沿著路徑被發(fā)送以實現(xiàn)服務(wù);以及

通信接口,其被布置為將流分配發(fā)送到物理數(shù)據(jù)中心中的實施器,實施器被布置為使用流分配來控制流中業(yè)務(wù)的速率,使得在使用中虛擬數(shù)據(jù)中心之間的性能影響被減小。

本文中使用的術(shù)語“計算機”或“基于計算的設(shè)備”是指具有處理能力使得其可以執(zhí)行指令的任何設(shè)備。本領(lǐng)域技術(shù)人員將認(rèn)識到,這樣的處理能力被并入許多不同的設(shè)備中,因此術(shù)語“計算機”和“基于計算的設(shè)備”每個包括pc,服務(wù)器,移動電話(包括智能電話),平板計算機,機頂盒,媒體播放器,游戲控制臺,個人數(shù)字助理和許多其他設(shè)備。

本文描述的方法可以由例如以包括計算機程序代碼裝置的形式有形存儲介質(zhì)上的機器可讀形式的軟件執(zhí)行,當(dāng)該程序在計算機上運行時,該計算機程序代碼裝置適于執(zhí)行本文所述的任何方法的所有步驟,并且其中該計算機程序可以體現(xiàn)在計算機可讀介質(zhì)上。有形存儲介質(zhì)的示例包括計算機存儲設(shè)備并且不包括傳播信號,所述計算機存儲設(shè)備包括諸如磁盤、拇指驅(qū)動器、存儲器等計算機可讀介質(zhì)。傳播信號可以存在于有形存儲介質(zhì)中,但是傳播信號本身不是有形存儲介質(zhì)的示例。軟件可以適于在并行處理器或串行處理器上執(zhí)行,使得方法步驟可以以任何合適的順序或同時執(zhí)行。

這承認(rèn)軟件可以是有價值的、可單獨交易的商品。其旨在涵蓋在“啞”或標(biāo)準(zhǔn)硬件上運行或控制以執(zhí)行期望功能的軟件。還旨在涵蓋“描述”或定義硬件的配置的軟件,諸如用于設(shè)計硅芯片或用于配置通用可編程芯片以執(zhí)行期望功能的hdl(硬件描述語言)軟件。

本領(lǐng)域技術(shù)人員將認(rèn)識到,用于存儲程序指令的存儲設(shè)備可以分布在網(wǎng)絡(luò)上。例如,遠(yuǎn)程計算機可以存儲被描述為軟件的過程的示例。本地或終端計算機可以訪問遠(yuǎn)程計算機并下載軟件的一部分或全部以運行程序。替代地,本地計算機可以根據(jù)需要下載軟件片段,或者在本地終端處執(zhí)行一些軟件指令,并且在遠(yuǎn)程計算機(或計算機網(wǎng)絡(luò))處執(zhí)行一些軟件指令。本領(lǐng)域技術(shù)人員還將認(rèn)識到,通過利用本領(lǐng)域技術(shù)人員已知的常規(guī)技術(shù),軟件指令的全部或一部分可以由專用電路比如dsp,可編程邏輯陣列等等來執(zhí)行。

如本領(lǐng)域技術(shù)人員將顯而易見的,本文給出的任何范圍或設(shè)備值可以被擴(kuò)展或改變而不失去所尋求的效果。

盡管已經(jīng)以對結(jié)構(gòu)特征和/或方法動作特定的語言描述了主題,但是應(yīng)當(dāng)理解,所附權(quán)利要求中定義的主題不一定限于上述特定特征或動作。相反,上面描述的特定特征和動作作為實現(xiàn)權(quán)利要求的示例形式而被公開。

將理解,上述的益處和優(yōu)點可以涉及一個實施例或者可以涉及若干實施例。實施例不限于解決任何或所有所述問題的那些實施例,或者具有任何或全部所述益處和優(yōu)點的實施例。還應(yīng)當(dāng)理解,引用“一個”項目是指那些項目中的一個或多個。

本文所述的方法的步驟可以以任何合適的順序進(jìn)行,或在適當(dāng)時同時進(jìn)行。另外,在不脫離本文所描述的主題的精神和范圍的情況下,可以從任何方法中刪除各個塊。上述任何示例的方面可以與所描述的任何其他示例的方面組合以形成另外的示例而不失去所尋求的效果。

術(shù)語“包括”在本文中用于表示包括所標(biāo)識的方法塊或元素,但是這樣的塊或元素不包括排他性列表,并且方法或裝置可以包含附加的塊或元素。

應(yīng)當(dāng)理解,上述描述僅通過示例的方式給出,并且本領(lǐng)域技術(shù)人員可以進(jìn)行各種修改。上述說明書、示例和數(shù)據(jù)提供了示例性實施例的結(jié)構(gòu)和使用的完整描述。雖然以上已經(jīng)以某種程度的特殊性或者參考一個或多個個體實施例描述了各種實施例,但是本領(lǐng)域技術(shù)人員可以在不脫離本說明書的精神或范圍的情況下對所公開的實施例進(jìn)行多種改變。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
凌海市| 迁安市| 辽阳市| 宽甸| 新密市| 乡宁县| 宜州市| 仁化县| 南安市| 泰州市| 申扎县| 临沂市| 万载县| 阜新市| 庐江县| 定南县| 宁海县| 上栗县| 南丰县| 哈尔滨市| 崇义县| 铜川市| 兴山县| 杨浦区| 南昌市| 桂阳县| 宣威市| 宜兰县| 玉田县| 桦甸市| 新巴尔虎右旗| 镇安县| 潮安县| 涟源市| 西盟| 偏关县| 祁东县| 松潘县| 威信县| 拜城县| 高邑县|