專利名稱:用于分組路由的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及電子通信。
背景技術(shù):
網(wǎng)絡(luò)節(jié)點(diǎn)和鏈路的布置由網(wǎng)絡(luò)拓?fù)鋪?lái)定義。網(wǎng)絡(luò)拓?fù)淠軌虼_定網(wǎng)絡(luò)節(jié)點(diǎn)之間的物理和邏輯互連,其中每個(gè)節(jié)點(diǎn)具有到一個(gè)或多個(gè)其它節(jié)點(diǎn)的一個(gè)或多個(gè)鏈路。網(wǎng)絡(luò)的物理拓?fù)溆晒?jié)點(diǎn)之間的物理連接的配置所確定。該配置可以通過(guò)例如環(huán)、星、線、晶格、超立方體、環(huán)的多維幾何形狀來(lái)表示。網(wǎng)絡(luò)的邏輯拓?fù)溆晒?jié)點(diǎn)之間的數(shù)據(jù)流動(dòng)所所確定。處理節(jié)點(diǎn)的網(wǎng)絡(luò)可以被用于超級(jí)計(jì)算應(yīng)用。例如,大型超級(jí)計(jì)算應(yīng)用可以被分為在網(wǎng)絡(luò)的不同處理節(jié)點(diǎn)上運(yùn)行的不同指令子集。為了減少等待時(shí)間并提高效率,跨整個(gè)網(wǎng)絡(luò)的業(yè)務(wù)分布以及本地級(jí)別的節(jié)點(diǎn)間的最大通信是優(yōu)選的。典型地,網(wǎng)絡(luò)的尋址和路由方案的復(fù)雜度隨著網(wǎng)絡(luò)拓?fù)涞膹?fù)雜度的增加而增加。 復(fù)雜的路由表會(huì)需要大量的中央處理單元(CPU)時(shí)間來(lái)實(shí)現(xiàn)。傳統(tǒng)的分組路由要求在能夠?qū)Ψ纸M報(bào)頭中的目的地地址能夠進(jìn)行解碼并且能夠轉(zhuǎn)發(fā)分組之前必須在節(jié)點(diǎn)完全接收該分組,這導(dǎo)致了等待時(shí)間。等待時(shí)間也會(huì)隨著復(fù)雜的尋址方案而增加。復(fù)雜的網(wǎng)絡(luò)拓?fù)鋾?huì)具有高的跳數(shù)與節(jié)點(diǎn)比,其中每一跳引入了分組等待時(shí)間的若干個(gè)時(shí)鐘周期。
發(fā)明內(nèi)容
本說(shuō)明書(shū)描述了與網(wǎng)絡(luò)拓?fù)湎嚓P(guān)的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品。通常,在一個(gè)方面,本發(fā)明公開(kāi)了一種包括節(jié)點(diǎn)的層級(jí)結(jié)構(gòu)的網(wǎng)絡(luò)。節(jié)點(diǎn)的結(jié)構(gòu)包括η個(gè)層,所述η個(gè)層包括η-1個(gè)切換(switch)節(jié)點(diǎn)層以及1個(gè)計(jì)算節(jié)點(diǎn)層。該結(jié)構(gòu)中的每一層包括分組成單元的Hilri個(gè)節(jié)點(diǎn),其中m表示一個(gè)單元中節(jié)點(diǎn)的數(shù)目并且為大于1的整數(shù)。L表示結(jié)構(gòu)中的層并且為整數(shù),其中L = 0表示最低層而L = η-1表示最高層。除了計(jì)算層外的層中的每個(gè)節(jié)點(diǎn)包括用于該結(jié)構(gòu)中下一個(gè)較低層中的單元的切換節(jié)點(diǎn)。對(duì)于每個(gè)單元,該單元中的每個(gè)節(jié)點(diǎn)通過(guò)點(diǎn)對(duì)點(diǎn)鏈路連接到該單元中的每個(gè)其它節(jié)點(diǎn),該單元中的每個(gè)節(jié)點(diǎn)通過(guò)點(diǎn)對(duì)點(diǎn)鏈路連接到用于該單元的本地切換節(jié)點(diǎn),并且該單元中的每個(gè)節(jié)點(diǎn)通過(guò)用于該單元的本地廣播網(wǎng)絡(luò)連接到該單元中的每個(gè)其它節(jié)點(diǎn)以及本地切換節(jié)點(diǎn)。所述網(wǎng)絡(luò)的實(shí)施方式可以包括以下特征中的一個(gè)或多個(gè)。每個(gè)計(jì)算節(jié)點(diǎn)可以包括可操作以執(zhí)行一個(gè)或多個(gè)應(yīng)用的指令的處理元件。該結(jié)構(gòu)中的最低層可以是計(jì)算節(jié)點(diǎn)層并且可以包括mn個(gè)計(jì)算節(jié)點(diǎn)。單元中的每個(gè)節(jié)點(diǎn)可以通過(guò)以太網(wǎng)連接到單元中的每個(gè)其它節(jié)點(diǎn)以及本地切換節(jié)點(diǎn)。每個(gè)計(jì)算節(jié)點(diǎn)可以包括處理元件、控制器和存儲(chǔ)器。每個(gè)計(jì)算節(jié)點(diǎn)可以包括實(shí)現(xiàn)為現(xiàn)場(chǎng)可編程門(mén)陣列的通信硬件。通常,在另一方面,本發(fā)明公開(kāi)了一種包括節(jié)點(diǎn)的層級(jí)結(jié)構(gòu)的網(wǎng)絡(luò),所述層級(jí)結(jié)構(gòu)包括η個(gè)層。所述η個(gè)層包括η-1個(gè)切換節(jié)點(diǎn)層以及1個(gè)計(jì)算節(jié)點(diǎn)層。該結(jié)構(gòu)中的每一層包括一個(gè)或多個(gè)節(jié)點(diǎn)單元,其中L表示該結(jié)構(gòu)中的層并且為整數(shù),其中L = 0表示最低層而 L = η-1表示最高層,并且一個(gè)單元中節(jié)點(diǎn)的數(shù)目大于1。除了計(jì)算層外的層中的每個(gè)節(jié)點(diǎn)包括用于該結(jié)構(gòu)中下一個(gè)較低層中的單元的切換節(jié)點(diǎn)。對(duì)于每個(gè)單元而言,該單元中的每個(gè)節(jié)點(diǎn)通過(guò)點(diǎn)對(duì)點(diǎn)鏈路連接到該單元中的每個(gè)其它節(jié)點(diǎn),該單元中的每個(gè)節(jié)點(diǎn)通過(guò)點(diǎn)對(duì)點(diǎn)鏈路連接到用于該單元的本地切換節(jié)點(diǎn),并且該單元中的每個(gè)節(jié)點(diǎn)通過(guò)用于該單元的本地廣播網(wǎng)絡(luò)連接到該單元中的每個(gè)其它節(jié)點(diǎn)和本地切換節(jié)點(diǎn)。所述網(wǎng)絡(luò)的實(shí)施方式可以包括以下特征中的一個(gè)或多個(gè)。一個(gè)或多個(gè)單元中所包括的一個(gè)或多個(gè)點(diǎn)對(duì)點(diǎn)鏈路可以被無(wú)效。該結(jié)構(gòu)中的一個(gè)層中的每個(gè)單元可以具有相同數(shù)量的節(jié)點(diǎn)。該結(jié)構(gòu)中的每一個(gè)層中的每個(gè)單元可以具有相同數(shù)量的節(jié)點(diǎn)。每個(gè)單元可以包括由包括8個(gè)節(jié)點(diǎn)的2 X 2 X 2立方體所表示的本地三維網(wǎng)絡(luò)拓?fù)洹C總€(gè)計(jì)算節(jié)點(diǎn)可以包括可操作以執(zhí)行一個(gè)或多個(gè)應(yīng)用的指令的處理元件。該結(jié)構(gòu)中的最低層可以是計(jì)算節(jié)點(diǎn)層。單元中的每個(gè)節(jié)點(diǎn)可以通過(guò)以太網(wǎng)連接到該單元中的每個(gè)其它節(jié)點(diǎn)和本地切換節(jié)點(diǎn)。每個(gè)計(jì)算節(jié)點(diǎn)可以包括處理元件、控制器和存儲(chǔ)器。每個(gè)計(jì)算節(jié)點(diǎn)可以包括實(shí)現(xiàn)為現(xiàn)場(chǎng)可編程門(mén)陣列的通信硬件。通常,在另一方面,本發(fā)明公開(kāi)了一種包括節(jié)點(diǎn)的層級(jí)結(jié)構(gòu)和處理器的聯(lián)網(wǎng)設(shè)備。 所述節(jié)點(diǎn)的層級(jí)結(jié)構(gòu)包括η個(gè)層,所述η個(gè)層包括Π-1個(gè)切換節(jié)點(diǎn)層以及1個(gè)計(jì)算節(jié)點(diǎn)層。 L表示該層級(jí)結(jié)構(gòu)中的層并且為整數(shù),其中L = 0表示最低層而L = η-1表示最高層。所述處理器被配置為對(duì)分組中所接收的η個(gè)位組進(jìn)行處理,其中每個(gè)計(jì)算節(jié)點(diǎn)完全通過(guò)所述 η個(gè)位組進(jìn)行尋址,而層L的每個(gè)切換節(jié)點(diǎn)完全通過(guò)n-L個(gè)最高有效位組進(jìn)行尋址。所述聯(lián)網(wǎng)設(shè)備的實(shí)施方式可以包括以下特征中的一個(gè)或多個(gè)。所述η個(gè)位組中的每一個(gè)可以包括相同數(shù)量的位。在一些實(shí)施方式中,每一層包括一個(gè)或多個(gè)節(jié)點(diǎn)單元,每個(gè)單元包括本地2X2X2的立方體網(wǎng)絡(luò),其在三個(gè)維度χ、y和ζ的每一個(gè)中的每條邊具有兩個(gè)節(jié)點(diǎn),并且使用范圍從{0,0,0}到{1,1,1}的三維地址{x,y,z}在所述立方體網(wǎng)絡(luò)內(nèi)邏輯地定位每個(gè)節(jié)點(diǎn),其中邏輯地定位所述立方體網(wǎng)絡(luò)內(nèi)的每個(gè)節(jié)點(diǎn)的三維地址包括所述η 個(gè)位組中的一個(gè)。在一些實(shí)施方式中,每一層包括一個(gè)或多個(gè)節(jié)點(diǎn)單元,每個(gè)單元包括本地 2 X 4 X 4的網(wǎng)絡(luò),所述網(wǎng)絡(luò)在χ維度中每條邊具有兩個(gè)節(jié)點(diǎn)并且在y和ζ維度中的每一個(gè)中的每條邊具有四個(gè)節(jié)點(diǎn),并且使用范圍從{0,0,0,0,0}到{1,1,1,1,1}的三維地址{x,yl, y2,zl, z2}在所述本地網(wǎng)絡(luò)內(nèi)邏輯地定位每個(gè)節(jié)點(diǎn),其中邏輯地定位所述本地網(wǎng)絡(luò)內(nèi)的每個(gè)節(jié)點(diǎn)的三維地址包括所述η個(gè)位組中的一個(gè)。通常,在另一方面,本發(fā)明公開(kāi)了一種在網(wǎng)絡(luò)中路由分組的方法。所述網(wǎng)絡(luò)具有以包括η個(gè)層的節(jié)點(diǎn)層級(jí)結(jié)構(gòu)為特征的拓?fù)?。所述η個(gè)層包括η-1個(gè)切換節(jié)點(diǎn)層以及1個(gè)計(jì)算節(jié)點(diǎn)層,其中L表示該結(jié)構(gòu)中的層并且為整數(shù),其中L = 0表示最低層而L = η-1表示最高層。分組在該結(jié)構(gòu)的層L的切換節(jié)點(diǎn)被接收。所述分組包括報(bào)頭,所述報(bào)頭具有包括η 個(gè)位組的第一地址。所述切換節(jié)點(diǎn)具有包括n-L個(gè)位組的第二地址。所述分組基于所述第一地址和第二地址的比較而被轉(zhuǎn)發(fā)到層L、層L+1或?qū)覮-I中的節(jié)點(diǎn)。在一些實(shí)施方式中,如果第一地址的n-L個(gè)最高有效位組與第二地址的n-L個(gè)位組相匹配,則消息可以在點(diǎn)對(duì)點(diǎn)鏈路上被轉(zhuǎn)發(fā)至該結(jié)構(gòu)的層L-I中完全由第一地址的 η-L+l個(gè)最高有效位組所尋址的節(jié)點(diǎn)。如果所述n-L個(gè)組不相匹配但是第一地址的n_L-l 個(gè)最高有效位組與第二地址的η-L-l個(gè)最高有效位組相匹配,則所述消息可以在點(diǎn)對(duì)點(diǎn)鏈路上被轉(zhuǎn)發(fā)至該結(jié)構(gòu)的層L中完全由第一地址的n-L個(gè)最高有效位組所尋址的切換節(jié)點(diǎn)。 如果第一地址的η-L-l個(gè)最高有效位組與第二地址的η-L-l個(gè)最高有效位組不匹配,則所述消息可以在點(diǎn)對(duì)點(diǎn)鏈路上被轉(zhuǎn)發(fā)至該結(jié)構(gòu)的層L+1中完全由第二地址的η-L-l個(gè)最高有效位組所尋址的切換節(jié)點(diǎn)。通常,在另一個(gè)方面,本發(fā)明公開(kāi)了一種在網(wǎng)絡(luò)中路由分組的方法,所述網(wǎng)絡(luò)具有以包括η個(gè)層的節(jié)點(diǎn)層級(jí)結(jié)構(gòu)為特征的拓?fù)?。所述η個(gè)層包括η-1個(gè)切換節(jié)點(diǎn)層以及1個(gè)計(jì)算節(jié)點(diǎn)層,其中L表示該結(jié)構(gòu)中的層并且為整數(shù),其中L = 0表示最低層而L = η-1表示最高層。分組可以從層L的計(jì)算節(jié)點(diǎn)傳送到層L的第二計(jì)算節(jié)點(diǎn)或者層L+1的切換節(jié)點(diǎn)。 所述分組包括具有包括η個(gè)位組的第一地址的報(bào)頭,并且所述計(jì)算節(jié)點(diǎn)具有包括η個(gè)位組的第二地址。所述分組可以基于所述第一和第二地址的比較進(jìn)行傳送。在一些實(shí)施方式中,如果第一地址的η-1個(gè)最高有效位組與第二地址的η-1個(gè)最高有效位組相匹配,則消息可以在點(diǎn)對(duì)點(diǎn)鏈路上被轉(zhuǎn)發(fā)至該結(jié)構(gòu)的層L中完全由第一地址的η個(gè)位組所尋址的第二計(jì)算節(jié)點(diǎn)。如果所述η-1個(gè)組不相匹配,則所述消息可以在點(diǎn)對(duì)點(diǎn)鏈路上被轉(zhuǎn)發(fā)至該結(jié)構(gòu)的層L+1中完全由第二地址的η-1個(gè)最高有效位組所尋址的切換節(jié)點(diǎn)。通常,在另一方面,本發(fā)明公開(kāi)了一種在網(wǎng)絡(luò)中路由分組的方法,所述網(wǎng)絡(luò)具有以包括η個(gè)層的節(jié)點(diǎn)層級(jí)結(jié)構(gòu)為特征的拓?fù)洹表示該結(jié)構(gòu)中的層并且為整數(shù),其中L = O表示最低層而L = η-1表示最高層。所述方法包括在第一節(jié)點(diǎn)至少接收分組的分組報(bào)頭,并且基于所述分組報(bào)頭確定是否將所述分組傳送到層L、層L+1或?qū)覮-I中的第二節(jié)點(diǎn)。所述分組在其在第一節(jié)點(diǎn)處被接收之后立刻被傳送到第二節(jié)點(diǎn)而并不等待接收整個(gè)分組并且不在從第一節(jié)點(diǎn)進(jìn)行傳輸之前復(fù)制所述分組。所述方法的實(shí)施方式可以包括以下特征中的一個(gè)或多個(gè)。所述η個(gè)層可以包括 η-1個(gè)切換節(jié)點(diǎn)層以及1個(gè)計(jì)算節(jié)點(diǎn)層。該結(jié)構(gòu)中的每一層可以包括被分組成單元的節(jié)點(diǎn), 每個(gè)單元具有多于一個(gè)的節(jié)點(diǎn),并且除了計(jì)算層外的層中的每個(gè)節(jié)點(diǎn)可以包括用于該結(jié)構(gòu)中下一個(gè)較低層中的單元的切換節(jié)點(diǎn)。所述第一節(jié)點(diǎn)可以是切換節(jié)點(diǎn),并且向?qū)覮中的第二節(jié)點(diǎn)傳送分組可以包括通過(guò)點(diǎn)對(duì)點(diǎn)鏈路向在與所述第一節(jié)點(diǎn)相同的單元中的第二節(jié)點(diǎn)傳送所述分組。向?qū)覮+1或?qū)覮-I中的第二節(jié)點(diǎn)傳送分組可以包括通過(guò)點(diǎn)對(duì)點(diǎn)鏈路向在與所述第一節(jié)點(diǎn)不同的單元中的第二節(jié)點(diǎn)傳送所述分組。通常,在另一方面,本發(fā)明公開(kāi)了一種包括節(jié)點(diǎn)的層級(jí)結(jié)構(gòu)的系統(tǒng),所述結(jié)構(gòu)包括 η個(gè)層。所述η個(gè)層包括η-1個(gè)切換節(jié)點(diǎn)層以及1個(gè)計(jì)算節(jié)點(diǎn)層,其中該層級(jí)結(jié)構(gòu)中的每一層包括一個(gè)或多個(gè)節(jié)點(diǎn)單元。L表示該結(jié)構(gòu)中的層并且為整數(shù),其中L = O表示最低層而L =η-1表示最高層,并且一個(gè)單元中的節(jié)點(diǎn)數(shù)目大于1。所述切換節(jié)點(diǎn)被配置為至少接收分組的分組報(bào)頭;基于所述分組報(bào)頭確定是否將所述分組傳送到層L、層L+1或?qū)覮-I中的第二節(jié)點(diǎn);并且在切換節(jié)點(diǎn)處一接收形成消息的一個(gè)或多個(gè)分組就向第二節(jié)點(diǎn)傳送所述分組而并不等待接收整個(gè)分組并且不在從切換節(jié)點(diǎn)進(jìn)行傳輸之前復(fù)制所述分組。所述系統(tǒng)的實(shí)施方式可以包括以下特征中的一個(gè)或多個(gè)。所述計(jì)算節(jié)點(diǎn)可以每一個(gè)包括至少一個(gè)處理器、通信硬件和存儲(chǔ)器。所述至少一個(gè)處理器可以包括應(yīng)用處理器和操作系統(tǒng)處理器。所述通信硬件可以包括現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)。所述通信硬件可以被配置為監(jiān)視到計(jì)算節(jié)點(diǎn)的業(yè)務(wù)。所述通信硬件可以被配置為將在計(jì)算節(jié)點(diǎn)所接收的消息引導(dǎo)至所述處理器,并且從所述處理器接收消息以便傳輸?shù)讲煌?jié)點(diǎn)。除了計(jì)算層外的層中的每個(gè)節(jié)點(diǎn)可以包括用于該結(jié)構(gòu)中下一個(gè)較低層中的單元的切換節(jié)點(diǎn)。對(duì)于每個(gè)單元,該單元中的每個(gè)節(jié)點(diǎn)可以通過(guò)點(diǎn)對(duì)點(diǎn)鏈路連接到該單元中的每個(gè)其它節(jié)點(diǎn),該單元中的每個(gè)節(jié)點(diǎn)可以通過(guò)點(diǎn)對(duì)點(diǎn)鏈路連接到用于該單元的本地切換節(jié)點(diǎn),并且該單元中的每個(gè)節(jié)點(diǎn)可以通過(guò)用于該單元的本地廣播網(wǎng)絡(luò)連接到該單元中的每個(gè)其它節(jié)點(diǎn)和本地切換節(jié)點(diǎn)。所述切換節(jié)點(diǎn)每一個(gè)可以包括處理器和通信硬件。實(shí)施方式能夠?qū)崿F(xiàn)以下優(yōu)勢(shì)中的一個(gè)或多個(gè)。層級(jí)三維(3-D)網(wǎng)絡(luò)拓?fù)湓试S簡(jiǎn)單的尋址方案,其中路由固有地鏈接至網(wǎng)絡(luò)拓?fù)?,促使以減少的等待時(shí)間進(jìn)行快速的消息傳遞。所述網(wǎng)絡(luò)拓?fù)溥€提供了處理節(jié)點(diǎn)的緊密本地群組的好處,便利了本地等級(jí)的業(yè)務(wù)分布。所述網(wǎng)絡(luò)拓?fù)鋵?dǎo)致了用于點(diǎn)對(duì)點(diǎn)和廣播通信的低的跳數(shù)與節(jié)點(diǎn)比。該協(xié)議是流化的 (streamed),這允許切換節(jié)點(diǎn)在分組已經(jīng)在該切換節(jié)點(diǎn)處被完全接收之前轉(zhuǎn)發(fā)消息,進(jìn)一步使得等待時(shí)間最小化。組播和廣播通信僅使用分組傳遞所必要的網(wǎng)絡(luò)層而并不用利用整個(gè)網(wǎng)絡(luò)。本發(fā)明的一個(gè)或多個(gè)實(shí)施例的細(xì)節(jié)在附圖和以下描述中所給出。本發(fā)明的其它特征、目標(biāo)和優(yōu)勢(shì)將根據(jù)所述描述和附圖以及權(quán)利要求而變得顯而易見(jiàn)。
圖1圖示了具有網(wǎng)絡(luò)拓?fù)涞氖纠W(wǎng)絡(luò)。圖2圖示了示例的層級(jí)樹(shù)形網(wǎng)絡(luò)。圖3圖示了示例的層級(jí)3-D網(wǎng)絡(luò)。圖4圖示了用于圖2的層級(jí)樹(shù)形網(wǎng)絡(luò)的示例尋址方案。圖5圖示了層級(jí)3-D網(wǎng)絡(luò)的2X2X2單元的示例尋址。圖6圖示了層級(jí)3-D網(wǎng)絡(luò)的2X4X4單元的示例尋址。圖7圖示了具有網(wǎng)絡(luò)拓?fù)涞氖纠W(wǎng)絡(luò)。圖8圖示了示例的層級(jí)樹(shù)形網(wǎng)絡(luò)。圖9圖示了用于圖8的層級(jí)樹(shù)形網(wǎng)絡(luò)的示例尋址方案。圖10是使用圖4的尋址方案對(duì)在圖2的層級(jí)樹(shù)形網(wǎng)絡(luò)中的切換節(jié)點(diǎn)所接收的消息進(jìn)行路由的示例過(guò)程的流程圖。圖11是使用圖4的尋址方案對(duì)源于圖2的層級(jí)樹(shù)形網(wǎng)絡(luò)中的計(jì)算節(jié)點(diǎn)的消息進(jìn)行路由的示例過(guò)程的流程圖。圖12是示例的計(jì)算機(jī)系統(tǒng)的示意圖。相同的附圖標(biāo)記在各圖中指示相同的要素。
具體實(shí)施例方式描述了一種具有包括節(jié)點(diǎn)的層級(jí)結(jié)構(gòu)的網(wǎng)絡(luò)拓?fù)涞木W(wǎng)絡(luò)。在一些實(shí)施方式中,所述層級(jí)結(jié)構(gòu)可以包括η個(gè)層η-1個(gè)切換節(jié)點(diǎn)層以及1個(gè)計(jì)算節(jié)點(diǎn)層。該結(jié)構(gòu)中的每一層可以包括一個(gè)或多個(gè)單元,單元包括一組節(jié)點(diǎn)。一層內(nèi)的每個(gè)單元可以具有與不同層中的單元相同或不同數(shù)量的節(jié)點(diǎn)。除了計(jì)算層外的層中的每個(gè)節(jié)點(diǎn)可以包括用于該結(jié)構(gòu)中下一個(gè)較低層中的單元的切換節(jié)點(diǎn)。單元中的每個(gè)節(jié)點(diǎn)可以通過(guò)點(diǎn)對(duì)點(diǎn)鏈路連接到該單元中的每個(gè)其它節(jié)點(diǎn)以及該單元的本地切換節(jié)點(diǎn)。單元中的每個(gè)節(jié)點(diǎn)還可以通過(guò)用于該單元的本地廣播網(wǎng)絡(luò)連接到該單元中的每個(gè)其它節(jié)點(diǎn)以及本地切換節(jié)點(diǎn)。
所述網(wǎng)絡(luò)拓?fù)涫菍蛹?jí)(例如,樹(shù)形)網(wǎng)絡(luò)拓?fù)浜腿B接網(wǎng)絡(luò)拓?fù)涞幕旌?。在一些?shí)施方式中,該層級(jí)結(jié)構(gòu)中一層的每個(gè)單元具有2X2X2布置的八個(gè)完全連接的節(jié)點(diǎn),其可以被形象化為三個(gè)維度中的每一個(gè)的每邊具有兩個(gè)節(jié)點(diǎn)的立方體網(wǎng)絡(luò)。可以使用簡(jiǎn)單的尋址方案通過(guò)該3-D網(wǎng)絡(luò)對(duì)消息進(jìn)行路由。單元本地的該3-D網(wǎng)絡(luò)可以通過(guò)該結(jié)構(gòu)的層而分層級(jí)地重復(fù)以貫穿整個(gè)網(wǎng)絡(luò)保持相同的屬性。這種布置允許在不需要復(fù)雜路由表或占用大量CPU時(shí)間實(shí)現(xiàn)的其它復(fù)雜方案的情況下實(shí)現(xiàn)復(fù)雜網(wǎng)絡(luò)。圖1中圖示了網(wǎng)絡(luò)拓?fù)?00的示例。具體地,圖1圖示了處于網(wǎng)絡(luò)拓?fù)?00的層級(jí)結(jié)構(gòu)中最底層的計(jì)算節(jié)點(diǎn)104的單元102。單元102的本地網(wǎng)絡(luò)拓?fù)溆砂藗€(gè)環(huán)繞的被稱作葉節(jié)點(diǎn)的計(jì)算節(jié)點(diǎn)104所形成。在一些實(shí)施方式中,每個(gè)計(jì)算節(jié)點(diǎn)104包括可操作以執(zhí)行一個(gè)或多個(gè)應(yīng)用的指令的處理元件。在一些實(shí)施方式中,不同計(jì)算節(jié)點(diǎn)104包括不同的處理元件。在一些實(shí)施方式中,一些計(jì)算節(jié)點(diǎn)104包括不同或獨(dú)特的處理元件,而其余計(jì)算節(jié)點(diǎn)104則包括統(tǒng)一的處理元件。在一些實(shí)施方式中,一個(gè)或多個(gè)切換節(jié)點(diǎn)108包括例如用于業(yè)務(wù)管理的處理元件。每個(gè)計(jì)算節(jié)點(diǎn)104通過(guò)點(diǎn)對(duì)點(diǎn)鏈路106 (例如,高速節(jié)點(diǎn)對(duì)節(jié)點(diǎn)鏈路)連接到單元 102的每個(gè)其它計(jì)算節(jié)點(diǎn)104。每個(gè)計(jì)算節(jié)點(diǎn)104通過(guò)點(diǎn)對(duì)點(diǎn)鏈路110(例如,高速的切換至節(jié)點(diǎn)的鏈路)連接到下一個(gè)較高層中的單元的切換節(jié)點(diǎn)108。每個(gè)計(jì)算節(jié)點(diǎn)104還通過(guò)用于單元102的本地廣播網(wǎng)絡(luò)112連接到單元102的每個(gè)其它計(jì)算節(jié)點(diǎn)104以及切換節(jié)點(diǎn) 108。切換節(jié)點(diǎn)108可以將用于單元102的本地廣播網(wǎng)絡(luò)112橋接到網(wǎng)絡(luò)拓?fù)?00的層級(jí)結(jié)構(gòu)的其它單元的其它本地廣播網(wǎng)絡(luò)。本地廣播網(wǎng)絡(luò)112允許與單元102的所有計(jì)算節(jié)點(diǎn) 104或者單元102的計(jì)算節(jié)點(diǎn)104的子集進(jìn)行通信。操作系統(tǒng)(OS)軟件可以遍布網(wǎng)絡(luò)在每個(gè)節(jié)點(diǎn)和切換進(jìn)行分布。OS軟件可以包括本地服務(wù)以及系統(tǒng)級(jí)監(jiān)管功能。在一些實(shí)施方式中,每個(gè)計(jì)算節(jié)點(diǎn)104還通過(guò)以太網(wǎng)114 連接到單元102的每個(gè)其它計(jì)算單元104和切換節(jié)點(diǎn)108。以太網(wǎng)114可以被用于獨(dú)立于應(yīng)用軟件的系統(tǒng)管理功能(例如,低數(shù)據(jù)速率系統(tǒng)維護(hù)和監(jiān)視)。以太網(wǎng)114上的通信示例包括與CPU溫度、時(shí)間同步和傳輸控制協(xié)議(TCP)相關(guān)的日志信息。在一些實(shí)施方式中,如果網(wǎng)絡(luò)拓?fù)?00不包括以太網(wǎng)114,則系統(tǒng)管理消息可以在點(diǎn)對(duì)點(diǎn)鏈路(例如,節(jié)點(diǎn)到節(jié)點(diǎn)鏈路以及切換到節(jié)點(diǎn)的鏈路)上進(jìn)行傳輸。在一些實(shí)施方式中,網(wǎng)絡(luò)拓?fù)?00的層級(jí)結(jié)構(gòu)中每一層的每個(gè)單元具有相同的節(jié)點(diǎn)布置。然而,對(duì)于在最低層之上的層,單元的每個(gè)節(jié)點(diǎn)是用于在下面的層中的單元的切換節(jié)點(diǎn)。例如,切換節(jié)點(diǎn)108是第二個(gè)最低層(g卩,層L= 1)中的單元的節(jié)點(diǎn),并且用作最低層(即,層L = 0)中單元102的切換。在一些實(shí)施方式中,層中單元的切換節(jié)點(diǎn)完全通過(guò)點(diǎn)對(duì)點(diǎn)(即,切換到切換)鏈路進(jìn)行連接。例如,第二個(gè)最低層中的單元的切換節(jié)點(diǎn)108通過(guò)切換到切換鏈路116連接到相同單元中的所有其它切換節(jié)點(diǎn)以及上一層中的單元的切換節(jié)點(diǎn)。如以上所提到的,在其它實(shí)施方式中,單元中的節(jié)點(diǎn)的數(shù)目可以跨層而有所變化。多維的層級(jí)可擴(kuò)展網(wǎng)絡(luò)可以使用圖1的示例性網(wǎng)絡(luò)拓?fù)?00。在層級(jí)結(jié)構(gòu)中每一層的每個(gè)單元具有八個(gè)節(jié)點(diǎn)的2X2X2立方的本地3-D網(wǎng)絡(luò)拓?fù)涞膶?shí)施方式中,可以使用從{0,0,0}到{1,1,1}的3-D地址邏輯地在八位組內(nèi)定位每個(gè)節(jié)點(diǎn)。也就是說(shuō),使用三個(gè)位在單元內(nèi)尋址每個(gè)節(jié)點(diǎn)。該層級(jí)結(jié)構(gòu)的最低層的計(jì)算節(jié)點(diǎn)的完整地址是被分為三位組的二進(jìn)制數(shù)。所述二進(jìn)制數(shù)的三個(gè)最低有效位(LSB)的組識(shí)別最低層的單元的特定計(jì)算節(jié)點(diǎn)(即,葉節(jié)點(diǎn)),而更高有效位的每個(gè)組則對(duì)應(yīng)于該層級(jí)結(jié)構(gòu)中較高層的特定切換節(jié)點(diǎn)。以下關(guān)于圖4-5更為詳細(xì)地描述對(duì)多維層級(jí)可擴(kuò)展網(wǎng)絡(luò)進(jìn)行尋址。所描述的多維層級(jí)網(wǎng)絡(luò)可以按照需要利用連續(xù)較大的層級(jí)層進(jìn)行縮放以適應(yīng)超級(jí)計(jì)算應(yīng)用。所述多維層級(jí)網(wǎng)絡(luò)提供了超級(jí)規(guī)模的計(jì)算中所需要的有效且靈活的高速通信。例如,在單元的本地網(wǎng)絡(luò)拓?fù)鋬?nèi)使用專用的點(diǎn)對(duì)點(diǎn)通信使得本地吞吐量最大化。用于單元的本地廣播網(wǎng)絡(luò)允許獨(dú)立于點(diǎn)對(duì)點(diǎn)鏈路的群組通信。每個(gè)切換節(jié)點(diǎn)是具有點(diǎn)對(duì)點(diǎn)和廣播鏈路的另一個(gè)單元的一部分,其提供遍及該靈活的網(wǎng)絡(luò)的點(diǎn)對(duì)點(diǎn)、組播和廣播通信。所述多維層級(jí)網(wǎng)絡(luò)可以被設(shè)計(jì)為去除系統(tǒng)開(kāi)銷以便相對(duì)于成本和能耗而使得等待時(shí)間最小化并且使得性能最大化。例如,實(shí)現(xiàn)所述多維層級(jí)網(wǎng)絡(luò)的系統(tǒng)可以利用用于消息傳送的工業(yè)標(biāo)準(zhǔn)應(yīng)用編程接口(API)提供以最小的軟件開(kāi)銷實(shí)現(xiàn)的軟件應(yīng)用。圖2圖示了示例性的層級(jí)樹(shù)形網(wǎng)絡(luò)200。該示例性的層級(jí)樹(shù)形網(wǎng)絡(luò)200圖示了觀看圖1的示例性網(wǎng)絡(luò)拓?fù)?00的層級(jí)結(jié)構(gòu)的一種方式。示例性的層級(jí)樹(shù)形網(wǎng)絡(luò)200包括η個(gè)層,所述η個(gè)層包括η_1個(gè)切換節(jié)點(diǎn)108的層以及1個(gè)計(jì)算節(jié)點(diǎn)104的層,其中η = 10。如所圖示的,計(jì)算節(jié)點(diǎn)104的層210是最低層(即,層L = O)。切換節(jié)點(diǎn)108的層210是較高的η-1 = 9個(gè)層(S卩,層L= 1,2,…, 9)。每個(gè)層L包括Hirt個(gè)節(jié)點(diǎn),其中m表示單元中節(jié)點(diǎn)的數(shù)目并且是大于1的整數(shù)。在圖 2的示例中,單元中的節(jié)點(diǎn)數(shù)目m是8。因此,最低層的每個(gè)單元包括8個(gè)計(jì)算節(jié)點(diǎn)104,并且較高層的每個(gè)單元包括8個(gè)切換節(jié)點(diǎn)108。每個(gè)切換節(jié)點(diǎn)108作為下一個(gè)較低層210中單元的節(jié)點(diǎn)的切換。對(duì)于該n= 10且m = 8的示例,最低層(g卩,層L = O)包括81(1_° = 1,073,741,擬4個(gè)計(jì)算節(jié)點(diǎn)104。每個(gè)計(jì)算節(jié)點(diǎn)104可以包括可操作以執(zhí)行一個(gè)或多個(gè)軟件應(yīng)用的指令的處理元件。為了圖2的簡(jiǎn)明,僅圖示了一部分切換到節(jié)點(diǎn)鏈路110和切換至切換鏈路116。最低層的單元的計(jì)算節(jié)點(diǎn)104之間的節(jié)點(diǎn)到節(jié)點(diǎn)鏈路106以及較高層的單元的切換節(jié)點(diǎn)108 之間的切換至切換鏈路116沒(méi)有被圖示。除了層L= 1之外,僅圖示了來(lái)自切換節(jié)點(diǎn)108 的每一層210的一個(gè)子樹(shù)。廣播網(wǎng)絡(luò)112也沒(méi)有進(jìn)行圖示。圖3圖示了示例性的層級(jí)3-D網(wǎng)絡(luò)300。示例性的層級(jí)3-D網(wǎng)絡(luò)300圖示了觀看圖1的示例性網(wǎng)絡(luò)拓?fù)?00的層級(jí)結(jié)構(gòu)的另一種方式。圖3圖示了示例性層級(jí)3-D網(wǎng)絡(luò)300 的節(jié)點(diǎn)的三個(gè)層310-312,所述節(jié)點(diǎn)包括層310、311中的切換節(jié)點(diǎn)(例如,切換節(jié)點(diǎn)108)以及層312中的計(jì)算節(jié)點(diǎn)(例如,計(jì)算節(jié)點(diǎn)104)。示例性的層級(jí)3-D網(wǎng)絡(luò)300可以包括附加的層(未示出)。為了圖3的簡(jiǎn)明,僅圖示了層311和312中每一個(gè)的一部分。在該實(shí)施方式中,層級(jí)3-D網(wǎng)絡(luò)300中一層的每個(gè)單元320具有作為立方網(wǎng)絡(luò)的以2X2X2布置的8個(gè)完全連接的節(jié)點(diǎn),其中三個(gè)維度的每一個(gè)中的每邊具有兩個(gè)節(jié)點(diǎn)。 在較高的兩層310和311中,每個(gè)節(jié)點(diǎn)(即,切換節(jié)點(diǎn)108)分別作為下一個(gè)較低層中單元 320的節(jié)點(diǎn)的切換,所述下一個(gè)較低層即層311和312。層的單元320的每個(gè)切換節(jié)點(diǎn)108 鏈接到相同層中相同單元320的每個(gè)其它切換節(jié)點(diǎn)108以及下一個(gè)較低層中單元320的每個(gè)節(jié)點(diǎn)。例如,層310中的單元320包括8個(gè)切換節(jié)點(diǎn)32加-11。切換節(jié)點(diǎn)32h_h中的每一個(gè)作為下一個(gè)下方層中所包括的單元的切換節(jié)點(diǎn),所述下一個(gè)下方層即層311。在該示例中,切換節(jié)點(diǎn)32 作為包括8個(gè)節(jié)點(diǎn)32^-h的層311中的單元320的切換節(jié)點(diǎn)。8個(gè)節(jié)點(diǎn)32^-h也是切換節(jié)點(diǎn),其中切換節(jié)點(diǎn)32^-h中的每一個(gè)作為下一個(gè)下方層即層312中包括的單元的切換節(jié)點(diǎn)。例如,切換節(jié)點(diǎn)324h作為具有8個(gè)節(jié)點(diǎn)326a-h的層312中所包括的單元320的切換節(jié)點(diǎn)。在該示例中,8個(gè)節(jié)點(diǎn)326a-h是計(jì)算節(jié)點(diǎn)。圖4圖示了用于圖2的層級(jí)樹(shù)形網(wǎng)絡(luò)200的示例性尋址方案400,該尋址方案可以通過(guò)包括處理器的聯(lián)網(wǎng)設(shè)備來(lái)實(shí)現(xiàn)。示例性的尋址方案400以四字節(jié)地址字為消息提供作為30位地址405 (即,從位0到位29)的目的地地址。30位地址405被分為10個(gè)3位的組 410,即位字段AddO,Addl,…,Add9。所述四字節(jié)地址字的兩個(gè)最高有效位(MSB)(即,位 30和位31)可以另外設(shè)置為供未來(lái)使用的保留位字段420。30位地址405的三個(gè)最低有效位(LSB)的組410 (即,位字段AddO)識(shí)別層級(jí)樹(shù)形網(wǎng)絡(luò)200的最低層中單元的特定計(jì)算節(jié)點(diǎn)104,而更高有效位的每個(gè)組410( S卩,位字段 Addl至Add9)對(duì)應(yīng)于該層級(jí)結(jié)構(gòu)中連續(xù)較高層中單元的特定切換節(jié)點(diǎn)108。也就是說(shuō),最低層L = 0中單元的8個(gè)計(jì)算節(jié)點(diǎn)104通過(guò)AddO進(jìn)行尋址,而層L = 1至L = 9的切換節(jié)點(diǎn)108則分別通過(guò)Addl至Add9進(jìn)行尋址。每個(gè)計(jì)算節(jié)點(diǎn)104完全通過(guò)整個(gè)30位地址405 (即,通過(guò)位字段AddO至Add9)進(jìn)行尋址。給定層的每個(gè)切換節(jié)點(diǎn)108完全通過(guò)使用從該給頂層的位字段組410到MSB的組 410的部分地址進(jìn)行尋址。例如,層L = 3的切換節(jié)點(diǎn)108完全通過(guò)位字段Add3至Add9進(jìn)
行尋址。在一些實(shí)施方式中,每個(gè)消息分組包括具有多個(gè)字段的報(bào)頭,所述字段例如包括目的地地址、消息分組的大小、消息分組的校驗(yàn)和以及源地址。所述報(bào)頭可以由操作系統(tǒng) (OS)軟件和硬件在數(shù)據(jù)傳輸時(shí)部分地置于數(shù)據(jù)之前。所述分組報(bào)頭提供完整傳遞分組所需的所有數(shù)據(jù)。所述校驗(yàn)和可以由OS在進(jìn)行發(fā)送時(shí)添加以提供整個(gè)分組有效的簡(jiǎn)單校驗(yàn)。 可以在目的地進(jìn)行校驗(yàn)。在一個(gè)示例中,所使用的校驗(yàn)和是如互聯(lián)網(wǎng)協(xié)議(RFC971)中所使用的1的補(bǔ)碼和。保留的位字段420可以被用于地址范圍擴(kuò)展,允許靈活的地址字?jǐn)?shù)目同時(shí)為尋址方案400保持相同的整體結(jié)構(gòu)。例如,四字節(jié)地址字的MSB(即,位31)可以是指示目的地地址是否完全由該四字節(jié)地址字所指定或者該四字節(jié)地址字中的目的地地址是否是多字目的地地址的高位部分的繼續(xù)位。后續(xù)的地址字也可以使用MSB來(lái)指示多字目的地地址的另一部分。所述四字節(jié)地址字的第二個(gè)MSB ( S卩,位30)可以指示目的地地址是否為點(diǎn)對(duì)點(diǎn)協(xié)議地址,或者目的地地址是否指定了目的地組(例如,多個(gè)節(jié)點(diǎn))的描述符。如果第二個(gè) MSB指示目的地地址指定了組描述符,則目的地地址的位可以包括目的地組的標(biāo)識(shí)符。在一個(gè)實(shí)施方式中,如以下所描述的,節(jié)點(diǎn)的通信硬件可以使用組描述符來(lái)分配用于傳送消息的鏈路。使用示例性尋址方案400的消息路由不需要復(fù)雜的路由方案,例如復(fù)雜的路由表。對(duì)于從最低層的單元的源計(jì)算節(jié)點(diǎn)104所發(fā)送的單個(gè)目的地消息,在其上發(fā)送消息分組的鏈路是指向相同單元的其它七個(gè)對(duì)等計(jì)算節(jié)點(diǎn)104中的一個(gè)或者源計(jì)算節(jié)點(diǎn)104(例如,通過(guò)圖1的切換到節(jié)點(diǎn)鏈路110)所連接的切換節(jié)點(diǎn)108。如果位字段Addl至Add9的組410在源計(jì)算節(jié)點(diǎn)104的地址和消息分組的報(bào)頭中所指定的目的地計(jì)算節(jié)點(diǎn)104的地址之間是相等的,則消息在鏈路(例如,圖1的節(jié)點(diǎn)至節(jié)點(diǎn)的鏈路106)被發(fā)送到其它七個(gè)對(duì)等計(jì)算節(jié)點(diǎn)104中的一個(gè)。如果位字段Addl至Add9的組410在源計(jì)算節(jié)點(diǎn)104的地址和目的地計(jì)算節(jié)點(diǎn)104的地址之間不是相等的,則消息在鏈路上被發(fā)送到所連接的第二層的切換節(jié)點(diǎn)108。對(duì)于在切換節(jié)點(diǎn)108處的消息路由,執(zhí)行類似的地址位字段比較。例如,對(duì)于給頂層L的單元的給定切換節(jié)點(diǎn)108,在其上發(fā)送單個(gè)目的地消息分組的鏈路是指向給定切換節(jié)點(diǎn)108所連接到的層L+1的切換節(jié)點(diǎn)108(例如,通過(guò)圖1的切換至切換鏈路116),相同單元的其它七個(gè)對(duì)等切換節(jié)點(diǎn)108中的一個(gè)(例如,通過(guò)圖1的切換至切換的鏈路116),或者給定切換節(jié)點(diǎn)108所連接到的層L-I的八個(gè)節(jié)點(diǎn)中的一個(gè)。在其上發(fā)送消息分組的鏈路是通過(guò)將給定切換節(jié)點(diǎn)108的地址的位范圍Add(L)至Add9與目的地節(jié)點(diǎn)的地址的相應(yīng)位范圍進(jìn)行比較來(lái)確定的。以下關(guān)于圖10-11對(duì)消息的路由進(jìn)一步進(jìn)行描述。用于層級(jí)樹(shù)形網(wǎng)絡(luò)200的示例性尋址方案400針對(duì)點(diǎn)對(duì)點(diǎn)或組播而提供了低的跳數(shù)與節(jié)點(diǎn)比。在該示例性網(wǎng)絡(luò)200中,從單元的任意第一計(jì)算節(jié)點(diǎn)104所傳送的消息可以以最大18跳而到達(dá)不同單元的任意第二計(jì)算節(jié)點(diǎn)104。例如,從處于層L = 0的第一單元的第一計(jì)算節(jié)點(diǎn)104,消息采用九跳到達(dá)該層級(jí)結(jié)構(gòu)的最高層(即,層L = 9),并且采用另外九跳到達(dá)最低層(即,層L = 0),以便被路由到最低層的第二單元的第二計(jì)算節(jié)點(diǎn)104。 然而,如果消息由于更高有效位的一個(gè)或多個(gè)組410在源計(jì)算節(jié)點(diǎn)104和目的地計(jì)算節(jié)點(diǎn) 104之間是共同的而不需要被路由到最高層,則該消息可以少于最多18跳而被路由。在一些實(shí)施方式中,四字節(jié)地址字是所接收的消息分組報(bào)頭的第一部分。所述四字節(jié)地址字可以后跟分組大小字段,其指示多少數(shù)據(jù)要傳送。該配置促成了流化鏈路協(xié)議, 允許任意切換節(jié)點(diǎn)108 —旦在接收到所述四字節(jié)地址字時(shí)并且在已經(jīng)在切換節(jié)點(diǎn)108完全接收消息分組之前開(kāi)始轉(zhuǎn)發(fā)消息,除非分組由于擁塞而需要被緩存,否則這使得等待時(shí)間最小化。對(duì)于每跳兩個(gè)周期的等待時(shí)間,如果協(xié)議被流化并且消息分組無(wú)需進(jìn)行緩存,則從源計(jì)算節(jié)點(diǎn)104開(kāi)始發(fā)送消息到在目的地計(jì)算節(jié)點(diǎn)104開(kāi)始接收消息的最大等待時(shí)間是36 個(gè)周期。圖5圖示了用于例如圖3的示例性層級(jí)3-D網(wǎng)絡(luò)300的層級(jí)3-D網(wǎng)絡(luò)的2X2X2 單元的示例性尋址500。該單元具有以2X2X2布置作為立方體網(wǎng)絡(luò)的八個(gè)完全連接的節(jié)點(diǎn),其中在三個(gè)維度X、Y和Z的每一個(gè)中每邊具有兩個(gè)節(jié)點(diǎn)??梢允褂脧膡0,0,0}到{1, 1,1}的3-D地址{X,Y,Z}在所述立方體網(wǎng)絡(luò)內(nèi)邏輯地定位每個(gè)節(jié)點(diǎn)。也就是說(shuō),每個(gè)節(jié)點(diǎn)在單元內(nèi)使用3個(gè)位進(jìn)行尋址,每個(gè)位用于三個(gè)維度中的每一個(gè)。圖2的層級(jí)樹(shù)形網(wǎng)絡(luò)200圖示了通過(guò)在層之間垂直以及在單元內(nèi)水平地簡(jiǎn)單遍歷樹(shù)形網(wǎng)絡(luò)而從任意其它節(jié)點(diǎn)到達(dá)任意節(jié)點(diǎn)的情形。圖3的層級(jí)3-D網(wǎng)絡(luò)300圖示了可通過(guò)網(wǎng)絡(luò)獲得的復(fù)雜度和靈活性。實(shí)現(xiàn)層級(jí)3-D網(wǎng)絡(luò)拓?fù)涞南到y(tǒng)可以由層級(jí)樹(shù)形網(wǎng)絡(luò)200和層級(jí)3-D網(wǎng)絡(luò)300表示,并且可以使用圖4的尋址方案400,其中每個(gè)2X2X2單元的尋址是通過(guò)圖5的尋址500進(jìn)行的。從層級(jí)樹(shù)形網(wǎng)絡(luò)200看,3位的地址字段可以識(shí)別單元的八個(gè)節(jié)點(diǎn)中的一個(gè)。從層級(jí)3-D網(wǎng)絡(luò)300看,3位的地址字段可以被用作本地立方體網(wǎng)絡(luò)的3-D 笛卡爾坐標(biāo)上的索引。圖6圖示了用于層級(jí)3-D網(wǎng)絡(luò)的2X4X4單元的示例性尋址方案600。單元具有以2X4X4布置作為3-D網(wǎng)絡(luò)的32個(gè)完全連接的節(jié)點(diǎn)(沒(méi)有全部示出),其中X維度中每邊兩個(gè)節(jié)點(diǎn)而在Y和Z維度的每一個(gè)中每邊四個(gè)節(jié)點(diǎn)。可以使用從{0,0,0,0,0}到{1,1, 1,1,1}的三維地址{Χ,Υ1,Υ2,Ζ1,Ζ2}在所述本地網(wǎng)絡(luò)內(nèi)邏輯地定位每個(gè)節(jié)點(diǎn)。也就是說(shuō),每個(gè)節(jié)點(diǎn)在單元內(nèi)使用五個(gè)位進(jìn)行尋址X維度一個(gè)位,Y維度兩個(gè)位,以及Z維度兩個(gè)位。 雖然圖5和6圖示了用于層級(jí)3-D網(wǎng)絡(luò)的單元的兩種尋址示例(S卩,2X2X2和2X4X4布置),但是在層級(jí)3-D網(wǎng)絡(luò)拓?fù)渲心軌驅(qū)崿F(xiàn)用于其它3-D節(jié)點(diǎn)布置的不同尋址。在一些實(shí)施方式中,節(jié)點(diǎn)之間的一個(gè)或多個(gè)點(diǎn)對(duì)點(diǎn)鏈路可以被無(wú)效。例如,在利用用于層級(jí)網(wǎng)絡(luò)的2X4X4單元的示例性尋址600實(shí)現(xiàn)層級(jí)3-D網(wǎng)絡(luò)的系統(tǒng)上,如果在該系統(tǒng)上運(yùn)行的應(yīng)用僅需要每個(gè)單元18個(gè)節(jié)點(diǎn),則所述2X4X4單元可以被連接為2 X 3 X 3單元,其中Y和Z維度中的節(jié)點(diǎn)之間的某些邏輯鏈路被無(wú)效。在一些實(shí)施方式中,層級(jí)網(wǎng)絡(luò)的所有層的單元具有相同的本地3-D網(wǎng)絡(luò)拓?fù)?。在這些實(shí)施方式中,識(shí)別層的單元中的節(jié)點(diǎn)的每個(gè)地址位組具有相同數(shù)目的位。在一些實(shí)施方式中,層級(jí)網(wǎng)絡(luò)的不同層的單元可以具有不同的本地3-D網(wǎng)絡(luò)拓?fù)洹T谶@些實(shí)施方式中,識(shí)別不同層的單元中的節(jié)點(diǎn)的地址位組可以具有不同數(shù)目的位。例如,最低層的計(jì)算節(jié)點(diǎn)的單元可以具有本地2X4X4網(wǎng)絡(luò)拓?fù)?,其中單元的每個(gè)計(jì)算節(jié)點(diǎn)通過(guò)5位的地址字段(例如,{X,Y1,Y2,Z1,Z2})來(lái)識(shí)別,而較高層的切換節(jié)點(diǎn)的單元可以具有本地2X2X2網(wǎng)絡(luò)拓?fù)?,其中單元的每個(gè)切換節(jié)點(diǎn)通過(guò)3位的地址字段(例如,{X,Y, Ζ})進(jìn)行識(shí)別。層級(jí)網(wǎng)絡(luò)拓?fù)淇梢员粚?shí)現(xiàn)為高于三的維度的網(wǎng)絡(luò)。例如,系統(tǒng)可以實(shí)現(xiàn)層級(jí)四維 (4-D)網(wǎng)絡(luò)拓?fù)洹D7圖示了可以具有四個(gè)維度的示例性網(wǎng)絡(luò)拓?fù)?00。圖7圖示了處于網(wǎng)絡(luò)拓?fù)?00的層級(jí)結(jié)構(gòu)中最低層的計(jì)算節(jié)點(diǎn)704的單元702。 單元702的本地網(wǎng)絡(luò)拓?fù)溆森h(huán)繞的十六個(gè)計(jì)算節(jié)點(diǎn)704形成。在一個(gè)示例中,單元702的本地網(wǎng)絡(luò)拓?fù)淇梢允?X2X2X2網(wǎng)絡(luò)拓?fù)?。每個(gè)計(jì)算節(jié)點(diǎn)704通過(guò)點(diǎn)對(duì)點(diǎn)鏈路706連接到單元702的每個(gè)其它計(jì)算節(jié)點(diǎn)704。 每個(gè)計(jì)算節(jié)點(diǎn)704通過(guò)點(diǎn)對(duì)點(diǎn)鏈路710連接到下一個(gè)較高層中的單元的切換節(jié)點(diǎn)708。每個(gè)計(jì)算節(jié)點(diǎn)704還通過(guò)用于單元702的本地廣播網(wǎng)絡(luò)712連接到單元702的每個(gè)其它計(jì)算節(jié)點(diǎn)704以及切換節(jié)點(diǎn)708。切換節(jié)點(diǎn)708可以將用單元702的本地廣播網(wǎng)絡(luò)712橋接到網(wǎng)絡(luò)拓?fù)?00的層級(jí)結(jié)構(gòu)的其它單元的其它本地廣播網(wǎng)絡(luò)。在一些實(shí)施方式中,每個(gè)計(jì)算節(jié)點(diǎn)704還通過(guò)以太網(wǎng)(未示出)連接到單元702的每個(gè)其它計(jì)算節(jié)點(diǎn)704以及切換節(jié)點(diǎn) 708。圖8圖示了示例性的層級(jí)樹(shù)形網(wǎng)絡(luò)800。示例性的層級(jí)樹(shù)形網(wǎng)絡(luò)800圖示了查看圖7的示例性網(wǎng)絡(luò)拓?fù)?00的層級(jí)結(jié)構(gòu)的一種方式。在一個(gè)示例中,示例性層級(jí)樹(shù)形網(wǎng)絡(luò) 800中的每個(gè)單元的本地網(wǎng)絡(luò)拓?fù)淇梢允?X2X2X2網(wǎng)絡(luò)拓?fù)?。示例性層?jí)樹(shù)形網(wǎng)絡(luò)800包括切換節(jié)點(diǎn)708的一個(gè)層以及計(jì)算節(jié)點(diǎn)804的一個(gè)層。計(jì)算節(jié)點(diǎn)704的層是較低層,而切換節(jié)點(diǎn)708的層是較高層。示例性層級(jí)樹(shù)形網(wǎng)絡(luò)800 中一層的每個(gè)單元中有十六個(gè)節(jié)點(diǎn)。每個(gè)切換節(jié)點(diǎn)708作為較低層中單元的節(jié)點(diǎn)的切換。 對(duì)于該示例,較低層包括162 = 256個(gè)計(jì)算節(jié)點(diǎn)704。為了圖8的簡(jiǎn)明,僅圖示了來(lái)自切換節(jié)點(diǎn)708的較高層的兩個(gè)子樹(shù)。因此,僅圖示了一部分切換到節(jié)點(diǎn)鏈路710。此外,較低層的單元的計(jì)算節(jié)點(diǎn)704之間的節(jié)點(diǎn)至節(jié)點(diǎn)鏈路以及較高層的單元的切換節(jié)點(diǎn)708之間的切換至切換鏈路沒(méi)有進(jìn)行圖示。圖9圖示了用于圖8的層級(jí)樹(shù)形網(wǎng)絡(luò)800的示例性尋址方案900。示例性尋址方案900提供了作為一個(gè)字節(jié)的8位地址905 (例如,從位0到位7)的用于消息的目的地地址。8位地址905被分為兩個(gè)四位組910,即位字段AddO和Addl。如果層級(jí)樹(shù)形網(wǎng)絡(luò)800 的每個(gè)單元具有本地2X2X2X2網(wǎng)絡(luò)拓?fù)洌瑒t每個(gè)節(jié)點(diǎn)在單元內(nèi)使用用于四個(gè)維度中每一個(gè)的一個(gè)位進(jìn)行尋址。在一些實(shí)施方式中,用于圖8的層級(jí)樹(shù)形網(wǎng)絡(luò)800的尋址方案能夠使用多于一個(gè)的字節(jié),其中多余位(未示出)保留供未來(lái)使用。8位地址905的四個(gè)LSB的組910 (即,位字段AddO)識(shí)別層級(jí)樹(shù)形網(wǎng)絡(luò)800的較低層的單元的特定計(jì)算節(jié)點(diǎn)704,而四個(gè)MSB的組910(即,位字段Addl)則對(duì)應(yīng)于該層級(jí)結(jié)構(gòu)中較高層的特定切換節(jié)點(diǎn)708。每個(gè)計(jì)算節(jié)點(diǎn)704完全通過(guò)完整的8位地址905(即,通過(guò)位字段AddO和Addl)進(jìn)行尋址。較高層的每個(gè)切換節(jié)點(diǎn)708完全通過(guò)使用MSB的位字段組910 (S卩,位字段Addl)的部分地址進(jìn)行尋址。例如,圖8的切換節(jié)點(diǎn)810和820分別完全通過(guò)Addl= {0,0,0,0}和Addl= {1,1,1,1}進(jìn)行尋址。圖8的計(jì)算節(jié)點(diǎn)825通過(guò)點(diǎn)對(duì)點(diǎn)鏈路連接到切換節(jié)點(diǎn)820,并且完全通過(guò){Addl, Add2} = {1,1,1,1,0,0,0,1}進(jìn)行尋址。圖10是使用圖4的尋址方案400對(duì)在圖2的層級(jí)樹(shù)形網(wǎng)絡(luò)200中的切換節(jié)點(diǎn)所接收的消息進(jìn)行路由的示例性過(guò)程1000的流程圖。為了方便,參見(jiàn)圖1-2和4以及執(zhí)行過(guò)程1000的系統(tǒng)對(duì)示例性過(guò)程1000進(jìn)行描述。示例性過(guò)程1000是用于網(wǎng)絡(luò)拓?fù)?例如,圖1的網(wǎng)絡(luò)拓?fù)?00)的尋址系統(tǒng)。所述網(wǎng)絡(luò)拓?fù)渚哂邪é莻€(gè)層的節(jié)點(diǎn)的層級(jí)結(jié)構(gòu)。所述η個(gè)層包括η-1個(gè)切換節(jié)點(diǎn)層以及1個(gè)計(jì)算節(jié)點(diǎn)層。該結(jié)構(gòu)中的層由“L”表示,其為整數(shù),其中L = 0表示最低層而L = η-1表示最高層。對(duì)于在該結(jié)構(gòu)的層L中的給定單元的切換節(jié)點(diǎn)處所接收的消息,示例性過(guò)程1000 將該消息向上路由至該結(jié)構(gòu)中的一層(例如,路由至層L+1中直接連接到所述給定單元的切換節(jié)點(diǎn)的切換節(jié)點(diǎn)),向下路由至該結(jié)構(gòu)中的一層(例如,層L-I中直接連接到所述切換節(jié)點(diǎn)的節(jié)點(diǎn)中的一個(gè)),或者路由至給定單元的其它對(duì)等切換節(jié)點(diǎn)中的一個(gè)。所述系統(tǒng)在該結(jié)構(gòu)的層L的切換節(jié)點(diǎn)接收消息,其中所述消息包括報(bào)頭,所述報(bào)頭具有包括η個(gè)位組的第一地址(例如,目的地地址),并且所述切換節(jié)點(diǎn)具有包括n-L個(gè)位組的第二地址(步驟1010)。例如,所述尋址系統(tǒng)可以是圖4的示例性尋址方案400,其中每個(gè)計(jì)算節(jié)點(diǎn)的30位地址405包括10個(gè)位組410。所述系統(tǒng)確定所述第一地址的n-L個(gè)MSB組是否與第二地址的n_L個(gè)位組相匹配 (判定1020)。例如,所述系統(tǒng)可以通過(guò)對(duì)第一和第二地址各自的位組應(yīng)用位掩碼來(lái)確定所述位組是否匹配。如果系統(tǒng)確定所述n-L個(gè)組匹配(判定1020的“是”分支),則所述系統(tǒng)將消息在點(diǎn)對(duì)點(diǎn)鏈路上轉(zhuǎn)發(fā)至該結(jié)構(gòu)的層L-I中完全由第一地址的η-L+l個(gè)MSB組進(jìn)行尋址的節(jié)點(diǎn) (步驟1030)。例如,所述系統(tǒng)能夠向?qū)蛹?jí)樹(shù)形網(wǎng)絡(luò)200的下一個(gè)級(jí)別將消息在切換至切換鏈路(例如,圖1-2的切換至切換鏈路116)上轉(zhuǎn)發(fā)到切換節(jié)點(diǎn),或者在切換至節(jié)點(diǎn)鏈路(例如,圖1-2的切換至節(jié)點(diǎn)的鏈路110)上轉(zhuǎn)發(fā)到計(jì)算節(jié)點(diǎn)。所述系統(tǒng)確定接收所述消息的節(jié)點(diǎn)(S卩,層L-I中完全由第一地址的η-L+l個(gè)MSB 組進(jìn)行尋址的節(jié)點(diǎn))是否是目的地節(jié)點(diǎn)(判定1070)。例如,所述系統(tǒng)能夠確定接收消息的節(jié)點(diǎn)是否是完全由第一地址的所有位進(jìn)行尋址的計(jì)算節(jié)點(diǎn)。如果所述系統(tǒng)確定接收消息的節(jié)點(diǎn)是目的地節(jié)點(diǎn)(判定1070的“是”分支),則示例性過(guò)程1000結(jié)束。如果所述系統(tǒng)確定接收消息的節(jié)點(diǎn)不是目的地節(jié)點(diǎn)(判定1070的“否”分支),則示例性過(guò)程1000從步驟1010進(jìn)行重復(fù),其中在層L-I的節(jié)點(diǎn)接收所述消息。如果所述系統(tǒng)確定所述n-L個(gè)組不匹配(判定1020的“否”分支),則系統(tǒng)確定第一地址的η-L-l個(gè)MSB組是否與第二地址的η-L-l個(gè)MSB組相匹配(判定1040)。如果系統(tǒng)確定所述η-L-l個(gè)組相匹配(判定1040的“是”分支),則系統(tǒng)將消息在點(diǎn)對(duì)點(diǎn)鏈路上轉(zhuǎn)發(fā)到該結(jié)構(gòu)的層L中完全由第一地址的n-L個(gè)MSB組進(jìn)行尋址的切換節(jié)點(diǎn)(步驟1050)。 例如,該系統(tǒng)可以在切換到切換鏈路(例如,圖1-2的切換至切換鏈路116)上將消息在層級(jí)樹(shù)形網(wǎng)絡(luò)200的層L的單元內(nèi)水平轉(zhuǎn)發(fā)至相同單元的對(duì)等切換節(jié)點(diǎn)中的一個(gè)。示例性過(guò)程1000從步驟1010進(jìn)行重復(fù),其中在層L的節(jié)點(diǎn)接收所述消息。如果系統(tǒng)確定所述η-L-l個(gè)組不匹配(判定1040的“否”分支),則系統(tǒng)在點(diǎn)對(duì)點(diǎn)鏈路上將所述消息轉(zhuǎn)發(fā)至該結(jié)構(gòu)的層L+1中完全由第二地址的η-L-l個(gè)MSB組進(jìn)行尋址的切換節(jié)點(diǎn)(步驟1060)。例如,所述系統(tǒng)能夠向?qū)蛹?jí)樹(shù)形網(wǎng)絡(luò)200的上一個(gè)級(jí)別將消息在切換至切換鏈路(例如,圖1-2的切換至切換鏈路116)上僅轉(zhuǎn)發(fā)到等L+1中直接連接到該單元的切換節(jié)點(diǎn)的切換節(jié)點(diǎn)。示例性過(guò)程1000從步驟1010進(jìn)行重復(fù),其中在層L+1的節(jié)點(diǎn)接收所述消息。圖11是使用圖4的尋址方案400將源于圖2的層級(jí)樹(shù)形網(wǎng)絡(luò)200中的計(jì)算節(jié)點(diǎn)的消息路由至目的地節(jié)點(diǎn)的示例性過(guò)程1100的流程圖。為了方便,參見(jiàn)圖1-2和4以及執(zhí)行過(guò)程1100的系統(tǒng)對(duì)示例性過(guò)程1100進(jìn)行描述。示例性過(guò)程1100是用于網(wǎng)絡(luò)拓?fù)?例如,圖1的網(wǎng)絡(luò)拓?fù)?00)的尋址系統(tǒng)。所述網(wǎng)絡(luò)拓?fù)渚哂邪é莻€(gè)層的節(jié)點(diǎn)的層級(jí)結(jié)構(gòu)。所述η個(gè)層包括η-1個(gè)切換節(jié)點(diǎn)層以及1 個(gè)計(jì)算節(jié)點(diǎn)層。該結(jié)構(gòu)中的層由“L”表示,其為整數(shù),其中L = 0表示最低層而L = η-1表示最高層。對(duì)于源于該結(jié)構(gòu)的層L中的給定單元的計(jì)算節(jié)點(diǎn)的消息,示例性過(guò)程1100將該消息向上路由至該結(jié)構(gòu)中的一層(即,路由至層L+1中直接連接到所述給定單元的計(jì)算節(jié)點(diǎn)的切換節(jié)點(diǎn))或者路由至給定單元的其它對(duì)等計(jì)算節(jié)點(diǎn)中的一個(gè)。所述消息從該結(jié)構(gòu)的層L的計(jì)算節(jié)點(diǎn)進(jìn)行路由。所述消息包括報(bào)頭,所述報(bào)頭具有包括η個(gè)位組的第一地址(例如,目的地地址),并且所述計(jì)算節(jié)點(diǎn)具有包括η個(gè)位組的第二地址(例如,源地址)。例如,所述尋址系統(tǒng)可以是圖4的示例性尋址方案400,其中每個(gè)計(jì)算節(jié)點(diǎn)的30位地址405包括10個(gè)位組410。所述系統(tǒng)確定所述第一地址的η-1個(gè)MSB組是否與第二地址的n_l個(gè)MSB組相匹配(判定1120)。該檢查確定目的地節(jié)點(diǎn)是否處于給定單元中。如果所述系統(tǒng)確定所述η-1 個(gè)組相匹配(判定1120的“是”分支),這指示目的地節(jié)點(diǎn)處于給定單元中,則所述系統(tǒng)將消息在點(diǎn)對(duì)點(diǎn)鏈路上轉(zhuǎn)發(fā)至該結(jié)構(gòu)的層L中完全通過(guò)第一地址的η個(gè)位組進(jìn)行尋址的計(jì)算節(jié)點(diǎn)(步驟1130)。例如,所述系統(tǒng)能夠在層級(jí)樹(shù)形網(wǎng)絡(luò)200的層L的單元內(nèi)在節(jié)點(diǎn)對(duì)節(jié)點(diǎn)鏈路(例如,圖1的節(jié)點(diǎn)到節(jié)點(diǎn)鏈路106)上將消息水平轉(zhuǎn)發(fā)至相同單元的對(duì)等計(jì)算節(jié)點(diǎn)中的一個(gè)。層L中接收轉(zhuǎn)發(fā)消息的計(jì)算節(jié)點(diǎn)是所述第一地址所指定的目的地地址。在步驟 1130之后,示例性過(guò)程1100結(jié)束。如果所述系統(tǒng)確定所述η-1個(gè)組不匹配(判定1120中的“否”分支),這指示目的地節(jié)點(diǎn)處于不同單元中,則所述系統(tǒng)將消息在點(diǎn)對(duì)點(diǎn)鏈路上轉(zhuǎn)發(fā)至該結(jié)構(gòu)的層L+1中完全由第二地址的η-1個(gè)MSB組進(jìn)行尋址的切換節(jié)點(diǎn)(步驟1140)。例如,所述系統(tǒng)能夠向?qū)蛹?jí)樹(shù)形網(wǎng)絡(luò)200的上一個(gè)級(jí)別將消息在切換至節(jié)點(diǎn)鏈路(例如,圖1-2的切換至節(jié)點(diǎn)鏈路110)上僅轉(zhuǎn)發(fā)到等L+1中直接連接到該單元的計(jì)算節(jié)點(diǎn)的切換節(jié)點(diǎn)。示例性過(guò)程1100繼續(xù)進(jìn)行至圖10的步驟1010,其中在層L+1的切換節(jié)點(diǎn)接收消息。在一些實(shí)施方式中,所述系統(tǒng)使用來(lái)自服務(wù)器的以太網(wǎng)鏈路進(jìn)行初始化(例如, 引導(dǎo))。該初始化過(guò)程可以在配置文件中指定系統(tǒng)的網(wǎng)絡(luò)拓?fù)涞那闆r下傳達(dá)節(jié)點(diǎn)地址和級(jí)別信息。在一些實(shí)施方式中,所述系統(tǒng)能夠自動(dòng)檢測(cè)網(wǎng)絡(luò)拓?fù)洹K鱿到y(tǒng)能夠驗(yàn)證實(shí)際系統(tǒng)與所指定的網(wǎng)絡(luò)拓?fù)湎嗥ヅ?。在一些?shí)施方式中,系統(tǒng)能夠使用一個(gè)或多個(gè)所連接的半導(dǎo)體設(shè)備利用層級(jí)3-D 網(wǎng)絡(luò)拓?fù)?例如,層級(jí)樹(shù)形網(wǎng)絡(luò)200和層級(jí)3-D網(wǎng)絡(luò)300所表示的網(wǎng)絡(luò)拓?fù)?進(jìn)行設(shè)計(jì)。例如,所述系統(tǒng)可以在多個(gè)可編程邏輯設(shè)備上實(shí)現(xiàn),諸如用于每個(gè)節(jié)點(diǎn)的現(xiàn)場(chǎng)可編程門(mén)陣列 (FPGA)。在一些實(shí)施方式中,每個(gè)節(jié)點(diǎn)利用專用集成電路(ASIC)來(lái)實(shí)現(xiàn)。在其它實(shí)施方式中,多個(gè)節(jié)點(diǎn)(例如,八個(gè)節(jié)點(diǎn))的每個(gè)單元利用ASIC來(lái)實(shí)現(xiàn),在用于該單元的ASIC內(nèi)集中了單元的所有點(diǎn)對(duì)點(diǎn)通信鏈路,在單元內(nèi)提供快速的本地通信。在一些實(shí)施方式中,系統(tǒng)的一個(gè)或多個(gè)節(jié)點(diǎn)包括控制器、處理器和存儲(chǔ)器。在一些實(shí)施方式中,多個(gè)節(jié)點(diǎn)(例如,作為集線器而被八個(gè)計(jì)算節(jié)點(diǎn)所環(huán)繞的一個(gè)切換節(jié)點(diǎn))的控制器、處理器和存儲(chǔ)器被集成在硅晶片的一個(gè)或多個(gè)晶元上。在一些實(shí)施方式中,系統(tǒng)的每個(gè)計(jì)算節(jié)點(diǎn)包括例如中央處理單元(CPU)的處理器以及例如實(shí)現(xiàn)為控制器的通信硬件。在鏈路上從其它節(jié)點(diǎn)所接收的業(yè)務(wù)可以通過(guò)給定計(jì)算節(jié)點(diǎn)的通信硬件而被傳遞至給定計(jì)算節(jié)點(diǎn)的處理器??梢允褂盟鐾ㄐ庞布能浖勺x寄存器對(duì)業(yè)務(wù)進(jìn)行監(jiān)視以收集與鏈路條件相關(guān)的統(tǒng)計(jì)??梢酝ㄟ^(guò)給定計(jì)算節(jié)點(diǎn)的通信硬件來(lái)發(fā)送來(lái)自給定計(jì)算節(jié)點(diǎn)的業(yè)務(wù)。例如,如果業(yè)務(wù)的目的地是單個(gè)點(diǎn),則給定計(jì)算節(jié)點(diǎn)的通信硬件能夠適當(dāng)?shù)貙⒃摌I(yè)務(wù)路由至相同單元的另一個(gè)計(jì)算節(jié)點(diǎn)或者連接到給定計(jì)算節(jié)點(diǎn)的切換節(jié)點(diǎn)。如果所述業(yè)務(wù)的目的地是多個(gè)點(diǎn)(例如,針對(duì)節(jié)點(diǎn)組的組播),則處理器軟件能夠使用組描述符來(lái)指派用于發(fā)送數(shù)據(jù)的鏈路,其中所述鏈路可以是到其它節(jié)點(diǎn)的鏈路或者廣播網(wǎng)絡(luò)上的鏈路。給定計(jì)算節(jié)點(diǎn)的通信硬件接著在所指派的鏈路上發(fā)送數(shù)據(jù)。在一些實(shí)施方式中,計(jì)算節(jié)點(diǎn)的通信硬件被實(shí)現(xiàn)為FPGA。在一些實(shí)施方式中,所述系統(tǒng)的一個(gè)或多個(gè)切換節(jié)點(diǎn)包括處理器和通信硬件。在給定切換節(jié)點(diǎn)處接收的業(yè)務(wù)可以由給定切換節(jié)點(diǎn)的通信硬件在適當(dāng)鏈路上進(jìn)行轉(zhuǎn)發(fā)。在給定切換節(jié)點(diǎn)處接收的組業(yè)務(wù)可以由給定切換節(jié)點(diǎn)的處理器進(jìn)行解釋并且由給定切換節(jié)點(diǎn)的通信硬件在根據(jù)組描述符指派的鏈路上進(jìn)行轉(zhuǎn)發(fā)。在一些實(shí)施方式中,在切換節(jié)點(diǎn)或計(jì)算節(jié)點(diǎn),節(jié)點(diǎn)的通信硬件能夠在節(jié)點(diǎn)處接收到目的地地址時(shí)并且在整個(gè)分組到達(dá)之前開(kāi)始發(fā)送分組。包括分組的目的地地址和大小作為消息報(bào)頭的前兩個(gè)要素便利了該過(guò)程。由于所有的通信鏈路都能夠以相同的數(shù)據(jù)速率運(yùn)行,所以在數(shù)據(jù)到達(dá)速率和數(shù)據(jù)傳輸速率之間沒(méi)有差別。分組的檢查能夠在到達(dá)目的地時(shí)進(jìn)行。可以提供先進(jìn)先出(FIFO)數(shù)據(jù)結(jié)構(gòu)以允許在系統(tǒng)接近或正在過(guò)載時(shí)的擁塞期間進(jìn)行消息的緩存。FIFO的使用數(shù)能夠向分布式的OS軟件指示需要改變應(yīng)用的分布。例如, 如果對(duì)每個(gè)分組使用一個(gè)FIFO,則指示了特定鏈路的過(guò)度使用并且OS可以采取行動(dòng)以緩解瓶頸。例如,應(yīng)用的分布能夠由OS軟件動(dòng)態(tài)改變。在一些實(shí)施方式中,消息分組的傳輸由計(jì)算節(jié)點(diǎn)的處理器執(zhí)行。這允許從一個(gè)節(jié)點(diǎn)發(fā)送到另一個(gè)節(jié)點(diǎn)的數(shù)據(jù)從已經(jīng)產(chǎn)生了該數(shù)據(jù)的緩沖直接發(fā)送,置于要利用該數(shù)據(jù)的緩沖中,而切換節(jié)點(diǎn)的處理器不必復(fù)制該數(shù)據(jù),由此改善了處理時(shí)間。也就是說(shuō),OS軟件不復(fù)制數(shù)據(jù),這提高了效率,原因在于軟件復(fù)制要求兩個(gè)存儲(chǔ)器總線訪問(wèn)一一個(gè)用于讀而一個(gè)用于寫(xiě),并且典型地,數(shù)據(jù)必須從存儲(chǔ)器取出到高速緩存并且被復(fù)制到另一個(gè)高速緩存,而所述高速緩存隨后需要被刷新。與之相比,這里所描述的系統(tǒng)能夠使用節(jié)點(diǎn)處的OS硬件使得數(shù)據(jù)落入存儲(chǔ)器中。用來(lái)接收數(shù)據(jù)的存儲(chǔ)器緩沖可以預(yù)先進(jìn)行選擇并準(zhǔn)備接收數(shù)據(jù)。如果緩沖出于任何原因而沒(méi)有準(zhǔn)備好,則OS軟件仍然能夠接收該數(shù)據(jù),盡管可能需要進(jìn)行復(fù)制。在一些實(shí)例中,應(yīng)用能夠確定是否有為該應(yīng)用所準(zhǔn)備的數(shù)據(jù),并接著請(qǐng)求針對(duì)該數(shù)據(jù)的指針而并不是請(qǐng)求OS將該數(shù)據(jù)復(fù)制到應(yīng)用的緩沖。在一些實(shí)施方式中,當(dāng)分組被調(diào)度以便從計(jì)算節(jié)點(diǎn)進(jìn)行發(fā)送時(shí),應(yīng)用向OS進(jìn)行調(diào)用以將分組的控制傳遞給OS以便進(jìn)行發(fā)送。在示例性的實(shí)施方式中,計(jì)算節(jié)點(diǎn)包括應(yīng)用處理器和OS處理器。OS跨整個(gè)網(wǎng)絡(luò)進(jìn)行分布并且劃分在硬件和軟件之間。被發(fā)送的消息從應(yīng)用被傳遞至應(yīng)用處理器上運(yùn)行的OS樁軟件。分組接著被傳遞至節(jié)點(diǎn)上的OS硬件,其由 OS處理器上運(yùn)行的OS軟件進(jìn)行管理。雖然該示例使用了兩個(gè)處理器,但并非要求如此。在一些實(shí)施方式中,節(jié)點(diǎn)處的OS硬件被設(shè)計(jì)為與多個(gè)具有FPGA的處理器進(jìn)行對(duì)接,并且在以上示例中,功能劃分在FPGA及其板上處理器之間。通過(guò)將用于分組傳輸?shù)挠布傻接?jì)算節(jié)點(diǎn)的存儲(chǔ)器管理硬件中,OS硬件和軟件能夠在應(yīng)用指示分組準(zhǔn)備好進(jìn)行發(fā)送時(shí)訪問(wèn)數(shù)據(jù)存儲(chǔ)器。所述數(shù)據(jù)存儲(chǔ)器訪問(wèn)是處理器透明的,允許處理器在OS軟件發(fā)送分組的同時(shí)執(zhí)行其它任務(wù)。在另一種示例性實(shí)施方式中, 高速緩存控制器被集成到分組硬件中,使得數(shù)據(jù)從高速緩存存儲(chǔ)器發(fā)送或者接收到高速緩存存儲(chǔ)器而不是主存儲(chǔ)器。所述高速緩存控制器被用來(lái)向和從主存儲(chǔ)器移動(dòng)數(shù)據(jù)。從源計(jì)算節(jié)點(diǎn)傳送到目的地計(jì)算節(jié)點(diǎn)的分組可以穿過(guò)一個(gè)或多個(gè)中間切換節(jié)點(diǎn)。 在中間切換節(jié)點(diǎn)不需要復(fù)制操作,這是因?yàn)樗鲋虚g切換節(jié)點(diǎn)的通信硬件基于作為消息分組的第一部分所接收的目的地地址字段而確定在哪條鏈路上傳送到來(lái)的消息。只要所確定的鏈路可用,這就允許中間切換節(jié)點(diǎn)在所確定的鏈路上開(kāi)始轉(zhuǎn)發(fā)分組而無(wú)需復(fù)制消息。在一些實(shí)施方式中,在所確定的鏈路正在使用的情況下使用FIFO數(shù)據(jù)結(jié)構(gòu)以防止分組丟失。 與之相比,在傳統(tǒng)網(wǎng)絡(luò)中,由于多個(gè)消息可能需要在單條鏈路上進(jìn)行傳送而通常需要復(fù)雜的路由(例如,使用路由表)。復(fù)雜的路由經(jīng)常需要在從分組報(bào)頭解碼出目的地地址并且消息被轉(zhuǎn)發(fā)之前臨時(shí)復(fù)制所述消息。當(dāng)分組被調(diào)度以在計(jì)算節(jié)點(diǎn)進(jìn)行接收時(shí),應(yīng)用能夠預(yù)見(jiàn)到到達(dá)的分組并且在計(jì)算節(jié)點(diǎn)的存儲(chǔ)器中為所述分組分配數(shù)據(jù)緩沖。計(jì)算節(jié)點(diǎn)的分組傳輸硬件(例如,通信硬件或控制器,其例如利用FPGA、ASIC或硅晶片實(shí)現(xiàn))能夠?qū)⒎纸M置于所分配的數(shù)據(jù)緩沖中。如果應(yīng)用沒(méi)有預(yù)見(jiàn)到到達(dá)的分組,則OS軟件可以在計(jì)算節(jié)點(diǎn)的存儲(chǔ)器中為分組指派數(shù)據(jù)緩沖。當(dāng)應(yīng)用軟件進(jìn)行調(diào)用以訪問(wèn)分組數(shù)據(jù)時(shí),計(jì)算節(jié)點(diǎn)的存儲(chǔ)器管理硬件能夠?qū)⑺龇纸M置于所指派的數(shù)據(jù)緩沖中供應(yīng)用訪問(wèn)。因此,分組數(shù)據(jù)不需要從一個(gè)存儲(chǔ)器區(qū)域復(fù)制到另一個(gè)存儲(chǔ)器區(qū)域,相反,數(shù)據(jù)可以被放入存儲(chǔ)器而無(wú)需軟件復(fù)制,由此減少了等待時(shí)間并提高了性能。存儲(chǔ)器復(fù)制操作每個(gè)字花費(fèi)兩個(gè)存儲(chǔ)器訪問(wèn),即一個(gè)讀訪問(wèn)和一個(gè)寫(xiě)訪問(wèn)。這里所描述的零復(fù)制方案消除了這些存儲(chǔ)器訪問(wèn),減少了分組傳輸?shù)奶幚頃r(shí)間。此外,在傳統(tǒng)系統(tǒng)中,計(jì)算節(jié)點(diǎn)的處理器在存儲(chǔ)器復(fù)制期間將無(wú)法使用。與之相比,在所描述的系統(tǒng)中,計(jì)算節(jié)點(diǎn)保持可用。在具有密集分組發(fā)送的系統(tǒng)中的這兩種因素(即,存儲(chǔ)器訪問(wèn)和處理器的不可使用)是系統(tǒng)中寬帶損失的主要原因。圖12是示例性計(jì)算機(jī)系統(tǒng)1200的示意圖。系統(tǒng)1200可以被用于執(zhí)行以上所描述的動(dòng)作和方法。采用以上所描述的網(wǎng)絡(luò)拓?fù)涞南到y(tǒng)的部分或方面可以利用示例性計(jì)算機(jī)系統(tǒng)1200的一個(gè)或多個(gè)元件來(lái)實(shí)現(xiàn)。系統(tǒng)1200可以包括處理器1218、存儲(chǔ)器1216、存儲(chǔ)設(shè)備1252以及輸入/輸出設(shè)備12M。組件1218、1216、1252和12M中的每一個(gè)使用系統(tǒng)總線1256進(jìn)行互連。處理器1218能夠處理系統(tǒng)1200內(nèi)的指令。這些指令能夠?qū)崿F(xiàn)以上所描述的系統(tǒng)、組件和技術(shù)的一個(gè)或多個(gè)方面。在一些實(shí)施方式中,處理器1218是單線程處理器。在其它實(shí)施方式中,處理器1218是多線程處理器。處理器1218可以包括多個(gè)處理核心,并且能夠處理存儲(chǔ)在存儲(chǔ)器1216中或存儲(chǔ)設(shè)備1252上的指令以在輸入/輸出設(shè)備12M上顯示用戶界面的圖形信息。存儲(chǔ)器1216是存儲(chǔ)系統(tǒng)1200內(nèi)的信息的諸如易失性或非易失性的計(jì)算機(jī)可讀介質(zhì)。例如,存儲(chǔ)器1216能夠存儲(chǔ)與網(wǎng)絡(luò)路由功能相關(guān)的過(guò)程。存儲(chǔ)設(shè)備1252能夠?yàn)橄到y(tǒng) 1200提供持久性存儲(chǔ)。存儲(chǔ)設(shè)備1252可以包括軟盤(pán)設(shè)備、硬盤(pán)設(shè)備、光盤(pán)設(shè)備或帶設(shè)備,或者其它適當(dāng)?shù)某志眯源鎯?chǔ)介質(zhì)。存儲(chǔ)設(shè)備1252可以存儲(chǔ)以上所描述的各種數(shù)據(jù)庫(kù)。輸入 /輸出設(shè)備12M為系統(tǒng)1200提供輸入/輸出操作。輸入/輸出設(shè)備12M可以包括鍵盤(pán)、 指示設(shè)備以及用于顯示圖形用戶界面的顯示單元。圖12所示的計(jì)算機(jī)系統(tǒng)僅是一個(gè)示例。通常,該說(shuō)明書(shū)中所描述的主題和操作的實(shí)施例可以以數(shù)字電子電路來(lái)實(shí)現(xiàn),或者以包括該說(shuō)明書(shū)中所公開(kāi)的結(jié)構(gòu)及其結(jié)構(gòu)等同物的計(jì)算機(jī)軟件、固件或硬件來(lái)實(shí)現(xiàn),或者以它們中一個(gè)或多個(gè)的組合來(lái)實(shí)現(xiàn)。該說(shuō)明書(shū)中所描述主題的實(shí)施例可以被實(shí)現(xiàn)為在計(jì)算機(jī)存儲(chǔ)介質(zhì)上編碼以便由數(shù)據(jù)處理裝置執(zhí)行或者控制其操作的一個(gè)或多個(gè)計(jì)算機(jī)程序,即計(jì)算機(jī)程序指令的一個(gè)或多個(gè)模塊??商鎿Q地或除此之外,程序指令可以編碼在人工生成的傳播信號(hào)中,例如機(jī)器生成的電、光或電磁信號(hào),其被生成以對(duì)信息進(jìn)行編碼以便傳輸?shù)竭m當(dāng)接收器裝置供數(shù)據(jù)處理裝置執(zhí)行。所述計(jì)算機(jī)存儲(chǔ)介質(zhì)可以是計(jì)算機(jī)可讀存儲(chǔ)設(shè)備、計(jì)算機(jī)可讀存儲(chǔ)基片、隨機(jī)或串行訪問(wèn)存儲(chǔ)器陣列或設(shè)備,或者它們中一個(gè)或多個(gè)的組合,或者包括于其中。術(shù)語(yǔ)“數(shù)據(jù)處理裝置”包含用于處理數(shù)據(jù)的所有裝置、設(shè)備和機(jī)器,例如包括可編程處理器、計(jì)算機(jī),或者多個(gè)處理器或計(jì)算機(jī)。除了硬件之外,所述裝置可以包括為所討論的計(jì)算機(jī)程序創(chuàng)建執(zhí)行環(huán)境的代碼,例如構(gòu)成處理器固件、協(xié)議棧、數(shù)據(jù)庫(kù)管理系統(tǒng)、操作系統(tǒng)或者它們中一個(gè)或多個(gè)的組合的代碼。計(jì)算機(jī)程序(也被稱作程序、軟件、軟件應(yīng)用、腳本或代碼)可以以任意形式的編程語(yǔ)言進(jìn)行編寫(xiě),包括編譯或解釋語(yǔ)言,或者聲明或過(guò)程語(yǔ)言,并且其可以被配置為任意形式,包括作為獨(dú)立程序或者作為適于在計(jì)算環(huán)境中使用的模塊、組件、子程序或其它單元。 計(jì)算機(jī)程序不必對(duì)應(yīng)于文件系統(tǒng)中的文件。程序可以存儲(chǔ)在保持其它程序或數(shù)據(jù)的文件的一部分中(例如,標(biāo)記語(yǔ)言文檔中所存儲(chǔ)的一個(gè)或多個(gè)腳本),存儲(chǔ)在專用于所討論程序的單個(gè)文件中,或者存儲(chǔ)在多個(gè)協(xié)同文件(例如,存儲(chǔ)一個(gè)或多個(gè)模塊、子程序或代碼部分的文件)中。計(jì)算機(jī)程序可以被部署為在一臺(tái)計(jì)算機(jī)上執(zhí)行,或者在位于一個(gè)地點(diǎn)或跨多個(gè)地點(diǎn)分布并且通過(guò)通信網(wǎng)絡(luò)進(jìn)行互連的多臺(tái)計(jì)算機(jī)上執(zhí)行。
該說(shuō)明書(shū)中所描述的過(guò)程和邏輯流程可以由一個(gè)或多個(gè)可編程處理器來(lái)執(zhí)行,所述可編程處理器通過(guò)對(duì)輸入數(shù)據(jù)進(jìn)行操作并且生成輸出來(lái)執(zhí)行一個(gè)或多個(gè)計(jì)算機(jī)程序以執(zhí)行功能。所述過(guò)程和邏輯流程還可以由專門(mén)用途的邏輯電路來(lái)執(zhí)行,并且裝置也可以被實(shí)現(xiàn)為專門(mén)用途的邏輯電路,所述邏輯電路例如FPGA或ASIC。適于執(zhí)行計(jì)算機(jī)程序的處理器例如包括通用和專用的微處理器,以及任意類型的數(shù)字計(jì)算機(jī)的任意一個(gè)或多個(gè)處理器。通常,處理器將從只讀存儲(chǔ)器或隨機(jī)存取存儲(chǔ)器或者其二者接收指令和數(shù)據(jù)。計(jì)算機(jī)的實(shí)質(zhì)性元件是用于執(zhí)行指令的處理器以及用于存儲(chǔ)指令和數(shù)據(jù)的一個(gè)或多個(gè)存儲(chǔ)器。通常,計(jì)算機(jī)還將包括一個(gè)或多個(gè)用于存儲(chǔ)數(shù)據(jù)的大型存儲(chǔ)設(shè)備或者操作耦合到所述大型存儲(chǔ)設(shè)備以從接收數(shù)據(jù)或向其傳輸數(shù)據(jù)或者其二者,所述大型存儲(chǔ)設(shè)備例如磁、磁光盤(pán)或光盤(pán)。然而,計(jì)算機(jī)無(wú)需具有這樣的設(shè)備。此外,計(jì)算機(jī)可以嵌入另一個(gè)設(shè)備之中,所述設(shè)備例如移動(dòng)電話、個(gè)人數(shù)字助理(PDA)、移動(dòng)音頻或視頻播放器、游戲控制臺(tái)、全球定位系統(tǒng)(GPQ接收器,僅舉出幾個(gè)示例。適于存儲(chǔ)計(jì)算機(jī)程序指令和數(shù)據(jù)的計(jì)算機(jī)可讀介質(zhì)包括所有形式的非易失性存儲(chǔ)器、介質(zhì)和存儲(chǔ)器設(shè)備,例如包括半導(dǎo)體存儲(chǔ)器設(shè)備,例如EPROM、EEPROM和閃存設(shè)備;磁盤(pán),例如內(nèi)部硬盤(pán)或可移動(dòng)盤(pán);磁光盤(pán);以及⑶ROM和DVD-ROM盤(pán)。處理器和存儲(chǔ)器可以被補(bǔ)充專用邏輯電路或者合并于其中。為了提供與用戶的交互,該說(shuō)明書(shū)中所描述主題的實(shí)施例可以在具有顯示設(shè)備以及鍵盤(pán)和指示設(shè)備的計(jì)算機(jī)上實(shí)現(xiàn),所述顯示設(shè)備例如CRT(陰極射線管)或LCD (液晶顯示)監(jiān)視器,用于向用戶顯示信息,所述指示設(shè)備例如用戶能夠通過(guò)其向計(jì)算機(jī)提供輸入的鼠標(biāo)或軌跡球。也可以使用其它類型的設(shè)備來(lái)提供與用戶的交互;例如提供給用戶的反饋可以是任意形式的感知反饋,例如視覺(jué)反饋、聽(tīng)覺(jué)反饋或觸覺(jué)反饋;并且來(lái)自用戶的輸入可以以任意形式被接收,包括聲音、語(yǔ)音或觸覺(jué)輸入。該說(shuō)明書(shū)中所描述主題的實(shí)施例可以在計(jì)算系統(tǒng)中實(shí)現(xiàn),所述計(jì)算機(jī)系統(tǒng)包括例如作為數(shù)據(jù)服務(wù)器的后端組件,或者包括例如應(yīng)用服務(wù)器的中間件組件,或者包括例如客戶端計(jì)算機(jī)的前端組件,或者一個(gè)或多個(gè)這樣的后端、中間件或前端組件的任意組合,所述客戶端計(jì)算機(jī)具有圖形用戶界面或web瀏覽器,用戶能夠通過(guò)其與本說(shuō)明書(shū)所描述主題的實(shí)施方式進(jìn)行交互。所述系統(tǒng)的組件可以通過(guò)例如通信網(wǎng)絡(luò)的任意形式或介質(zhì)的數(shù)字?jǐn)?shù)據(jù)通信進(jìn)行互連。通信網(wǎng)絡(luò)的示例包括局域網(wǎng)(LAN)和廣域網(wǎng)(WAN),例如互聯(lián)網(wǎng)。計(jì)算系統(tǒng)可以包括客戶端和服務(wù)器??蛻舳撕头?wù)器通常彼此遠(yuǎn)離并且典型地通過(guò)通信網(wǎng)絡(luò)進(jìn)行交互??蛻舳撕头?wù)器的關(guān)系源自于在相應(yīng)計(jì)算機(jī)上運(yùn)行并且彼此具有客戶端-服務(wù)器關(guān)系的計(jì)算機(jī)程序。雖然本說(shuō)明書(shū)包含了許多特定的實(shí)施方式細(xì)節(jié),但是這些不應(yīng)當(dāng)被理解為對(duì)于任意發(fā)明或可要求保護(hù)的范圍的限制,而是作為可特定于特定發(fā)明的特定實(shí)施例的特征的描述。該說(shuō)明書(shū)中以分立實(shí)施例的背景中描述的某些特征也可以組合在單個(gè)實(shí)施例中實(shí)施。 相反,在單個(gè)實(shí)施例的背景中描述的各種特征也可以在多個(gè)實(shí)施例中單獨(dú)實(shí)施或者以任意適當(dāng)?shù)淖咏M合來(lái)實(shí)施。此外,雖然特征可以在以上被描述為以某些組合進(jìn)行工作,甚至最初要求這樣,但是來(lái)自所要求的組合的一個(gè)或多個(gè)特征在一些情況下可以從所述組合中排除,并且所要求的組合可以針對(duì)于子組合或者子組合的變化形式。類似地,雖然操作在圖中以特定順序描繪,但是這不應(yīng)當(dāng)被理解為要求這樣的操作以所示出的特定順序或連續(xù)順序來(lái)執(zhí)行,或者所圖示的所有操作都要被執(zhí)行才能實(shí)現(xiàn)預(yù)期的結(jié)果。在某些環(huán)境中,多任務(wù)和并行處理可能是有益的。此外,以上所描述實(shí)施例中各種系統(tǒng)組件的分離不應(yīng)當(dāng)被理解為在所有實(shí)施例中都要求這樣的分離,并且應(yīng)當(dāng)理解的是,所描述的程序組件和系統(tǒng)通常能夠在單個(gè)軟件產(chǎn)品中被集成在一起或者打包到多個(gè)軟件產(chǎn)品中。 已經(jīng)對(duì)本發(fā)明的多個(gè)實(shí)施例進(jìn)行了描述。然而,應(yīng)當(dāng)理解的是,可以進(jìn)行各種修改而并不背離本發(fā)明的精神和范圍。因此,其它實(shí)施例也落入權(quán)利要求的范圍之內(nèi)。
權(quán)利要求
1.一種在網(wǎng)絡(luò)中路由分組的方法,所述網(wǎng)絡(luò)具有以包括η個(gè)層的節(jié)點(diǎn)層級(jí)結(jié)構(gòu)為特征的拓?fù)?,其中L表示所述結(jié)構(gòu)中的層并且為整數(shù),其中L = 0表示最低層而L = η-1表示最高層,所述方法包括在第一節(jié)點(diǎn)至少接收分組的分組報(bào)頭;基于所述分組報(bào)頭,確定是否將所述分組傳送到層L、層L+1或?qū)覮-I中的第二節(jié)點(diǎn);以及在所述第一節(jié)點(diǎn)處一接收所述分組就將所述分組傳送到所述第二節(jié)點(diǎn)而并不等待接收到整個(gè)分組并且不在從所述第一節(jié)點(diǎn)進(jìn)行傳輸之前復(fù)制所述分組。
2.如權(quán)利要求1所述的方法,其中所述η個(gè)層包括η-1個(gè)切換節(jié)點(diǎn)層以及1個(gè)計(jì)算節(jié)點(diǎn)層,所述結(jié)構(gòu)中的每一層包括被分組成單元的節(jié)點(diǎn),每個(gè)單元具有多于一個(gè)的節(jié)點(diǎn),并且除了所述計(jì)算層外的層中的每個(gè)節(jié)點(diǎn)包括用于所述結(jié)構(gòu)中下一個(gè)較低層中的單元的切換節(jié)點(diǎn);并且其中所述第一節(jié)點(diǎn)是切換節(jié)點(diǎn);并且將分組傳送到層L中的第二節(jié)點(diǎn)包括通過(guò)點(diǎn)對(duì)點(diǎn)鏈路將所述分組傳送到在與所述第一節(jié)點(diǎn)相同的單元中的所述第二節(jié)點(diǎn);和將分組傳送到層L+1或?qū)覮-I中的第二節(jié)點(diǎn)包括通過(guò)點(diǎn)對(duì)點(diǎn)鏈路將所述分組傳送到在與所述第一節(jié)點(diǎn)不同的單元中的所述第二節(jié)點(diǎn)。
3.一種系統(tǒng),包括節(jié)點(diǎn)的層級(jí)結(jié)構(gòu),所述層級(jí)結(jié)構(gòu)包括η個(gè)層,所述η個(gè)層包括η-1個(gè)切換節(jié)點(diǎn)層以及 1個(gè)計(jì)算節(jié)點(diǎn)層,其中所述層級(jí)結(jié)構(gòu)中的每一層包括一個(gè)或多個(gè)節(jié)點(diǎn)單元,其中L表示所述結(jié)構(gòu)中的層并且為整數(shù),其中L = 0表示最低層而L = η-1表示最高層,并且一個(gè)單元中的節(jié)點(diǎn)數(shù)目大于1;其中所述切換節(jié)點(diǎn)被配置為 至少接收分組的分組報(bào)頭;基于所述分組報(bào)頭,確定是否將所述分組傳送到層L、層L+1或?qū)覮-I中的第二節(jié)點(diǎn);以及在所述切換節(jié)點(diǎn)處一接收到包括消息的一個(gè)或多個(gè)分組就向所述第二節(jié)點(diǎn)傳送所述分組而并不等待接收到整個(gè)分組并且不在從所述切換節(jié)點(diǎn)進(jìn)行傳輸之前復(fù)制所述分組。
4.如權(quán)利要求3所述的系統(tǒng),其中所述計(jì)算節(jié)點(diǎn)每一個(gè)包括 至少一個(gè)處理器;通信硬件;和存儲(chǔ)器。
5.如權(quán)利要求4所述的系統(tǒng),其中所述至少一個(gè)處理器包括應(yīng)用處理器和操作系統(tǒng)處理器。
6.如權(quán)利要求4所述的系統(tǒng),其中所述通信硬件包括現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)。
7.如權(quán)利要求4所述的系統(tǒng),其中所述通信硬件被配置為監(jiān)視到所述計(jì)算節(jié)點(diǎn)的業(yè)務(wù)。
8.如權(quán)利要求4所述的系統(tǒng),其中所述通信硬件被配置為 將在所述計(jì)算節(jié)點(diǎn)接收到的消息引導(dǎo)至所述處理器;并且從所述處理器接收消息以便傳輸?shù)讲煌?jié)點(diǎn)。
9.如權(quán)利要求3所述的系統(tǒng),其中在除了所述計(jì)算層外的層中的每個(gè)節(jié)點(diǎn)包括用于所述結(jié)構(gòu)中下一個(gè)較低層中的單元的切換節(jié)點(diǎn);并且其中對(duì)于每個(gè)單元所述單元中的每個(gè)節(jié)點(diǎn)通過(guò)點(diǎn)對(duì)點(diǎn)鏈路連接到所述單元中的每個(gè)其它節(jié)點(diǎn); 所述單元中的每個(gè)節(jié)點(diǎn)通過(guò)點(diǎn)對(duì)點(diǎn)鏈路連接到所述單元中的本地切換節(jié)點(diǎn);并且所述單元中的每個(gè)節(jié)點(diǎn)通過(guò)所述單元的本地廣播網(wǎng)絡(luò)連接到所述單元中的每個(gè)其它節(jié)點(diǎn)和所述本地切換節(jié)點(diǎn)。
10.如權(quán)利要求3所述的系統(tǒng),其中所述切換節(jié)點(diǎn)每一個(gè)包括 處理器;和通信硬件。
全文摘要
描述了用于在網(wǎng)絡(luò)中路由分組的方法和裝置。所述網(wǎng)絡(luò)具有以包括n個(gè)層的節(jié)點(diǎn)層級(jí)結(jié)構(gòu)為特征的拓?fù)?。L表示所述結(jié)構(gòu)中的層并且為整數(shù),其中L=0表示最低層而L=n-1表示最高層。所述方法包括在第一節(jié)點(diǎn)至少接收分組的分組報(bào)頭;基于所述分組報(bào)頭,確定是否將所述分組傳送到層L、層L+1或?qū)覮-1中的第二節(jié)點(diǎn)。在所述第一節(jié)點(diǎn)處一接收所述分組就將所述分組傳送到第二節(jié)點(diǎn)而并不等待接收到整個(gè)分組并且不在從所述第一節(jié)點(diǎn)進(jìn)行傳輸之前復(fù)制所述分組。
文檔編號(hào)H04L12/56GK102449961SQ201080022624
公開(kāi)日2012年5月9日 申請(qǐng)日期2010年3月25日 優(yōu)先權(quán)日2009年3月26日
發(fā)明者羅納爾德·邁克爾·亨利, 韋羅妮卡·弗朗西絲·梅里菲爾德 申請(qǐng)人:超級(jí)計(jì)算公司