使用優(yōu)先級(jí)進(jìn)行工作保持的帶寬保證的制作方法
【專利說(shuō)明】
【背景技術(shù)】
[0001]在云計(jì)算環(huán)境中,數(shù)據(jù)中心可以包括多個(gè)聯(lián)網(wǎng)的計(jì)算設(shè)備。一些或所有計(jì)算設(shè)備(即,主機(jī))可以均運(yùn)行許多虛擬機(jī)(VM)。租戶可以保留一個(gè)或多個(gè)VM,例如用于執(zhí)行應(yīng)用。租戶可以是擁有(例如,支付)使用VM的權(quán)利的用戶、機(jī)構(gòu),等等。特定租戶的VM可以被合并在單個(gè)計(jì)算設(shè)備/主機(jī)上或者跨數(shù)據(jù)中心中的多個(gè)計(jì)算設(shè)備/主機(jī)分布。租戶可以將其VM配置為在它們自己之間進(jìn)行通信,以例如用于提供租戶的統(tǒng)一的服務(wù)。租戶的VM(多個(gè))也可以與其他租戶的VM進(jìn)行通信。租戶可能希望了解其VM之間的以及與其他租戶的VM的最小通信規(guī)范(例如,帶寬保證),使得租戶可以確定關(guān)于租戶的應(yīng)用和/或服務(wù)的性能的下界。
【附圖說(shuō)明】
[0002]以下詳細(xì)描述參考附圖,其中:
[0003]圖1是使用優(yōu)先級(jí)實(shí)施工作保持的帶寬保證的示例性網(wǎng)絡(luò)設(shè)定的框圖;
[0004]圖2是使用優(yōu)先級(jí)實(shí)施工作保持的帶寬保證的示例性網(wǎng)絡(luò)設(shè)定的框圖;
[0005]圖3是用于使用優(yōu)先級(jí)實(shí)施工作保持的帶寬保證的示例性流管理器模塊的框圖;
[0006]圖4是流管理器模塊可以根據(jù)優(yōu)先級(jí)來(lái)引導(dǎo)信息的分組的示例性方案的流程圖;
[0007]圖5是流管理器模塊可以根據(jù)優(yōu)先級(jí)來(lái)引導(dǎo)信息的分組的示例性方案的流程圖;
[0008]圖6是流管理器模塊可以根據(jù)優(yōu)先級(jí)來(lái)引導(dǎo)信息的分組的示例性方案的流程圖;
[0009]圖7是使用優(yōu)先級(jí)進(jìn)行工作保持的帶寬保證的示例性方法的流程圖;
[0010]圖8是使用優(yōu)先級(jí)進(jìn)行工作保持的帶寬保證的主機(jī)計(jì)算設(shè)備的框圖;以及[0011 ]圖9是使用優(yōu)先級(jí)進(jìn)行工作保持的帶寬保證的示例性方法的流程圖。
【具體實(shí)施方式】
[0012]如上所述,租戶可能希望了解其VM之間的最小通信規(guī)范(例如,帶寬保證),使得租戶可以確定關(guān)于租戶的應(yīng)用和/或服務(wù)的性能的下界。各個(gè)云提供商不能準(zhǔn)確地提供此類帶寬保證。此類帶寬保證信息的缺乏阻止租戶確定關(guān)于應(yīng)用和/或服務(wù)性能的下界。此類帶寬保證信息的缺乏也可能阻止租戶將企業(yè)應(yīng)用傳遞到云,這是因?yàn)樵S多企業(yè)應(yīng)用要求可預(yù)測(cè)的性能保證。
[0013]可以提供帶寬保證的各種解決方案也浪費(fèi)帶寬容量。例如,如果第一租戶在特定時(shí)段期間未使用其全部帶寬保證,那么備用帶寬容量被浪費(fèi)掉,例如,具有高需求的第二租戶不能暫時(shí)地使用第一租戶的備用帶寬??梢試L試供應(yīng)備用帶寬容量的各種其他解決方案在完全地利用備用帶寬方面是無(wú)效的。例如,當(dāng)允許VM以比其最小帶寬保證高的速率發(fā)送網(wǎng)絡(luò)業(yè)務(wù)時(shí),一些解決方案是保守的,例如以便避免例如在硬件交換機(jī)的由于擁塞的分組丟棄。該保守的行為導(dǎo)致網(wǎng)絡(luò)帶寬的浪費(fèi)。
[0014]各種其他解決方案可以通過(guò)利用多個(gè)隊(duì)列來(lái)在網(wǎng)絡(luò)中供應(yīng)備用帶寬。然而,這些解決方案的目的不在于提供工作保持的帶寬保證,其中,通過(guò)利用網(wǎng)絡(luò)中的備用帶寬一一例如,可用的備用帶寬,用于兩個(gè)特定VM之間的通信的帶寬可能超過(guò)與這兩個(gè)VM相關(guān)聯(lián)的最小帶寬保證,這是因?yàn)榫W(wǎng)絡(luò)中的其他VM不使用通過(guò)它們的帶寬保證分配給它們的所有帶寬。代之以,這些解決方案目的僅僅是對(duì)于不同的租戶、應(yīng)用、服務(wù)、不同類型的分組等等實(shí)施不同的服務(wù)水平或優(yōu)先級(jí)。例如,高優(yōu)先級(jí)隊(duì)列可以處理用于第一租戶、應(yīng)用、服務(wù)、第一類型的分組等等的業(yè)務(wù),并且較低的優(yōu)先級(jí)隊(duì)列可以處理用于第二租戶、應(yīng)用、服務(wù)等等的業(yè)務(wù)。對(duì)于這些解決方案,特定租戶、應(yīng)用、服務(wù)、特定類型的分組等等與特定硬件隊(duì)列靜態(tài)地相關(guān)聯(lián)。另外地,對(duì)于這些解決方案,預(yù)先指定租戶、應(yīng)用、服務(wù)、分組的類型等等具有特定重要性、優(yōu)先級(jí)或服務(wù)水平,并且該預(yù)先指定確定哪個(gè)隊(duì)列用于租戶、應(yīng)用、服務(wù)、分組的類型,等等。
[0015]本公開描述使用優(yōu)先級(jí)進(jìn)行工作保持的帶寬保證。本公開描述一種解決方案,例如當(dāng)其他租戶和/或VM-VM對(duì)未使用它們的全部帶寬保證時(shí),允許(例如,特定VM-VM對(duì)的)租戶以與特定帶寬保證相比較高的速率來(lái)發(fā)送業(yè)務(wù)。該解決方案可以例如在連接多個(gè)主機(jī)計(jì)算設(shè)備的至少一個(gè)硬件交換機(jī)中、使用兩個(gè)或更多優(yōu)先級(jí)隊(duì)列來(lái)實(shí)施。該解決方案也可以使用例如位于主機(jī)計(jì)算設(shè)備的管理程序中的或虛擬機(jī)中的至少一個(gè)流管理器模塊。流管理器模塊可以監(jiān)視從源VM到目的地VM的出站網(wǎng)絡(luò)業(yè)務(wù)流;并且對(duì)于特定VM到VM對(duì),可以將流與用于VM到VM對(duì)的帶寬保證相比較。流管理器模塊可以基于流是否大于帶寬保證來(lái)根據(jù)第一優(yōu)先級(jí)或第二優(yōu)先級(jí)對(duì)流的分組進(jìn)行引導(dǎo)(例如,路由和/或加標(biāo)簽)。根據(jù)第一優(yōu)先級(jí)或第二優(yōu)先級(jí)引導(dǎo)流的分組可以使分組被放置到例如硬件交換機(jī)的第一優(yōu)先級(jí)隊(duì)列或第二優(yōu)先級(jí)隊(duì)列中。因而,可以將遵守帶寬保證的業(yè)務(wù)指配給較高的優(yōu)先級(jí)隊(duì)列,而可以將超過(guò)帶寬保證的“機(jī)會(huì)性業(yè)務(wù)”(即,工作保持的業(yè)務(wù))指配給較低的優(yōu)先級(jí)隊(duì)列。以這種方式,當(dāng)具有帶寬保證的第一 VM對(duì)上的業(yè)務(wù)未完全地利用保證時(shí),第二 VM對(duì)可以機(jī)會(huì)性地利用該備用帶寬來(lái)發(fā)送超過(guò)第二對(duì)的帶寬保證的業(yè)務(wù)。
[0016]相比各種其他解決方案,本公開可以提供益處。首先,本公開為租戶提供VM之間的最小帶寬保證,這允許租戶確定關(guān)于應(yīng)用和/或服務(wù)性能的下界,并且也可以允許租戶將企業(yè)應(yīng)用傳送到云。另外地,與浪費(fèi)帶寬容量的各種其他解決方案相比,本公開可以更高效地供應(yīng)網(wǎng)絡(luò)中的備用帶寬。本公開也可以利用硬件支持(例如,硬件交換機(jī)中的優(yōu)先級(jí)隊(duì)列),這可以簡(jiǎn)化在主機(jī)計(jì)算設(shè)備中實(shí)施的解決方案。因此,主機(jī)計(jì)算設(shè)備可以實(shí)施可以導(dǎo)致主機(jī)中的較低的開銷以及較小的CHJ利用率的較不復(fù)雜的算法。再者,本公開可以利用商品(例如,現(xiàn)成的)交換機(jī),這使得解決方案實(shí)用并且廉價(jià)。
[0017]貫穿本公開,術(shù)語(yǔ)“工作保持”、“工作保持的”等等可以指的是利用網(wǎng)絡(luò)中的備用帶寬容量以便盡可能少地浪費(fèi)帶寬容量的目標(biāo)。術(shù)語(yǔ)“鏈路”可以指的是兩個(gè)計(jì)算機(jī)組件之間的單個(gè)連接或單個(gè)通信組件(例如,電纜、接線、直接的無(wú)線連接,等等)。術(shù)語(yǔ)(例如,如在網(wǎng)絡(luò)路徑中的)“路徑”可以指的是信息可以在網(wǎng)絡(luò)中穿過(guò)的路線(例如,物理路線),其中路徑可以例如從源到目的地經(jīng)過(guò)多個(gè)連接、網(wǎng)絡(luò)接口、集線器、路由器、交換機(jī)等等。術(shù)語(yǔ)“虛擬路徑”可以指的是穿過(guò)物理路徑的邏輯路線,其中,其他邏輯路線穿過(guò)相同的物理路徑。(例如,如在VM到VM對(duì)中的)術(shù)語(yǔ)“對(duì)”可以指的是兩個(gè)計(jì)算模塊(例如,兩個(gè)虛擬機(jī))之間的通信。例如,特定VM到VM對(duì)可以指的是從一個(gè)計(jì)算模塊行進(jìn)到另一個(gè)計(jì)算模塊的所有數(shù)據(jù)。在一些實(shí)例中,(例如,從第一模塊到第二模塊)在一個(gè)方向上行進(jìn)的數(shù)據(jù)可以被考慮為與(例如,從第二模塊到第一模塊)在相反方向上行進(jìn)的數(shù)據(jù)不同的對(duì)。對(duì)的數(shù)據(jù)可以跨一個(gè)路徑或多個(gè)路徑行進(jìn),并且路徑(多個(gè))可以隨時(shí)間而改變。因而,特定VM到VM對(duì)在網(wǎng)絡(luò)中可以是唯一的;然而,多個(gè)路徑可以攜帶對(duì)的數(shù)據(jù)。同樣地,特定路徑可以攜帶多個(gè)VM到VM對(duì)的數(shù)據(jù)。在一些情形中,對(duì)可以用作指VM和VM的聚集之間的通信或者VM和租戶之間的通信的通用術(shù)語(yǔ)。(如在網(wǎng)絡(luò)流中的)術(shù)語(yǔ)“流”可以指的是在網(wǎng)絡(luò)中在源與目的地之間的分組的聚合和/或序列。流的示例包括兩個(gè)VM之間的傳輸控制協(xié)議(“TCP”)分組、兩個(gè)VM之間的用戶數(shù)據(jù)報(bào)協(xié)議(“UDP”)分組或者在源與目的地之間所傳送的分組的任何其他聚合或聚集。在一些情形中,特定流可以與特定目的(例如,特定應(yīng)用、服務(wù)、模塊,等等)有關(guān)。術(shù)語(yǔ)“業(yè)務(wù)”可以指的是穿過(guò)網(wǎng)絡(luò)中的點(diǎn)(例如,網(wǎng)絡(luò)接口、集線器、路由器、交換機(jī)等等)的分組或流,其中分組或流可以從多于一個(gè)源行進(jìn)和/或行進(jìn)到多于一個(gè)目的地。
[0018]圖1是使用優(yōu)先級(jí)實(shí)施工作保持的帶寬保證的示例性網(wǎng)絡(luò)設(shè)定100的框圖。網(wǎng)絡(luò)設(shè)定100可以包括許多主機(jī)計(jì)算設(shè)備(例如,102、104、106)以及至少一個(gè)硬件交換機(jī)(例如,交換機(jī)108)。主機(jī)計(jì)算設(shè)備102、104、106可以例如經(jīng)由以太網(wǎng)接線或一些其他有線或無(wú)線網(wǎng)絡(luò)鏈路與硬件交換機(jī)108進(jìn)行通信。主機(jī)計(jì)算設(shè)備102、104、106可以通過(guò)將信息的分組傳送到交換機(jī)108并且從交換機(jī)108接收信息的分組來(lái)與彼此進(jìn)行通信。主機(jī)計(jì)算設(shè)備102、104、106可以均包括允許主機(jī)計(jì)算設(shè)備經(jīng)由網(wǎng)絡(luò)(例如,具有交換機(jī)108)進(jìn)行通信的網(wǎng)絡(luò)接口卡(NIC)(例如,118)。
[0019]主機(jī)計(jì)算設(shè)備(例如,102、104、106)均可以是能夠經(jīng)由網(wǎng)絡(luò)與其他計(jì)算設(shè)備進(jìn)行通信并且能夠運(yùn)行虛擬機(jī)的任何計(jì)算系統(tǒng)或計(jì)算設(shè)備。應(yīng)當(dāng)理解的是,盡管一些主機(jī)計(jì)算設(shè)備(例如,106)可能未示出所有它們的內(nèi)部組件,但它們可以包括與示出的其他主機(jī)計(jì)算設(shè)備(例如,102、104)類似的組件。主機(jī)計(jì)算設(shè)備(例如,102)均可以包括許多虛擬機(jī)(VM)(例如,110、112、114)。如上所述,租戶可以保留一個(gè)或多個(gè)¥1,例如用于執(zhí)行應(yīng)用。特定租戶的VM可以被合并在單個(gè)主機(jī)計(jì)算設(shè)備上或者跨多個(gè)主機(jī)計(jì)算設(shè)備分布。主機(jī)計(jì)算設(shè)備(例如,102)均可以包括管理程序(例如,116)。術(shù)語(yǔ)“管理程序”可以指的是例示、運(yùn)行和/或管理虛擬機(jī)的一款計(jì)算機(jī)軟件、固件或硬件。管理程序(例如,116)可以為VM(例如,110、112、114)的操作系統(tǒng)呈現(xiàn)虛擬操作平臺(tái)(例如,虛擬化硬件資源)。管理程序也可以管理VM操作系統(tǒng)的執(zhí)行。術(shù)語(yǔ)“管理程序”通常也可以包含處于主機(jī)操作系統(tǒng)的控制下并且用于運(yùn)行太復(fù)雜而不能在主機(jī)操作系統(tǒng)本身中運(yùn)行的計(jì)算機(jī)軟件的特殊VM。在圖1的示例中,管理程序(例如,116)均可以包括保證確定和速率限制器模塊122以及流管理器模塊124。這些模塊(例如,122、124)可以包括在機(jī)器可讀存儲(chǔ)介質(zhì)上編碼的并且可