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

用于聯(lián)網(wǎng)設備的尋址方案和消息路由的制作方法

文檔序號:7911443閱讀:153來源:國知局
專利名稱:用于聯(lián)網(wǎng)設備的尋址方案和消息路由的制作方法
技術領域
本發(fā)明涉及電子通信。
背景技術
網(wǎng)絡節(jié)點和鏈路的布置由網(wǎng)絡拓撲來定義。網(wǎng)絡拓撲能夠確定網(wǎng)絡節(jié)點之間的物理和邏輯互連,其中每個節(jié)點具有到一個或多個其它節(jié)點的一個或多個鏈路。網(wǎng)絡的物理拓撲由節(jié)點之間的物理連接的配置所確定。該配置可以通過例如環(huán)、星、線、晶格、超立方體、環(huán)的多維幾何形狀來表示。網(wǎng)絡的邏輯拓撲由節(jié)點之間的數(shù)據(jù)流動所所確定。處理節(jié)點的網(wǎng)絡可以被用于超級計算應用。例如,大型超級計算應用可以被分為在網(wǎng)絡的不同處理節(jié)點上運行的不同指令子集。為了減少等待時間并提高效率,跨整個網(wǎng)絡的業(yè)務分布以及本地級別的節(jié)點間的最大通信是優(yōu)選的。典型地,網(wǎng)絡的尋址和路由方案的復雜度隨著網(wǎng)絡拓撲的復雜度的增加而增加。 復雜的路由表會需要大量的中央處理單元(CPU)時間來實現(xiàn)。傳統(tǒng)的分組路由要求在能夠對分組報頭中的目的地地址能夠進行解碼并且能夠轉發(fā)分組之前必須在節(jié)點完全接收該分組,這導致了等待時間。等待時間也會隨著復雜的尋址方案而增加。復雜的網(wǎng)絡拓撲會具有高的跳數(shù)與節(jié)點比,其中每一跳引入了分組等待時間的若干個時鐘周期。

發(fā)明內容
本說明書描述了與網(wǎng)絡拓撲相關的系統(tǒng)、方法和計算機程序產品。通常,在一個方面,本發(fā)明公開了一種包括節(jié)點的層級結構的網(wǎng)絡。節(jié)點的結構包括η個層,所述η個層包括η-1個切換(switch)節(jié)點層以及1個計算節(jié)點層。該結構中的每一層包括分組成單元的Hilri個節(jié)點,其中m表示一個單元中節(jié)點的數(shù)目并且為大于1的整數(shù)。L表示結構中的層并且為整數(shù),其中L = 0表示最低層而L = η-1表示最高層。除了計算層外的層中的每個節(jié)點包括用于該結構中下一個較低層中的單元的切換節(jié)點。對于每個單元,該單元中的每個節(jié)點通過點對點鏈路連接到該單元中的每個其它節(jié)點,該單元中的每個節(jié)點通過點對點鏈路連接到用于該單元的本地切換節(jié)點,并且該單元中的每個節(jié)點通過用于該單元的本地廣播網(wǎng)絡連接到該單元中的每個其它節(jié)點以及本地切換節(jié)點。所述網(wǎng)絡的實施方式可以包括以下特征中的一個或多個。每個計算節(jié)點可以包括可操作以執(zhí)行一個或多個應用的指令的處理元件。該結構中的最低層可以是計算節(jié)點層并且可以包括mn個計算節(jié)點。單元中的每個節(jié)點可以通過以太網(wǎng)連接到單元中的每個其它節(jié)點以及本地切換節(jié)點。每個計算節(jié)點可以包括處理元件、控制器和存儲器。每個計算節(jié)點可以包括實現(xiàn)為現(xiàn)場可編程門陣列的通信硬件。通常,在另一方面,本發(fā)明公開了一種包括節(jié)點的層級結構的網(wǎng)絡,所述層級結構包括η個層。所述η個層包括η-1個切換節(jié)點層以及1個計算節(jié)點層。該結構中的每一層包括一個或多個節(jié)點單元,其中L表示該結構中的層并且為整數(shù),其中L = 0表示最低層而 L = η-1表示最高層,并且一個單元中節(jié)點的數(shù)目大于1。除了計算層外的層中的每個節(jié)點包括用于該結構中下一個較低層中的單元的切換節(jié)點。對于每個單元而言,該單元中的每個節(jié)點通過點對點鏈路連接到該單元中的每個其它節(jié)點,該單元中的每個節(jié)點通過點對點鏈路連接到用于該單元的本地切換節(jié)點,并且該單元中的每個節(jié)點通過用于該單元的本地廣播網(wǎng)絡連接到該單元中的每個其它節(jié)點和本地切換節(jié)點。所述網(wǎng)絡的實施方式可以包括以下特征中的一個或多個。一個或多個單元中所包括的一個或多個點對點鏈路可以被無效。該結構中的一個層中的每個單元可以具有相同數(shù)量的節(jié)點。該結構中的每一個層中的每個單元可以具有相同數(shù)量的節(jié)點。每個單元可以包括由包括8個節(jié)點的2 X 2 X 2立方體所表示的本地三維網(wǎng)絡拓撲。每個計算節(jié)點可以包括可操作以執(zhí)行一個或多個應用的指令的處理元件。該結構中的最低層可以是計算節(jié)點層。單元中的每個節(jié)點可以通過以太網(wǎng)連接到該單元中的每個其它節(jié)點和本地切換節(jié)點。每個計算節(jié)點可以包括處理元件、控制器和存儲器。每個計算節(jié)點可以包括實現(xiàn)為現(xiàn)場可編程門陣列的通信硬件。通常,在另一方面,本發(fā)明公開了一種包括節(jié)點的層級結構和處理器的聯(lián)網(wǎng)設備。 所述節(jié)點的層級結構包括η個層,所述η個層包括Π-1個切換節(jié)點層以及1個計算節(jié)點層。 L表示該層級結構中的層并且為整數(shù),其中L = 0表示最低層而L = η-1表示最高層。所述處理器被配置為對分組中所接收的η個位組進行處理,其中每個計算節(jié)點完全通過所述 η個位組進行尋址,而層L的每個切換節(jié)點完全通過n-L個最高有效位組進行尋址。所述聯(lián)網(wǎng)設備的實施方式可以包括以下特征中的一個或多個。所述η個位組中的每一個可以包括相同數(shù)量的位。在一些實施方式中,每一層包括一個或多個節(jié)點單元,每個單元包括本地2X2X2的立方體網(wǎng)絡,其在三個維度χ、y和ζ的每一個中的每條邊具有兩個節(jié)點,并且使用范圍從{0,0,0}到{1,1,1}的三維地址{x,y,z}在所述立方體網(wǎng)絡內邏輯地定位每個節(jié)點,其中邏輯地定位所述立方體網(wǎng)絡內的每個節(jié)點的三維地址包括所述η 個位組中的一個。在一些實施方式中,每一層包括一個或多個節(jié)點單元,每個單元包括本地 2 X 4 X 4的網(wǎng)絡,所述網(wǎng)絡在χ維度中每條邊具有兩個節(jié)點并且在y和ζ維度中的每一個中的每條邊具有四個節(jié)點,并且使用范圍從{0,0,0,0,0}到{1,1,1,1,1}的三維地址{x,yl, y2,zl, z2}在所述本地網(wǎng)絡內邏輯地定位每個節(jié)點,其中邏輯地定位所述本地網(wǎng)絡內的每個節(jié)點的三維地址包括所述η個位組中的一個。通常,在另一方面,本發(fā)明公開了一種在網(wǎng)絡中路由分組的方法。所述網(wǎng)絡具有以包括η個層的節(jié)點層級結構為特征的拓撲。所述η個層包括η-1個切換節(jié)點層以及1個計算節(jié)點層,其中L表示該結構中的層并且為整數(shù),其中L = 0表示最低層而L = η-1表示最高層。分組在該結構的層L的切換節(jié)點被接收。所述分組包括報頭,所述報頭具有包括η 個位組的第一地址。所述切換節(jié)點具有包括n-L個位組的第二地址。所述分組基于所述第一地址和第二地址的比較而被轉發(fā)到層L、層L+1或層L-I中的節(jié)點。在一些實施方式中,如果第一地址的n-L個最高有效位組與第二地址的n-L個位組相匹配,則消息可以在點對點鏈路上被轉發(fā)至該結構的層L-I中完全由第一地址的 η-L+l個最高有效位組所尋址的節(jié)點。如果所述n-L個組不相匹配但是第一地址的n_L-l 個最高有效位組與第二地址的η-L-l個最高有效位組相匹配,則所述消息可以在點對點鏈路上被轉發(fā)至該結構的層L中完全由第一地址的n-L個最高有效位組所尋址的切換節(jié)點。 如果第一地址的η-L-l個最高有效位組與第二地址的η-L-l個最高有效位組不匹配,則所述消息可以在點對點鏈路上被轉發(fā)至該結構的層L+1中完全由第二地址的η-L-l個最高有效位組所尋址的切換節(jié)點。通常,在另一個方面,本發(fā)明公開了一種在網(wǎng)絡中路由分組的方法,所述網(wǎng)絡具有以包括η個層的節(jié)點層級結構為特征的拓撲。所述η個層包括η-1個切換節(jié)點層以及1個計算節(jié)點層,其中L表示該結構中的層并且為整數(shù),其中L = 0表示最低層而L = η-1表示最高層。分組可以從層L的計算節(jié)點傳送到層L的第二計算節(jié)點或者層L+1的切換節(jié)點。 所述分組包括具有包括η個位組的第一地址的報頭,并且所述計算節(jié)點具有包括η個位組的第二地址。所述分組可以基于所述第一和第二地址的比較進行傳送。在一些實施方式中,如果第一地址的η-1個最高有效位組與第二地址的η-1個最高有效位組相匹配,則消息可以在點對點鏈路上被轉發(fā)至該結構的層L中完全由第一地址的η個位組所尋址的第二計算節(jié)點。如果所述η-1個組不相匹配,則所述消息可以在點對點鏈路上被轉發(fā)至該結構的層L+1中完全由第二地址的η-1個最高有效位組所尋址的切換節(jié)點。通常,在另一方面,本發(fā)明公開了一種在網(wǎng)絡中路由分組的方法,所述網(wǎng)絡具有以包括η個層的節(jié)點層級結構為特征的拓撲。L表示該結構中的層并且為整數(shù),其中L = O表示最低層而L = η-1表示最高層。所述方法包括在第一節(jié)點至少接收分組的分組報頭,并且基于所述分組報頭確定是否將所述分組傳送到層L、層L+1或層L-I中的第二節(jié)點。所述分組在其在第一節(jié)點處被接收之后立刻被傳送到第二節(jié)點而并不等待接收整個分組并且不在從第一節(jié)點進行傳輸之前復制所述分組。所述方法的實施方式可以包括以下特征中的一個或多個。所述η個層可以包括 η-1個切換節(jié)點層以及1個計算節(jié)點層。該結構中的每一層可以包括被分組成單元的節(jié)點, 每個單元具有多于一個的節(jié)點,并且除了計算層外的層中的每個節(jié)點可以包括用于該結構中下一個較低層中的單元的切換節(jié)點。所述第一節(jié)點可以是切換節(jié)點,并且向層L中的第二節(jié)點傳送分組可以包括通過點對點鏈路向在與所述第一節(jié)點相同的單元中的第二節(jié)點傳送所述分組。向層L+1或層L-I中的第二節(jié)點傳送分組可以包括通過點對點鏈路向在與所述第一節(jié)點不同的單元中的第二節(jié)點傳送所述分組。通常,在另一方面,本發(fā)明公開了一種包括節(jié)點的層級結構的系統(tǒng),所述結構包括 η個層。所述η個層包括η-1個切換節(jié)點層以及1個計算節(jié)點層,其中該層級結構中的每一層包括一個或多個節(jié)點單元。L表示該結構中的層并且為整數(shù),其中L = O表示最低層而L =η-1表示最高層,并且一個單元中的節(jié)點數(shù)目大于1。所述切換節(jié)點被配置為至少接收分組的分組報頭;基于所述分組報頭確定是否將所述分組傳送到層L、層L+1或層L-I中的第二節(jié)點;并且在切換節(jié)點處一接收形成消息的一個或多個分組就向第二節(jié)點傳送所述分組而并不等待接收整個分組并且不在從切換節(jié)點進行傳輸之前復制所述分組。所述系統(tǒng)的實施方式可以包括以下特征中的一個或多個。所述計算節(jié)點可以每一個包括至少一個處理器、通信硬件和存儲器。所述至少一個處理器可以包括應用處理器和操作系統(tǒng)處理器。所述通信硬件可以包括現(xiàn)場可編程門陣列(FPGA)。所述通信硬件可以被配置為監(jiān)視到計算節(jié)點的業(yè)務。所述通信硬件可以被配置為將在計算節(jié)點所接收的消息引導至所述處理器,并且從所述處理器接收消息以便傳輸?shù)讲煌?jié)點。除了計算層外的層中的每個節(jié)點可以包括用于該結構中下一個較低層中的單元的切換節(jié)點。對于每個單元,該單元中的每個節(jié)點可以通過點對點鏈路連接到該單元中的每個其它節(jié)點,該單元中的每個節(jié)點可以通過點對點鏈路連接到用于該單元的本地切換節(jié)點,并且該單元中的每個節(jié)點可以通過用于該單元的本地廣播網(wǎng)絡連接到該單元中的每個其它節(jié)點和本地切換節(jié)點。所述切換節(jié)點每一個可以包括處理器和通信硬件。實施方式能夠實現(xiàn)以下優(yōu)勢中的一個或多個。層級三維(3-D)網(wǎng)絡拓撲允許簡單的尋址方案,其中路由固有地鏈接至網(wǎng)絡拓撲,促使以減少的等待時間進行快速的消息傳遞。所述網(wǎng)絡拓撲還提供了處理節(jié)點的緊密本地群組的好處,便利了本地等級的業(yè)務分布。所述網(wǎng)絡拓撲導致了用于點對點和廣播通信的低的跳數(shù)與節(jié)點比。該協(xié)議是流化的 (streamed),這允許切換節(jié)點在分組已經(jīng)在該切換節(jié)點處被完全接收之前轉發(fā)消息,進一步使得等待時間最小化。組播和廣播通信僅使用分組傳遞所必要的網(wǎng)絡層而并不用利用整個網(wǎng)絡。本發(fā)明的一個或多個實施例的細節(jié)在附圖和以下描述中所給出。本發(fā)明的其它特征、目標和優(yōu)勢將根據(jù)所述描述和附圖以及權利要求而變得顯而易見。


圖1圖示了具有網(wǎng)絡拓撲的示例網(wǎng)絡。圖2圖示了示例的層級樹形網(wǎng)絡。圖3圖示了示例的層級3-D網(wǎng)絡。圖4圖示了用于圖2的層級樹形網(wǎng)絡的示例尋址方案。圖5圖示了層級3-D網(wǎng)絡的2X2X2單元的示例尋址。圖6圖示了層級3-D網(wǎng)絡的2X4X4單元的示例尋址。圖7圖示了具有網(wǎng)絡拓撲的示例網(wǎng)絡。圖8圖示了示例的層級樹形網(wǎng)絡。圖9圖示了用于圖8的層級樹形網(wǎng)絡的示例尋址方案。圖10是使用圖4的尋址方案對在圖2的層級樹形網(wǎng)絡中的切換節(jié)點所接收的消息進行路由的示例過程的流程圖。圖11是使用圖4的尋址方案對源于圖2的層級樹形網(wǎng)絡中的計算節(jié)點的消息進行路由的示例過程的流程圖。圖12是示例的計算機系統(tǒng)的示意圖。相同的附圖標記在各圖中指示相同的要素。
具體實施例方式描述了一種具有包括節(jié)點的層級結構的網(wǎng)絡拓撲的網(wǎng)絡。在一些實施方式中,所述層級結構可以包括η個層η-1個切換節(jié)點層以及1個計算節(jié)點層。該結構中的每一層可以包括一個或多個單元,單元包括一組節(jié)點。一層內的每個單元可以具有與不同層中的單元相同或不同數(shù)量的節(jié)點。除了計算層外的層中的每個節(jié)點可以包括用于該結構中下一個較低層中的單元的切換節(jié)點。單元中的每個節(jié)點可以通過點對點鏈路連接到該單元中的每個其它節(jié)點以及該單元的本地切換節(jié)點。單元中的每個節(jié)點還可以通過用于該單元的本地廣播網(wǎng)絡連接到該單元中的每個其它節(jié)點以及本地切換節(jié)點。
所述網(wǎng)絡拓撲是層級(例如,樹形)網(wǎng)絡拓撲和全連接網(wǎng)絡拓撲的混合。在一些實施方式中,該層級結構中一層的每個單元具有2X2X2布置的八個完全連接的節(jié)點,其可以被形象化為三個維度中的每一個的每邊具有兩個節(jié)點的立方體網(wǎng)絡。可以使用簡單的尋址方案通過該3-D網(wǎng)絡對消息進行路由。單元本地的該3-D網(wǎng)絡可以通過該結構的層而分層級地重復以貫穿整個網(wǎng)絡保持相同的屬性。這種布置允許在不需要復雜路由表或占用大量CPU時間實現(xiàn)的其它復雜方案的情況下實現(xiàn)復雜網(wǎng)絡。圖1中圖示了網(wǎng)絡拓撲100的示例。具體地,圖1圖示了處于網(wǎng)絡拓撲100的層級結構中最底層的計算節(jié)點104的單元102。單元102的本地網(wǎng)絡拓撲由八個環(huán)繞的被稱作葉節(jié)點的計算節(jié)點104所形成。在一些實施方式中,每個計算節(jié)點104包括可操作以執(zhí)行一個或多個應用的指令的處理元件。在一些實施方式中,不同計算節(jié)點104包括不同的處理元件。在一些實施方式中,一些計算節(jié)點104包括不同或獨特的處理元件,而其余計算節(jié)點104則包括統(tǒng)一的處理元件。在一些實施方式中,一個或多個切換節(jié)點108包括例如用于業(yè)務管理的處理元件。每個計算節(jié)點104通過點對點鏈路106 (例如,高速節(jié)點對節(jié)點鏈路)連接到單元 102的每個其它計算節(jié)點104。每個計算節(jié)點104通過點對點鏈路110(例如,高速的切換至節(jié)點的鏈路)連接到下一個較高層中的單元的切換節(jié)點108。每個計算節(jié)點104還通過用于單元102的本地廣播網(wǎng)絡112連接到單元102的每個其它計算節(jié)點104以及切換節(jié)點 108。切換節(jié)點108可以將用于單元102的本地廣播網(wǎng)絡112橋接到網(wǎng)絡拓撲100的層級結構的其它單元的其它本地廣播網(wǎng)絡。本地廣播網(wǎng)絡112允許與單元102的所有計算節(jié)點 104或者單元102的計算節(jié)點104的子集進行通信。操作系統(tǒng)(OS)軟件可以遍布網(wǎng)絡在每個節(jié)點和切換進行分布。OS軟件可以包括本地服務以及系統(tǒng)級監(jiān)管功能。在一些實施方式中,每個計算節(jié)點104還通過以太網(wǎng)114 連接到單元102的每個其它計算單元104和切換節(jié)點108。以太網(wǎng)114可以被用于獨立于應用軟件的系統(tǒng)管理功能(例如,低數(shù)據(jù)速率系統(tǒng)維護和監(jiān)視)。以太網(wǎng)114上的通信示例包括與CPU溫度、時間同步和傳輸控制協(xié)議(TCP)相關的日志信息。在一些實施方式中,如果網(wǎng)絡拓撲100不包括以太網(wǎng)114,則系統(tǒng)管理消息可以在點對點鏈路(例如,節(jié)點到節(jié)點鏈路以及切換到節(jié)點的鏈路)上進行傳輸。在一些實施方式中,網(wǎng)絡拓撲100的層級結構中每一層的每個單元具有相同的節(jié)點布置。然而,對于在最低層之上的層,單元的每個節(jié)點是用于在下面的層中的單元的切換節(jié)點。例如,切換節(jié)點108是第二個最低層(g卩,層L= 1)中的單元的節(jié)點,并且用作最低層(即,層L = 0)中單元102的切換。在一些實施方式中,層中單元的切換節(jié)點完全通過點對點(即,切換到切換)鏈路進行連接。例如,第二個最低層中的單元的切換節(jié)點108通過切換到切換鏈路116連接到相同單元中的所有其它切換節(jié)點以及上一層中的單元的切換節(jié)點。如以上所提到的,在其它實施方式中,單元中的節(jié)點的數(shù)目可以跨層而有所變化。多維的層級可擴展網(wǎng)絡可以使用圖1的示例性網(wǎng)絡拓撲100。在層級結構中每一層的每個單元具有八個節(jié)點的2X2X2立方的本地3-D網(wǎng)絡拓撲的實施方式中,可以使用從{0,0,0}到{1,1,1}的3-D地址邏輯地在八位組內定位每個節(jié)點。也就是說,使用三個位在單元內尋址每個節(jié)點。該層級結構的最低層的計算節(jié)點的完整地址是被分為三位組的二進制數(shù)。所述二進制數(shù)的三個最低有效位(LSB)的組識別最低層的單元的特定計算節(jié)點(即,葉節(jié)點),而更高有效位的每個組則對應于該層級結構中較高層的特定切換節(jié)點。以下關于圖4-5更為詳細地描述對多維層級可擴展網(wǎng)絡進行尋址。所描述的多維層級網(wǎng)絡可以按照需要利用連續(xù)較大的層級層進行縮放以適應超級計算應用。所述多維層級網(wǎng)絡提供了超級規(guī)模的計算中所需要的有效且靈活的高速通信。例如,在單元的本地網(wǎng)絡拓撲內使用專用的點對點通信使得本地吞吐量最大化。用于單元的本地廣播網(wǎng)絡允許獨立于點對點鏈路的群組通信。每個切換節(jié)點是具有點對點和廣播鏈路的另一個單元的一部分,其提供遍及該靈活的網(wǎng)絡的點對點、組播和廣播通信。所述多維層級網(wǎng)絡可以被設計為去除系統(tǒng)開銷以便相對于成本和能耗而使得等待時間最小化并且使得性能最大化。例如,實現(xiàn)所述多維層級網(wǎng)絡的系統(tǒng)可以利用用于消息傳送的工業(yè)標準應用編程接口(API)提供以最小的軟件開銷實現(xiàn)的軟件應用。圖2圖示了示例性的層級樹形網(wǎng)絡200。該示例性的層級樹形網(wǎng)絡200圖示了觀看圖1的示例性網(wǎng)絡拓撲100的層級結構的一種方式。示例性的層級樹形網(wǎng)絡200包括η個層,所述η個層包括η_1個切換節(jié)點108的層以及1個計算節(jié)點104的層,其中η = 10。如所圖示的,計算節(jié)點104的層210是最低層(即,層L = O)。切換節(jié)點108的層210是較高的η-1 = 9個層(S卩,層L= 1,2,…, 9)。每個層L包括Hirt個節(jié)點,其中m表示單元中節(jié)點的數(shù)目并且是大于1的整數(shù)。在圖 2的示例中,單元中的節(jié)點數(shù)目m是8。因此,最低層的每個單元包括8個計算節(jié)點104,并且較高層的每個單元包括8個切換節(jié)點108。每個切換節(jié)點108作為下一個較低層210中單元的節(jié)點的切換。對于該n= 10且m = 8的示例,最低層(g卩,層L = O)包括81(1_° = 1,073,741,擬4個計算節(jié)點104。每個計算節(jié)點104可以包括可操作以執(zhí)行一個或多個軟件應用的指令的處理元件。為了圖2的簡明,僅圖示了一部分切換到節(jié)點鏈路110和切換至切換鏈路116。最低層的單元的計算節(jié)點104之間的節(jié)點到節(jié)點鏈路106以及較高層的單元的切換節(jié)點108 之間的切換至切換鏈路116沒有被圖示。除了層L= 1之外,僅圖示了來自切換節(jié)點108 的每一層210的一個子樹。廣播網(wǎng)絡112也沒有進行圖示。圖3圖示了示例性的層級3-D網(wǎng)絡300。示例性的層級3-D網(wǎng)絡300圖示了觀看圖1的示例性網(wǎng)絡拓撲100的層級結構的另一種方式。圖3圖示了示例性層級3-D網(wǎng)絡300 的節(jié)點的三個層310-312,所述節(jié)點包括層310、311中的切換節(jié)點(例如,切換節(jié)點108)以及層312中的計算節(jié)點(例如,計算節(jié)點104)。示例性的層級3-D網(wǎng)絡300可以包括附加的層(未示出)。為了圖3的簡明,僅圖示了層311和312中每一個的一部分。在該實施方式中,層級3-D網(wǎng)絡300中一層的每個單元320具有作為立方網(wǎng)絡的以2X2X2布置的8個完全連接的節(jié)點,其中三個維度的每一個中的每邊具有兩個節(jié)點。 在較高的兩層310和311中,每個節(jié)點(即,切換節(jié)點108)分別作為下一個較低層中單元 320的節(jié)點的切換,所述下一個較低層即層311和312。層的單元320的每個切換節(jié)點108 鏈接到相同層中相同單元320的每個其它切換節(jié)點108以及下一個較低層中單元320的每個節(jié)點。例如,層310中的單元320包括8個切換節(jié)點32加-11。切換節(jié)點32h_h中的每一個作為下一個下方層中所包括的單元的切換節(jié)點,所述下一個下方層即層311。在該示例中,切換節(jié)點32 作為包括8個節(jié)點32^-h的層311中的單元320的切換節(jié)點。8個節(jié)點32^-h也是切換節(jié)點,其中切換節(jié)點32^-h中的每一個作為下一個下方層即層312中包括的單元的切換節(jié)點。例如,切換節(jié)點324h作為具有8個節(jié)點326a-h的層312中所包括的單元320的切換節(jié)點。在該示例中,8個節(jié)點326a-h是計算節(jié)點。圖4圖示了用于圖2的層級樹形網(wǎng)絡200的示例性尋址方案400,該尋址方案可以通過包括處理器的聯(lián)網(wǎng)設備來實現(xiàn)。示例性的尋址方案400以四字節(jié)地址字為消息提供作為30位地址405 (即,從位0到位29)的目的地地址。30位地址405被分為10個3位的組 410,即位字段AddO,Addl,…,Add9。所述四字節(jié)地址字的兩個最高有效位(MSB)(即,位 30和位31)可以另外設置為供未來使用的保留位字段420。30位地址405的三個最低有效位(LSB)的組410 (即,位字段AddO)識別層級樹形網(wǎng)絡200的最低層中單元的特定計算節(jié)點104,而更高有效位的每個組410( S卩,位字段 Addl至Add9)對應于該層級結構中連續(xù)較高層中單元的特定切換節(jié)點108。也就是說,最低層L = 0中單元的8個計算節(jié)點104通過AddO進行尋址,而層L = 1至L = 9的切換節(jié)點108則分別通過Addl至Add9進行尋址。每個計算節(jié)點104完全通過整個30位地址405 (即,通過位字段AddO至Add9)進行尋址。給定層的每個切換節(jié)點108完全通過使用從該給頂層的位字段組410到MSB的組 410的部分地址進行尋址。例如,層L = 3的切換節(jié)點108完全通過位字段Add3至Add9進
行尋址。在一些實施方式中,每個消息分組包括具有多個字段的報頭,所述字段例如包括目的地地址、消息分組的大小、消息分組的校驗和以及源地址。所述報頭可以由操作系統(tǒng) (OS)軟件和硬件在數(shù)據(jù)傳輸時部分地置于數(shù)據(jù)之前。所述分組報頭提供完整傳遞分組所需的所有數(shù)據(jù)。所述校驗和可以由OS在進行發(fā)送時添加以提供整個分組有效的簡單校驗。 可以在目的地進行校驗。在一個示例中,所使用的校驗和是如互聯(lián)網(wǎng)協(xié)議(RFC971)中所使用的1的補碼和。保留的位字段420可以被用于地址范圍擴展,允許靈活的地址字數(shù)目同時為尋址方案400保持相同的整體結構。例如,四字節(jié)地址字的MSB(即,位31)可以是指示目的地地址是否完全由該四字節(jié)地址字所指定或者該四字節(jié)地址字中的目的地地址是否是多字目的地地址的高位部分的繼續(xù)位。后續(xù)的地址字也可以使用MSB來指示多字目的地地址的另一部分。所述四字節(jié)地址字的第二個MSB ( S卩,位30)可以指示目的地地址是否為點對點協(xié)議地址,或者目的地地址是否指定了目的地組(例如,多個節(jié)點)的描述符。如果第二個 MSB指示目的地地址指定了組描述符,則目的地地址的位可以包括目的地組的標識符。在一個實施方式中,如以下所描述的,節(jié)點的通信硬件可以使用組描述符來分配用于傳送消息的鏈路。使用示例性尋址方案400的消息路由不需要復雜的路由方案,例如復雜的路由表。對于從最低層的單元的源計算節(jié)點104所發(fā)送的單個目的地消息,在其上發(fā)送消息分組的鏈路是指向相同單元的其它七個對等計算節(jié)點104中的一個或者源計算節(jié)點104(例如,通過圖1的切換到節(jié)點鏈路110)所連接的切換節(jié)點108。如果位字段Addl至Add9的組410在源計算節(jié)點104的地址和消息分組的報頭中所指定的目的地計算節(jié)點104的地址之間是相等的,則消息在鏈路(例如,圖1的節(jié)點至節(jié)點的鏈路106)被發(fā)送到其它七個對等計算節(jié)點104中的一個。如果位字段Addl至Add9的組410在源計算節(jié)點104的地址和目的地計算節(jié)點104的地址之間不是相等的,則消息在鏈路上被發(fā)送到所連接的第二層的切換節(jié)點108。對于在切換節(jié)點108處的消息路由,執(zhí)行類似的地址位字段比較。例如,對于給頂層L的單元的給定切換節(jié)點108,在其上發(fā)送單個目的地消息分組的鏈路是指向給定切換節(jié)點108所連接到的層L+1的切換節(jié)點108(例如,通過圖1的切換至切換鏈路116),相同單元的其它七個對等切換節(jié)點108中的一個(例如,通過圖1的切換至切換的鏈路116),或者給定切換節(jié)點108所連接到的層L-I的八個節(jié)點中的一個。在其上發(fā)送消息分組的鏈路是通過將給定切換節(jié)點108的地址的位范圍Add(L)至Add9與目的地節(jié)點的地址的相應位范圍進行比較來確定的。以下關于圖10-11對消息的路由進一步進行描述。用于層級樹形網(wǎng)絡200的示例性尋址方案400針對點對點或組播而提供了低的跳數(shù)與節(jié)點比。在該示例性網(wǎng)絡200中,從單元的任意第一計算節(jié)點104所傳送的消息可以以最大18跳而到達不同單元的任意第二計算節(jié)點104。例如,從處于層L = 0的第一單元的第一計算節(jié)點104,消息采用九跳到達該層級結構的最高層(即,層L = 9),并且采用另外九跳到達最低層(即,層L = 0),以便被路由到最低層的第二單元的第二計算節(jié)點104。 然而,如果消息由于更高有效位的一個或多個組410在源計算節(jié)點104和目的地計算節(jié)點 104之間是共同的而不需要被路由到最高層,則該消息可以少于最多18跳而被路由。在一些實施方式中,四字節(jié)地址字是所接收的消息分組報頭的第一部分。所述四字節(jié)地址字可以后跟分組大小字段,其指示多少數(shù)據(jù)要傳送。該配置促成了流化鏈路協(xié)議, 允許任意切換節(jié)點108 —旦在接收到所述四字節(jié)地址字時并且在已經(jīng)在切換節(jié)點108完全接收消息分組之前開始轉發(fā)消息,除非分組由于擁塞而需要被緩存,否則這使得等待時間最小化。對于每跳兩個周期的等待時間,如果協(xié)議被流化并且消息分組無需進行緩存,則從源計算節(jié)點104開始發(fā)送消息到在目的地計算節(jié)點104開始接收消息的最大等待時間是36 個周期。圖5圖示了用于例如圖3的示例性層級3-D網(wǎng)絡300的層級3-D網(wǎng)絡的2X2X2 單元的示例性尋址500。該單元具有以2X2X2布置作為立方體網(wǎng)絡的八個完全連接的節(jié)點,其中在三個維度X、Y和Z的每一個中每邊具有兩個節(jié)點。可以使用從{0,0,0}到{1, 1,1}的3-D地址{X,Y,Z}在所述立方體網(wǎng)絡內邏輯地定位每個節(jié)點。也就是說,每個節(jié)點在單元內使用3個位進行尋址,每個位用于三個維度中的每一個。圖2的層級樹形網(wǎng)絡200圖示了通過在層之間垂直以及在單元內水平地簡單遍歷樹形網(wǎng)絡而從任意其它節(jié)點到達任意節(jié)點的情形。圖3的層級3-D網(wǎng)絡300圖示了可通過網(wǎng)絡獲得的復雜度和靈活性。實現(xiàn)層級3-D網(wǎng)絡拓撲的系統(tǒng)可以由層級樹形網(wǎng)絡200和層級3-D網(wǎng)絡300表示,并且可以使用圖4的尋址方案400,其中每個2X2X2單元的尋址是通過圖5的尋址500進行的。從層級樹形網(wǎng)絡200看,3位的地址字段可以識別單元的八個節(jié)點中的一個。從層級3-D網(wǎng)絡300看,3位的地址字段可以被用作本地立方體網(wǎng)絡的3-D 笛卡爾坐標上的索引。圖6圖示了用于層級3-D網(wǎng)絡的2X4X4單元的示例性尋址方案600。單元具有以2X4X4布置作為3-D網(wǎng)絡的32個完全連接的節(jié)點(沒有全部示出),其中X維度中每邊兩個節(jié)點而在Y和Z維度的每一個中每邊四個節(jié)點??梢允褂脧膡0,0,0,0,0}到{1,1, 1,1,1}的三維地址{Χ,Υ1,Υ2,Ζ1,Ζ2}在所述本地網(wǎng)絡內邏輯地定位每個節(jié)點。也就是說,每個節(jié)點在單元內使用五個位進行尋址X維度一個位,Y維度兩個位,以及Z維度兩個位。 雖然圖5和6圖示了用于層級3-D網(wǎng)絡的單元的兩種尋址示例(S卩,2X2X2和2X4X4布置),但是在層級3-D網(wǎng)絡拓撲中能夠實現(xiàn)用于其它3-D節(jié)點布置的不同尋址。在一些實施方式中,節(jié)點之間的一個或多個點對點鏈路可以被無效。例如,在利用用于層級網(wǎng)絡的2X4X4單元的示例性尋址600實現(xiàn)層級3-D網(wǎng)絡的系統(tǒng)上,如果在該系統(tǒng)上運行的應用僅需要每個單元18個節(jié)點,則所述2X4X4單元可以被連接為2 X 3 X 3單元,其中Y和Z維度中的節(jié)點之間的某些邏輯鏈路被無效。在一些實施方式中,層級網(wǎng)絡的所有層的單元具有相同的本地3-D網(wǎng)絡拓撲。在這些實施方式中,識別層的單元中的節(jié)點的每個地址位組具有相同數(shù)目的位。在一些實施方式中,層級網(wǎng)絡的不同層的單元可以具有不同的本地3-D網(wǎng)絡拓撲。在這些實施方式中,識別不同層的單元中的節(jié)點的地址位組可以具有不同數(shù)目的位。例如,最低層的計算節(jié)點的單元可以具有本地2X4X4網(wǎng)絡拓撲,其中單元的每個計算節(jié)點通過5位的地址字段(例如,{X,Y1,Y2,Z1,Z2})來識別,而較高層的切換節(jié)點的單元可以具有本地2X2X2網(wǎng)絡拓撲,其中單元的每個切換節(jié)點通過3位的地址字段(例如,{X,Y, Ζ})進行識別。層級網(wǎng)絡拓撲可以被實現(xiàn)為高于三的維度的網(wǎng)絡。例如,系統(tǒng)可以實現(xiàn)層級四維 (4-D)網(wǎng)絡拓撲。圖7圖示了可以具有四個維度的示例性網(wǎng)絡拓撲700。圖7圖示了處于網(wǎng)絡拓撲700的層級結構中最低層的計算節(jié)點704的單元702。 單元702的本地網(wǎng)絡拓撲由環(huán)繞的十六個計算節(jié)點704形成。在一個示例中,單元702的本地網(wǎng)絡拓撲可以是2X2X2X2網(wǎng)絡拓撲。每個計算節(jié)點704通過點對點鏈路706連接到單元702的每個其它計算節(jié)點704。 每個計算節(jié)點704通過點對點鏈路710連接到下一個較高層中的單元的切換節(jié)點708。每個計算節(jié)點704還通過用于單元702的本地廣播網(wǎng)絡712連接到單元702的每個其它計算節(jié)點704以及切換節(jié)點708。切換節(jié)點708可以將用于單元702的本地廣播網(wǎng)絡712橋接到網(wǎng)絡拓撲700的層級結構的其它單元的其它本地廣播網(wǎng)絡。在一些實施方式中,每個計算節(jié)點704還通過以太網(wǎng)(未示出)連接到單元702的每個其它計算節(jié)點704以及切換節(jié)點 708。圖8圖示了示例性的層級樹形網(wǎng)絡800。示例性的層級樹形網(wǎng)絡800圖示了查看圖7的示例性網(wǎng)絡拓撲700的層級結構的一種方式。在一個示例中,示例性層級樹形網(wǎng)絡 800中的每個單元的本地網(wǎng)絡拓撲可以是2X2X2X2網(wǎng)絡拓撲。示例性層級樹形網(wǎng)絡800包括切換節(jié)點708的一個層以及計算節(jié)點804的一個層。計算節(jié)點704的層是較低層,而切換節(jié)點708的層是較高層。示例性層級樹形網(wǎng)絡800 中一層的每個單元中有十六個節(jié)點。每個切換節(jié)點708作為較低層中單元的節(jié)點的切換。 對于該示例,較低層包括162 = 256個計算節(jié)點704。為了圖8的簡明,僅圖示了來自切換節(jié)點708的較高層的兩個子樹。因此,僅圖示了一部分切換到節(jié)點鏈路710。此外,較低層的單元的計算節(jié)點704之間的節(jié)點至節(jié)點鏈路以及較高層的單元的切換節(jié)點708之間的切換至切換鏈路沒有進行圖示。圖9圖示了用于圖8的層級樹形網(wǎng)絡800的示例性尋址方案900。示例性尋址方案900提供了作為一個字節(jié)的8位地址905 (例如,從位0到位7)的用于消息的目的地地址。8位地址905被分為兩個四位組910,即位字段AddO和Addl。如果層級樹形網(wǎng)絡800 的每個單元具有本地2X2X2X2網(wǎng)絡拓撲,則每個節(jié)點在單元內使用用于四個維度中每一個的一個位進行尋址。在一些實施方式中,用于圖8的層級樹形網(wǎng)絡800的尋址方案能夠使用多于一個的字節(jié),其中多余位(未示出)保留供未來使用。8位地址905的四個LSB的組910 (即,位字段AddO)識別層級樹形網(wǎng)絡800的較低層的單元的特定計算節(jié)點704,而四個MSB的組910(即,位字段Addl)則對應于該層級結構中較高層的特定切換節(jié)點708。每個計算節(jié)點704完全通過完整的8位地址905(即,通過位字段AddO和Addl)進行尋址。較高層的每個切換節(jié)點708完全通過使用MSB的位字段組910 (S卩,位字段Addl)的部分地址進行尋址。例如,圖8的切換節(jié)點810和820分別完全通過Addl= {0,0,0,0}和Addl= {1,1,1,1}進行尋址。圖8的計算節(jié)點825通過點對點鏈路連接到切換節(jié)點820,并且完全通過{Addl, Add2} = {1,1,1,1,0,0,0,1}進行尋址。圖10是使用圖4的尋址方案400對在圖2的層級樹形網(wǎng)絡200中的切換節(jié)點所接收的消息進行路由的示例性過程1000的流程圖。為了方便,參見圖1-2和4以及執(zhí)行過程1000的系統(tǒng)對示例性過程1000進行描述。示例性過程1000是用于網(wǎng)絡拓撲(例如,圖1的網(wǎng)絡拓撲100)的尋址系統(tǒng)。所述網(wǎng)絡拓撲具有包括η個層的節(jié)點的層級結構。所述η個層包括η-1個切換節(jié)點層以及1個計算節(jié)點層。該結構中的層由“L”表示,其為整數(shù),其中L = 0表示最低層而L = η-1表示最高層。對于在該結構的層L中的給定單元的切換節(jié)點處所接收的消息,示例性過程1000 將該消息向上路由至該結構中的一層(例如,路由至層L+1中直接連接到所述給定單元的切換節(jié)點的切換節(jié)點),向下路由至該結構中的一層(例如,層L-I中直接連接到所述切換節(jié)點的節(jié)點中的一個),或者路由至給定單元的其它對等切換節(jié)點中的一個。所述系統(tǒng)在該結構的層L的切換節(jié)點接收消息,其中所述消息包括報頭,所述報頭具有包括η個位組的第一地址(例如,目的地地址),并且所述切換節(jié)點具有包括n-L個位組的第二地址(步驟1010)。例如,所述尋址系統(tǒng)可以是圖4的示例性尋址方案400,其中每個計算節(jié)點的30位地址405包括10個位組410。所述系統(tǒng)確定所述第一地址的n-L個MSB組是否與第二地址的n_L個位組相匹配 (判定1020)。例如,所述系統(tǒng)可以通過對第一和第二地址各自的位組應用位掩碼來確定所述位組是否匹配。如果系統(tǒng)確定所述n-L個組匹配(判定1020的“是”分支),則所述系統(tǒng)將消息在點對點鏈路上轉發(fā)至該結構的層L-I中完全由第一地址的η-L+l個MSB組進行尋址的節(jié)點 (步驟1030)。例如,所述系統(tǒng)能夠向層級樹形網(wǎng)絡200的下一個級別將消息在切換至切換鏈路(例如,圖1-2的切換至切換鏈路116)上轉發(fā)到切換節(jié)點,或者在切換至節(jié)點鏈路(例如,圖1-2的切換至節(jié)點的鏈路110)上轉發(fā)到計算節(jié)點。所述系統(tǒng)確定接收所述消息的節(jié)點(S卩,層L-I中完全由第一地址的η-L+l個MSB 組進行尋址的節(jié)點)是否是目的地節(jié)點(判定1070)。例如,所述系統(tǒng)能夠確定接收消息的節(jié)點是否是完全由第一地址的所有位進行尋址的計算節(jié)點。如果所述系統(tǒng)確定接收消息的節(jié)點是目的地節(jié)點(判定1070的“是”分支),則示例性過程1000結束。如果所述系統(tǒng)確定接收消息的節(jié)點不是目的地節(jié)點(判定1070的“否”分支),則示例性過程1000從步驟1010進行重復,其中在層L-I的節(jié)點接收所述消息。如果所述系統(tǒng)確定所述n-L個組不匹配(判定1020的“否”分支),則系統(tǒng)確定第一地址的η-L-l個MSB組是否與第二地址的η-L-l個MSB組相匹配(判定1040)。如果系統(tǒng)確定所述η-L-l個組相匹配(判定1040的“是”分支),則系統(tǒng)將消息在點對點鏈路上轉發(fā)到該結構的層L中完全由第一地址的n-L個MSB組進行尋址的切換節(jié)點(步驟1050)。 例如,該系統(tǒng)可以在切換到切換鏈路(例如,圖1-2的切換至切換鏈路116)上將消息在層級樹形網(wǎng)絡200的層L的單元內水平轉發(fā)至相同單元的對等切換節(jié)點中的一個。示例性過程1000從步驟1010進行重復,其中在層L的節(jié)點接收所述消息。如果系統(tǒng)確定所述η-L-l個組不匹配(判定1040的“否”分支),則系統(tǒng)在點對點鏈路上將所述消息轉發(fā)至該結構的層L+1中完全由第二地址的η-L-l個MSB組進行尋址的切換節(jié)點(步驟1060)。例如,所述系統(tǒng)能夠向層級樹形網(wǎng)絡200的上一個級別將消息在切換至切換鏈路(例如,圖1-2的切換至切換鏈路116)上僅轉發(fā)到等L+1中直接連接到該單元的切換節(jié)點的切換節(jié)點。示例性過程1000從步驟1010進行重復,其中在層L+1的節(jié)點接收所述消息。圖11是使用圖4的尋址方案400將源于圖2的層級樹形網(wǎng)絡200中的計算節(jié)點的消息路由至目的地節(jié)點的示例性過程1100的流程圖。為了方便,參見圖1-2和4以及執(zhí)行過程1100的系統(tǒng)對示例性過程1100進行描述。示例性過程1100是用于網(wǎng)絡拓撲(例如,圖1的網(wǎng)絡拓撲100)的尋址系統(tǒng)。所述網(wǎng)絡拓撲具有包括η個層的節(jié)點的層級結構。所述η個層包括η-1個切換節(jié)點層以及1 個計算節(jié)點層。該結構中的層由“L”表示,其為整數(shù),其中L = 0表示最低層而L = η-1表示最高層。對于源于該結構的層L中的給定單元的計算節(jié)點的消息,示例性過程1100將該消息向上路由至該結構中的一層(即,路由至層L+1中直接連接到所述給定單元的計算節(jié)點的切換節(jié)點)或者路由至給定單元的其它對等計算節(jié)點中的一個。所述消息從該結構的層L的計算節(jié)點進行路由。所述消息包括報頭,所述報頭具有包括η個位組的第一地址(例如,目的地地址),并且所述計算節(jié)點具有包括η個位組的第二地址(例如,源地址)。例如,所述尋址系統(tǒng)可以是圖4的示例性尋址方案400,其中每個計算節(jié)點的30位地址405包括10個位組410。所述系統(tǒng)確定所述第一地址的η-1個MSB組是否與第二地址的n_l個MSB組相匹配(判定1120)。該檢查確定目的地節(jié)點是否處于給定單元中。如果所述系統(tǒng)確定所述η-1 個組相匹配(判定1120的“是”分支),這指示目的地節(jié)點處于給定單元中,則所述系統(tǒng)將消息在點對點鏈路上轉發(fā)至該結構的層L中完全通過第一地址的η個位組進行尋址的計算節(jié)點(步驟1130)。例如,所述系統(tǒng)能夠在層級樹形網(wǎng)絡200的層L的單元內在節(jié)點對節(jié)點鏈路(例如,圖1的節(jié)點到節(jié)點鏈路106)上將消息水平轉發(fā)至相同單元的對等計算節(jié)點中的一個。層L中接收轉發(fā)消息的計算節(jié)點是所述第一地址所指定的目的地地址。在步驟 1130之后,示例性過程1100結束。如果所述系統(tǒng)確定所述η-1個組不匹配(判定1120中的“否”分支),這指示目的地節(jié)點處于不同單元中,則所述系統(tǒng)將消息在點對點鏈路上轉發(fā)至該結構的層L+1中完全由第二地址的η-1個MSB組進行尋址的切換節(jié)點(步驟1140)。例如,所述系統(tǒng)能夠向層級樹形網(wǎng)絡200的上一個級別將消息在切換至節(jié)點鏈路(例如,圖1-2的切換至節(jié)點鏈路110)上僅轉發(fā)到等L+1中直接連接到該單元的計算節(jié)點的切換節(jié)點。示例性過程1100繼續(xù)進行至圖10的步驟1010,其中在層L+1的切換節(jié)點接收消息。在一些實施方式中,所述系統(tǒng)使用來自服務器的以太網(wǎng)鏈路進行初始化(例如, 引導)。該初始化過程可以在配置文件中指定系統(tǒng)的網(wǎng)絡拓撲的情況下傳達節(jié)點地址和級別信息。在一些實施方式中,所述系統(tǒng)能夠自動檢測網(wǎng)絡拓撲。所述系統(tǒng)能夠驗證實際系統(tǒng)與所指定的網(wǎng)絡拓撲相匹配。在一些實施方式中,系統(tǒng)能夠使用一個或多個所連接的半導體設備利用層級3-D 網(wǎng)絡拓撲(例如,層級樹形網(wǎng)絡200和層級3-D網(wǎng)絡300所表示的網(wǎng)絡拓撲)進行設計。例如,所述系統(tǒng)可以在多個可編程邏輯設備上實現(xiàn),諸如用于每個節(jié)點的現(xiàn)場可編程門陣列 (FPGA)。在一些實施方式中,每個節(jié)點利用專用集成電路(ASIC)來實現(xiàn)。在其它實施方式中,多個節(jié)點(例如,八個節(jié)點)的每個單元利用ASIC來實現(xiàn),在用于該單元的ASIC內集中了單元的所有點對點通信鏈路,在單元內提供快速的本地通信。在一些實施方式中,系統(tǒng)的一個或多個節(jié)點包括控制器、處理器和存儲器。在一些實施方式中,多個節(jié)點(例如,作為集線器而被八個計算節(jié)點所環(huán)繞的一個切換節(jié)點)的控制器、處理器和存儲器被集成在硅晶片的一個或多個晶元上。在一些實施方式中,系統(tǒng)的每個計算節(jié)點包括例如中央處理單元(CPU)的處理器以及例如實現(xiàn)為控制器的通信硬件。在鏈路上從其它節(jié)點所接收的業(yè)務可以通過給定計算節(jié)點的通信硬件而被傳遞至給定計算節(jié)點的處理器??梢允褂盟鐾ㄐ庞布能浖勺x寄存器對業(yè)務進行監(jiān)視以收集與鏈路條件相關的統(tǒng)計。可以通過給定計算節(jié)點的通信硬件來發(fā)送來自給定計算節(jié)點的業(yè)務。例如,如果業(yè)務的目的地是單個點,則給定計算節(jié)點的通信硬件能夠適當?shù)貙⒃摌I(yè)務路由至相同單元的另一個計算節(jié)點或者連接到給定計算節(jié)點的切換節(jié)點。如果所述業(yè)務的目的地是多個點(例如,針對節(jié)點組的組播),則處理器軟件能夠使用組描述符來指派用于發(fā)送數(shù)據(jù)的鏈路,其中所述鏈路可以是到其它節(jié)點的鏈路或者廣播網(wǎng)絡上的鏈路。給定計算節(jié)點的通信硬件接著在所指派的鏈路上發(fā)送數(shù)據(jù)。在一些實施方式中,計算節(jié)點的通信硬件被實現(xiàn)為FPGA。在一些實施方式中,所述系統(tǒng)的一個或多個切換節(jié)點包括處理器和通信硬件。在給定切換節(jié)點處接收的業(yè)務可以由給定切換節(jié)點的通信硬件在適當鏈路上進行轉發(fā)。在給定切換節(jié)點處接收的組業(yè)務可以由給定切換節(jié)點的處理器進行解釋并且由給定切換節(jié)點的通信硬件在根據(jù)組描述符指派的鏈路上進行轉發(fā)。在一些實施方式中,在切換節(jié)點或計算節(jié)點,節(jié)點的通信硬件能夠在節(jié)點處接收到目的地地址時并且在整個分組到達之前開始發(fā)送分組。包括分組的目的地地址和大小作為消息報頭的前兩個要素便利了該過程。由于所有的通信鏈路都能夠以相同的數(shù)據(jù)速率運行,所以在數(shù)據(jù)到達速率和數(shù)據(jù)傳輸速率之間沒有差別。分組的檢查能夠在到達目的地時進行??梢蕴峁┫冗M先出(FIFO)數(shù)據(jù)結構以允許在系統(tǒng)接近或正在過載時的擁塞期間進行消息的緩存。FIFO的使用數(shù)能夠向分布式的OS軟件指示需要改變應用的分布。例如, 如果對每個分組使用一個FIFO,則指示了特定鏈路的過度使用并且OS可以采取行動以緩解瓶頸。例如,應用的分布能夠由OS軟件動態(tài)改變。在一些實施方式中,消息分組的傳輸由計算節(jié)點的處理器執(zhí)行。這允許從一個節(jié)點發(fā)送到另一個節(jié)點的數(shù)據(jù)從已經(jīng)產生了該數(shù)據(jù)的緩沖直接發(fā)送,置于要利用該數(shù)據(jù)的緩沖中,而切換節(jié)點的處理器不必復制該數(shù)據(jù),由此改善了處理時間。也就是說,OS軟件不復制數(shù)據(jù),這提高了效率,原因在于軟件復制要求兩個存儲器總線訪問一一個用于讀而一個用于寫,并且典型地,數(shù)據(jù)必須從存儲器取出到高速緩存并且被復制到另一個高速緩存,而所述高速緩存隨后需要被刷新。與之相比,這里所描述的系統(tǒng)能夠使用節(jié)點處的OS硬件使得數(shù)據(jù)落入存儲器中。用來接收數(shù)據(jù)的存儲器緩沖可以預先進行選擇并準備接收數(shù)據(jù)。如果緩沖出于任何原因而沒有準備好,則OS軟件仍然能夠接收該數(shù)據(jù),盡管可能需要進行復制。在一些實例中,應用能夠確定是否有為該應用所準備的數(shù)據(jù),并接著請求針對該數(shù)據(jù)的指針而并不是請求OS將該數(shù)據(jù)復制到應用的緩沖。在一些實施方式中,當分組被調度以便從計算節(jié)點進行發(fā)送時,應用向OS進行調用以將分組的控制傳遞給OS以便進行發(fā)送。在示例性的實施方式中,計算節(jié)點包括應用處理器和OS處理器。OS跨整個網(wǎng)絡進行分布并且劃分在硬件和軟件之間。被發(fā)送的消息從應用被傳遞至應用處理器上運行的OS樁軟件。分組接著被傳遞至節(jié)點上的OS硬件,其由 OS處理器上運行的OS軟件進行管理。雖然該示例使用了兩個處理器,但并非要求如此。在一些實施方式中,節(jié)點處的OS硬件被設計為與多個具有FPGA的處理器進行對接,并且在以上示例中,功能劃分在FPGA及其板上處理器之間。通過將用于分組傳輸?shù)挠布傻接嬎愎?jié)點的存儲器管理硬件中,OS硬件和軟件能夠在應用指示分組準備好進行發(fā)送時訪問數(shù)據(jù)存儲器。所述數(shù)據(jù)存儲器訪問是處理器透明的,允許處理器在OS軟件發(fā)送分組的同時執(zhí)行其它任務。在另一種示例性實施方式中, 高速緩存控制器被集成到分組硬件中,使得數(shù)據(jù)從高速緩存存儲器發(fā)送或者接收到高速緩存存儲器而不是主存儲器。所述高速緩存控制器被用來向和從主存儲器移動數(shù)據(jù)。從源計算節(jié)點傳送到目的地計算節(jié)點的分組可以穿過一個或多個中間切換節(jié)點。 在中間切換節(jié)點不需要復制操作,這是因為所述中間切換節(jié)點的通信硬件基于作為消息分組的第一部分所接收的目的地地址字段而確定在哪條鏈路上傳送到來的消息。只要所確定的鏈路可用,這就允許中間切換節(jié)點在所確定的鏈路上開始轉發(fā)分組而無需復制消息。在一些實施方式中,在所確定的鏈路正在使用的情況下使用FIFO數(shù)據(jù)結構以防止分組丟失。 與之相比,在傳統(tǒng)網(wǎng)絡中,由于多個消息可能需要在單條鏈路上進行傳送而通常需要復雜的路由(例如,使用路由表)。復雜的路由經(jīng)常需要在從分組報頭解碼出目的地地址并且消息被轉發(fā)之前臨時復制所述消息。當分組被調度以在計算節(jié)點進行接收時,應用能夠預見到到達的分組并且在計算節(jié)點的存儲器中為所述分組分配數(shù)據(jù)緩沖。計算節(jié)點的分組傳輸硬件(例如,通信硬件或控制器,其例如利用FPGA、ASIC或硅晶片實現(xiàn))能夠將分組置于所分配的數(shù)據(jù)緩沖中。如果應用沒有預見到到達的分組,則OS軟件可以在計算節(jié)點的存儲器中為分組指派數(shù)據(jù)緩沖。當應用軟件進行調用以訪問分組數(shù)據(jù)時,計算節(jié)點的存儲器管理硬件能夠將所述分組置于所指派的數(shù)據(jù)緩沖中供應用訪問。因此,分組數(shù)據(jù)不需要從一個存儲器區(qū)域復制到另一個存儲器區(qū)域,相反,數(shù)據(jù)可以被放入存儲器而無需軟件復制,由此減少了等待時間并提高了性能。存儲器復制操作每個字花費兩個存儲器訪問,即一個讀訪問和一個寫訪問。這里所描述的零復制方案消除了這些存儲器訪問,減少了分組傳輸?shù)奶幚頃r間。此外,在傳統(tǒng)系統(tǒng)中,計算節(jié)點的處理器在存儲器復制期間將無法使用。與之相比,在所描述的系統(tǒng)中,計算節(jié)點保持可用。在具有密集分組發(fā)送的系統(tǒng)中的這兩種因素(即,存儲器訪問和處理器的不可使用)是系統(tǒng)中寬帶損失的主要原因。圖12是示例性計算機系統(tǒng)1200的示意圖。系統(tǒng)1200可以被用于執(zhí)行以上所描述的動作和方法。采用以上所描述的網(wǎng)絡拓撲的系統(tǒng)的部分或方面可以利用示例性計算機系統(tǒng)1200的一個或多個元件來實現(xiàn)。系統(tǒng)1200可以包括處理器1218、存儲器1216、存儲設備1252以及輸入/輸出設備12M。組件1218、1216、1252和12M中的每一個使用系統(tǒng)總線1256進行互連。處理器1218能夠處理系統(tǒng)1200內的指令。這些指令能夠實現(xiàn)以上所描述的系統(tǒng)、組件和技術的一個或多個方面。在一些實施方式中,處理器1218是單線程處理器。在其它實施方式中,處理器1218是多線程處理器。處理器1218可以包括多個處理核心,并且能夠處理存儲在存儲器1216中或存儲設備1252上的指令以在輸入/輸出設備12M上顯示用戶界面的圖形信息。存儲器1216是存儲系統(tǒng)1200內的信息的諸如易失性或非易失性的計算機可讀介質。例如,存儲器1216能夠存儲與網(wǎng)絡路由功能相關的過程。存儲設備1252能夠為系統(tǒng) 1200提供持久性存儲。存儲設備1252可以包括軟盤設備、硬盤設備、光盤設備或帶設備,或者其它適當?shù)某志眯源鎯橘|。存儲設備1252可以存儲以上所描述的各種數(shù)據(jù)庫。輸入 /輸出設備12M為系統(tǒng)1200提供輸入/輸出操作。輸入/輸出設備12M可以包括鍵盤、 指示設備以及用于顯示圖形用戶界面的顯示單元。圖12所示的計算機系統(tǒng)僅是一個示例。通常,該說明書中所描述的主題和操作的實施例可以以數(shù)字電子電路來實現(xiàn),或者以包括該說明書中所公開的結構及其結構等同物的計算機軟件、固件或硬件來實現(xiàn),或者以它們中一個或多個的組合來實現(xiàn)。該說明書中所描述主題的實施例可以被實現(xiàn)為在計算機存儲介質上編碼以便由數(shù)據(jù)處理裝置執(zhí)行或者控制其操作的一個或多個計算機程序,即計算機程序指令的一個或多個模塊??商鎿Q地或除此之外,程序指令可以編碼在人工生成的傳播信號中,例如機器生成的電、光或電磁信號,其被生成以對信息進行編碼以便傳輸?shù)竭m當接收器裝置供數(shù)據(jù)處理裝置執(zhí)行。所述計算機存儲介質可以是計算機可讀存儲設備、計算機可讀存儲基片、隨機或串行訪問存儲器陣列或設備,或者它們中一個或多個的組合,或者包括于其中。術語“數(shù)據(jù)處理裝置”包含用于處理數(shù)據(jù)的所有裝置、設備和機器,例如包括可編程處理器、計算機,或者多個處理器或計算機。除了硬件之外,所述裝置可以包括為所討論的計算機程序創(chuàng)建執(zhí)行環(huán)境的代碼,例如構成處理器固件、協(xié)議棧、數(shù)據(jù)庫管理系統(tǒng)、操作系統(tǒng)或者它們中一個或多個的組合的代碼。計算機程序(也被稱作程序、軟件、軟件應用、腳本或代碼)可以以任意形式的編程語言進行編寫,包括編譯或解釋語言,或者聲明或過程語言,并且其可以被配置為任意形式,包括作為獨立程序或者作為適于在計算環(huán)境中使用的模塊、組件、子程序或其它單元。 計算機程序不必對應于文件系統(tǒng)中的文件。程序可以存儲在保持其它程序或數(shù)據(jù)的文件的一部分中(例如,標記語言文檔中所存儲的一個或多個腳本),存儲在專用于所討論程序的單個文件中,或者存儲在多個協(xié)同文件(例如,存儲一個或多個模塊、子程序或代碼部分的文件)中。計算機程序可以被部署為在一臺計算機上執(zhí)行,或者在位于一個地點或跨多個地點分布并且通過通信網(wǎng)絡進行互連的多臺計算機上執(zhí)行。
該說明書中所描述的過程和邏輯流程可以由一個或多個可編程處理器來執(zhí)行,所述可編程處理器通過對輸入數(shù)據(jù)進行操作并且生成輸出來執(zhí)行一個或多個計算機程序以執(zhí)行功能。所述過程和邏輯流程還可以由專門用途的邏輯電路來執(zhí)行,并且裝置也可以被實現(xiàn)為專門用途的邏輯電路,所述邏輯電路例如FPGA或ASIC。適于執(zhí)行計算機程序的處理器例如包括通用和專用的微處理器,以及任意類型的數(shù)字計算機的任意一個或多個處理器。通常,處理器將從只讀存儲器或隨機存取存儲器或者其二者接收指令和數(shù)據(jù)。計算機的實質性元件是用于執(zhí)行指令的處理器以及用于存儲指令和數(shù)據(jù)的一個或多個存儲器。通常,計算機還將包括一個或多個用于存儲數(shù)據(jù)的大型存儲設備或者操作耦合到所述大型存儲設備以從接收數(shù)據(jù)或向其傳輸數(shù)據(jù)或者其二者,所述大型存儲設備例如磁、磁光盤或光盤。然而,計算機無需具有這樣的設備。此外,計算機可以嵌入另一個設備之中,所述設備例如移動電話、個人數(shù)字助理(PDA)、移動音頻或視頻播放器、游戲控制臺、全球定位系統(tǒng)(GPQ接收器,僅舉出幾個示例。適于存儲計算機程序指令和數(shù)據(jù)的計算機可讀介質包括所有形式的非易失性存儲器、介質和存儲器設備,例如包括半導體存儲器設備,例如EPROM、EEPROM和閃存設備;磁盤,例如內部硬盤或可移動盤;磁光盤;以及⑶ROM和DVD-ROM盤。處理器和存儲器可以被補充專用邏輯電路或者合并于其中。為了提供與用戶的交互,該說明書中所描述主題的實施例可以在具有顯示設備以及鍵盤和指示設備的計算機上實現(xiàn),所述顯示設備例如CRT(陰極射線管)或LCD (液晶顯示)監(jiān)視器,用于向用戶顯示信息,所述指示設備例如用戶能夠通過其向計算機提供輸入的鼠標或軌跡球。也可以使用其它類型的設備來提供與用戶的交互;例如提供給用戶的反饋可以是任意形式的感知反饋,例如視覺反饋、聽覺反饋或觸覺反饋;并且來自用戶的輸入可以以任意形式被接收,包括聲音、語音或觸覺輸入。該說明書中所描述主題的實施例可以在計算系統(tǒng)中實現(xiàn),所述計算機系統(tǒng)包括例如作為數(shù)據(jù)服務器的后端組件,或者包括例如應用服務器的中間件組件,或者包括例如客戶端計算機的前端組件,或者一個或多個這樣的后端、中間件或前端組件的任意組合,所述客戶端計算機具有圖形用戶界面或web瀏覽器,用戶能夠通過其與本說明書所描述主題的實施方式進行交互。所述系統(tǒng)的組件可以通過例如通信網(wǎng)絡的任意形式或介質的數(shù)字數(shù)據(jù)通信進行互連。通信網(wǎng)絡的示例包括局域網(wǎng)(LAN)和廣域網(wǎng)(WAN),例如互聯(lián)網(wǎng)。計算系統(tǒng)可以包括客戶端和服務器??蛻舳撕头掌魍ǔ1舜诉h離并且典型地通過通信網(wǎng)絡進行交互。客戶端和服務器的關系源自于在相應計算機上運行并且彼此具有客戶端-服務器關系的計算機程序。雖然本說明書包含了許多特定的實施方式細節(jié),但是這些不應當被理解為對于任意發(fā)明或可要求保護的范圍的限制,而是作為可特定于特定發(fā)明的特定實施例的特征的描述。該說明書中以分立實施例的背景中描述的某些特征也可以組合在單個實施例中實施。 相反,在單個實施例的背景中描述的各種特征也可以在多個實施例中單獨實施或者以任意適當?shù)淖咏M合來實施。此外,雖然特征可以在以上被描述為以某些組合進行工作,甚至最初要求這樣,但是來自所要求的組合的一個或多個特征在一些情況下可以從所述組合中排除,并且所要求的組合可以針對于子組合或者子組合的變化形式。類似地,雖然操作在圖中以特定順序描繪,但是這不應當被理解為要求這樣的操作以所示出的特定順序或連續(xù)順序來執(zhí)行,或者所圖示的所有操作都要被執(zhí)行才能實現(xiàn)預期的結果。在某些環(huán)境中,多任務和并行處理可能是有益的。此外,以上所描述實施例中各種系統(tǒng)組件的分離不應當被理解為在所有實施例中都要求這樣的分離,并且應當理解的是,所描述的程序組件和系統(tǒng)通常能夠在單個軟件產品中被集成在一起或者打包到多個軟件產品中。 已經(jīng)對本發(fā)明的多個實施例進行了描述。然而,應當理解的是,可以進行各種修改而并不背離本發(fā)明的精神和范圍。因此,其它實施例也落入權利要求的范圍之內。
權利要求
1.一種聯(lián)網(wǎng)設備,包括節(jié)點的層級結構,所述節(jié)點的層級結構包括η個層,所述η個層包括η-1個切換節(jié)點層以及1個計算節(jié)點層,其中L表示所述層級結構中的層并且為整數(shù),其中L = 0表示最低層而L = η-1表示最高層;和處理器,所述處理器用于對在分組中所接收的η個位組進行處理,其中每個計算節(jié)點完全通過所述η個位組進行尋址,并且層L的每個切換節(jié)點完全通過n-L個最高有效位組進行尋址。
2.如權利要求1所述的聯(lián)網(wǎng)設備,其中所述η個位組中的每一個包括相同數(shù)量的位。
3.如權利要求1所述的聯(lián)網(wǎng)設備,其中每一層包括一個或多個節(jié)點單元,并且每個單元包括本地2X2X2立方體網(wǎng)絡,其中在三個維度X、y和Z的每一個中的每條邊具有兩個節(jié)點;并且使用范圍從|0,0,0}到{1,1,1}的三維地址{x,y,z}在所述立方體網(wǎng)絡內邏輯地定位每個節(jié)點,其中邏輯地定位所述立方體網(wǎng)絡內的每個節(jié)點的所述三維地址包括所述η個位組中的一個。
4.如權利要求1所述的聯(lián)網(wǎng)設備,其中每一層包括一個或多個節(jié)點單元,并且每個單元包括本地2 X 4 X 4網(wǎng)絡,其中在χ維度中每條邊具有兩個節(jié)點并且在y和ζ維度中的每一個中的每條邊具有四個節(jié)點;并且使用范圍從{0,0,0,0,0}到{1,1,1,1,1}的三維地址{x, yl, y2, zl, z2}在所述本地網(wǎng)絡內邏輯地定位每個節(jié)點,其中邏輯地定位所述本地網(wǎng)絡內的每個節(jié)點的所述三維地址包括所述η個位組中的一個。
5.一種在網(wǎng)絡中路由分組的方法,所述網(wǎng)絡具有以包括η個層的節(jié)點層級結構為特征的拓撲,所述η個層包括η-1個切換節(jié)點層以及1個計算節(jié)點層,其中L表示所述結構中的層并且為整數(shù),其中L = 0表示最低層而L = η-1表示最高層,所述方法包括在所述結構的層L的切換節(jié)點接收分組,所述分組包括報頭,所述報頭具有包括η個位組的第一地址,所述切換節(jié)點具有包括n-L個位組的第二地址;和基于所述第一地址和所述第二地址的比較將所述分組轉發(fā)到層L、層L+1或層L-I中的節(jié)點。
6.如權利要求5所述的方法,其中如果所述第一地址的n-L個最高有效位組與所述第二地址的n-L個位組相匹配,則在點對點鏈路上將所述消息轉發(fā)至所述結構的層L-I中完全由所述第一地址的η-L+l個最高有效位組所尋址的節(jié)點;如果所述n-L個組不相匹配但是所述第一地址的η-L-l個最高有效位組與所述第二地址的η-L-l個最高有效位組相匹配,則在點對點鏈路上將所述消息轉發(fā)至所述結構的層L 中完全由所述第一地址的n-L個最高有效位組所尋址的切換節(jié)點;并且如果所述第一地址的所述η-L-l個最高有效位組與所述第二地址的所述η-L-l個最高有效位組不匹配,則在點對點鏈路上將所述消息轉發(fā)至所述結構的層L+1中完全由所述第二地址的所述η-L-l個最高有效位組所尋址的切換節(jié)點。
7.—種在網(wǎng)絡中路由分組的方法,所述網(wǎng)絡具有以包括η個層的節(jié)點層級結構為特征的拓撲,所述η個層包括η-1個切換節(jié)點層以及1個計算節(jié)點層,其中L表示所述結構中的層并且為整數(shù),其中L = 0表示最低層而L = n-1表示最高層,所述方法包括將分組從層L的計算節(jié)點傳送到層L的第二計算節(jié)點或者層L+1的切換節(jié)點,所述分組包括具有包括η個位組的第一地址的報頭,并且所述計算節(jié)點具有包括η個位組的第二地址,其中傳送是基于所述第一地址和所述第二地址的比較。
8.如權利要求7所述的方法,其中如果所述第一地址的n-1個最高有效位組與所述第二地址的n-1個最高有效位組相匹配,則在點對點鏈路上將所述消息轉發(fā)至所述結構的層L中完全由所述第一地址的所述η 個位組所尋址的所述第二計算節(jié)點;并且如果所述n-1個組不相匹配,則在點對點鏈路上將所述消息轉發(fā)至所述結構的層L+1 中完全由所述第二地址的所述n-1個最高有效位組所尋址的切換節(jié)點。
全文摘要
描述了用于在網(wǎng)絡中尋址和/或路由分組的方法和裝置。網(wǎng)絡中的聯(lián)網(wǎng)設備可以包括節(jié)點的層級結構和處理器。節(jié)點的層級結構包括n個層,所述n個層包括n-1個切換節(jié)點層以及1個計算節(jié)點層。L表示所述層級結構中的層并且其為整數(shù),其中L=0表示最低層而L=n-1表示最高層。聯(lián)網(wǎng)設備可以包括被配置為對在分組中所接收的n個位組進行處理的處理器,其中每個計算節(jié)點完全通過所述n個位組進行尋址,而層L的每個切換節(jié)點完全通過n-L個最高有效位組進行尋址。
文檔編號H04Q3/64GK102439915SQ201080022623
公開日2012年5月2日 申請日期2010年3月25日 優(yōu)先權日2009年3月26日
發(fā)明者羅納爾德·邁克爾·亨利, 韋羅妮卡·弗朗西絲·梅里菲爾德 申請人:超級計算公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
阿荣旗| 南丰县| 宜章县| 犍为县| 萍乡市| 湖南省| 宁城县| 合阳县| 盐源县| 郎溪县| 中西区| 灵川县| 罗甸县| SHOW| 朝阳区| 茌平县| 志丹县| 宝丰县| 云阳县| 包头市| 建宁县| 宁明县| 临泉县| 邹城市| 花莲市| 龙泉市| 天峻县| 兰考县| 招远市| 宾川县| 秀山| 察雅县| 彭山县| 福清市| 龙陵县| 榆社县| 鲁山县| 光泽县| 博野县| 探索| 克什克腾旗|