两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

用于支持多租戶集群環(huán)境中的分區(qū)感知路由的系統(tǒng)和方法與流程

文檔序號:11455638閱讀:547來源:國知局
用于支持多租戶集群環(huán)境中的分區(qū)感知路由的系統(tǒng)和方法與流程

版權(quán)聲明

本專利文檔公開的一部分包含受版權(quán)保護的素材。版權(quán)擁有者不反對任何人對專利文檔或?qū)@_按照在專利商標(biāo)局的專利文件或記錄中出現(xiàn)那樣進行的傳真復(fù)制,但是除此之外在任何情況下都保留所有版權(quán)。

本發(fā)明一般而言涉及計算機系統(tǒng),并且具體而言,涉及多租戶(multi-tenant)集群環(huán)境。



背景技術(shù):

多租賃允諾對可用系統(tǒng)資源的高利用率,并且有助于維護服務(wù)提供商的成本有效(costeffective)的操作。然而,多租戶高性能計算(hpc)基礎(chǔ)設(shè)施帶來了獨特的挑戰(zhàn),這些挑戰(zhàn)與向租戶提供性能隔離以及實現(xiàn)跨網(wǎng)絡(luò)架構(gòu)的高效負(fù)載平衡這二者關(guān)聯(lián)。



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

系統(tǒng)和方法可以支持多租戶集群環(huán)境中的分區(qū)感知(partition-aware)路由。示例性方法可以支持多租戶集群環(huán)境內(nèi)的一個或多個租戶。該方法可以將一個或多個租戶中的每個租戶與多個分區(qū)中的分區(qū)關(guān)聯(lián)。然后該方法可以將該多個分區(qū)中的每個分區(qū)與多個節(jié)點中的一個或多個節(jié)點關(guān)聯(lián),該多個節(jié)點中的每個節(jié)點與多個交換機中的一葉子交換機關(guān)聯(lián),該多個交換機包括多個葉子交換機和多個根交換機。最后,該方法可以生成一個或多個線性轉(zhuǎn)發(fā)表,這一個或多個線性轉(zhuǎn)發(fā)表提供多個分區(qū)之間的隔離,其中這多個節(jié)點中的每個節(jié)點與一分區(qū)次序關(guān)聯(lián)。

根據(jù)實施例,在多租戶hpc系統(tǒng)中,每個租戶可以經(jīng)歷可預(yù)測的網(wǎng)絡(luò)性能,而不受其他租戶的工作負(fù)載的影響。

附圖說明

圖1示出了根據(jù)實施例的多租戶集群環(huán)境的圖示。

圖2示出了在其中可以實踐本公開的實施例的網(wǎng)絡(luò)環(huán)境中的樹形拓?fù)涞膱D示。

圖3示出了在其中可以實踐本公開的實施例的多租戶集群環(huán)境中的路由的圖示。

圖4示出了在其中可以實踐本公開的實施例的多租戶集群環(huán)境中的路由的圖示。

圖5示出了根據(jù)實施例的支持多租戶集群環(huán)境中的分區(qū)感知路由的圖示。

圖6示出了根據(jù)實施例的支持多租戶集群環(huán)境中的分區(qū)感知路由的圖示。

圖7示出了根據(jù)實施例的支持多租戶集群環(huán)境中的分區(qū)感知路由的圖示。

圖8示出了根據(jù)實施例的支持多租戶集群環(huán)境中的分區(qū)感知路由的圖示。

圖9示出了根據(jù)實施例的用于支持多租戶集群環(huán)境中的分區(qū)感知路由的方法的圖示。

具體實施方式

在下面的詳細(xì)描述中,將通過舉例而不是限制的方式在附圖的圖中說明本發(fā)明。應(yīng)當(dāng)指出,在本公開中對“一”或“一個”或“一些”實施例的引用不一定是對相同的實施例,并且這種引用意味著至少一個實施例。雖然討論了具體的實現(xiàn),但是應(yīng)當(dāng)理解,具體實現(xiàn)僅僅是為了說明的目的而提供的。相關(guān)領(lǐng)域的技術(shù)人員將認(rèn)識到,在不背離本發(fā)明的范圍和精神的情況下,可以使用其它部件和配置。

在整個附圖和詳細(xì)描述中,使用共同的引用標(biāo)號來指示相同的元件;因此,如果在其它地方對元件進行了描述,則圖中所使用的引用標(biāo)號可以在特定于這個圖的具體描述中引用,或者可以不在特定于這個圖的具體描述中引用。

本發(fā)明的以下描述使用infinibandtm(ib)網(wǎng)絡(luò)作為高性能網(wǎng)絡(luò)的示例。對于本領(lǐng)域技術(shù)人員將清楚的是,可以使用其它類型的高性能網(wǎng)絡(luò)而不受限制。以下描述還使用胖樹拓?fù)渥鳛榧軜?gòu)拓?fù)涞氖纠?。對于本領(lǐng)域技術(shù)人員將清楚的是,可以使用其它類型的架構(gòu)拓?fù)涠皇芟拗啤?/p>

infinibandtm

infinibandtm(ib)是由infinibandtm貿(mào)易協(xié)會開發(fā)的開放標(biāo)準(zhǔn)無損網(wǎng)絡(luò)技術(shù)。該技術(shù)基于提供高吞吐量和低延遲通信的串行點對點全雙工互連,尤其適用于hpc應(yīng)用和數(shù)據(jù)中心。

infinibandtm體系結(jié)構(gòu)(iba)支持雙層拓?fù)鋭澐?。在下層,ib網(wǎng)絡(luò)被稱為子網(wǎng),其中子網(wǎng)可以包括使用交換機和點對點鏈路互連的一組主機。在上層,ib架構(gòu)構(gòu)成一個或多個子網(wǎng),該一個或多個子網(wǎng)可以使用路由器互連。

在子網(wǎng)內(nèi),使用交換機和點對點鏈路來連接主機。此外,存在一個主管理實體——子網(wǎng)管理器(sm),它駐留在子網(wǎng)中的指定的子網(wǎng)設(shè)備上。子網(wǎng)管理器負(fù)責(zé)配置、激活和維護ib子網(wǎng)。此外,子網(wǎng)管理器(sm)可以負(fù)責(zé)執(zhí)行ib架構(gòu)中的路由表計算。在這里,例如,ib網(wǎng)絡(luò)的路由的目的在于本地子網(wǎng)中的所有源和目的地對之間的恰當(dāng)?shù)呢?fù)載平衡。

通過子網(wǎng)管理接口,子網(wǎng)管理器與子網(wǎng)管理代理(sma)交換被稱為子網(wǎng)管理數(shù)據(jù)包(smp)的控制數(shù)據(jù)包。子網(wǎng)管理代理駐留在每個ib子網(wǎng)設(shè)備上。通過使用smp,子網(wǎng)管理器能夠發(fā)現(xiàn)架構(gòu),配置端節(jié)點和交換機,以及接收來自sma的通知。

一般而言,除主子網(wǎng)管理器之外的所有其它子網(wǎng)管理器都在待機模式下起作用以用于容錯。然而,在主子網(wǎng)管理器發(fā)生故障的情景中,由待機的子網(wǎng)管理器協(xié)商新的主子網(wǎng)管理器。主子網(wǎng)管理器還執(zhí)行對子網(wǎng)的周期性掃描(sweep),以檢測任何拓?fù)渥兓⑾鄳?yīng)地重新配置網(wǎng)絡(luò)。

此外,子網(wǎng)內(nèi)的主機和交換機可以使用本地標(biāo)識符(lid)來尋址,并且單個子網(wǎng)可以被限制為49151個lid。除了作為在子網(wǎng)內(nèi)有效的本地地址的lid,每個ib設(shè)備還可以具有被燒錄到其非易失性存儲器中的64位全局唯一標(biāo)識符(guid)。guid可以被用于形成全局標(biāo)識符(gid),全局標(biāo)識符是ib層三(l3)地址??梢酝ㄟ^將64位子網(wǎng)標(biāo)識符(id)與64位guid串接以形成類似于ipv6的128位地址來創(chuàng)建gid。例如,可以將不同的端口guid指派給連接到ib架構(gòu)的端口。

在網(wǎng)絡(luò)初始化時,sm可以計算路由表(即,樹內(nèi)的每對節(jié)點之間的連接/路由)。此外,無論何時拓?fù)涓淖?,路由表都可以被更新,以便確保連接性和最佳性能。在正常操作期間,sm可以執(zhí)行對網(wǎng)絡(luò)的周期性輕掃描(lightsweep)以檢查拓?fù)渥兓?。如果在輕掃描期間發(fā)現(xiàn)變化,或者如果sm接收到發(fā)信號通知網(wǎng)絡(luò)變化的信息(陷阱),則sm可以根據(jù)所發(fā)現(xiàn)的變化重新配置網(wǎng)絡(luò)。

例如,當(dāng)網(wǎng)絡(luò)拓?fù)涓淖儠r,諸如當(dāng)鏈路斷開時、當(dāng)添加設(shè)備時或者當(dāng)鏈路被移除時,sm可以重新配置網(wǎng)絡(luò)。重新配置步驟可以包括在網(wǎng)絡(luò)初始化期間執(zhí)行的步驟。此外,重新配置可以具有限于在其中發(fā)生網(wǎng)絡(luò)變化的子網(wǎng)的局部范圍。而且,使用路由器對大型架構(gòu)的分段會限制重新配置的范圍。

ib系統(tǒng)中的多租賃

從聯(lián)網(wǎng)角度來看,經(jīng)由分區(qū)的多租賃可以提供對網(wǎng)絡(luò)資源的高利用率,并有助于維護服務(wù)提供商的成本有效的操作。然而,多租戶基礎(chǔ)設(shè)施還強加了若干重要的安全問題,最具挑戰(zhàn)性的安全問題之一是與為租戶提供性能隔離關(guān)聯(lián)的。應(yīng)當(dāng)向每個租戶提供可預(yù)測的網(wǎng)絡(luò)性能,而不受系統(tǒng)中其他租戶的工作負(fù)載的影響。ib系統(tǒng)中的網(wǎng)絡(luò)隔離可以通過分區(qū)來提供。

根據(jù)實施例,分區(qū)是端口的邏輯組,使得組的成員只能與同一組的其他成員通信。在主機通道適配器(hca)和交換機處,可以使用分區(qū)成員資格信息來過濾數(shù)據(jù)包以實施隔離。數(shù)據(jù)包一到達傳入端口,就可以丟棄具有無效分區(qū)信息的數(shù)據(jù)包。在多租戶ib系統(tǒng)中,分區(qū)可以被用于創(chuàng)建租戶集群。在分區(qū)實施到位的情況下,節(jié)點不可以與屬于不同租戶集群的其它節(jié)點通信。以這種方式,即使在存在受損租戶節(jié)點或惡意租戶節(jié)點的情況下,也可以保證系統(tǒng)的安全性。

ib路由一般可以基于存儲在交換機中的線性轉(zhuǎn)發(fā)表(lft)。lft是由子網(wǎng)管理器(sm)在不考慮分區(qū)信息的情況下計算的。因此,中間網(wǎng)絡(luò)鏈路可能攜帶屬于不同分區(qū)的流量。中間鏈路的這種共享可能導(dǎo)致分區(qū)干擾。因此,租戶體驗不可預(yù)測的網(wǎng)絡(luò)性能。此外,在分區(qū)的子網(wǎng)中路由算法的平衡特征也受到影響。這是因為,即使跨越分區(qū)邊界的鏈路不用于用戶流量,這些鏈路也與其它起作用的鏈路以相同的方式被路由(并且因此在平衡中被考慮)。變差的平衡會導(dǎo)致縮減的有效帶寬和次優(yōu)的網(wǎng)絡(luò)利用率。

ib一般提供服務(wù)質(zhì)量(qos)特征,該服務(wù)質(zhì)量特征可以被用于向每個分區(qū)保證可用帶寬的份額而無論其它分區(qū)中的節(jié)點如何。然后通過給每個分區(qū)指派被稱為服務(wù)層級(sl)的可用的差異化的流量類別來提供帶寬保證。然后根據(jù)sl到虛擬道(virtuallane,vl)映射表將每個sl映射到鏈路上可用的十五個vl中的一個。

在將sl指派給分區(qū)時可能出現(xiàn)問題,這是因為系統(tǒng)只可以利用15個vl在網(wǎng)絡(luò)中創(chuàng)建不同的分區(qū),而ib網(wǎng)絡(luò)一般可以具有大量的分區(qū)(例如,每個端口可以是最多達32768個分區(qū)的成員)。此外,在現(xiàn)有的ib硬件中,常見的是只支持九個vl(包括為子網(wǎng)管理保留的一個vl)。另外,由于sl是稀缺資源,所以可能期望盡可能多地留出它們以用于其它目的,例如,用以在網(wǎng)絡(luò)中提供容錯或服務(wù)差異化。

ib體系結(jié)構(gòu)

根據(jù)實施例,ib是由ibta(infinibandtradeassociation,infiniband貿(mào)易協(xié)會)開發(fā)的開放標(biāo)準(zhǔn)無損網(wǎng)絡(luò)技術(shù)。該技術(shù)定義了提供高吞吐量和低延遲通信的串行點對點全雙工互連。ib網(wǎng)絡(luò)可以由使用路由器互連的一個或多個子網(wǎng)組成。在子網(wǎng)內(nèi),使用交換機和點對點鏈路連接主機。在每個ib子網(wǎng)內(nèi),可以存在一個主管理實體——駐留在任何指定的子網(wǎng)設(shè)備上的子網(wǎng)管理器(sm),該子網(wǎng)管理器配置、激活和維護該ib子網(wǎng)。

通過子網(wǎng)管理接口,sm與駐留在每個ib設(shè)備上的子網(wǎng)管理代理(sma)交換被稱為子網(wǎng)管理數(shù)據(jù)包(smp)的控制數(shù)據(jù)包。通過使用smp,sm能夠發(fā)現(xiàn)架構(gòu)、配置端節(jié)點和交換機,以及接收來自sma的通知。sm還可以執(zhí)行對子網(wǎng)的周期性輕掃描,以檢測任何拓?fù)渥兓⑾鄳?yīng)地重新配置網(wǎng)絡(luò)。

根據(jù)實施例,ib網(wǎng)絡(luò)中的子網(wǎng)內(nèi)路由可以基于存儲在交換機中的lft。lft由sm根據(jù)使用中的路由機制計算。在子網(wǎng)中,所有交換機以及端節(jié)點上的所有hca端口都使用本地標(biāo)識符(lid)來尋址。lft中的每個條目由目的地lid(dlid)和輸出端口組成。支持表中每個lid僅一個條目。當(dāng)數(shù)據(jù)包到達交換機時,它的輸出端口是通過在該交換機的轉(zhuǎn)發(fā)表中查找dlid來確定的。路由是確定性的,因為數(shù)據(jù)包在給定的源-目的地對(lid對)之間采用網(wǎng)絡(luò)中的相同的路徑。

根據(jù)實施例,分區(qū)是由ib支持的、用于提供共享網(wǎng)絡(luò)架構(gòu)的系統(tǒng)的邏輯組的隔離的安全機制。架構(gòu)中的節(jié)點上的每個hca端口可以是一個或多個分區(qū)的成員。分區(qū)成員資格由集中式分區(qū)管理器管理,該集中式分區(qū)管理器可以是sm的一部分。sm可以將關(guān)于每個端口的分區(qū)成員資格信息配置為16位分區(qū)鍵(p鍵)的表。sm還可以利用包含與lid關(guān)聯(lián)的p鍵信息的分區(qū)實施表來配置交換機和路由器。

根據(jù)實施例,對于節(jié)點之間的通信,除了管理隊列對(qp0和qp1)之外,可以將隊列對(qp)和端到端上下文(eec)指派給特定分區(qū)。然后可以將p鍵信息添加到所發(fā)送的每個ib傳送數(shù)據(jù)包。當(dāng)數(shù)據(jù)包到達hca端口或交換機時,可以對照由sm配置的表驗證該數(shù)據(jù)包的p鍵值。如果找到無效的p鍵值,則立即丟棄數(shù)據(jù)包。以這種方式,僅在共享分區(qū)的端口之間允許通信。

圖1中示出了ib分區(qū)的示例,圖1示出了根據(jù)實施例的多租戶集群環(huán)境的圖示。在圖1中所示的示例中,節(jié)點a-e即101-105使用infiniband架構(gòu)100經(jīng)由相應(yīng)的主機信道適配器111-115進行通信。節(jié)點a-e被布置成分區(qū),即分區(qū)1110、分區(qū)2120和分區(qū)3130。分區(qū)1包括節(jié)點a101和節(jié)點d104。分區(qū)2包括節(jié)點a101、節(jié)點b102和節(jié)點c103。分區(qū)3包括節(jié)點c103和節(jié)點e105。由于分區(qū)的布置,節(jié)點d104和節(jié)點e105不允許通信,因為這些節(jié)點不共享分區(qū)。同時,例如,節(jié)點a101和節(jié)點c103被允許通信,因為這些節(jié)點兩者都是分區(qū)2120的一部分。

根據(jù)實施例,ib是分層體系結(jié)構(gòu),其中可以使用vl將每個物理鏈路劃分成多個虛擬鏈路。每個vl可以具有自己的緩沖、流量控制和擁塞管理資源??梢酝ㄟ^一組差異化的流量類別(sl)來提供qos。sl表示數(shù)據(jù)包可以在網(wǎng)絡(luò)中接收的服務(wù)的類別。每個sl基于所配置的sl到vl映射表而映射到鏈路上的vl。ib支持最多達16個vl。然而,最后一個vl是為子網(wǎng)管理流量保留的并且一般不被用戶應(yīng)用使用。

胖樹(ftree)拓?fù)浜吐酚?/u>

根據(jù)實施例,基于ib的hpc系統(tǒng)中的一些采用胖樹拓?fù)湟岳门謽涮峁┑挠杏脤傩?。這些屬性包括由于每個源-目的地對之間的多個路徑的可用性而產(chǎn)生的固有的容錯和完全的二分帶寬。胖樹背后的最初想法是,當(dāng)樹朝向拓?fù)涞母苿訒r,在節(jié)點之間采用具有更多的可用帶寬的較胖的鏈路。較胖的鏈路可以幫助避免上層交換機中的擁塞并且二分帶寬被維持。

圖2示出了其中可以實踐本公開的實施例的網(wǎng)絡(luò)環(huán)境中的樹形拓?fù)涞膱D示。如圖2中所示,在網(wǎng)絡(luò)架構(gòu)200中可以連接一個或多個端節(jié)點201-204。網(wǎng)絡(luò)架構(gòu)200可以基于胖樹拓?fù)?,該胖樹拓?fù)浒ǘ鄠€葉子交換機211-214以及多個脊交換機或根交換機231-234。此外,網(wǎng)絡(luò)架構(gòu)200可以包括一個或多個中間交換機,諸如交換機221-224。

還如圖2中所示,端節(jié)點201-204中的每一個可以是多宿主節(jié)點,即,通過多個端口連接到網(wǎng)絡(luò)架構(gòu)200的兩個或更多個部分的單個節(jié)點。例如,節(jié)點201可以包括端口h1和h2,節(jié)點202可以包括端口h3和h4,節(jié)點203可以包括端口h5和h6,并且節(jié)點204可以包括端口h7和h8。

此外,每個交換機可以具有多個交換機端口。例如,根交換機231可以具有交換機端口1-2,根交換機232可以具有交換機端口3-4,根交換機233可以具有交換機端口5-6,并且根交換機234可以具有交換機端口7-8。

根據(jù)實施例,胖樹路由機制是用于基于ib的胖樹拓?fù)涞淖盍餍械穆酚伤惴ㄖ?。胖樹路由機制也在ofed(開放架構(gòu)企業(yè)分發(fā)——用于構(gòu)建和部署基于ib的應(yīng)用的標(biāo)準(zhǔn)軟件堆棧)子網(wǎng)管理器opensm中實現(xiàn)。

胖樹路由機制的目的在于生成跨網(wǎng)絡(luò)架構(gòu)中的鏈路均勻散布最短路徑路由的lft。該機制按索引次序遍歷架構(gòu)并將端節(jié)點的目標(biāo)lid(以及因此對應(yīng)的路由)指派給每個交換機端口。對于連接到相同葉子交換機的端節(jié)點,索引次序可以取決于端節(jié)點所連接到的交換機端口(即,端口編號順序)。對于每個端口,該機制可以維護端口使用計數(shù)器,并且可以在每次添加新路由時使用這個端口使用計數(shù)器來選擇最少使用的端口。

如上面所提到的,在分區(qū)的子網(wǎng)中,不允許不是共同分區(qū)的成員的節(jié)點進行通信。在實踐中,這意味著由胖樹路由算法指派的路由中的一些不用于用戶流量。當(dāng)胖樹路由機制以與該胖樹路由機制針對其它起作用的路徑相同的方式為這些路由生成lft時,會出現(xiàn)問題。這種行為會導(dǎo)致鏈路上的變差的平衡,因為節(jié)點是以索引的次序路由的。由于路由是在不注意(oblivious)分區(qū)的情況下進行的,所以胖樹路由的子網(wǎng)一般在分區(qū)間提供不佳的隔離。

圖3示出了其中可以實踐本公開的實施例的多租戶集群環(huán)境中的路由的圖示。更具體而言,圖3詳細(xì)說明了變差的負(fù)載平衡和不佳的隔離的問題。

圖3示出了在三個重疊分區(qū)中具有四個交換機(根交換機325-326和葉子交換機320-321)以及六個端節(jié)點(節(jié)點a-f,301-306)的二級胖樹拓?fù)?。分區(qū)1包括節(jié)點b302和節(jié)點c303。分區(qū)2包括節(jié)點a301、節(jié)點c303、節(jié)點d304和節(jié)點f306。最后,分區(qū)3包括節(jié)點d304和節(jié)點e305。

根據(jù)實施例,分區(qū)1和分區(qū)3分別被完全限制在葉子交換機320和321(即,單葉子交換機分區(qū))內(nèi)。因此,分區(qū)1和分區(qū)3中的節(jié)點之間的通信通過它們對應(yīng)的葉子交換機進行,而不會將流量移動到根交換機325或326。當(dāng)這個拓?fù)渫ㄟ^胖樹路由機制路由時,朝向連接到葉子交換機320和葉子交換機321的節(jié)點的路由被指派根交換機,因此葉子交換機間(inter-leafswitch)的流可以到達它們的目的地。為了負(fù)載平衡,朝向a和c的路由被指派根交換機325(在圖上示為鏈路p),而根交換機326路由朝向節(jié)點b的流量(在圖上示為鏈路q)。類似地,對于葉子交換機321,朝向葉子交換機間的分區(qū)2中的節(jié)點d和節(jié)點f的流量經(jīng)由根交換機325被路由(在圖上示為鏈路r),并且朝向節(jié)點e的流量經(jīng)由根交換機326被路由(在圖上示為鏈路s)。

根據(jù)實施例,根交換機上的端端口(endport)選擇被示為圖中具有節(jié)點標(biāo)識符的小圓圈。由于路由是(使用胖樹路由機制)在不考慮分區(qū)信息的情況下進行的,所以子網(wǎng)中的路徑不是恰當(dāng)?shù)仄胶獾?。鏈路p和鏈路r被超額訂閱,而永遠沒有葉子交換機內(nèi)(intra-leafswitch)的流會使用鏈路q或鏈路s。所指派的朝向節(jié)點b和節(jié)點e的路由不被利用(除了相對較低的管理流量),因為這兩個節(jié)點由于它們的分區(qū)而都不能從其葉子交換機外部接收任何通信。當(dāng)分區(qū)的通信僅限于拓?fù)渲械囊恍蛹墪r,這種平衡問題也會在胖樹中發(fā)生。

現(xiàn)在參考圖4,圖4示出了其中可以實踐本公開的實施例的多租戶集群環(huán)境中的路由的圖示。更具體而言,圖4詳細(xì)說明了與胖樹中不佳的隔離關(guān)聯(lián)的問題。

圖4示出了具有四個交換機(根交換機425-426和葉子交換機420-421)以及八個端節(jié)點(節(jié)點a-g,401-408)的二級胖樹拓?fù)?。同樣,端?jié)點被劃分成兩個分區(qū)。分區(qū)1包括節(jié)點a401、節(jié)點b402、節(jié)點g407和節(jié)點h408。分區(qū)2包括節(jié)點c403、節(jié)點d404、節(jié)點e405和節(jié)點f406。

這些分區(qū)中的每一個具有連接到兩個葉子交換機中的每一個的兩個節(jié)點。如圖所示,胖樹路由機制指派根交換機425和根交換機426上的向下端口。由于胖樹路由機制的本質(zhì),每個根交換機路由朝向?qū)儆趦蓚€分區(qū)的節(jié)點的流量,這提供了不佳的隔離,這在分區(qū)環(huán)境中是不期望的。例如,朝向節(jié)點a和節(jié)點c的流量在共享鏈路p上被路由。不同分區(qū)的節(jié)點之間的對中間鏈路的共享會造成它們之間的干擾。盡管網(wǎng)絡(luò)在根層級處具有足夠的資源以在提供分區(qū)之間的完全隔離,但是胖樹路由機制不提供所期望的隔離。

分區(qū)感知的胖樹(pftree)路由

根據(jù)實施例,分區(qū)感知的胖樹路由機制(在本文不同地稱為pftree)可以實現(xiàn)與ib網(wǎng)絡(luò)中的多租賃關(guān)聯(lián)的期望目標(biāo)。例如,pftree機制可以通過跨樹中的鏈路均勻分布路由來為胖樹拓?fù)涮峁┝己闷胶獾木€性轉(zhuǎn)發(fā)表。此外,在維持鏈路上的路由平衡的同時,pftree可以去除屬于不同分區(qū)的路徑之間的爭用。

根據(jù)實施例,pftree機制可以使用關(guān)于子網(wǎng)的分區(qū)信息來確保分區(qū)中的節(jié)點接收不受其它分區(qū)中運行的工作負(fù)載影響的可預(yù)測的網(wǎng)絡(luò)性能。在拓?fù)錄]有足夠鏈路可用于在每個層級處提供分區(qū)隔離(而不損害負(fù)載平衡)的情景中,pftree可以指派vl以減少爭用的影響。

根據(jù)實施例,pftree機制可以遞歸地工作,以便為與每個端節(jié)點關(guān)聯(lián)的lid在所有相關(guān)的交換機上設(shè)置lft。這在下面的偽代碼(本文中稱為清單1)中示出:

根據(jù)實施例,routedowngoingbyascending()在下面的偽代碼(本文中稱為清單2)中例示:

根據(jù)實施例,routeupgoingbydescending()在下面的偽代碼(本文中稱為清單3)中例示:

根據(jù)實施例,assignvirtuallanes()在下面的偽代碼(在本文中不同地被稱為清單4)中例示:

根據(jù)實施例,在濾除單葉子交換機分區(qū)(即,可以完全在單個葉子交換機內(nèi)通信的那些分區(qū))之后,對于每個葉子交換機,該機制可以按特定于分區(qū)的次序?qū)B接的端節(jié)點進行分類(上面清單1的行4)(例如,經(jīng)由具有唯一分區(qū)次序號的每個分區(qū))。這種排序可以輔助確保在考慮在葉子交換機處的上行端口的可用數(shù)量的情況下根據(jù)節(jié)點的分區(qū)對節(jié)點進行路由。然后,pftree機制可以調(diào)用諸如routedowngoingbyascending(上面清單1的行9)的函數(shù),并在樹中向上移動,以選擇下一層級處的路由lid的端口,如清單2中所示。

根據(jù)實施例,端口選擇是基于最少數(shù)量的已經(jīng)指派的路由。這可以幫助確保負(fù)載跨可用的路徑散布。然而,當(dāng)具有相同負(fù)載的若干端口可用時,該函數(shù)可以遍歷這些最少負(fù)載的端口,并且選擇連接到已經(jīng)被正被路由的節(jié)點的分區(qū)鍵標(biāo)記的交換機的端口(清單2的行3-行9)。如果沒有交換機被標(biāo)記(這可以指示這個分區(qū)的第一個節(jié)點正被路由),則系統(tǒng)可以默認(rèn)選擇具有最大全局唯一標(biāo)識符(guid)的端口(清單2的行2)。當(dāng)交換機被第一次選擇用于分區(qū)時,用分區(qū)鍵在向下方向上標(biāo)記該交換機(清單2的行11)。

根據(jù)實施例,在為lid設(shè)置交換機處的下行端口之后,該機制可以通過下降樹調(diào)用來在所有連接的向下交換機上為它指派向上端口(清單3的routeupgoingbydescending)。同樣,上行端口的選擇可以首先基于負(fù)載準(zhǔn)則,并且然后基于在向上方向上遠程交換機的分區(qū)標(biāo)記。然后,可以通過向上移動到樹中的下一層級來重復(fù)該過程,直到所有l(wèi)ft都被設(shè)置。注意到,可以使用多個分區(qū)鍵標(biāo)記交換機。pftree機制可以為每個交換機維護表,從而為每個分區(qū)存儲所路由的節(jié)點的計數(shù)。如果具有標(biāo)記的分區(qū)的若干交換機可用于路由節(jié)點,則該計數(shù)器可以被用于決定端口的選擇。可以選擇具有分區(qū)的最大數(shù)量的已經(jīng)路由的節(jié)點的交換機。

根據(jù)實施例,一旦生成了路由表,保持分區(qū)隔離準(zhǔn)則,該機制就可以繼續(xù)以檢查鏈路中的一些是否正被用于朝向不同分區(qū)中的節(jié)點的流。對于這些情況,該機制可以將vl指派給干擾分區(qū)以提供隔離。清單4中示出了vl指派機制的示例。

根據(jù)實施例,vl指派機制可以遍歷分區(qū)并檢查由分區(qū)中的節(jié)點使用的任何中間通信鏈路是否與尚未被指派單獨vl的另一個分區(qū)共享中間鏈路。如果遇到這種情景,則可以指派新的vl。pftree路由機制可以支持用于vl選擇的兩種模式:嚴(yán)格模式和正常模式。

根據(jù)實施例,在嚴(yán)格模式中,如果用于pftree路由的所需的vl的數(shù)量超過系統(tǒng)中的可用vl,則路由會失敗(清單4的行10)。

根據(jù)實施例,在正常模式中,算法可以從vl1起重新開始將vl指派給分區(qū)(清單4的行8)。

根據(jù)實施例,提供了用于基于ib的胖樹網(wǎng)絡(luò)(不同地稱為pftree)的高效的分區(qū)感知路由機制。pftree機制可以為胖樹拓?fù)涮峁┓謪^(qū)的網(wǎng)絡(luò)范圍的隔離。此外,pftree為交換機產(chǎn)生良好平衡的lft。給定足夠的網(wǎng)絡(luò)資源,pftree可以僅在物理鏈路層級處對分區(qū)進行隔離。例如,如果胖樹具有兩個不重疊的相等大小的分區(qū),則pftree可以基于路由本身將中間網(wǎng)絡(luò)鏈路劃分成兩個相等大小的邏輯子網(wǎng)絡(luò)。此外,如果網(wǎng)絡(luò)沒有足夠的可用資源來提供完全的分區(qū)隔離,則pftree可以采用與物理隔離相結(jié)合而起作用的補充的基于vl的隔離方案。

根據(jù)實施例,pftree路由機制的目的在于實現(xiàn)兩個主要目標(biāo)。首先,通過跨樹中的鏈路均勻地分布路由,該機制可以為胖樹拓?fù)渖闪己闷胶獾膌ft。其次,在維護鏈路上的路由平衡的同時,pftree去除屬于不同分區(qū)的路徑之間的爭用。pftree可以使用關(guān)于子網(wǎng)的分區(qū)信息,并確保分區(qū)中的節(jié)點接收可預(yù)測的網(wǎng)絡(luò)性能而不受其它分區(qū)中運行的工作負(fù)載的影響。如果拓?fù)錄]有足夠的鏈路可用于在每個層級處提供分區(qū)隔離(而不損害負(fù)載平衡),則pftree可以使用vl來減少爭用的影響。

根據(jù)實施例,pftree機制可以遞歸地工作,以為與每個端節(jié)點關(guān)聯(lián)的lid在所有相關(guān)的交換機上設(shè)置lft。在濾除單葉子交換機分區(qū)之后,對于每個葉子交換機,該機制可以按特定于分區(qū)的次序?qū)B接的端節(jié)點進行排序。這種排序確保在考慮在葉子交換機處的上行端口的可用數(shù)量的情況下根據(jù)節(jié)點的分區(qū)對節(jié)點進行路由。在每個層級處的端口選擇可以基于最少數(shù)量的已經(jīng)指派的路由,以確保負(fù)載跨可用路徑散布。然而,當(dāng)具有相同負(fù)載的若干端口可用時,該函數(shù)遍歷這些最少負(fù)載的端口,并選擇連接到已經(jīng)用正在被路由的節(jié)點的分區(qū)鍵標(biāo)記的交換機的端口。如果沒有交換機被標(biāo)記(即,路由特定分區(qū)的第一個節(jié)點),則pftree可以落到具有最大全局唯一標(biāo)識符(guid)的端口的默認(rèn)選擇。當(dāng)交換機被第一次選擇用于分區(qū)時,可以使用分區(qū)鍵來標(biāo)記該交換機。以這種方式,該機制可以幫助確保給定足夠的可用于平衡的路徑,屬于一個分區(qū)的節(jié)點將路由通過相同的交換機和對應(yīng)的鏈路。一旦生成了路由表,保持分區(qū)隔離準(zhǔn)則,該機制就可以繼續(xù)以檢查鏈路中的一些是否正用于朝向不同分區(qū)中的節(jié)點的流。對于那些情況,該機制可以將vl指派給干擾分區(qū)以提供隔離。

現(xiàn)在參考圖5-圖8,這些圖是根據(jù)實施例的支持多租戶集群環(huán)境中的分區(qū)感知路由的圖示。

根據(jù)實施例,在圖5-圖8中通過超額訂閱的胖樹網(wǎng)絡(luò)的簡單部分示出pftree路由中的端口選擇機制。

現(xiàn)在參考圖5,圖5示出了具有四個交換機(根交換機525-526和葉子交換機520-521)以及八個端節(jié)點(節(jié)點a-g,501-508)的二級胖樹拓?fù)?。同樣,端?jié)點被劃分成兩個分區(qū)。分區(qū)1包括節(jié)點a401、節(jié)點d504、節(jié)點g507和節(jié)點h508。分區(qū)2包括節(jié)點b502、節(jié)點c503、節(jié)點e505和節(jié)點f506。

根據(jù)實施例,如圖5中所示,示例部分由兩個葉子交換機(520和521)組成,每個葉子交換機分別連接到四個端節(jié)點和在葉子交換機上方的下一層級處的兩個交換機,即根交換機(525和526)。圖中還指示了down和max變量,它們分別表示在向下方向上指派的路由的數(shù)量以及為了確保每個鏈路上的恰當(dāng)平衡而可以被路由的節(jié)點的最大數(shù)量。

根據(jù)實施例,給定在每個葉子交換機處存在兩個上行端口,其中要路由四個端節(jié)點,上行鏈路中的每一個應(yīng)當(dāng)向下路由兩個端節(jié)點,以確保鏈路是平衡的(即,max=2)。

根據(jù)實施例,對于葉子交換機520,前兩個節(jié)點(節(jié)點a和節(jié)點b)的路由在圖6中示出。路由機制可以選擇根交換機525來路由朝向節(jié)點a的流量,并且使用節(jié)點a的分區(qū)鍵標(biāo)記該交換機,在圖中被示為“(分區(qū)1)”。類似地,對于節(jié)點b,可以選擇根交換機526并且用節(jié)點b的分區(qū)鍵標(biāo)記根交換機526,在圖中被示為“(分區(qū)2)”。變量down也被更新,以對兩個向下鏈路中的每一個上的單個被路由的節(jié)點進行計數(shù)。

根據(jù)實施例,對于節(jié)點c和節(jié)點d,可以選擇已經(jīng)用對應(yīng)的分區(qū)鍵標(biāo)記的交換機,如圖7中給出的。得出的路由通過經(jīng)過根交換機525的相同鏈路流向?qū)儆诘谝环謪^(qū)的節(jié)點(即,節(jié)點a和d)。類似地,可以經(jīng)過根交換機526向下路由第二分區(qū)的節(jié)點(即,節(jié)點b和節(jié)點c)。路由的這種分離避免兩個分區(qū)的流量流之間的干擾。注意到,在每個鏈路上向下路由的節(jié)點的數(shù)量不超過max變量,這意味著路由仍然是平衡的。

最后,根據(jù)實施例,圖8示出了用于連接到葉子交換機521的端節(jié)點的路由。而且在這里,由于第二層級的交換機已經(jīng)根據(jù)第一葉子交換機路由用分區(qū)鍵進行標(biāo)記,因此對應(yīng)的交換機可以被選擇以路由每個節(jié)點(即,節(jié)點e、f、g和g)。如圖中所示,最終的路由可以通過基于路由將中間網(wǎng)絡(luò)鏈路劃分成兩個相等大小的邏輯子網(wǎng)絡(luò)來隔離兩個分區(qū)。

圖9示出了根據(jù)實施例的用于支持多租戶集群環(huán)境中的分區(qū)感知路由的方法的圖示。示例性方法900可以在支持多租戶集群環(huán)境中的一個或多個租戶的步驟901處開始。在步驟902處,示例性方法可以將一個或多個租戶中的每個租戶與多個分區(qū)的一分區(qū)關(guān)聯(lián)。在步驟903處,該方法可以將多個分區(qū)中的每個分區(qū)與多個節(jié)點中的一個或多個節(jié)點關(guān)聯(lián),這多個節(jié)點中的每個節(jié)點與多個交換機中的一葉子交換機關(guān)聯(lián),這多個交換機包括多個葉子交換機和在其它層級處的多個交換機。最后,在步驟904處,該方法可以生成一個或多個線性轉(zhuǎn)發(fā)表,這一個或多個線性轉(zhuǎn)發(fā)表提供這多個分區(qū)之間的隔離,其中這多個節(jié)點中的每個節(jié)點與一分區(qū)次序關(guān)聯(lián)。

本發(fā)明的許多特征可以在硬件、軟件、固件或其組合中執(zhí)行,利用硬件、軟件、固件或其組合執(zhí)行,或者在硬件、軟件、固件或其組合的輔助下執(zhí)行。因此,本發(fā)明的特征可以利用(例如,包括一個或多個處理器的)處理系統(tǒng)來實現(xiàn)。

本發(fā)明的特征可以在計算機程序產(chǎn)品中實現(xiàn),利用計算機程序產(chǎn)品實現(xiàn),或者在計算機程序產(chǎn)品的輔助下實現(xiàn),其中計算機程序產(chǎn)品是其上/其中存儲有可用來編程處理系統(tǒng)以執(zhí)行本文所呈現(xiàn)的任何特征的指令的存儲介質(zhì)或計算機可讀介質(zhì)。存儲介質(zhì)可以包括但不限于任何類型的盤(包括軟盤、光盤、dvd、cd-rom、微驅(qū)動器、以及磁光盤)、rom、ram、eprom、eeprom、dram、vram、閃存存儲器設(shè)備、磁卡或光卡、納米系統(tǒng)(包括分子存儲器ic)、或適于存儲指令和/或數(shù)據(jù)的任何類型的媒介或設(shè)備。

存儲在任何一種(一個或多個)機器可讀介質(zhì)中,本發(fā)明的特征可以被結(jié)合到軟件和/或固件中,以用于控制處理系統(tǒng)的硬件,并且用于使處理系統(tǒng)能夠利用本發(fā)明的結(jié)果與其它機制交互。這種軟件或固件可以包括但不限于應(yīng)用代碼、設(shè)備驅(qū)動程序、操作系統(tǒng)和執(zhí)行環(huán)境/容器。

本發(fā)明的特征也可以利用例如諸如專用集成電路(asic)的硬件部件在硬件中實現(xiàn)。實現(xiàn)硬件狀態(tài)機以便執(zhí)行本文所描述的功能對相關(guān)領(lǐng)域的技術(shù)人員將是顯然的。

此外,本發(fā)明可以方便地利用一個或多個常規(guī)的通用或?qū)S脭?shù)字計算機、計算設(shè)備、機器或微處理器來實現(xiàn),這些數(shù)字計算機、計算設(shè)備、機器或微處理器包括一個或多個處理器、存儲器和/或根據(jù)本公開的教導(dǎo)編程的計算機可讀存儲介質(zhì)。如對軟件領(lǐng)域的技術(shù)人員將清楚的,適當(dāng)?shù)能浖幋a可以容易地由熟練的程序員基于本公開的教導(dǎo)來準(zhǔn)備。

雖然以上已經(jīng)描述了本發(fā)明的各種實施例,但是應(yīng)該理解,它們已通過示例而不是限制給出。對相關(guān)領(lǐng)域的技術(shù)人員將清楚的是,在不背離本發(fā)明的精神和范圍的情況下,其中可以做出各種形式和細(xì)節(jié)上的變化。

本發(fā)明已經(jīng)借助說明指定功能及其關(guān)系的執(zhí)行的功能構(gòu)建塊進行了描述。這些功能構(gòu)建塊的邊界在本文中通常是為了方便描述而任意定義的??梢远x可替代的邊界,只要指定的功能及其關(guān)系被適當(dāng)?shù)貓?zhí)行。任何這種可替代的邊界因此在本發(fā)明的范圍和精神之內(nèi)。

本發(fā)明的以上描述是為了說明和描述的目的而提供的。它不旨在是窮盡的或者要把本發(fā)明限定到所公開的精確形式。本發(fā)明的廣度和范圍不應(yīng)該由任何上述示例性實施例來限制。許多修改和變化對本領(lǐng)域技術(shù)人員來說將是清楚的。修改和變化包括所公開特征的任何相關(guān)組合。實施例的選擇與描述是為了最好地解釋本發(fā)明的原理及其實踐應(yīng)用,從而使本領(lǐng)域其他技術(shù)人員能夠理解用于各種實施例的本發(fā)明以及具有適于預(yù)期特定用途的各種修改的本發(fā)明。本發(fā)明的范圍旨在由以下權(quán)利要求及其等價物來定義。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
鹰潭市| 射洪县| 海林市| 满洲里市| 邛崃市| 阳信县| 银川市| 化州市| 佳木斯市| 高雄市| 电白县| 南木林县| 苍南县| 定西市| 丰都县| 阳谷县| 玉门市| 桂阳县| 兰州市| 集安市| 延津县| 洛隆县| 霍邱县| 花垣县| 凯里市| 兰西县| 太康县| 长乐市| 雅江县| 宕昌县| 江油市| 会理县| 那曲县| 泸西县| 澄江县| 沿河| 浪卡子县| 明光市| 绥芬河市| 琼结县| 会同县|