用于物理端口之間的無(wú)阻塞行為的虛擬端口映射的制作方法
【專利摘要】公開的實(shí)施例提供了操作交換機(jī)構(gòu)件的系統(tǒng)。在操作期間,該系統(tǒng)在交換機(jī)構(gòu)件中為第一組物理端口創(chuàng)建一組虛擬鏈路。接下來(lái),該系統(tǒng)使用一組虛擬端口號(hào)來(lái)在交換機(jī)構(gòu)件中創(chuàng)建該組虛擬鏈路和第二組物理端口之間的映射,其中第二組物理端口使用單個(gè)物理鏈路被連接到第一組物理端口。然后該系統(tǒng)使用該映射以在從第一組物理端口到第二組物理端口的業(yè)務(wù)中提供無(wú)阻塞行為。
【專利說(shuō)明】
用于物理端口之間的無(wú)阻塞行為的虛擬端口映射
技術(shù)領(lǐng)域
[0001]公開的實(shí)施例涉及交換機(jī)構(gòu)件。更具體地,公開的實(shí)施例涉及用于執(zhí)行虛擬端口映射以在交換機(jī)構(gòu)件中的物理端口之間提供無(wú)阻塞行為的技術(shù)。
【背景技術(shù)】
[0002]交換機(jī)構(gòu)件可被用于在數(shù)據(jù)中心的服務(wù)器之間路由業(yè)務(wù)。例如,InfiniBand(Inf iniBand?是Inf iniBand貿(mào)易協(xié)會(huì)公司的注冊(cè)商標(biāo))交換機(jī)構(gòu)件可以在數(shù)據(jù)中心中使用點(diǎn)到點(diǎn)、雙向串行鏈路連接處理器和存儲(chǔ)節(jié)點(diǎn)。Inf in iBand交換機(jī)構(gòu)件還可以向節(jié)點(diǎn)提供服務(wù)質(zhì)量(QoS)和可靠性、可用性和可服務(wù)性(RAS)。
[0003]另外,連接到交換機(jī)構(gòu)件的網(wǎng)關(guān)可以提高數(shù)據(jù)中心效率和/或網(wǎng)絡(luò)合并。例如,在數(shù)據(jù)中心中以太網(wǎng)網(wǎng)關(guān)可以被添加到InfiniBand交換機(jī)構(gòu)件以允許數(shù)據(jù)中心中的服務(wù)器使用單個(gè)物理適配器和線纜連接到以太局域網(wǎng)(LAN)。因此,在數(shù)據(jù)中心中與虛擬機(jī)相關(guān)的業(yè)務(wù)流可以包括高吞吐量、低延遲的Inf iniBand業(yè)務(wù)與Inf iniBand通信介質(zhì)上承載的高吞吐量的以太網(wǎng)業(yè)務(wù)的混合。
[0004]然而,連接到交換機(jī)構(gòu)件的網(wǎng)關(guān)可以包括一組物理端口,這組物理端口使用單個(gè)物理鏈路被連接到在交換機(jī)構(gòu)件中的另一組物理端口。例如,在InfiniBand交換機(jī)構(gòu)件中的以太網(wǎng)網(wǎng)關(guān)可以作為連接到交換機(jī)端口的目標(biāo)信道適配器(TCA)出現(xiàn),致使網(wǎng)關(guān)上的所有以太網(wǎng)端口共享單個(gè)InfiniBand鏈路。從軟件的角度出發(fā),TCA可以與一個(gè)面向交換機(jī)機(jī)的上行鏈路端口以及一個(gè)或多個(gè)面向以太網(wǎng)構(gòu)件的下行鏈路端口一起出現(xiàn)。因?yàn)閱蝹€(gè)物理鏈路可以饋入多個(gè)下行鏈路端口,所以下行鏈路端口可能表現(xiàn)出隊(duì)頭阻塞。這種阻塞行為可能由以多個(gè)網(wǎng)關(guān)端口為目標(biāo)的突發(fā)的業(yè)務(wù)模式和/或在個(gè)別網(wǎng)關(guān)端口的延遲導(dǎo)致。因此,網(wǎng)關(guān)的整體速率可能被限制為任何獨(dú)立網(wǎng)關(guān)端口的最慢的速率。
[0005]為了緩解這種阻塞行為,只有一個(gè)網(wǎng)關(guān)端口可以連接到交換機(jī)構(gòu)件中的每個(gè)物理鏈路。然而,這樣的解決方案可能非常昂貴并且難以擴(kuò)展。因此,用于高效地解決網(wǎng)關(guān)中多個(gè)物理端口之間的阻塞行為的機(jī)制有利于以單個(gè)物理鏈路被連接到交換機(jī)構(gòu)件的網(wǎng)關(guān)的使用。
【發(fā)明內(nèi)容】
[0006]公開的實(shí)施例提供了一種操作交換機(jī)構(gòu)件的系統(tǒng)。在操作期間,系統(tǒng)在交換機(jī)構(gòu)件中為第一組物理端口創(chuàng)建一組虛擬鏈路。接下來(lái),系統(tǒng)使用一組虛擬端口號(hào)在交換機(jī)構(gòu)件中創(chuàng)建該組虛擬鏈路和第二組物理端口之間的一組映射,其中第二組物理端口使用單個(gè)物理鏈路被連接到第一組物理端口上。然后系統(tǒng)使用該映射在從第一組物理端口到第二組物理端口的業(yè)務(wù)中提供無(wú)阻塞行為。
[0007]在一些實(shí)施例中,使用一組虛擬端口號(hào)在交換機(jī)構(gòu)件中創(chuàng)建一組虛擬鏈路和第二組物理端口之間的一組映射包括:
[0008](i)創(chuàng)建從與在第二組物理端口中的一個(gè)或多個(gè)端口相關(guān)聯(lián)的唯一目的地標(biāo)識(shí)符到虛擬端口號(hào)的第一映射;
[0009](ii)創(chuàng)建從與數(shù)據(jù)包相關(guān)聯(lián)的服務(wù)等級(jí)到來(lái)自這組虛擬鏈路的虛擬鏈路的第二映射;以及
[0010](iii)將虛擬端口號(hào)和虛擬鏈路與來(lái)自第二組物理端口的物理端口的虛擬輸出隊(duì)列(VOQ)相關(guān)聯(lián)。
[0011]在一些實(shí)施例中,使用映射在從第一組物理端口到第二組物理端口的業(yè)務(wù)中提供無(wú)阻塞行為包括使用第一映射和第二映射以將包含唯一目的地標(biāo)識(shí)符和服務(wù)等級(jí)的數(shù)據(jù)包放置在VOQ中,并且基于用于物理端口的輸出緩存的充滿度從VOQ中移除數(shù)據(jù)包。
[0012]在一些實(shí)施例中,從VOQ中移除數(shù)據(jù)包還基于與VOQ相關(guān)聯(lián)的服務(wù)質(zhì)量(QoS)等級(jí)。
[0013]在一些實(shí)施例中,QoS等級(jí)與服務(wù)等級(jí)和虛擬端口號(hào)中的至少一個(gè)相關(guān)聯(lián)。
[0014]在一些實(shí)施例中,第二組物理端口中的每個(gè)物理端口與虛擬鏈路中的一個(gè)或多個(gè)虛擬鏈路相關(guān)聯(lián)。
[0015]在一些實(shí)施例中,交換機(jī)構(gòu)件包括InfiniBand交換機(jī)構(gòu)件和以太網(wǎng)網(wǎng)關(guān)。
[0016]在一些實(shí)施例中,第一組物理端口包括Inf iniBand端口,第二組物理端口包括以太網(wǎng)端口。
【附圖說(shuō)明】
[0017]圖1示出了根據(jù)公開的實(shí)施例的交換機(jī)構(gòu)件。
[0018]圖2示出了根據(jù)公開的實(shí)施例的數(shù)據(jù)包從第一組物理端口中的第一物理端口到第二組物理端口中的第二物理端口的路由,其中第二組物理端口通過(guò)單個(gè)物理鏈路連接到第一組物理端口。
[0019]圖3是示出了根據(jù)公開的實(shí)施例的數(shù)據(jù)的處理的流程圖。
[0020]圖4示出了根據(jù)公開的實(shí)施例的計(jì)算機(jī)系統(tǒng)。
[0021]在附圖中,相同的標(biāo)號(hào)指代相同的圖中的元件。
【具體實(shí)施方式】
[0022]下面的描述被給出以使本領(lǐng)域任何技術(shù)人員能夠?qū)崿F(xiàn)和使用實(shí)施例,并且是在具體的應(yīng)用和它們的要求的背景下被提供的。所公開的實(shí)施例的各種變型,對(duì)于本領(lǐng)域技術(shù)人員是顯而易見的,并且在此定義的通用原理可以被應(yīng)用于其他實(shí)施例和應(yīng)用,而不脫離本發(fā)明的精神和范圍。因此,本發(fā)明不限定于示出的實(shí)施例,而是與符合此處公開的原理和特征的最寬范圍相一致。
[0023]在【具體實(shí)施方式】中描述的數(shù)據(jù)結(jié)構(gòu)和代碼通常存儲(chǔ)在計(jì)算機(jī)可讀的存儲(chǔ)介質(zhì)中,該介質(zhì)可以是能夠存儲(chǔ)被計(jì)算機(jī)系統(tǒng)使用的代碼和/或數(shù)據(jù)的任意設(shè)備或介質(zhì)。計(jì)算機(jī)可讀的存儲(chǔ)介質(zhì)包括但不限于易失性存儲(chǔ)器、非易失性存儲(chǔ)器、諸如硬盤、磁帶、CD(光盤)、DVD(數(shù)字通用盤或數(shù)字視頻盤)的磁和光存儲(chǔ)設(shè)備或者其他能夠存儲(chǔ)代碼和/或數(shù)據(jù)的現(xiàn)在已知的或以后開發(fā)的媒介。
[0024]在【具體實(shí)施方式】部分描述的方法和過(guò)程可以作為代碼和/或數(shù)據(jù)實(shí)施,這些代碼和/或數(shù)據(jù)能夠被存儲(chǔ)在上述計(jì)算機(jī)可讀的存儲(chǔ)介質(zhì)中。當(dāng)計(jì)算機(jī)系統(tǒng)讀取并執(zhí)行存儲(chǔ)在計(jì)算機(jī)可讀的存儲(chǔ)介質(zhì)中的代碼和/或數(shù)據(jù)時(shí),計(jì)算機(jī)系統(tǒng)執(zhí)行作為數(shù)據(jù)結(jié)構(gòu)和代碼實(shí)施并存儲(chǔ)在計(jì)算機(jī)可讀的存儲(chǔ)介質(zhì)內(nèi)的方法和過(guò)程。
[0025]另外,此處描述的方法和過(guò)程能夠被包括在硬件模塊或裝置中。這些模塊或裝置可以包括但不限于專用集成電路(ASIC)芯片、現(xiàn)場(chǎng)可編程門陣列(FPGA)、在特定時(shí)間執(zhí)行特定的軟件模塊或代碼段的專用的或共享的處理器和/或其他現(xiàn)在已知的或以后開發(fā)的可編程邏輯器件。當(dāng)硬件模塊或裝置被激活時(shí),它們執(zhí)行包括在它們內(nèi)部的方法和過(guò)程。
[0026]公開的實(shí)施例提供了一種用于操作交換機(jī)構(gòu)件的方法和系統(tǒng)。如圖1所示,交換機(jī)構(gòu)件122可以包括第一組物理端口(例如,物理端口 I 110、物理端口X 112)以及網(wǎng)關(guān)124,網(wǎng)關(guān)124包含使用單個(gè)物理鏈路116連接到第一組物理端口的第二組物理端口(例如,物理端口 118、物理端口 Y 120)。例如,交換機(jī)構(gòu)件122可以是在數(shù)據(jù)中心中連接多個(gè)服務(wù)器和/或虛擬機(jī)的Inf iniBand (Inf iniBand?是Inf iniBand貿(mào)易協(xié)會(huì)公司的注冊(cè)商標(biāo))交換機(jī)構(gòu)件,網(wǎng)關(guān)124可以是以太網(wǎng)網(wǎng)關(guān)。因?yàn)橐蕴W(wǎng)網(wǎng)關(guān)可以作為連接到Inf ini Band交換機(jī)構(gòu)件中的交換機(jī)端口的目標(biāo)信道適配器(TCA)出現(xiàn),所以在以太網(wǎng)網(wǎng)關(guān)中的以太網(wǎng)端口可以有效地共享單個(gè)InfiniBand鏈路。
[0027]本領(lǐng)域技術(shù)人員應(yīng)認(rèn)識(shí)到物理鏈路116可以導(dǎo)致在網(wǎng)關(guān)124中的物理端口體驗(yàn)隊(duì)頭阻塞。例如,去往網(wǎng)關(guān)124中的忙碌端口的較舊的數(shù)據(jù)包可以阻塞去往網(wǎng)關(guān)124中的其他端口的較新的數(shù)據(jù)包,即使其他端口并不忙碌。因此,網(wǎng)關(guān)124中所有端口可用的帶寬會(huì)受限于網(wǎng)關(guān)124中最慢的端口的帶寬。例如,網(wǎng)關(guān)124可以包括四個(gè)10吉比特以太網(wǎng)端口,它應(yīng)當(dāng)提供總共40吉比特的帶寬。然而,以太網(wǎng)端口之間的隊(duì)頭阻塞會(huì)將網(wǎng)關(guān)124的帶寬局限在單個(gè)10吉比特以太網(wǎng)端口的帶寬。
[0028]在一個(gè)或多個(gè)實(shí)施例中,交換機(jī)構(gòu)件122包括提供發(fā)往網(wǎng)關(guān)124中的端口的業(yè)務(wù)中的無(wú)阻塞行為的功能,而不需要改變服務(wù)器、虛擬機(jī)和/或其他從中接收業(yè)務(wù)的環(huán)境。為了實(shí)現(xiàn)這樣的無(wú)阻塞行為,交換機(jī)構(gòu)件122中的交換機(jī)裝置114可以為交換機(jī)構(gòu)件122中的物理端口創(chuàng)建一組虛擬鏈路(例如,虛擬鏈路I 102、虛擬鏈路M 104、虛擬鏈路I 106、虛擬鏈路N 108)。例如,交換機(jī)裝置114可以通過(guò)Inf iniBand交換機(jī)機(jī)上的硬件和/或固件被提供,而且一組虛擬鏈路可以通過(guò)交換機(jī)裝置114在InfiniBand交換機(jī)機(jī)上創(chuàng)建為一組InfiniBand虛擬通道(VL)。
[0029]交換機(jī)裝置114也可以使用一組虛擬端口號(hào)128創(chuàng)建在一組虛擬鏈路和網(wǎng)關(guān)124中的物理端口之間的一組映射126。例如,網(wǎng)關(guān)124中的每個(gè)物理端口可以由一個(gè)或多個(gè)虛擬端口號(hào)128表不,該虛擬端口號(hào)被映射到交換機(jī)構(gòu)件122中的一個(gè)或多個(gè)唯一目的地標(biāo)識(shí)符(例如,目的地地址)。因此,虛擬端口號(hào)可以是實(shí)現(xiàn)網(wǎng)關(guān)124上的各個(gè)物理端口的識(shí)別的抽象,即使由于物理鏈路116的緣故整個(gè)網(wǎng)關(guān)124僅被分配了一個(gè)物理端口號(hào)。網(wǎng)關(guān)124中的物理端口可以另外與一組服務(wù)等級(jí)和交換機(jī)構(gòu)件122中的虛擬鏈路之間的一組映射相關(guān)聯(lián)。
[0030]交換機(jī)裝置114可以使用映射提供從虛擬鏈路到網(wǎng)關(guān)124中的物理端口的業(yè)務(wù)的無(wú)阻塞行為。例如,交換機(jī)裝置114可以將映射與用于提供無(wú)阻塞行為的虛擬輸出隊(duì)列(VOQ) 130相關(guān)聯(lián)。每個(gè)VOQ可以與交換機(jī)構(gòu)件122中的虛擬端口號(hào)和虛擬鏈路相關(guān)聯(lián)。因此,交換機(jī)裝置114可以為交換機(jī)構(gòu)件122中的每個(gè)輸入物理端口(例如,物理端口 I 110、物理端口 X 112)提供足夠的VOQ以防止網(wǎng)關(guān)124中的輸出物理端口(例如,物理端口 I 118、物理端口 Y 120)之間的隊(duì)頭阻塞。下文參考圖2以更多細(xì)節(jié)描述了在交換機(jī)構(gòu)件中使用虛擬鏈路和物理端口之間的映射以提供物理端口之間的無(wú)阻塞行為。
[0031]圖2示出了根據(jù)公開的實(shí)施例的數(shù)據(jù)包202從第一組物理端口中的第一物理端口234到第二組物理端口中的第二物理端口 236的路由,其中第二組物理端口通過(guò)單個(gè)物理鏈路被連接到第一組物理端口。例如,數(shù)據(jù)包202可以從Inf iniBand交換機(jī)構(gòu)件(例如,圖1的交換機(jī)構(gòu)件122)中的Inf iniBand物理端口 234被接收。數(shù)據(jù)包202可以接著被路由到使用單個(gè)物理鏈路被連接到交換機(jī)構(gòu)件的網(wǎng)關(guān)中的Inf iniBand和/或以太網(wǎng)物理端口 236。
[0032]如圖2所示,數(shù)據(jù)包202可以基于數(shù)據(jù)包202中的唯一目的地標(biāo)識(shí)符216和/或服務(wù)等級(jí)218被路由。目的地標(biāo)識(shí)符216可以表示數(shù)據(jù)包202的目的地的地址。例如,對(duì)于Inf iniBand數(shù)據(jù)包的目的地標(biāo)識(shí)符216可以使用數(shù)據(jù)包的本地路由包頭(LRH)中的16比特目的地本地標(biāo)識(shí)符(DLID)被指定。服務(wù)等級(jí)(SL)218可被用于為數(shù)據(jù)包202定義請(qǐng)求的服務(wù)質(zhì)量(QoS)等級(jí)。例如,InfiniBand數(shù)據(jù)包的LRH可以指定與業(yè)務(wù)隔離、策略實(shí)施和/或交換機(jī)構(gòu)件中的無(wú)阻塞行為相關(guān)聯(lián)的16個(gè)SL之一。
[0033]包含交換機(jī)構(gòu)件中的目的地標(biāo)識(shí)符220到一組虛擬端口號(hào)222的映射的轉(zhuǎn)發(fā)表204可被用于識(shí)別與目的地標(biāo)識(shí)符216相關(guān)聯(lián)的目的地虛擬端口號(hào)228。例如,對(duì)于InfiniBand交換機(jī),轉(zhuǎn)發(fā)表204可以是為由一組DLID表示的InfiniBand目的地指定輸出端口的線性轉(zhuǎn)發(fā)表。
[0034]在一個(gè)或多個(gè)實(shí)施例中,在交換機(jī)構(gòu)件中虛擬端口號(hào)222替代有效物理端口號(hào)被用于識(shí)別第二組物理端口。例如,在轉(zhuǎn)發(fā)表204中的每個(gè)虛擬端口號(hào)可以識(shí)別連接到InfiniBand交換機(jī)構(gòu)件的以太網(wǎng)網(wǎng)關(guān)中的不同的物理端口。然而,因?yàn)榈诙M物理端口使用單個(gè)物理鏈路被連接到交換機(jī)構(gòu)件,所以第二組物理端口可以共享交換機(jī)構(gòu)件中的單個(gè)物理端口號(hào)。因此,虛擬端口號(hào)222可以代表如下抽象:即給諸如Inf iniBand子網(wǎng)管理器的一般的構(gòu)件管理軟件帶來(lái)沒有單個(gè)物理鏈路在Inf iniBand構(gòu)件和第二組物理端口之間提供連接的錯(cuò)覺。作為替代,虛擬端口號(hào)222可以使用在交換機(jī)構(gòu)件的硬件和/或固件中實(shí)施的交換裝置(例如,圖1的交換裝置114)被映射到第二組物理端口。
[0035]虛擬端口號(hào)還可以被用于給子網(wǎng)管理器帶來(lái)以下錯(cuò)覺,即第二組物理端口中的每個(gè)端口被直接連接到InfiniBand構(gòu)件上的專用物理端口,并且因此該端口代表具有唯一目的地址的唯一的Inf iniBand構(gòu)件末端端口。通過(guò)這種方式,目標(biāo)為第二組物理端口中的不同端口的數(shù)據(jù)包也可以在到達(dá)它們的InfiniBand末端端口目的地之前通過(guò)InfiniBand構(gòu)件被完全獨(dú)立地路由。
[0036]如果需要的話,本實(shí)施方式通過(guò)支持用于代表到InfiniBand構(gòu)件的實(shí)際連接的單個(gè)物理端口的回環(huán)轉(zhuǎn)發(fā)機(jī)制,還能夠包括第二組物理端口中的端口在Inf iniBand構(gòu)件上彼此通信的能力。因此,本實(shí)施方式可以處理多個(gè)虛擬交換機(jī)機(jī)端口的抽象所暗含的Inf iniBand特征的完整集合。然而,如果第二組物理端口中的端口代表多個(gè)獨(dú)立的網(wǎng)關(guān)端口,則網(wǎng)關(guān)端口沒有互相通過(guò)InfiniBand構(gòu)件發(fā)送數(shù)據(jù)包的內(nèi)在需求,因此能夠避免該額外的實(shí)施方式的復(fù)雜度。
[0037]一種可選擇的抽象是提供單個(gè)物理端口和第二組物理端口之間的連接的表示作為第二 Inf iniBand交換機(jī),在第二 Inf iniBand交換機(jī)中一個(gè)端口連接單個(gè)物理端口而其他端口連接第二組物理端口中的每個(gè)端口。該抽象維持了第二組物理端口中的每個(gè)端口代表Inf iniBand構(gòu)件上具有唯一Inf iniBand地址的單獨(dú)終端端口的概念,但是固有地隱含著與在模型中仍存在與單個(gè)中間InfiniBand鏈路相關(guān)聯(lián)的任何限制。
[0038]在任一抽象模型中,有可能通過(guò)將配置的變化表示為會(huì)導(dǎo)致正在連接的虛擬交換機(jī)端口以及正在連接到虛擬交換機(jī)端口的虛擬終端端口發(fā)生變化的虛擬Inf iniBand熱插入/拔出操作,來(lái)處理第二組物理端口中的端口的任意靜態(tài)或動(dòng)態(tài)配置和連接。模型的唯一限制是對(duì)于任何InfiniBand交換機(jī)表示的物理和虛擬交換端口之和不能超過(guò)255個(gè)端口,該值為InfiniBand標(biāo)準(zhǔn)定義的對(duì)于InfiniBand交換機(jī)的外部端口的最大數(shù)目。
[0039]SL 224到交換機(jī)構(gòu)件中的虛擬鏈路226的一組映射206也可以被用于識(shí)別與服務(wù)等級(jí)218相關(guān)聯(lián)的目標(biāo)虛擬鏈路230。例如,對(duì)于InfiniBand交換機(jī),映射206可以存儲(chǔ)在SL到VL映射表中。SL到VL映射表可以允許數(shù)據(jù)包202中的抽象的SL 218被映射到交換機(jī)構(gòu)件中的具體的VL。因此,SL 218可以允許當(dāng)數(shù)據(jù)包202在具有不同數(shù)量的VL的InfiniBand交換機(jī)之間路由時(shí)提供流控制和Qo S。
[0040]然后目的地虛擬端口號(hào)228和目標(biāo)虛擬鏈路230可以被用于識(shí)別物理端口 236的VOQ 232,而且數(shù)據(jù)包202可以被放置在VOQ 232中。因?yàn)閂OQ 232通過(guò)目的地虛擬端口號(hào)228和目標(biāo)虛擬鏈路230的組合被識(shí)別,所以可以提供足夠的VOQ以避免在物理端口 236和第二組物理端口中的其他物理端口之間的隊(duì)頭阻塞。例如,交換機(jī)構(gòu)件可以支持第二組物理端口中的42個(gè)端口和九個(gè)虛擬鏈路。因此,第一組物理端口中的每個(gè)輸入端口(例如,物理端口 234)可以具有用于第二組物理端口的42 X 9或者說(shuō)378個(gè)V0Q。
[0041]例如,Inf iniBand交換機(jī)的端口 37-40可以映射到四個(gè)以太網(wǎng)網(wǎng)關(guān),每個(gè)網(wǎng)關(guān)包含四個(gè)獨(dú)立的10吉比特以太網(wǎng)端口。轉(zhuǎn)發(fā)表204中結(jié)果為37、38、39或40的目的地虛擬端口號(hào)(例如,目的地虛擬端口號(hào)228)的查找可以使得業(yè)務(wù)被送到相應(yīng)的網(wǎng)關(guān),而且目標(biāo)虛擬鏈路230可以使用SL到VL映射表中的映射206被識(shí)別。這樣將數(shù)據(jù)傳輸?shù)蕉丝?37-40可以發(fā)生在以40吉比特以太網(wǎng)網(wǎng)關(guān)模式使用網(wǎng)關(guān)和/或如果以太網(wǎng)網(wǎng)關(guān)被禁用而相應(yīng)的端口被用作Inf in iBand端口 期間。
[0042]表示以太網(wǎng)端口的虛擬端口號(hào)可以從64開始,由于0-63可以是有效的Inf iniBand端口號(hào)。端口 64-71可以是將對(duì)應(yīng)于端口 37的以太網(wǎng)網(wǎng)關(guān)中的各個(gè)以太網(wǎng)端口編碼的虛擬端口號(hào)。特別地,端口64-65可以代表網(wǎng)關(guān)的第一以太網(wǎng)端口,端口66-67可以代表網(wǎng)關(guān)的第二以太網(wǎng)端口,端口68-69可以代表網(wǎng)關(guān)的第三以太網(wǎng)端口,以及端口70-71可以代表網(wǎng)關(guān)的第四以太網(wǎng)端口。類似地,端口 72-79可以被分配給由端口 38表示的網(wǎng)關(guān)的四個(gè)以太網(wǎng)端口,端口 80-87可以被分配給由端口 39表示的網(wǎng)關(guān)的四個(gè)以太網(wǎng)端口,端口 88-95可以被分配給由端口 40表示的網(wǎng)關(guān)的四個(gè)以太網(wǎng)端口。
[0043]另外,每個(gè)虛擬端口號(hào)可以與高達(dá)兩個(gè)VL相關(guān)聯(lián);如果只有一個(gè)VL在使用,則SL到VL映射表中的值可以都被設(shè)置為O。端口 64-65可以與VLO或VLl相關(guān)聯(lián),目標(biāo)VL被SL到VL映射表中的O或I的值指定。端口 66-67可以與VL2或VL3相關(guān)聯(lián),目標(biāo)VL被VL2與SL到VL映射表中的O或I的值的和指定。端口 68-69可以與VL4或VL5相關(guān)聯(lián),目標(biāo)VL被VL4與SL到VL映射表中的O或I的值的和指定。端口 70-71可以與¥1^6或¥1^7相關(guān)聯(lián),目標(biāo)VL被VL6與SL到VL映射表中的O或I的值的和指定。然后目標(biāo)VL和虛擬端口號(hào)可以被映射到InfiniBand交換機(jī)的每個(gè)輸入端口上的單獨(dú)的V0Q,以提供網(wǎng)關(guān)的以太網(wǎng)端口之間的無(wú)阻塞行為。
[0044]因此,目的地虛擬端口號(hào)228可以被用于將相同的SL(例如,SL218)重新映射到不同的虛擬鏈路,以便任意SL和/或虛擬鏈路能夠被多個(gè)QoS等級(jí)過(guò)載。例如,諸如Inf iniBandVL仲裁和/或公平排隊(duì)方案的仲裁方案可以被應(yīng)用于VOQ 232以及對(duì)于物理端口236的其他VOQ,從而為路由到物理端口 236的業(yè)務(wù)提供多個(gè)QoS等級(jí)。對(duì)于給定物理端口的額外的虛擬端口號(hào)(例如,虛擬端口號(hào)222)可被用于觸發(fā)數(shù)據(jù)包(例如,數(shù)據(jù)包202)包頭的查找,從而進(jìn)一步擴(kuò)展QoS等級(jí)。額外的查找可以造成或者可以不會(huì)造成數(shù)據(jù)包包頭的修改。
[0045]一旦數(shù)據(jù)包202在VOQ 232中,數(shù)據(jù)包202可以基于物理端口236的輸出緩存的充滿度和/或與VOQ 232相關(guān)聯(lián)的QoS等級(jí)從V0Q232中被移除。例如,數(shù)據(jù)包202可以被緩存在VOQ232中直到物理端口 236調(diào)度數(shù)據(jù)包202去處理和/或物理端口 236的輸出緩存能夠接收數(shù)據(jù)包202。因此,在第二組物理端口中的其他物理端口可以不被在物理端口 236增加的延遲影響,該延遲可由緩慢、暫停(例如,以太網(wǎng)暫停)和/或到物理端口236的業(yè)務(wù)的突發(fā)導(dǎo)致。
[0046]相反地,對(duì)于交換機(jī)構(gòu)件的常規(guī)的查找方案可能為物理端口236和第二組物理端口中的其他物理端口只產(chǎn)生一個(gè)端口號(hào)。此外,從映射206中可能只有一個(gè)目標(biāo)虛擬鏈路230是可用的。因此,交換機(jī)可能無(wú)法將第二組物理端口中的不同物理端口區(qū)分開,并且第二組物理端口中的阻塞行為可能會(huì)降低第二組物理端口的總體帶寬。
[0047]圖3示出了表示根據(jù)公開的實(shí)施例的數(shù)據(jù)的處理的流程圖。在一個(gè)或多個(gè)實(shí)施例中,這些步驟中的一個(gè)或多個(gè)步驟可以被省略、重復(fù)和/或以不同的順序執(zhí)行。相應(yīng)地,圖3中示出的步驟的特定安排不應(yīng)當(dāng)被解釋為限制了實(shí)施例的范圍。
[0048]首先,在交換機(jī)構(gòu)件中為第一組物理端口創(chuàng)建一組虛擬鏈路(操作302)。例如,代表虛擬鏈路的高達(dá)16個(gè)VL可以在Inf iniBand交換機(jī)構(gòu)件中被創(chuàng)建。接下來(lái),一組虛擬端口號(hào)被用于在交換機(jī)構(gòu)件中創(chuàng)建一組虛擬鏈路和第二組物理端口之間的一組映射(操作304)。第二組物理端口可以使用單個(gè)物理鏈路被連接到第一組物理端口。例如,第二組物理端口可以包括Inf iniBand端口和/或以太網(wǎng)端口,其中第二組物理端口使用單個(gè)InfiniBand鏈路被連接到InfiniBand交換機(jī)構(gòu)件中的第一組InfiniBand端口。
[0049]映射可以包括從交換機(jī)構(gòu)件中的目的地的唯一目的地標(biāo)識(shí)符到虛擬端口號(hào)的第一映射和從關(guān)于與數(shù)據(jù)包相關(guān)聯(lián)的SL到虛擬鏈路的第二映射。唯一目的地標(biāo)識(shí)符可以與第二組物理端口中的一個(gè)或多個(gè)端口相關(guān)聯(lián)。虛擬端口號(hào)和虛擬鏈路可以額外地與第二組物理端口中的物理端口的虛擬輸出隊(duì)列(VOQ)相關(guān)聯(lián)。因此,虛擬端口號(hào)可以代表第二組物理端口中的物理端口的抽象,并且可以使得SL和/或虛擬鏈路能夠被多個(gè)QoS等級(jí)和/或隔離的業(yè)務(wù)流過(guò)載。
[0050]最后,映射被用于提供從第一組物理端口到第二組物理端口的業(yè)務(wù)中的無(wú)阻塞行為(操作306)。例如,第一映射和第二映射可以被用于將包含目的地標(biāo)識(shí)符和服務(wù)等級(jí)的數(shù)據(jù)包放置在VOQ中。然后數(shù)據(jù)包可以基于用于物理端口的輸出緩存的充滿度和/或與VOQ相關(guān)聯(lián)的QoS等級(jí)從VOQ中被移除。
[0051]圖4示出了根據(jù)公開的實(shí)施例的計(jì)算機(jī)系統(tǒng)400。計(jì)算機(jī)系統(tǒng)400包括處理器402、存儲(chǔ)器404、存儲(chǔ)裝置406和/或在電子計(jì)算裝置中可見的其他部件。處理器402可以支持與計(jì)算機(jī)系統(tǒng)400中的其他處理器的并行處理和/或多線程操作。計(jì)算機(jī)系統(tǒng)400也可以包括諸如鍵盤408、鼠標(biāo)410和顯示器412的輸入/輸出(I/O)裝置。
[0052]計(jì)算機(jī)系統(tǒng)400可以包括用于執(zhí)行本實(shí)施例的各種部件的功能。特別地,計(jì)算機(jī)系統(tǒng)400可以包括協(xié)調(diào)計(jì)算機(jī)系統(tǒng)400上的硬件和軟件資源的使用的操作系統(tǒng)(未示出),以及為用戶執(zhí)行專門任務(wù)的一個(gè)或多個(gè)應(yīng)用。為了為用戶執(zhí)行任務(wù),應(yīng)用可以從操作系統(tǒng)中獲取計(jì)算機(jī)系統(tǒng)400上的硬件資源的使用,以及與用戶通過(guò)操作系統(tǒng)提供的硬件和/或軟件框架交互。
[0053]在一個(gè)或多個(gè)實(shí)施例中,計(jì)算機(jī)系統(tǒng)400提供了操作交換機(jī)構(gòu)件的系統(tǒng)。該交換機(jī)構(gòu)件可以包括第一組物理端口和使用單個(gè)物理鏈路連接到第一組物理端口的第二組物理端口。該系統(tǒng)可以提供在交換機(jī)構(gòu)件中為第一組物理端口創(chuàng)建一組虛擬鏈路的交換裝置。接下來(lái),交換裝置可以使用一組虛擬端口號(hào)創(chuàng)建這組虛擬鏈路和第二組物理端口之間的一組映射。最后,交換裝置可以使用映射來(lái)提供從這組虛擬鏈路到第二組物理端口的業(yè)務(wù)中的無(wú)阻塞行為。
[0054]另外,計(jì)算機(jī)系統(tǒng)400的一個(gè)或多個(gè)部件可以位于遠(yuǎn)程位置并通過(guò)網(wǎng)絡(luò)連接到其他部件。本實(shí)施例的部分(例如,物理端口、交換機(jī)構(gòu)件、網(wǎng)關(guān)、物理鏈路、交換機(jī)裝置等)也可以位于實(shí)施該實(shí)施例的分布式系統(tǒng)的不同的節(jié)點(diǎn)上。例如,可以使用在用單個(gè)物理鏈路連接的兩組遠(yuǎn)程物理端口中提供無(wú)阻塞行為的云計(jì)算系統(tǒng)實(shí)施本實(shí)施例。
[0055]多個(gè)實(shí)施例的上述描述僅僅是出于說(shuō)明和描述的目的被提出。它們不是窮舉性的,也不是用來(lái)將本發(fā)明限制到公開的形式。因此,許多修改和變型對(duì)于本領(lǐng)域的從業(yè)人員會(huì)是明顯的。另外,上面的公開不旨在限制本發(fā)明。
【主權(quán)項(xiàng)】
1.一種用于操作交換機(jī)構(gòu)件的由計(jì)算機(jī)實(shí)施的方法,包括: 在交換機(jī)構(gòu)件中為第一組物理端口創(chuàng)建一組虛擬鏈路; 使用一組虛擬端口號(hào)在交換機(jī)構(gòu)件中創(chuàng)建該組虛擬鏈路和第二組物理端口之間的一組映射,其中所述第二組物理端口使用單個(gè)物理鏈路被連接到所述第一組物理端口;以及使用所述映射在從所述第一組物理端口到所述第二組物理端口的業(yè)務(wù)中提供無(wú)阻塞行為。2.如權(quán)利要求1所述的由計(jì)算機(jī)實(shí)施的方法,其中使用該組虛擬端口號(hào)在交換機(jī)構(gòu)件中創(chuàng)建該組虛擬鏈路和所述第二組物理端口之間的該組映射包括: 創(chuàng)建從與第二組物理端口中的一個(gè)或多個(gè)端口相關(guān)聯(lián)的唯一目的地標(biāo)識(shí)符到虛擬端口號(hào)的第一映射; 創(chuàng)建從與數(shù)據(jù)包相關(guān)聯(lián)的服務(wù)等級(jí)到來(lái)自該組虛擬鏈路的虛擬鏈路的第二映射;以及將所述虛擬端口號(hào)和所述虛擬鏈路與來(lái)自所述第二組物理端口的物理端口的虛擬輸出隊(duì)列(VOQ)相關(guān)聯(lián)。3.如權(quán)利要求2所述的由計(jì)算機(jī)實(shí)施的方法,其中使用所述映射在從所述第一組物理端口到所述第二組物理端口的業(yè)務(wù)中提供無(wú)阻塞行為包括: 使用所述第一映射和所述第二映射以將包含所述唯一目的地標(biāo)識(shí)符和所述服務(wù)等級(jí)的數(shù)據(jù)包放置在VOQ中;以及 基于用于所述物理端口的輸出緩存的充滿度從VOQ中移除所述數(shù)據(jù)包。4.如權(quán)利要求3所述的由計(jì)算機(jī)實(shí)施的方法,其中所述數(shù)據(jù)包從VOQ中的移除進(jìn)一步基于與VOQ相關(guān)聯(lián)的服務(wù)質(zhì)量(QoS)等級(jí)。5.如權(quán)利要求4所述的由計(jì)算機(jī)實(shí)施的方法,其中所述QoS等級(jí)與服務(wù)等級(jí)以及虛擬端口號(hào)中的至少一個(gè)相關(guān)聯(lián)。6.如權(quán)利要求1所述的由計(jì)算機(jī)實(shí)施的方法,其中所述第二組物理端口中的每一個(gè)物理端口與所述虛擬鏈路中的一個(gè)或多個(gè)虛擬鏈路相關(guān)聯(lián)。7.如權(quán)利要求1所述的由計(jì)算機(jī)實(shí)施的方法,其中所述交換機(jī)構(gòu)件包括InfiniBand交換機(jī)構(gòu)件和以太網(wǎng)網(wǎng)關(guān)。8.如權(quán)利要求7所述的由計(jì)算機(jī)實(shí)施的方法, 其中所述第一組物理端口包括Inf iniBand端口,以及 其中所述第二組物理端口包括以太網(wǎng)端口。9.一種交換機(jī)構(gòu)件,包括: 第一組物理端口; 使用單個(gè)物理鏈路連接到所述第一組物理端口的第二組物理端口;以及 交換裝置,其被配置為用于: 在交換機(jī)構(gòu)件中為第一組物理端口創(chuàng)建一組虛擬鏈路; 使用一組虛擬端口號(hào)創(chuàng)建該組虛擬鏈路和所述第二組物理端口之間的一組映射;以及 使用該映射在從該組虛擬鏈路到所述第二組物理端口的業(yè)務(wù)中提供無(wú)阻塞行為。10.如權(quán)利要求9所述的交換機(jī)構(gòu)件,其中使用該組虛擬端口號(hào)在交換機(jī)構(gòu)件中創(chuàng)建該組虛擬鏈路和所述第二組物理端口之間的該組映射包括: 創(chuàng)建從與所述第二組物理端口中的一個(gè)或多個(gè)端口相關(guān)聯(lián)的唯一目的地標(biāo)識(shí)符到虛擬端口號(hào)的第一映射; 創(chuàng)建從與數(shù)據(jù)包相關(guān)聯(lián)的服務(wù)等級(jí)到來(lái)自該組虛擬鏈路的虛擬鏈路的第二映射;以及 將該虛擬端口號(hào)和該虛擬鏈路與來(lái)自所述第二組物理端口的物理端口的虛擬輸出隊(duì)列(VOQ)相關(guān)聯(lián)。11.如權(quán)利要求10所述的交換機(jī)構(gòu)件,其中使用所述映射在從所述第一組物理端口到所述第二組物理端口的業(yè)務(wù)中提供無(wú)阻塞行為包括: 使用所述第一映射和所述第二映射以將包含所述唯一目的地標(biāo)識(shí)符和所述服務(wù)等級(jí)的數(shù)據(jù)包放置在VOQ中;以及 基于用于該物理端口的輸出緩存的充滿度從VOQ中移除所述數(shù)據(jù)包。12.如權(quán)利要求11所述的交換機(jī)構(gòu)件,其中所述數(shù)據(jù)包從VOQ中的移除進(jìn)一步基于與VOQ相關(guān)聯(lián)的服務(wù)質(zhì)量(QoS)等級(jí)。13.如權(quán)利要求12所述的交換機(jī)構(gòu)件,其中所述QoS等級(jí)進(jìn)一步與所述服務(wù)等級(jí)和虛擬端口號(hào)中的至少一個(gè)相關(guān)聯(lián)。14.如權(quán)利要求9所述的交換機(jī)構(gòu)件,其中所述交換機(jī)構(gòu)件包括InfiniBand交換機(jī)構(gòu)件和以太網(wǎng)網(wǎng)關(guān)。15.—種存儲(chǔ)指令的非暫態(tài)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),當(dāng)所述指令被計(jì)算機(jī)執(zhí)行時(shí)使該計(jì)算機(jī)執(zhí)行用于操作交換機(jī)構(gòu)件的方法,所述方法包括: 在交換機(jī)構(gòu)件中為第一組物理端口創(chuàng)建一組虛擬鏈路; 使用一組虛擬端口號(hào)在交換機(jī)構(gòu)件中創(chuàng)建該組虛擬鏈路和第二組物理端口之間的一組映射,其中第二組物理端口使用單個(gè)物理鏈路被連接到第一組物理端口;以及 使用所述映射在從該組虛擬鏈路到所述第二組物理端口的業(yè)務(wù)中提供無(wú)阻塞行為。16.如權(quán)利要求15所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中使用該組虛擬端口號(hào)在交換機(jī)構(gòu)件中創(chuàng)建該組虛擬鏈路和所述第二組物理端口之間的該組映射包括: 創(chuàng)建從與第二組物理端口中的一個(gè)或多個(gè)端口相關(guān)聯(lián)的唯一目的地標(biāo)識(shí)符到虛擬端口號(hào)的第一映射; 創(chuàng)建從與數(shù)據(jù)包相關(guān)聯(lián)的服務(wù)等級(jí)到來(lái)自該組虛擬鏈路的虛擬鏈路的第二映射;以及 將該虛擬端口號(hào)和該虛擬鏈路與來(lái)自所述第二組物理端口的物理端口的虛擬輸出隊(duì)列(VOQ)相關(guān)聯(lián)。17.如權(quán)利要求16所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中使用所述映射在從所述第一組物理端口到所述第二組物理端口的業(yè)務(wù)中提供無(wú)阻塞行為包括: 使用所述第一映射和所述第二映射以將包含所述唯一目的地標(biāo)識(shí)符和所述服務(wù)等級(jí)的數(shù)據(jù)包放置在VOQ中;以及 基于用于該物理端口的輸出緩存的充滿度從VOQ中移除所述數(shù)據(jù)包。18.如權(quán)利要求17所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中所述數(shù)據(jù)包從VOQ中的移除進(jìn)一步基于與VOQ相關(guān)聯(lián)的服務(wù)質(zhì)量(QoS)等級(jí)。19.如權(quán)利要求15所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中所述第二組物理端口中的每一個(gè)物理端口與所述虛擬鏈路中的一個(gè)或多個(gè)虛擬鏈路相關(guān)聯(lián)。20.如權(quán)利要求15所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中所述交換機(jī)構(gòu)件包括InfiniBand交換機(jī)構(gòu)件和以太網(wǎng)網(wǎng)關(guān)。
【文檔編號(hào)】G06F13/40GK106062727SQ201580011238
【公開日】2016年10月26日
【申請(qǐng)日】2015年2月5日 公開號(hào)201580011238.7, CN 106062727 A, CN 106062727A, CN 201580011238, CN-A-106062727, CN106062727 A, CN106062727A, CN201580011238, CN201580011238.7, PCT/2015/14614, PCT/US/15/014614, PCT/US/15/14614, PCT/US/2015/014614, PCT/US/2015/14614, PCT/US15/014614, PCT/US15/14614, PCT/US15014614, PCT/US1514614, PCT/US2015/014614, PCT/US2015/14614, PCT/US2015014614, PCT/US201514614
【發(fā)明人】A·斯瑞尼瓦桑, B·D·約翰森
【申請(qǐng)人】甲骨文國(guó)際公司