專利名稱:計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)交換機(jī)的制作方法
計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)交換機(jī)
背景技術(shù):
單獨(dú)計(jì)算機(jī)節(jié)點(diǎn)能夠通過經(jīng)由快速計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)彼此通信一起當(dāng)作單個(gè)計(jì)算機(jī)系統(tǒng)。例如,刀片(blade)系統(tǒng)能夠包括機(jī)箱和安裝在該機(jī)箱中的刀片。每個(gè)刀片都能夠包括一個(gè)或多個(gè)處理器節(jié)點(diǎn);每個(gè)處理器節(jié)點(diǎn)都能夠包括一個(gè)或多個(gè)處理器和相關(guān)存儲器。機(jī)箱能夠包括連接處理器節(jié)點(diǎn)的結(jié)構(gòu),這樣它們能夠彼此通信并且訪問彼此的存儲器,使得所連接的刀片的集體存儲器能夠結(jié)合在一起操作。結(jié)構(gòu)可以按比例增加以包括連接結(jié)構(gòu)的鏈路,所述結(jié)構(gòu)連接刀片。在這樣的情況下,在通信的源與目的地之間常常存在多個(gè)路由。為了正確地路由通信分組,結(jié)構(gòu)能夠包括具有多端口的一個(gè)或多個(gè)交換機(jī)。典型地,交換機(jī)檢查每個(gè)接收到的分組的一部分以得到與路由有關(guān)的信息,例如分組的目的地。經(jīng)檢查的分組報(bào)頭的部分的定位能夠根據(jù)由刀片系統(tǒng)所使用的通信協(xié)議而變化。交換機(jī)然后基于路由信息來選擇輸出端口。
圖1是根據(jù)實(shí)施例的結(jié)構(gòu)交換機(jī)的示意圖。圖2是根據(jù)實(shí)施例的結(jié)構(gòu)交換過程的流程圖。圖3是根據(jù)實(shí)施例的計(jì)算機(jī)系統(tǒng)的示意圖。圖4是在圖3的計(jì)算機(jī)系統(tǒng)的背景下采用的過程的流程圖。圖5是根據(jù)實(shí)施例的采用結(jié)構(gòu)交換機(jī)的另一計(jì)算機(jī)系統(tǒng)的示意圖。
具體實(shí)施例方式如圖1中所示,結(jié)構(gòu)交換機(jī)100包括端口 101、定位功能部件107以及路由功能部件109,所述端口 101包括端口 103和105。結(jié)構(gòu)交換機(jī)100實(shí)現(xiàn)圖2中流程繪制的過程200。在過程段201處,定位功能部件107按端口 107的定位功能確定路由信息122在分組124中的定位120,分組124在所述端口 107處被接收。在過程段202處,分組被轉(zhuǎn)發(fā)出端口 109,所述端口 109被選擇為路由信息122的路由功能(通過路由功能部件109實(shí)現(xiàn))。因此,過程200允許做出正確的路由確定,盡管在交換機(jī)的相應(yīng)真實(shí)或虛擬端口處使用不同協(xié)議。刀片計(jì)算機(jī)系統(tǒng)300包括機(jī)箱301、刀片303以及結(jié)構(gòu)模塊305,所述刀片303包括刀片B1-B8。結(jié)構(gòu)模塊305包括鏈路307的至少部分例如鏈路L1-L8,以及結(jié)構(gòu)交換機(jī)310。結(jié)構(gòu)交換機(jī)310包括處理器311、用代碼315編碼的媒體313以及端口 317,例如端口P1-P8.代碼315被配置成當(dāng)被處理器311執(zhí)行時(shí),定義數(shù)據(jù)庫317和用于交換機(jī)310的鏈路接口 320的功能性。代碼315進(jìn)一步用來定義具有初始化管理器321和分組管理器323的鏈路接口 320。分組管理器327包括定位功能部件325和路由功能部件327。數(shù)據(jù)庫317包括輸入表331、輸出表333、環(huán)境數(shù)據(jù)335、分配策略337、以及虛擬化信息339。在可替換的實(shí)施例中,在結(jié)構(gòu)交換機(jī)外部的處理器執(zhí)行軟件以將結(jié)構(gòu)交換機(jī)配置為讀取分組的路由字段,視情況而定執(zhí)行轉(zhuǎn)換,以及查找輸出端口。輸入表331將輸入端口標(biāo)識用作為關(guān)鍵字段。與每個(gè)輸入端口標(biāo)識相關(guān)聯(lián)的是偏移、位長度以及轉(zhuǎn)換功能。偏移和長度典型地在分組報(bào)頭中定義路由字段定位,所述分組報(bào)頭承載用來確定哪一個(gè)輸出端口通過其來轉(zhuǎn)發(fā)分組的路由信息。該定位是協(xié)議相關(guān)的。在一些情況下,在所指示的定位處的值可以被直接地用作為輸出表333的索引。在其他情況下,在表331的最右邊的列中所標(biāo)識的一些轉(zhuǎn)換功能可以被應(yīng)用來獲得待輸入到輸出表333的索引值。例如,對于輸入鏈路標(biāo)識L3和L4來說,所提取的值將按單一性(unity)遞減以產(chǎn)生到輸出表331的輸入。對于鏈路標(biāo)識L4來說,源鏈路標(biāo)識值(例如,4)被以模8加到所提取的值,以確定待輸入到表333的值。對于輸入鏈路L5來說,四個(gè)位被提取,但第三位被忽略。轉(zhuǎn)換與由輸入鏈路所采用的協(xié)議相關(guān)聯(lián)。實(shí)際上,可以使用表查找來執(zhí)行轉(zhuǎn)換。如在下面進(jìn)一步說明的那樣,在一些情況下,轉(zhuǎn)換可以考慮環(huán)境數(shù)據(jù)、分配策略、以及虛擬化信息。一旦分組值被提取/轉(zhuǎn)換,它就可以被輸入到輸出表333,所述輸出表333將分組值與輸出端口相關(guān)聯(lián)。由刀片系統(tǒng)300和交換機(jī)310實(shí)現(xiàn)的過程400包括如圖4中流程繪制的配置階段410和分組階段。配置階段410包括其中鏈路被激活的過程段401。隨著節(jié)點(diǎn)被引導(dǎo)或者當(dāng)端節(jié)點(diǎn)的鏈路特定接口被激活時(shí),可以在刀片或其他端節(jié)點(diǎn)處初始化該激活。激活典型地涉及協(xié)議信息的交換。因此,能夠在過程段402處在鏈路初始化期間提取協(xié)議相關(guān)(即,協(xié)議特定)信息。該協(xié)議相關(guān)信息能夠包括定位的顯式標(biāo)識,在所述定位處可以找到路由信息。可替換地,可以標(biāo)識協(xié)議,并且例如在駐留在交換機(jī)310上的表中,可以“查找”協(xié)議的定位。在過程段403處,可以根據(jù)報(bào)頭定位偏移和緊跟偏移之后的位長度將所提取的信息存儲在輸入表331中。同樣地,表331的轉(zhuǎn)換信息能夠從報(bào)頭定位以顯式形式獲得,或者由來自數(shù)據(jù)庫317中的表的協(xié)議標(biāo)識推斷。這完成了用于過程400的建立階段。如圖4中所流程繪制的那樣,過程400的分組階段420以在過程段404處在端口處接收分組開始。在過程段405處,定位功能部件325 (圖3)使用輸入表331通過根據(jù)在其處接收到分組的端口查找定位來確定路由信息的分組定位。在過程段406處,分組管理器323從所確定的分組的定位中提取路由信息。取決于表331的轉(zhuǎn)換列中的信息,該路由信息可以被路由功能部件327直接地使用或者轉(zhuǎn)換。在任何情況下,結(jié)果得到的值在過程段407處可以被輸入到輸出表333,以選擇用于輸出分組的端口。在過程段408處,分組被轉(zhuǎn)發(fā)出所選擇的端口。如圖5中所示,計(jì)算機(jī)系統(tǒng)500包括端節(jié)點(diǎn)501和結(jié)構(gòu)502。結(jié)構(gòu)502包括結(jié)構(gòu)交換機(jī)503和鏈路505。端節(jié)點(diǎn)501包括節(jié)點(diǎn)N11-N44。結(jié)構(gòu)交換機(jī)503包括結(jié)構(gòu)交換機(jī)FS1-FS4。鏈路505包括鏈路L11-L43,以及到端節(jié)點(diǎn)501的未標(biāo)記的鏈路。節(jié)點(diǎn)501可以具有各種類型,其中包括但不限于處理器節(jié)點(diǎn)、網(wǎng)絡(luò)(例如,以太網(wǎng))交換節(jié)點(diǎn)、存儲節(jié)點(diǎn)、存儲器節(jié)點(diǎn)、以及提供與大容量存儲設(shè)備對接的存儲網(wǎng)絡(luò)節(jié)點(diǎn)。每個(gè)結(jié)構(gòu)交換機(jī)503都具有八個(gè)端口,其中的四個(gè)被示出連接到相應(yīng)的節(jié)點(diǎn),而其中的四個(gè)被示出連接到其他結(jié)構(gòu)交換機(jī)。因此,在每對節(jié)點(diǎn)之間存在結(jié)構(gòu)路由的選擇。事實(shí)上,在系統(tǒng)500中,在每對端節(jié)點(diǎn)之間存在十個(gè)可能的結(jié)構(gòu)路由。例如,節(jié)點(diǎn)Nll能夠與節(jié)點(diǎn)N21進(jìn)行通信:1)使用鏈路L12 ;2)使用鏈路L21 ;3)使用鏈路組合L14、L34以及L23 ;4)使用鏈路組合L14、L34以及L32;5)使用鏈路組合L14、L43、L23 ;6)使用鏈路組合L14、L43以及L32 ;7)使用鏈路組合L41、L34以及L23 ;8)使用鏈路組合L41、L34以及L32 ;9)使用鏈路組合L41、L43以及L23 ;以及10)使用鏈路組合L41、L43以及L32。在大多數(shù)情況下,經(jīng)由鏈路L12和L21的兩個(gè)更直接路由中的一個(gè)將被用在節(jié)點(diǎn)Nll與N21之間通信中。在這兩個(gè)之中,能夠選擇最少利用的。在一些情況下,鏈路L12和L21可能被大量地利用以致通過其他八個(gè)路由中的一個(gè)的通信可能是更快的和更可靠的。因此使得當(dāng)交換機(jī)做出路由決定時(shí)可以考慮利用,每個(gè)交換機(jī)FS1-FS4能夠監(jiān)視在其端口中的每一個(gè)處的利用,并且將匯總信息傳送到其他結(jié)構(gòu)交換機(jī)。每個(gè)結(jié)構(gòu)交換機(jī)都將利用數(shù)據(jù)存儲為環(huán)境數(shù)據(jù)335 (圖3)。環(huán)境數(shù)據(jù)335還能夠包括非利用數(shù)據(jù),諸如對于通過鏈路成功地傳送分組所需要的重試的平均數(shù)。這樣的其他環(huán)境數(shù)據(jù)還能夠被交換機(jī)用在做出路由確定中。在其他實(shí)施例中,例如,其中協(xié)議與動態(tài)路由不兼容,不采用動態(tài)路由。交換機(jī)FS1-FS4能夠被配置成平等地對待所有分組??商鎿Q地,交換機(jī)FS1-FS4能夠用分配策略337進(jìn)行編程(圖3),所述分配策略337使分組根據(jù)源、目的地、協(xié)議、內(nèi)容、或其他參數(shù)用不同的優(yōu)先級來對待。例如,如果不存在足夠的直接交換機(jī)間帶寬處理實(shí)時(shí)和非實(shí)時(shí)分組兩者,則非實(shí)時(shí)分組能夠沿著間接路由被重定向。同樣地,一些節(jié)點(diǎn)可以與更重要的用戶相關(guān)聯(lián);在該情況下,與其他用戶相關(guān)聯(lián)的通信量能夠沿著較慢的路由發(fā)送,或者甚至被丟棄以偏愛更重要的用戶。在可替換的實(shí)施例中,通信量不區(qū)分優(yōu)先順序。提供交換機(jī)間通信的其他實(shí)施例能夠包括不同數(shù)目和類型的端節(jié)點(diǎn)、與節(jié)點(diǎn)相關(guān)聯(lián)的不同數(shù)目的鏈路、不同數(shù)目的交換機(jī)間鏈路、每交換機(jī)不同數(shù)目的端口。同樣地,應(yīng)用來在可替換的路由之間分配通信量的算法能夠不同于針對系統(tǒng)500所描述的那些。虛擬化數(shù)據(jù)339能夠包括關(guān)于包括虛擬鏈路和虛擬通道的各種虛擬化方案的數(shù)據(jù)。實(shí)現(xiàn)的虛擬化方案然后能夠被反映在分配策略337和環(huán)境數(shù)據(jù)335中。例如,物理鏈路例如線路L12能夠被時(shí)間復(fù)用以用作若干虛擬鏈路。連接到鏈路的每個(gè)端口都能夠具有用于每個(gè)虛擬鏈路的單獨(dú)的先進(jìn)先出FIFO緩沖器,因此定義與每個(gè)真實(shí)的結(jié)構(gòu)交換機(jī)端口相關(guān)聯(lián)的虛擬端口。這允許沿著不同虛擬鏈路發(fā)送的分組取決于虛擬鏈路用途以不同速率行進(jìn)。虛擬通道能夠被用來處理分組的會話。例如,沿著原始分組被沿著其發(fā)送的路由的反向發(fā)送確認(rèn)分組可能是備受期待的。在其他情況下,為“會話”的若干分組保持相同的前向和反向路由可能是備受期待的。為此目的,分組能夠被分配給虛擬通道,而虛擬通道能夠被分配給路由的前向和反向?qū)?。因此,?jié)點(diǎn)Nll與節(jié)點(diǎn)N31之間的一系列分組能夠全部被分配(使用報(bào)頭信息)給給定虛擬通道;虛擬化數(shù)據(jù)339然后能夠指定虛擬通道到前向和反向結(jié)構(gòu)路由的映射。結(jié)構(gòu)交換機(jī)100 (圖1)、310(圖3)以及FS1_FS4(圖5)實(shí)際上可編程為在每端口基礎(chǔ)上處理不同的結(jié)構(gòu)協(xié)議。在可替換的實(shí)施例中,交換機(jī)能夠被編程為在每虛擬鏈路或每虛擬通道基礎(chǔ)上處理不同的協(xié)議。這在配置和升級方面給予計(jì)算機(jī)系統(tǒng)所有者極大靈活性。例如,在初始一組端節(jié)點(diǎn)的使用期期間,可能已經(jīng)引入為改進(jìn)的性能提供新的結(jié)構(gòu)協(xié)議的改進(jìn)的端節(jié)點(diǎn)。在系統(tǒng)500中,每個(gè)端節(jié)點(diǎn)在最佳時(shí)間(例如,當(dāng)它開始不可靠時(shí)或者當(dāng)它變成瓶頸時(shí))被用新一代端節(jié)點(diǎn)代替。所圖示的結(jié)構(gòu)交換機(jī)能夠處理舊和新一代端節(jié)點(diǎn)的組合,即使它們支持的協(xié)議將路由信息存儲在所傳送分組中的不同地方。
除非上下文以其他方式指示,否則“端口 ”和“鏈路”能夠指的是真實(shí)實(shí)體或虛擬實(shí)體。如本文所用的那樣,“處理器”指的是硬件實(shí)體,所述硬件實(shí)體可以是集成電路的一部分、完整的集成電路、或者分布在多個(gè)集成電路之中。在本文中,“媒體”指的是非暫時(shí)性、有形的、計(jì)算機(jī)可讀存儲媒體。除非上下文指示僅軟件方面是在考慮中,否則標(biāo)記為“管理器”或“部件”的交換機(jī)部件是軟件和用來執(zhí)行軟件的硬件的組合。在本文中,“系統(tǒng)”是一組交互元素,其中以示例的方式而非限制的方式,元素可以是機(jī)械部件、電氣元件、原子、編碼在存儲媒體中的指令、以及過程段。在本說明書中,出于解釋性目的討論了相關(guān)技術(shù)。標(biāo)記“現(xiàn)有技術(shù)”的相關(guān)技術(shù)(若有的話)被承認(rèn)為現(xiàn)有技術(shù)。未標(biāo)記“現(xiàn)有技術(shù)”的相關(guān)技術(shù)不被承認(rèn)為現(xiàn)有技術(shù)。所圖示的和其他描述的實(shí)施例,以及對此的修改和關(guān)于其的變化在以下權(quán)利要求的范圍內(nèi)。
權(quán)利要求
1.一種結(jié)構(gòu)交換機(jī),其包括: 端口,分組通過所述端口被接收和轉(zhuǎn)發(fā); 定位功能部件,其用于至少部分地基于所述輸入端口確定路由信息在包含路由信息的接收到的分組內(nèi)的定位,所述分組在所述輸入端口處被接收,以及 路由功能部件,其用于至少部分地基于所述路由信息按路由功能確定輸出端口。
2.按權(quán)利要求1所述的結(jié)構(gòu)交換機(jī),其進(jìn)一步包括初始化管理器,所述初使化管理器被配置成: 激活將端節(jié)點(diǎn)連接到所述交換機(jī)的端口的鏈路,以便建立在所述鏈路上的通信將符合的協(xié)議;以及 響應(yīng)于所述激活,生成或者調(diào)節(jié)所述定位功能以對應(yīng)于所述協(xié)議在該端口處的使用。
3.按權(quán)利要求2所述的結(jié)構(gòu)交換機(jī),其中,所述端口是真實(shí)端口。
4.按權(quán)利要求2所述的結(jié)構(gòu)交換機(jī),其中,所述端口包括真實(shí)端口和虛擬端口兩者,所述虛擬端口包括所述輸入端口和所述輸出端口。
5.按權(quán)利要求2所述的結(jié)構(gòu)交換機(jī),其中,所述確定所述輸出端口至少部分是所述分組所被分配到的虛擬通道的路由功能。
6.一種結(jié)構(gòu)交換過程,其包括: 交換機(jī)按第一端口的定位功能確定路由信息在分組內(nèi)的定位,在所述第一端口處所述分組被接收;以及 所述交換機(jī)從按所述路由信息的路由功能選擇的所述交換機(jī)的第二端口中轉(zhuǎn)發(fā)出所述分組。
7.按權(quán)利要求6所述的過程,其進(jìn)一步包括: 在所述接收之前,從事激活到所述第一輸入端口的鏈路,以便使得在所述鏈路上的通信符合第一結(jié)構(gòu)協(xié)議;以及 根據(jù)所述第一結(jié)構(gòu)協(xié)議生成或者調(diào)節(jié)所述定位功能。
8.按權(quán)利要求7所述的過程,進(jìn)一步其中所述端口是真實(shí)端口。
9.按權(quán)利要求7所述的過程,其中,所述端口是虛擬端口。
10.按權(quán)利要求7所述的過程,其中,所述確定所述輸出端口至少部分是所述分組所被分配到的虛擬通道的功能。
11.一種計(jì)算機(jī)產(chǎn)品,其包括用代碼編碼的媒體,所述代碼被配置成當(dāng)被處理器執(zhí)行時(shí), 實(shí)現(xiàn)包括按在其處分組被接收到的輸入端口的定位功能確定分組定位的輸入功能,并且按從所述分組定位提取的分組值的路由功能確定路由值; 經(jīng)由至少部分地按所述路由值的端口功能確定的輸出端口來轉(zhuǎn)發(fā)所述分組。
12.按權(quán)利要求11所述的計(jì)算機(jī)產(chǎn)品,其中,所述代碼被進(jìn)一步配置成: 在所述接收之前,從事激活到所述第一輸入端口的鏈路,以便使得在所述鏈路上的通信符合第一結(jié)構(gòu)協(xié)議;以及 根據(jù)所述第一結(jié)構(gòu)協(xié)議生成或者調(diào)節(jié)所述定位功能。
13.按權(quán)利要求12所述的計(jì)算機(jī)產(chǎn)品,進(jìn)一步其中所述端口是真實(shí)端口。
14.按權(quán)利要求12所述的計(jì)算機(jī)產(chǎn)品,其中,所述端口是虛擬端口。
15.按權(quán)利要求12所述的計(jì)算機(jī)產(chǎn)品,其中,所述確定所述輸出端口至少部分是所述分組所被分配到的虛擬通道的 功能。
全文摘要
一種結(jié)構(gòu)交換機(jī)包括端口、定位功能部件、以及路由功能部件。分組經(jīng)由所述端口被接收和轉(zhuǎn)發(fā)。所述定位功能部件提供用于至少部分地基于輸入端口確定路由信息在路由信息的接收到的分組內(nèi)的定位,所述分組在所述輸入端口處被接收。所述路由功能部件提供用于至少部分地基于所述定位的內(nèi)容按路由功能確定輸出端口。
文檔編號H04L12/931GK103098431SQ201080069101
公開日2013年5月8日 申請日期2010年9月14日 優(yōu)先權(quán)日2010年9月14日
發(fā)明者G.B.勒薩特爾 申請人:惠普發(fā)展公司,有限責(zé)任合伙企業(yè)