專利名稱:可縮放的基于總線的片上互連網(wǎng)絡(luò)的制作方法
可縮放的基于總線的片上互連網(wǎng)絡(luò)
背景技術(shù):
多節(jié)點處理架構(gòu)已興起,主要替代聯(lián)網(wǎng)單處理器的復(fù)雜系統(tǒng)。這種架構(gòu)的示例包括單片多處理器和片上系統(tǒng),其中在單個集成電路上制造多個處理節(jié)點。具有多通信源的片上網(wǎng)絡(luò)通常用于將單獨的節(jié)點互連起來。根據(jù)摩爾法則,預(yù)期在不遠(yuǎn)的將來芯片多處理器的節(jié)點數(shù)量從幾十增長到幾百個。然而,現(xiàn)有的互連網(wǎng)絡(luò)不易縮放,一般無法高效地容納更大的多節(jié)點處理架構(gòu)。
發(fā)明內(nèi)容
本公開大體涉及在多節(jié)點網(wǎng)絡(luò)上路由數(shù)據(jù)的系統(tǒng)。示例系統(tǒng)包括多節(jié)點陣列,具有多個節(jié)點以及連接這些節(jié)點的多個物理通信通道。物理通信通道中至少一個可以配置為將數(shù)據(jù)從所述多個節(jié)點中的第一節(jié)點路由到多個節(jié)點中的兩個或更多個其他目的地節(jié)點。 本公開大體還涉及在多節(jié)點網(wǎng)絡(luò)上路由數(shù)據(jù)的方法、以及存儲有計算機可執(zhí)行指令的計算機可訪問介質(zhì),計算機可執(zhí)行指令用于執(zhí)行在多節(jié)點網(wǎng)絡(luò)上路由數(shù)據(jù)的技術(shù)。在一個示例中,提供了一種在多節(jié)點網(wǎng)絡(luò)上路由數(shù)據(jù)的系統(tǒng)。該系統(tǒng)可以包括多節(jié)點陣列,多節(jié)點陣列具有多個節(jié)點以及連接這多個節(jié)點的多個物理通信通道。物理通信通道中至少一個可以配置為將數(shù)據(jù)從多個節(jié)點中的第一節(jié)點路由到所述多個節(jié)點中的兩個或更多個其他目的地節(jié)點。在另一示例中,提供了一種在多節(jié)點網(wǎng)絡(luò)上路由數(shù)據(jù)的方法。該方法可以包括 利用處理裝置從存儲裝置中獲取數(shù)據(jù),以提供所獲取數(shù)據(jù);以及利用路由裝置,通過單個物理通信信道,將所獲取的數(shù)據(jù)從多節(jié)點陣列的第一節(jié)點路由至多節(jié)點陣列的其他目的地節(jié)點,單個物理通信信道被配置為將數(shù)據(jù)從第一節(jié)點路由到兩個或更多個其他目的地節(jié)點。在又一示例中,提供了一種存儲有計算機可執(zhí)行指令的計算機可訪問介質(zhì),計算機可執(zhí)行指令用于執(zhí)行在多節(jié)點網(wǎng)絡(luò)上路由數(shù)據(jù)的過程。當(dāng)由處理裝置執(zhí)行該過程時,處理裝置被配置為執(zhí)行技術(shù)方案。該技術(shù)方案可以包括利用處理裝置從存儲裝置中獲取數(shù)據(jù);以及利用路由裝置,通過單個物理通信信道,將從存儲裝置獲取的數(shù)據(jù)從多節(jié)點陣列的第一節(jié)點路由至多節(jié)點陣列的其他目的地節(jié)點,單個物理通信信道被配置為將數(shù)據(jù)從第一節(jié)點路由到兩個或更多個其他目的地節(jié)點。雖然公開了多個示例,但是根據(jù)下面的詳細(xì)描述,其他示例對于本領(lǐng)域技術(shù)人員而言是顯而易見的。顯然,能夠在多個明顯的方面對本文描述的系統(tǒng)、方法和計算機程序進行修改,這些均不背離本文教義的精神和范圍。相應(yīng)地,詳細(xì)描述要視為本質(zhì)上是示意性而非限制性的。
結(jié)合附圖,從下面的描述和所附權(quán)利要求中,本公開的前述和其他特征將更加明顯。應(yīng)該理解這些附圖僅示出了根據(jù)本公開的幾個實施例,因此不應(yīng)視為限制本公開的范圍,使用附圖,利用附加特點和細(xì)節(jié)描述本公開,附圖中
圖1是根據(jù)本公開的多節(jié)點處理網(wǎng)絡(luò)的示意性示例的示意圖。圖2是根據(jù)本公開的多節(jié)點處理網(wǎng)絡(luò)的示意性示例的框圖。圖3是根據(jù)本公開的多節(jié)點陣列架構(gòu)的框圖。圖4是根據(jù)本公開的多節(jié)點陣列架構(gòu)的框圖。圖5是根據(jù)本公開的多節(jié)點陣列架構(gòu)的框圖。圖6是根據(jù)本公開如圖5所示多節(jié)點處理陣列中單個節(jié)點的微架構(gòu)示例的示意圖。圖7是根據(jù)本公開多節(jié)點處理網(wǎng)絡(luò)中單個節(jié)點的微架構(gòu)的示意圖。圖到8c是根據(jù)本公開的多節(jié)點陣列架構(gòu)的多種示例的示意圖。圖9是根據(jù)本公開的在多節(jié)點處理網(wǎng)絡(luò)上路由數(shù)據(jù)的方法示例的流程圖。圖10是根據(jù)本公開的在多節(jié)點處理網(wǎng)絡(luò)上路由數(shù)據(jù)的另一方法示例的流程圖。圖11是配置為在多節(jié)點處理網(wǎng)絡(luò)上路由數(shù)據(jù)的計算設(shè)備示例的框圖。
具體實施例方式附圖包括編號以指示附圖中所示示例的所示出的組件,包括如下多節(jié)點處理裝置100 ;處理節(jié)點陣列102 ;處理節(jié)點104(1)到104(N);單個處理節(jié)點專用的資源106 ;處理節(jié)點的任意子集專用的資源108 ;外部總線112 ;外部組件114 ;主存儲器120 ;數(shù)據(jù)202, 409,501 ;數(shù)據(jù)請求210 ;內(nèi)核/節(jié)點控制器116 ;數(shù)據(jù)總線123 ;通信通道117,801,805, 807,809,811 ;連接127 ;子節(jié)點301 ;點到點通信通道401,403,411 ;共享通信通道405, 507,509 ;路由裝置118 ;點到點通信通道407 ;通信通道行303 ;水平維度505 ;垂直維度 503 ;節(jié)點處理器617 ;劃分器601 ;來自劃分器的輸入603 ;輸出618,615,616,620 ;組播數(shù)據(jù)分組609 ;廣播數(shù)據(jù)分組607 ;劃分器的X坐標(biāo)域602 ;劃分器的Y坐標(biāo)域604 ;客戶端輸入 619 ;客戶端輸出616 ;輸入通道701到711 ;數(shù)據(jù)緩沖器729到739 ;節(jié)點面東(E)側(cè)的復(fù)用器721 ;節(jié)點面西(W)側(cè)的復(fù)用器723 ;節(jié)點面北(N)側(cè)的復(fù)用器725 ;節(jié)點面南( 側(cè)的復(fù)用器727 ;輸出通道713到719 ;交叉式交換器730 ;步驟902 ;步驟904 ;計算機系統(tǒng)1007 ; 處理器1005 ;步驟1001 ;步驟1003 ;基本配置1101 ;計算設(shè)備1100 ;系統(tǒng)存儲器1120 ;處理器1110 ;存儲器總線1130 ;—級高速緩存1111 ;二級高速緩存1112 ;寄存器1114 ;存儲器控制器1115 ;節(jié)點/內(nèi)核控制器11 ;多節(jié)點處理陣列1113 ;操作系統(tǒng)1121 ;應(yīng)用程序 1122 ;程序數(shù)據(jù)1124 ;虛線1101 ;數(shù)據(jù)存儲設(shè)備1150 ;總線/接口控制器1140 ;存儲接口總線1141 ;可移除存儲設(shè)備1151 ;不可移除存儲設(shè)備1152 ;接口總線1142 ;輸出設(shè)備1160 ; 圖形處理單元1161 ;外圍接口 1170 ;接口控制器1171 ;并行接口控制器1172 ;I/O端口 1173 ;通信設(shè)備1180 ;網(wǎng)絡(luò)控制器1181 ;計算設(shè)備1190 ;共享通道510,512,514。在以下詳細(xì)描述中,參照附圖,附圖構(gòu)成詳細(xì)描述的一部分。附圖中類似符號通常標(biāo)識類似組件,除非上下文另有指出。詳細(xì)描述、附圖和權(quán)利要求中描述的示意性示例不是限制性的。在不背離本文呈現(xiàn)的主題的精神或范圍的前提下,可以利用其他示例,可以進行其他改變。容易理解,可以許多類型的不同配置來布置、替換、組合、分離和設(shè)計本文大體上描述的和附圖中示出的本公開的各個方面,這些配置都是在本文中顯然設(shè)想到的。此外,不詳細(xì)描述一些已知的結(jié)構(gòu)、電路、技術(shù)等,以避免不必要地模糊本公開。在多節(jié)點處理中,當(dāng)從存儲器、外部傳感器或計算環(huán)境的其他組件(例如但不限于,輸入輸出(I/O)設(shè)備、或通過總線耦接至中央處理單元(CPU)的其他組件)讀取數(shù)據(jù)時,可以將數(shù)據(jù)分發(fā)給特定處理節(jié)點。可以多種方式,例如通過單芯片多處理器上的片上互連網(wǎng)絡(luò),將待處理的數(shù)據(jù)分發(fā)給處理節(jié)點。使用現(xiàn)有互連拓?fù)涞亩喙?jié)點處理器有時可能無法高效地在多個處理節(jié)點之間路由數(shù)據(jù)。例如,數(shù)據(jù)可能經(jīng)過大量中間路由裝置,而不是直接流經(jīng)單個通信通道。每個這種裝置可能導(dǎo)致數(shù)據(jù)在一個點到點網(wǎng)絡(luò)連接與另一點到點網(wǎng)絡(luò)連接之間“跳”。例如,例如,許多現(xiàn)有拓?fù)湟?guī)定了當(dāng)在起始節(jié)點與目的地節(jié)點之間路由數(shù)據(jù)分組時,數(shù)據(jù)分組可以采取若干跳,這浪費能量并產(chǎn)生較大路由器等待時間。其他現(xiàn)有拓?fù)涫褂么罅繉S命c到點鏈接,以減少網(wǎng)絡(luò)中的跳數(shù)和最小化總路由器延遲。然而,這些拓?fù)洳灰卓s放,會導(dǎo)致較低的通道利用率。為了提高多節(jié)點處理網(wǎng)絡(luò)的效率和可縮放性,本文描述了針對多節(jié)點處理網(wǎng)絡(luò)架構(gòu)的系統(tǒng)和方法示例,其可以在處理節(jié)點陣列上高效地路由數(shù)據(jù)。本文描述的系統(tǒng)和方法示例可以包括多個通信通道,多個通信通道可以耦接處理節(jié)點,處理節(jié)點配置為向兩個或更多個目的地節(jié)點路由數(shù)據(jù)。此外,可以多種配置來布置多節(jié)點處理網(wǎng)絡(luò)的節(jié)點和通信通道,以例如提高網(wǎng)絡(luò)的效率。例如,網(wǎng)絡(luò)可以是集中式的,使得例如陣列中的節(jié)點可以包括一組子節(jié)點,子節(jié)點可以配置為共享路由裝置。下面將詳細(xì)描述這些配置以及其他配置的示例。圖1是根據(jù)本公開布置的多節(jié)點處理網(wǎng)絡(luò)100的示意性示例的示意圖。網(wǎng)絡(luò)100 包括具有處理節(jié)點陣列102的單個集成電路。在其他示例中,多節(jié)點處理器可以包括分離的集成芯片上的處理器。處理節(jié)點陣列102可以包括特定數(shù)目(N)的處理節(jié)點104(1)到 104(N)??梢蕴峁┤魏芜m合數(shù)目(N)的處理節(jié)點104。處理節(jié)點104(1)到104(N)中每一個一般可以具有任何所需的配置,包括但不限于微處理器(μΡ)、微控制器(PC)、數(shù)字信號處理器(DSP)等,或者它們的任意組合。因此,處理節(jié)點104(1)到104(N)中每一個可以包括用于執(zhí)行程序或軟件指令的邏輯、以及其他功能塊,例如算術(shù)邏輯單元(ALU)、浮點單元(FPU)、數(shù)字信號處理(DSP)節(jié)點、寄存器、累加器等。多節(jié)點處理器100可以包括專用或共享資源的任意組合。專用資源可以是例如單個處理節(jié)點104的專用資源106,例如專用一級高速緩存,以及/或者可以是處理節(jié)點104 的任意子集的專用資源108。共享資源可以是例如由所有節(jié)點104(1)到104(N)共享的資源 110,例如共享二級高速緩存、以及/或者支持多節(jié)點處理器100與另一組件114 (例如但不限于,輸入輸出(I/O)設(shè)備、外部傳感器等)之間接口的共享外部總線112,或者可以是處理節(jié)點104的任意子集共享的資源。共享資源也可以包括主存儲器120,主存儲器120可以是任何適合形式的存儲器,包括但不限于例如易失性存儲器(例如隨機存取存儲器(RAM))、 非易失性存儲器(例如只讀存儲器(ROM)或閃存存儲器)、數(shù)據(jù)存儲器件(例如磁盤存儲器 (例如硬盤驅(qū)動或HDD)、磁帶存儲器、光存儲器(例如光盤或CD、數(shù)字萬能盤或DVD))、或者其他可移除、不可移除、易失性或非易失性機器可讀存儲介質(zhì)和/或計算機可訪問介質(zhì)。多節(jié)點處理器100可以具有任意適合數(shù)目的處理節(jié)點104(1)到104(N)。例如, 多節(jié)點處理器100可以具有兩( 個節(jié)點、四(4)個節(jié)點、幾十個節(jié)點、甚至幾百或更多個處理節(jié)點。多節(jié)點處理器的一些示例可以是同質(zhì)的,從而每個節(jié)點都使用單一的節(jié)點設(shè)計。 多節(jié)點處理器的其他示例可以是異質(zhì)的,從而一個或多個處理節(jié)點可以與一個或多個其他處理節(jié)點不同,以及/或者可以針對多節(jié)點處理器100中的不同角色來優(yōu)化每個節(jié)點或者
節(jié)點子集。多節(jié)點處理器100也可以包括內(nèi)核/節(jié)點控制器或內(nèi)核/節(jié)點接口 116。內(nèi)核/ 節(jié)點控制器116可以確定每個處理節(jié)點104(1)到104(N)要處理哪些處理任務(wù)。也可以提供一個或多個路由功能或裝置118,例如路由器、交換器或者路由器和交換器的組合,在各個處理節(jié)點104(1)到104(N)之間路由數(shù)據(jù)。在一個示例中,可以使用路由器118將處理任務(wù)路由至選定的處理節(jié)點。圖1是多節(jié)點處理器100的示例的示意框圖,而非示出了本文所述組件的物理位置。應(yīng)理解,本文描述的多節(jié)點處理器100是示例性的,可以存在變型或修改。例如,硬件尺寸和復(fù)雜度vs.性能、熱能和散熱、處理器速度、總吞吐量等方面的考慮可以影響設(shè)計選擇。閱讀本公開的本領(lǐng)域技術(shù)人員可以理解,多節(jié)點處理器100可以提供在合適的計算環(huán)境中,例如個人計算機(PC)中。計算環(huán)境可以包括多節(jié)點處理器100、系統(tǒng)存儲器、一或多條總線、以及一或多個輸入輸出(I/O)設(shè)備,輸入輸出(I/O)設(shè)備例如包括鍵盤、鼠標(biāo)、 觸摸屏、例如常規(guī)基于CRT或LCD的監(jiān)視器等顯示設(shè)備、通用串行總線(USB)或其他端口連接、⑶驅(qū)動、DVD驅(qū)動等。可以使用例如外圍組件互連(PCI)、PCT Express、加速圖形端口 (AGP)等總線協(xié)議或其他任意適合的總線協(xié)議,來實現(xiàn)多個組件之間的總線連接,并且不同設(shè)備之間的連接可以使用不同協(xié)議。PC可以操作在使用至一或多個遠(yuǎn)程計算機的邏輯連接的聯(lián)網(wǎng)環(huán)境中。這種遠(yuǎn)程計算機可以是例如其他PC、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對等設(shè)備或其他常見網(wǎng)絡(luò)節(jié)點。邏輯連接可以包括例如局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)。圖2是根據(jù)本公開的多節(jié)點處理網(wǎng)絡(luò)的示意性示例的框圖。如圖2所示,可以由處理器100 (例如圖1所示)收集或通過其他方式收集數(shù)據(jù)202,并將數(shù)據(jù)202存儲在存儲器和/或其他存儲裝置120中??梢栽卺槍Χ喙?jié)點處理器陣列102的處理而請求時,由內(nèi)核/節(jié)點控制器116從存儲器或存儲裝置120中獲取所存數(shù)據(jù)202。相應(yīng)地,可以由內(nèi)核/ 節(jié)點控制器116從多節(jié)點處理器陣列102向存儲器120發(fā)送數(shù)據(jù)請求210,并且可以將數(shù)據(jù)發(fā)送給一個或多個節(jié)點140 (1)-140 (N)以供處理。可以沿數(shù)據(jù)總線123向內(nèi)核/節(jié)點控制器116傳送數(shù)據(jù)202,內(nèi)核/節(jié)點控制器116可以確定哪些節(jié)點140 (1)-140 (N)將處理數(shù)據(jù) 202。在一些示例中,可以在集成電路或芯片、或者在節(jié)點陣列102上制造或提供處理節(jié)點140(1)到140(N)??梢匝刂谅酚善?18的連接127路由數(shù)據(jù)202。然后可以使用一個或多個路由器118以及連接路由器118的通信通道117,將數(shù)據(jù)202路由至選定的單獨處理節(jié)點140(1)到140 (N)。通信通道401、403、405、407(如圖4所示,并且下面將進一步詳細(xì)描述)可以是物理通信通道,這些通道包括半導(dǎo)體制造中使用的任意適合的傳導(dǎo)材料。一般而言,由節(jié)點 140(1)到140 (N)處理的數(shù)據(jù)202的類型可以確定數(shù)據(jù)經(jīng)過處理節(jié)點140(1)到140 (N)網(wǎng)絡(luò)的路徑,這些處理節(jié)點140(1)到140 (N)是選定的處理與數(shù)據(jù)相關(guān)聯(lián)的任務(wù)的處理節(jié)點。本文公開的多節(jié)點陣列架構(gòu)的另一示例如圖3中框圖所示。如圖3所示,多節(jié)點處理器100的處理節(jié)點陣列102的節(jié)點140(1)到140 (N)可以包括共享網(wǎng)絡(luò)資源118的兩個或更多個子節(jié)點301(1)到301(16)。如上所述,網(wǎng)絡(luò)資源118可以包括網(wǎng)絡(luò)接口,例如路由裝置或交換器,其便利了每組子節(jié)點140 (1)、140 (2)、140 C3)和140(4)通過通信通道 117與其他組子節(jié)點進行通信。如圖3所示示例等集中式陣列可以因子4減少網(wǎng)絡(luò)資源, 這可以提高整個多節(jié)點網(wǎng)絡(luò)的效率和處理速度。集中式片上網(wǎng)絡(luò)的另一示例在John Kim, James D. Balfour 禾口 William J. Dally StJ "Flattened Butterfly Topology for On—Chip Networks,,,IEEE Computer Architecture Letters, Vol. 6, Issue 2, pp. 37-40 中有所論述,其全部內(nèi)容作為參考合并在此。如圖3所示,構(gòu)成多節(jié)點陣列的節(jié)點140(1)到140(N)可以并列或平鋪配置來布置,也可以按照其他方式布置,例如以簡單的環(huán)配置等。圖4是根據(jù)本公開的多節(jié)點陣列架構(gòu)的框圖。如圖4所示,各個單獨節(jié)點104的路由器118可以通過多種長度的通信通道401、403、405鏈接,這些通信通道可以將各個處理節(jié)點104對分、以及/或者延伸過各個處理節(jié)點104、以及/或者在各個處理節(jié)點104上。 通信通道可以包括用于將數(shù)據(jù)從起始節(jié)點104(1)或節(jié)點104( 路由到相鄰節(jié)點104(2) 或節(jié)點104(3)的單點到點通信通道401、407、411,以及用于在由中間節(jié)點104(2)分開的節(jié)點104(1)和節(jié)點104C3)之間路由數(shù)據(jù)的較長點到點通道403。較長點到點通道403可以用來通過減少將數(shù)據(jù)409路由通過多節(jié)點網(wǎng)絡(luò)104所需的跳數(shù),來最小化網(wǎng)絡(luò)中的等待時間。例如,在圖4所示多節(jié)點陣列中,相比于短長度通道401和407,可以使用較長通道 403,更高效地將數(shù)據(jù)分組409從起始節(jié)點104(1)路由到目的地節(jié)點104(3)。除了點到點通信通道,多節(jié)點處理網(wǎng)絡(luò)也可以包括共享通信通道405,其可以用作將數(shù)據(jù)從起始節(jié)點104(1)路由到多個目的地節(jié)點104⑵、104(3)和104(4)的共享總線通路(busway)。與較長點到點通道403的益處類似,共享通道405可以通過最小化網(wǎng)絡(luò)的整體跳數(shù),來減小等待時間。此外,點到點通道可以通過減少將多個網(wǎng)絡(luò)節(jié)點連接而所需的通道的數(shù)目,來顯著增強網(wǎng)絡(luò)的可縮放性和性能。圖5中示出了多節(jié)點陣列架構(gòu)的另一示例的框圖,其中示出了陣列102,包括例如布置在單個多節(jié)點芯片102上的十六(16)個節(jié)點104(1)到104(16)以及六十四(64)個子節(jié)點301。在該示例中,可以將子節(jié)點301⑴到301 (4)集中成四個子節(jié)點301⑴到301 (4) 的組,共享用于在多個節(jié)點組104(1)到104(N)之間路由數(shù)據(jù)的路由裝置和資源118(如圖1到4所示,為了清楚目的在圖5中省略)。除了圖5所示陣列布置之外,許多其他大小和配置的多節(jié)點陣列也是可能的。例如,示例陣列可以包括256個節(jié)點,并可以使用16路 (16-way)集中或4路集中。連接多個節(jié)點的物理通信通道303可以在陣列102的不同維度503、505(例如, 不同方向,例如水平方向505、垂直方向503和對角線方向)上沿著處理節(jié)點104(1)到 104(16)的行延伸,以形成穿越多個節(jié)點104(1)到104(16)的物理通信通道303的行。在一些示例中,物理通信通道303的行可以沿著處理節(jié)點104(1)到104(16)的行延伸,這些處理節(jié)點104(1)到104(16)的行具有水平維度505和垂直維度503上的取向。在一些其他示例中,如果需要,通信通道303的行可以沿著取向為對角線維度或其他維度的處理節(jié)點 104(1)到104(16)的行延伸。在某一維度或方向505,503上沿處理節(jié)點104(1)到104(16) 的一行延伸的通信通道303行的數(shù)目可以例如等于處理節(jié)點104(1)到104(16)的該相應(yīng)行中處理節(jié)點104(1)到104(N)的數(shù)目。例如,沿著節(jié)點陣列102的每個水平行104(1)到104(4),104(5)到104(8)、104(9)到 104(12)和 104(13)到 104(16)、以及每個垂直行 104(1)到 104(13)、104(2)到 104(14)、104(3)到104(15)和104(4)到104(16),圖5所述陣列具有四個通信通道行。陣列102也可以在每個水平行中包括四個節(jié)點104,例如節(jié)點104(1)到104 )、節(jié)點104(5) 到104(8)、節(jié)點104(9)到104(12)和節(jié)點104(13)到104(16),并在每個垂直行中包括四個節(jié)點 104,例如節(jié)點 104(1)到 104(13)、節(jié)點 104(2)到 104(14)、節(jié)點 104(3)到 104(15) 和節(jié)點104(4)到104(16)。在另一示例中,在陣列102的任意維度505,503 (垂直、水平或?qū)蔷€)上沿處理節(jié)點104(1)到104(16)行延伸的通信通道303行的數(shù)目可以等于沿該行的處理節(jié)點104(1)到104(16)的數(shù)目。在一些示例中,多節(jié)點處理陣列102也可以包括共享總線通路和/或點到點通道的組合,以最大化網(wǎng)絡(luò)的效率和性能。可以兩跳或更少跳數(shù)將輸入數(shù)據(jù)501路由至陣列的任何兩個節(jié)點104。例如,可以使用共享通信通道507和509,以兩跳將數(shù)據(jù)501從節(jié)點 104(1)路由到節(jié)點104(16)。應(yīng)該注意,圖5僅示出了多節(jié)點處理陣列的一種可能配置,可以對該可能配置進行修改以包括例如更多或更少節(jié)點、子節(jié)點和/或通信通道。圖6是根據(jù)本公開的多節(jié)點處理陣列(例如圖5所示陣列102)中單個節(jié)點104(6) 的微架構(gòu)示例的示意圖。節(jié)點104(6)可以具有路由器118和劃分器601(1)到601(6)。例如,可以沿X維度605以一跳并沿Y維度603以一跳將數(shù)據(jù)分組607,609從源節(jié)點104(7) 路由至目的地節(jié)點104(6)。源節(jié)點104(7)可以構(gòu)建包含目的地節(jié)點104(1)到104(N)的X 坐標(biāo)位置607( 和Y坐標(biāo)位置607 C3)的數(shù)據(jù)分組消息607,609。在示例中,源節(jié)點104(7) 可以將數(shù)據(jù)分組607,609傳輸?shù)焦?jié)點104(6)的路由器118中,路由器118將數(shù)據(jù)分組607, 609放置到節(jié)點104(6)的路由器118的輸出端口 615,616,618,620之一中,以分發(fā)給節(jié)點陣列102中的其他節(jié)點104(1)到104(N)。目的地節(jié)點104(6)可以包括多個劃分器601,劃分器601可以將數(shù)據(jù)分組607的 X坐標(biāo)域607( 與劃分器601的X坐標(biāo)域602相比較。在一個示例中,如果X坐標(biāo)不匹配, 則劃分器601不將數(shù)據(jù)分組607路由至節(jié)點104(6)的路由器118的輸入通道603,而是可以將數(shù)據(jù)分組607路由至陣列102中的另一節(jié)點104。在另一示例中,如果數(shù)據(jù)分組607的 X坐標(biāo)域607( 與劃分器601的X坐標(biāo)域602匹配,則劃分器601可以將數(shù)據(jù)分組607路由至合適的西向(W)輸入通道603。然后,節(jié)點104(6)的路由器118可以讀取數(shù)據(jù)分組607 的Y坐標(biāo)域607 (3),并將數(shù)據(jù)分組607的Y坐標(biāo)域607 (3)與劃分器601的Y坐標(biāo)域604相比較。在一個示例中,如果Y坐標(biāo)域607 (3)與604不匹配,則節(jié)點104(6)的路由器118可以使用南向(S)輸出通道615將數(shù)據(jù)分組607傳送給陣列102中的其他節(jié)點104,以由其他節(jié)點的其他路由器118通過相應(yīng)的Y劃分器來進行比較。在另一示例中,如果Y坐標(biāo)域 607 (3)與604匹配,則路由器118可以通過內(nèi)部通信通道616將數(shù)據(jù)分組607路由至節(jié)點 104(6)中的節(jié)點處理器617。在其他示例中,數(shù)據(jù)分組607可以在分組607的首部中包括廣播比特607(1),指示數(shù)據(jù)分組607可以路由至陣列102中的所有節(jié)點104(1)到104(N)(如圖1_5所示)。在另一示例中,數(shù)據(jù)分組609可以在分組609的首部中包括組播比特609 (1),指示數(shù)據(jù)609可以路由至陣列102中節(jié)點104的子集。支持組播的數(shù)據(jù)分組609可以包括比特掩碼609(2),該比特掩碼609(2)可以對應(yīng)于節(jié)點陣列102中的多個目的地節(jié)點104(1)到104(N)0例如,可以按照多種方法將組播數(shù)據(jù)分組609從圖5所示陣列102中的節(jié)點104(1)(具有坐標(biāo)位 S 0,0)組播給目的地節(jié)點104 (7)(例如,具有坐標(biāo)位置2,1)和104 (16)(例如,具有坐標(biāo)位置3,;3)。在一個示例中,源處理節(jié)點104(1)可以將數(shù)據(jù)分組609的比特掩碼609(2)設(shè)置為參考目的地節(jié)點104(7)和104(16)的坐標(biāo)(2,1)和(3,3)。源節(jié)點104(1)處的路由器118則可以通過東向(E)共享通道510(如圖5所示)將數(shù)據(jù)分組609路由至位于適當(dāng) X坐標(biāo)位置處的節(jié)點104(3)和104 ),節(jié)點104(3)和104(4)可以將消息遞送給位于適當(dāng) Y坐標(biāo)位置處的目的地節(jié)點104 (7)和104 (16)。圖7是根據(jù)本公開的多節(jié)點處理陣列(例如圖5所示陣列102)中單個節(jié)點104(7) 的微架構(gòu)示例的示意圖。在一個示例中,可以通過輸入通道701到711將數(shù)據(jù)緩沖器729 到739中保持的輸入數(shù)據(jù)分組路由至節(jié)點104(7)內(nèi)部的路由器118或者與路由器118功能等同的裝置。在由路由器118處理之后,可以通過從節(jié)點104(7)開始延伸的輸出通道 713到719,將數(shù)據(jù)分組路由至節(jié)點陣列102中的其他節(jié)點104。在一些示例中,每個節(jié)點 104可以具有2 (k-Ι)個輸入通道701到711來將數(shù)據(jù)路由至節(jié)點104 (7),k是沿水平、垂直或?qū)蔷€維度的節(jié)點的數(shù)目。如圖5和6的示例所示,對于總共6個輸入通道701到711, 節(jié)點104(7)可以具有將數(shù)據(jù)饋送至節(jié)點104(7)的面東(E)側(cè)721的單個通信通道701 ; 將數(shù)據(jù)饋送至節(jié)點104(7)的面西(W)側(cè)723的兩個輸入通道703,705 ;將數(shù)據(jù)路由至節(jié)點 104(7)的面北(N)側(cè)725的一個輸入通道;以及將數(shù)據(jù)饋送至節(jié)點104(7)的面南(S)側(cè) 727的兩個輸入通道709,711。在另一示例中,可以通過相應(yīng)的復(fù)用器721到727對到達(dá)節(jié)點輸入通道701到711的數(shù)據(jù)緩沖器729到739中保持的數(shù)據(jù)分組進行復(fù)用,并通過通道 731到737將數(shù)據(jù)傳送至交叉交換器730,交叉交換器730可以將數(shù)據(jù)傳送至適當(dāng)?shù)妮敵鐾ǖ?13,715,717或719。在另一示例中,路由器118也可以包括將節(jié)點處理器617連接至路由器118的輸入通道619和輸出通道616。此外,如圖6所示示例中示出的,并排陣列配置中的節(jié)點104可以具有多達(dá)四個輸出通信通道713到719。在一個示例中,輸出通道可以在每個方向(例如,北、東、南或西) 上從節(jié)點104(7)開始延伸。圖8a到8c是根據(jù)本公開的多節(jié)點陣列架構(gòu)的多個示例的示意圖。在一個示例中, 如圖8a所示,通信通道801可以被配置為將數(shù)據(jù)803路由至節(jié)點陣列102中的多個單獨的節(jié)點104(1)到104(4)。在另一示例中,如圖8b所示,可以將通信通道801劃分成兩個或更多個通信通道805和807,通信通道805和807各自可以被配置為將數(shù)據(jù)路由至節(jié)點陣列 102中的每個節(jié)點104(1)到104 )。通信通道805和807可以具有與被劃分的通信通道801 的帶寬相同的帶寬,但是也可以具有更小(或更大)的帶寬。在一個示例中,通信通道805 和807可以具有近似相等的帶寬,包括被劃分通信通道801的帶寬的近似相等的部分。使用多個共享通道將數(shù)據(jù)路由至多個節(jié)點,這可以防止或減少浪費的通道內(nèi)(intra-charmel) 帶寬,如果通道的帶寬超過頻繁傳輸?shù)臄?shù)據(jù)分組的大小,則會發(fā)生通道內(nèi)帶寬浪費。將通道劃分也可以防止或減少緩沖網(wǎng)絡(luò)系統(tǒng)中的隊頭阻塞(head of line blocking),以提高網(wǎng)絡(luò)的整體效率。如圖8c的示例所示,也可以將通信通道801劃分成兩個或更多個劃分子通道809 和811,子通道809和811可以被配置為將數(shù)據(jù)803路由至被劃分通信信道801的目的地節(jié)點104( ,104(3)和104(4)。劃分子通道809,811可以包括點到點通道和共享通信通道的組合。在一些示例中,可以對劃分子通道809,811的目的地節(jié)點104(2),104(3)和104(4) 進行劃分,使得劃分子通道809之一的目的地節(jié)點104( 和104(4)不同于任何其他劃分子通道811的目的地節(jié)點104(3)。在其他示例中,當(dāng)劃分通信通道801時,到陣列102的每個路由器118的輸入的數(shù)目不改變。圖9是根據(jù)本公開在多節(jié)點處理網(wǎng)絡(luò)上路由數(shù)據(jù)的方法示例的流程圖。如操作 902中所示,可以通過處理裝置獲取來自存儲裝置的數(shù)據(jù),以提供獲取的數(shù)據(jù)。在操作904, 可以利用路由裝置,通過單個物理通信通道將從存儲裝置獲取的數(shù)據(jù)從多節(jié)點處理陣列的第一處理節(jié)點路由至至少兩個其他目的地處理節(jié)點。圖10是根據(jù)本公開在多節(jié)點處理網(wǎng)絡(luò)上路由數(shù)據(jù)的方法另一示例的流程圖。如圖10所示,計算機系統(tǒng)1007可以包括處理器1005,處理器1005配置為執(zhí)行在多節(jié)點處理網(wǎng)絡(luò)上路由數(shù)據(jù)的方法示例。在其他示例中,可以在處理器1005外部執(zhí)行該方法的多個步驟或多個步驟中的一部分步驟。在操作1001,例如該方法可以包括利用處理裝置從存儲裝置獲取數(shù)據(jù),以提供獲取的數(shù)據(jù)。在操作1003,該方法可以包括利用路由裝置,通過單個物理通信通道將從存儲裝置獲取的數(shù)據(jù)從多節(jié)點處理陣列的第一處理節(jié)點路由至至少兩個其他目的地處理節(jié)點。圖11是示出了根據(jù)本公開的被布置為在多節(jié)點處理網(wǎng)絡(luò)上路由數(shù)據(jù)的示例計算設(shè)備1100的框圖。在非?;镜呐渲?101中,計算設(shè)備1100典型地包括一個或多個處理器1110、以及系統(tǒng)存儲器1120。存儲器總線1130可以用于處理器1110與系統(tǒng)存儲器1120 之間的通信。依據(jù)所需配置,處理器1110可以是任何類型的,包括但不限于微處理器(μ P)、微控制器(μ C)、數(shù)字信號處理器(DSP)或者它們的任何組合。處理器1110可以包括一級或更多級高速緩存(例如一級高速緩存1111和二級高速緩存1112)、以及寄存器1114。處理器1110可以進一步包括多節(jié)點處理陣列1113,多節(jié)點處理陣列1113被布置為在多節(jié)點處理網(wǎng)絡(luò)上路由數(shù)據(jù)。多節(jié)點處理陣列1113可以包括算術(shù)邏輯單元(ALU)、浮點單元(FPU)、 數(shù)字信號處理核(DSP核)或者它們的任何組合。存儲器控制器1115也可以與處理器1110 一起使用,或者在一些實施方式中,存儲器控制器1115可以是存儲器1110的內(nèi)部部分。處理器1110可以進一步包括節(jié)點/內(nèi)核控制器1129,節(jié)點/內(nèi)核控制器11 可以確定由多節(jié)點處理陣列1113處理的處理任務(wù)。依據(jù)所需配置,系統(tǒng)存儲器1120可以是任何類型的,包括但不限于易失性存儲器 (例如RAM)、非易失性存儲器(例如ROM、閃速存儲器等)或者它們的任何組合。系統(tǒng)存儲器1120典型地包括操作系統(tǒng)1121、一個或多個應(yīng)用程序1122以及程序數(shù)據(jù)11M。在一些實施例中,應(yīng)用程序1122可以被布置為在操作系統(tǒng)1121上與程序數(shù)據(jù)IlM—起操作。上述基本配置在圖11中由虛線1101內(nèi)的那些組件示出。計算設(shè)備1100可以具有附加特征或功能、以及附加接口來方便基本配置1101與任何需要的設(shè)備和接口之間的通信。例如,可以使用總線/接口控制器1140來方便基本配置1101與一個或多個數(shù)據(jù)存儲設(shè)備1150之間經(jīng)由存儲接口總線1141的通信。數(shù)據(jù)存儲設(shè)備1150可以是可移除存儲設(shè)備1151、不可移除存儲設(shè)備1152或者它們的組合。可移除存儲設(shè)備和不可移除存儲設(shè)備的示例包括,舉例來說,磁盤設(shè)備(例如軟盤驅(qū)動器和硬盤驅(qū)動器(HDD))、光盤驅(qū)動器(例如光盤(CD)驅(qū)動器或數(shù)字萬能盤(DVD)驅(qū)動器)、固態(tài)驅(qū)1動器(SSD)和磁帶驅(qū)動器。示例計算機存儲媒介可以包括以任何信息存儲方法或技術(shù)實現(xiàn)的易失性和非易失性、可移除和不可移除媒介,例如計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)。系統(tǒng)存儲器1120、可移除存儲設(shè)備1151和不可移除存儲設(shè)備1152都是計算機存儲媒介的示例。計算機存儲媒介可以包括但不限于RAM、R0M、EEPR0M、閃速存儲器或其他存儲器技術(shù)、CD-ROM、數(shù)字萬能盤(DVD)或其他光存儲設(shè)備、磁盒、磁帶、磁盤存儲設(shè)備或其他磁存儲設(shè)備、或者可以用于存儲所需信息并且可由計算設(shè)備1100訪問的任何其他媒介。任何這種計算機存儲媒介可以是設(shè)備1100的一部分。計算設(shè)備1100也可以包括接口總線1142,其方便從多個接口設(shè)備(例如,輸出接口、外圍接口和通信接口)經(jīng)由總線/接口控制器1140向基本配置1101的通信。示例輸出設(shè)備1160包括圖形處理單元1161和音頻輸出單元1162,這些單元1161和1162可以配置為經(jīng)由一個或多個A/V端口 1163向例如顯示器或揚聲器等多個外部設(shè)備進行通信。示例外圍接口 1170包括串行接口控制器1171或并行接口控制器1172,這些控制器1171或 1172可以配置為經(jīng)由一個或多個I/O端口 1173與例如輸入設(shè)備(例如,鍵盤、鼠標(biāo)、筆、語音輸入設(shè)備、觸摸輸入設(shè)備等)或其他外圍設(shè)備(例如,打印機、掃描儀等)等外部設(shè)備進行通信。示例通信設(shè)備1180包括網(wǎng)絡(luò)控制器1181,網(wǎng)絡(luò)控制器1181可以布置為方便在經(jīng)由一個或多個通信端口 1182的網(wǎng)絡(luò)通信上與一個或多個其他計算設(shè)備1190進行通信。通信連接是通信媒介的一個示例。通信媒介典型地由計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、 程序模塊、或調(diào)制數(shù)據(jù)信號(例如載波或其他傳輸機制)中的其他數(shù)據(jù)來具體實現(xiàn),包括任何信息傳遞媒介?!罢{(diào)制數(shù)據(jù)信號”可以是如下信號該信號特性中的一個或更多個被設(shè)置或改變,以便在信號中對信息進行編碼。舉例而言,而非限制性的,通信媒介可以包括有線媒介,例如有線網(wǎng)絡(luò)或直接有線連接,以及無線媒介,例如聲、射頻(RF)、紅外(IR)和其他無線媒介。本文使用的術(shù)語計算機可讀媒介可以包括存儲媒介和通信媒介兩者。計算設(shè)備1100可以實現(xiàn)為小形狀因數(shù)的便攜式(或移動)電子設(shè)備的一部分,電子設(shè)備例如是蜂窩電話、個人數(shù)據(jù)助理(PDA)、個人媒體播放器設(shè)備、無線網(wǎng)絡(luò)鐘表 (web-watch)設(shè)備、個人頭戴式耳機設(shè)備、專用設(shè)備、或者包括前述功能中任何功能的混合設(shè)備。計算設(shè)備1100也可以實現(xiàn)為個人計算機,包括膝上型計算機和非膝上型計算機配置。以上描述了如何在多節(jié)點處理網(wǎng)絡(luò)上路由數(shù)據(jù)的多個示例。下面描述用于在多節(jié)點處理網(wǎng)絡(luò)上路由數(shù)據(jù)的方法和系統(tǒng)的具體示例。這些示例僅用于示意目的,而不是要限制本公開。例如,用于在多節(jié)點網(wǎng)絡(luò)上路由數(shù)據(jù)的系統(tǒng)可以包括具有多個節(jié)點的多節(jié)點陣列、以及連接多個節(jié)點的多條物理通信通道。多條物理通信通道中至少一條可以配置為從節(jié)點中的第一節(jié)點向兩個或更多個目的地節(jié)點路由數(shù)據(jù)。 在其他示例中,多個節(jié)點中每一個可以包括配置為共享路由裝置的兩個或更多個子節(jié)點。此外,多條物理通信通道可以在陣列的第一方向上沿節(jié)點的第一行延伸,以形成多個物理通信通道行,多個節(jié)點中沿第一行定位的節(jié)點的數(shù)目可以等于多個物理通信通道行中在所述數(shù)目的節(jié)點之間沿第一行延伸的行的數(shù)目。在另一示例中,多條物理通信通道可以在陣列的第一方向上沿節(jié)點的第一行延伸,并在陣列的第二方向上沿節(jié)點的第二行延伸,以形成多個物理通信通道行。多個節(jié)點中沿第一行定位的節(jié)點的第一數(shù)目可以等于多個物理通信通道行中在所述第一數(shù)目的節(jié)點之間沿第一行延伸的行的數(shù)目。多個節(jié)點中沿第二行定位的節(jié)點的第二數(shù)目可以等于多個物理通信通道行中在所述第二數(shù)目的節(jié)點之間沿第二行延伸的行的數(shù)目。在其他示例,陣列的第一和第二方向可以包括陣列的水平方向和陣列的垂直方向。此外,多個節(jié)點中每一個可以具有兩個到四個輸出、以及2(k-l)個輸入,k是多個節(jié)點中沿陣列的特定行定位的節(jié)點的數(shù)目。此外,多條物理通信通道中至少一條可以包括兩個或更多個劃分子通道。這兩個或更多個劃分子通道中每一個可以配置為將數(shù)據(jù)路由至多條物理通信通道中相應(yīng)一條的其他目的地節(jié)點。此外,這兩個或更多個劃分子通道可以具有近似相等的帶寬,并且劃分子通道的帶寬之和可以近似等于多條物理通信通道中相應(yīng)一條的帶寬。在另一示例中,多條物理通信通道中至少一條可以包括兩個或更多個劃分子通道,這兩個或更多個劃分子通道配置為將數(shù)據(jù)路由至多條物理通信通道中所述一條物理通信通道的目的地節(jié)點。劃分子通道中至少一條可以配置為將數(shù)據(jù)從第一節(jié)點路由至物理通信通道中相應(yīng)一條的目的地節(jié)點中的至少兩個,并且劃分子通道中任何一條的其他目的地節(jié)點可以不同于劃分子通道中任何另一條的其他目的地節(jié)點。此外,物理通信通道可以配置為以最多兩跳將數(shù)據(jù)從第一節(jié)點路由至其他目的地節(jié)點中的任何一個。在其他示例中, 系統(tǒng)可以配置為單芯片多處理器。本公開一般還可以涉及用于在多節(jié)點網(wǎng)絡(luò)上路由數(shù)據(jù)的方法。用于在多節(jié)點網(wǎng)絡(luò)上路由數(shù)據(jù)的方法的一個可能示例可以包括利用處理裝置從存儲裝置中獲取數(shù)據(jù),以提供獲取的數(shù)據(jù);以及利用路由裝置將獲取的數(shù)據(jù)通過單個物理通信通道從多節(jié)點陣列的第一節(jié)點路由至其他目的地節(jié)點,其中所述單個物理通信通道被配置為將數(shù)據(jù)從第一節(jié)點路由至兩個或更多個其他目的地節(jié)點。在其他示例中,每一個節(jié)點可以包括被配置為共享路由裝置的兩個或更多個子節(jié)點。此外,網(wǎng)絡(luò)可以包括多條物理通信通道,多條物理通信通道可以在陣列的第一方向上沿節(jié)點的第一行延伸,以形成多個物理通信通道行,多個節(jié)點中沿第一行定位的節(jié)點的數(shù)目可以等于多個物理通信通道行中在所述數(shù)目的節(jié)點之間沿第一行延伸的行的數(shù)目。在一些示例中,每一個節(jié)點可以具有兩個到四個輸出、以及2(k-l)個輸入,k是多個節(jié)點中沿陣列的特定行定位的節(jié)點的數(shù)目。在另外的示例中,物理通信通道可以包括具有近似相等帶寬的劃分子通道。每個劃分子通道可以配置為將數(shù)據(jù)路由至所述單個物理通信通道的其他目的地節(jié)點。另外,兩個或更多個劃分子通道可以具有近似相等的帶寬,并且劃分子通道的帶寬之和可以近似等于所述單個物理通信通道的帶寬。在其他示例中,所述單個物理通信通道可以包括被配置為將數(shù)據(jù)路由至所述單個物理通信通道的其他目的地節(jié)點的兩個或更多個劃分子通道。劃分子通道中至少一個可以配置為將數(shù)據(jù)從第一節(jié)點路由至所述單個物理通信通道的至少兩個其他目的地節(jié)點中的至少兩個,劃分子通道中任何一條的其他目的地節(jié)點可以不同于劃分子通道中任何另一條的其他目的地節(jié)點。此外,所述單個物理通信通道可以配置為以最多兩跳將數(shù)據(jù)從第一節(jié)點路由至其他目的地節(jié)點中的任何一個。本公開一般還涉及計算機可訪問介質(zhì),其上存儲有用于執(zhí)行在多節(jié)點網(wǎng)絡(luò)上路由數(shù)據(jù)的過程的計算機可執(zhí)行指令。例如,當(dāng)由處理裝置執(zhí)行該過程時,處理裝置可以配置為執(zhí)行如下技術(shù),包括利用處理裝置從存儲裝置獲取數(shù)據(jù);以及利用路由裝置將從存儲裝置中獲取的數(shù)據(jù)通過單個物理通信通道從多節(jié)點陣列的第一節(jié)點路由至另一目的地節(jié)點, 其中所述單個物理通信通道被配置為將數(shù)據(jù)從第一節(jié)點路由至至少兩個或更多個其他目的地節(jié)點。在計算機可訪問介質(zhì)的其他示例中,所述單個物理通信通道可以包括劃分子通道。每個劃分子通道可以配置為將數(shù)據(jù)路由至所述單個物理通信通道的其他目的地節(jié)點。本公開不限于本申請中描述的具體示例,這些示例是為了示意本公開的多個方面??梢栽诓槐畴x本公開精神和范圍的前提下進行多種修改和變型,這些對于本領(lǐng)域技術(shù)人員而言是明顯的。除了本文枚舉的那些方法和設(shè)備之外,根據(jù)以上描述,在本公開范圍內(nèi)的功能上等同的方法和設(shè)備對于本領(lǐng)域技術(shù)人員而言是明顯的。這些修改和變型落入在所附權(quán)利要求的范圍內(nèi)。本公開僅由所附權(quán)利要求的條款以及這些權(quán)利要求所擁有的等同物的全部范圍來限定。要理解,本公開不限于具體方法、反應(yīng)物、化合物、混合物或生物系統(tǒng), 當(dāng)然這些是可以改變的。還要理解,本文所用術(shù)語僅僅是為了描述具體示例,不是要限制本公開。在系統(tǒng)各個方面的硬件和軟件實現(xiàn)之間幾乎不存在區(qū)別;使用硬件或軟件通常 (但非總是,因為在特定情況下,硬件和軟件之間的選擇可能很重要)是代表成本vs.效率權(quán)衡的設(shè)計選擇。存在多種手段(例如,硬件、軟件和/或固件)可以實現(xiàn)本文描述的過程和/或系統(tǒng)和/或其他技術(shù),優(yōu)選手段會隨著采用過程和/或系統(tǒng)和/或其他技術(shù)的情況而變化。例如,如果實施者確定速度和精確度頭等重要,則實施者可以選擇主要是硬件和/ 或固件的手段;如果靈活性頭等重要,則實施者可以選擇主要是軟件的實施方式;或者,備選地,實施者可以選擇硬件、軟件和/或固件的某種組合。以上具體描述通過使用框圖、流程圖和/或示例給出了設(shè)備和/或過程的多個實施例。在這些框圖、流程圖和/或示例包含一種或更多種功能和/或操作的情況下,本領(lǐng)域技術(shù)人員將理解,這些框圖、流程圖或示例內(nèi)的每個功能和/或操作可以通過許多硬件、 軟件、固件或者實際上它們的任何組合,來單獨地和/或集體地實施。在一個示例中,本文描述的主題的若干部分可以通過專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)、數(shù)字信號處理器(DSP)或其他集成格式來實現(xiàn)。然而,本領(lǐng)域技術(shù)人員將認(rèn)識到,本文描述的示例的一些方面在整體上或部分地可以等同地實現(xiàn)在集成電路中、實現(xiàn)為一個或多個計算機上運行的一個或多個計算機程序(例如,在一個或多個計算機系統(tǒng)上運行的一個或多個程序)、實現(xiàn)為在一個或多個處理器上運行的一個或多個程序(例如,在一個或多個微處理器上運行的一個或多個程序)、實現(xiàn)為固件、或者實際上實現(xiàn)為它們的任意組合,根據(jù)本公開, 設(shè)計電路和/或編寫軟件或固件的代碼在本領(lǐng)域技術(shù)人員的技術(shù)能力范圍內(nèi)。此外,本領(lǐng)域技術(shù)人員將理解,本文所述的主題的機制能夠以多種形成作為程序產(chǎn)品分發(fā),并且可以應(yīng)用本文所述的主題的示意性示例,無論實際用來執(zhí)行分發(fā)的信號承載介質(zhì)的具體類型如何。信號承載介質(zhì)的示例包括但不限于如下可記錄型介質(zhì),例如軟盤、硬盤驅(qū)動器、光盤 (CD)、數(shù)字視頻盤(DVD)、數(shù)字磁帶、計算機存儲器等;以及傳輸型介質(zhì),例如數(shù)字和/或模擬通信介質(zhì)(例如,光纖纜線、波導(dǎo)、有線通信鏈路、無線通信鏈路等)。本領(lǐng)域技術(shù)人員將認(rèn)識到,在本領(lǐng)域內(nèi)通常以本文給出的形式來描述設(shè)備和/或過程,然后使用工程實踐將所述設(shè)備和/或過程合并成數(shù)據(jù)處理系統(tǒng)。即,通過合理數(shù)量的實驗,可以將本文所述設(shè)備和/或過程的至少一部分合并到數(shù)據(jù)處理系統(tǒng)中。本領(lǐng)域技術(shù)人員將認(rèn)識到,典型的數(shù)據(jù)處理系統(tǒng)一般包括系統(tǒng)單元外殼、視頻顯示設(shè)備、存儲器(例如易失性和非易失性存儲器)、處理器(例如微處理器和數(shù)字信號處理器)、計算實體(例如操作系統(tǒng)、驅(qū)動器、圖像用戶接口和應(yīng)用程序)、一個或多個接口設(shè)備(例如觸摸墊或屏)和 /或包括反饋環(huán)和控制電機(例如,用于感測位置和/或速度的反饋;用于移動和/或調(diào)整組件和/或數(shù)量)的控制系統(tǒng)之中的一種或多種??梢岳萌魏芜m合的商用組件,例如在數(shù)據(jù)計算/通信和/或網(wǎng)絡(luò)計算/通信系統(tǒng)中常見的那些組件,來實現(xiàn)典型的數(shù)據(jù)處理系統(tǒng)。本文描述的主題有時示出了不同組件包含在其他不同組件內(nèi)或與之連接。要理解,所示出的架構(gòu)僅僅是示例,事實上可以實現(xiàn)具有相同功能的許多其他架構(gòu)。從構(gòu)思的意義來講,實現(xiàn)相同功能的任何組件配置實際上是“關(guān)聯(lián)的”,使得實現(xiàn)所需的功能。因此, 這里相組合以實現(xiàn)特定功能的任何兩個組件可以看作是彼此“相關(guān)聯(lián)”的,以便實現(xiàn)所需功能,而不管架構(gòu)或中間組件如何。類似地,如此關(guān)聯(lián)的任何兩個組件也可以視為是彼此“操作性連接”或“操作性耦合”的,以實現(xiàn)所需功能。能夠如此關(guān)聯(lián)的任何兩個組件也可以視為彼此“操作性可耦合的”,以實現(xiàn)所需功能。操作性可耦合的具體示例包括但不限于物理上可配對和/或物理上交互的組件和/或無線地可交互和/或無線交互的組件和/或邏輯上交互和/或邏輯上可交互的組件。對于本文使用的實質(zhì)上任何復(fù)數(shù)和/或單數(shù)術(shù)語,本領(lǐng)域技術(shù)人員可以在適合上下文和/或應(yīng)用時進行從復(fù)數(shù)到單數(shù)和/或從單數(shù)到復(fù)數(shù)的轉(zhuǎn)變。為清楚起見,本文可以明確給出多種單數(shù)/復(fù)數(shù)轉(zhuǎn)變。本領(lǐng)域技術(shù)人員將理解,一般地,本文使用的術(shù)語,特別是所附權(quán)利要求(例如, 所附權(quán)利要求的主體)中使用的術(shù)語,一般是“開放式”術(shù)語(例如,術(shù)語“包括”應(yīng)該解釋為“包括但不限于”,術(shù)語“具有”應(yīng)該解釋為“至少具有”,術(shù)語“包括”應(yīng)該解釋為“包括但不限于”等)。本領(lǐng)域技術(shù)人員進一步將理解,如果所引權(quán)利要求內(nèi)容的具體數(shù)值是意指的, 則這種意圖會明顯記載在權(quán)利要求中,如果不存在這種記載,則不存在這種意圖。例如,為幫助理解,下面所附權(quán)利要求可以包含引導(dǎo)性短語“至少一個”和“一個或多個”,來引入權(quán)利要求內(nèi)容。然而,這些短語的使用不應(yīng)該視為隱含了由不定冠詞引導(dǎo)權(quán)利要求內(nèi)容會將包含這種所引導(dǎo)的權(quán)利要求內(nèi)容的任何特定權(quán)利要求限定到只包含這種記載的實施例,即使當(dāng)同一權(quán)利要求包含引導(dǎo)性短語“一個或多個”或“至少一個”以及不定冠詞(例如,不定冠詞應(yīng)該解釋為表示“至少一個”或“一個或多個”);這對于使用定冠詞來引導(dǎo)權(quán)利要求內(nèi)容的情況下也是成立的。此外,即使明確記載了特定數(shù)目的所引導(dǎo)的權(quán)利要求內(nèi)容,本領(lǐng)域技術(shù)人員將認(rèn)識到這種記載應(yīng)該解釋為至少表示所記載的數(shù)目(例如,僅僅記載“兩個內(nèi)容”,而無其他修飾語,表示至少兩個內(nèi)容,或兩個或更多個內(nèi)容)。此外,在使用與“A、B 和C等中至少一個”類似的慣用語句的那些情況下,一般而言這種結(jié)構(gòu)要表示的含義是本領(lǐng)域技術(shù)人員將理解的這種慣用語句的含義(例如,“具有A、B和C中至少一個的系統(tǒng)”包括但不限于如下系統(tǒng)僅具有A、僅具有B、僅具有C、具有A和B、具有A和C、具有B和C、以及 /或者具有A、B和C等)。在使用與“A、B或C等中至少一個”類似的慣用語句的那些情況下,一般而言這種結(jié)構(gòu)要表示的含義是本領(lǐng)域技術(shù)人員將理解的這種慣用語句的含義(例如,“具有A、B或C中至少一個的系統(tǒng)”包括但不限于如下系統(tǒng)僅具有A、僅具有B、僅具有C、具有A和B、具有A和C、具有B和C、以及/或者具有A、B和C等)。本領(lǐng)域技術(shù)人員還將理解,實質(zhì)上提供兩個或更多個備選項的任何轉(zhuǎn)折連詞和/或短語,無論在說明書、權(quán)利要求或附圖中,都應(yīng)該理解為考慮到如下可能性包括備選項之一、備選項中任何一個、或所有備選項。例如,短語“A或B”理解為包括可能性“A”、或“B”、或“A和B”。此外,當(dāng)以馬庫什組描述本公開的特征或方面時,本領(lǐng)域技術(shù)人員將認(rèn)識到,本公開從而也以馬庫什組的任何單獨要素或要素子組來描述。正如本領(lǐng)域技術(shù)人員將理解的,為了任何和所有目的,例如提供書面說明書,本文公開的所有范圍也涵蓋任何和所有可能的子范圍以及子范圍的組合??梢匀菀渍J(rèn)識到,任何列舉的范圍充分描述了并使得該范圍可以至少分解成相等的兩部分、三部分、四部分、五部分、十部分等等。作為非限制性示例,本文論述的每個范圍可以容易地分解成下三分之一、中三分之一和上三分之一等。正如本領(lǐng)域技術(shù)人員將理解的,例如“高達(dá)”、“至少”、“大于”、“少于”等所有語言包括記載的數(shù)值,并指示隨后可以如上所述分解成子范圍的范圍。 最后,正如本領(lǐng)域技術(shù)人員將理解的,范圍包括每個單獨的組成元素。因此,例如具有1-3 個單元的組是指具有1、2或3個單元的組。類似地,具有1-5個單元的組是指具有1、2、3、 4或5個單元的組,以此類推。例如水平或垂直等方向性術(shù)語是來方便地指示陣列的布局,但是不一定隱含了水平或垂直方向最終是相對于物理設(shè)備的水平面而水平或垂直取向的。雖然本文已經(jīng)描述了多個方面和實施例,但是其他方面的實施例對于本領(lǐng)域技術(shù)人員是顯而易見的。本文公開的多個方面和實施例是為了示出目的,不是要進行限制,真實范圍和精神由所附權(quán)利要求指示。
權(quán)利要求
1.一種用于在多節(jié)點網(wǎng)絡(luò)上路由數(shù)據(jù)的系統(tǒng),包括具有多個節(jié)點的多節(jié)點陣列;以及連接所述多個節(jié)點的多條物理通信通道;其中,所述多條物理通信通道中至少一條被配置為從所述多個節(jié)點中的第一節(jié)點向所述多個節(jié)點中的兩個或更多個其他目的地節(jié)點路由數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的系統(tǒng),其中,所述多個節(jié)點中每一個包括配置為共享路由裝置的兩個或更多個子節(jié)點。
3.根據(jù)權(quán)利要求1所述的系統(tǒng),其中,所述多條物理通信通道在陣列的第一方向上沿節(jié)點的第一行延伸,以形成多個物理通信通道行,所述多個節(jié)點中沿第一行定位的節(jié)點的數(shù)目等于所述多個物理通信通道行中在所述數(shù)目的節(jié)點之間沿第一行延伸的行的數(shù)目。
4.根據(jù)權(quán)利要求1所述的系統(tǒng),其中所述多條物理通信通道在陣列的第一方向上沿節(jié)點的第一行延伸,并在陣列的第二方向上沿節(jié)點的第二行延伸,以形成多個物理通信通道行;所述多個節(jié)點中沿第一行定位的節(jié)點的第一數(shù)目等于所述多個物理通信通道行中在所述第一數(shù)目的節(jié)點之間沿第一行延伸的行的數(shù)目;以及所述多個節(jié)點中沿第二行定位的節(jié)點的第二數(shù)目等于所述多個物理通信通道行中在所述第二數(shù)目的節(jié)點之間沿第二行延伸的行的數(shù)目。
5.根據(jù)權(quán)利要求4所述的系統(tǒng),其中,陣列的第一和第二方向包括陣列的水平方向和陣列的垂直方向。
6.根據(jù)權(quán)利要求1所述的系統(tǒng),其中,所述多個節(jié)點中每一個具有兩個到四個輸出、以及2(k-l)個輸入,k是所述多個節(jié)點中沿陣列的特定行定位的節(jié)點的數(shù)目。
7.根據(jù)權(quán)利要求1所述的系統(tǒng),其中,所述多條物理通信通道中至少一條包括兩個或更多個劃分子通道,每一個劃分子通道配置為將數(shù)據(jù)路由至所述多條物理通信通道中相應(yīng)一條的其他目的地節(jié)點。
8.根據(jù)權(quán)利要求7所述的系統(tǒng),其中,所述兩個或更多個劃分子通道具有近似相等的帶寬,并且這些劃分子通道的帶寬之和近似等于所述多條物理通信通道中相應(yīng)一條的帶覓ο
9.根據(jù)權(quán)利要求1所述的系統(tǒng),其中,所述多條物理通信通道中至少一條包括兩個或更多個劃分子通道,這兩個或更多個劃分子通道配置為將數(shù)據(jù)路由至所述多條物理通信通道中這一條物理通信通道的其他目的地節(jié)點,劃分子通道中至少一個配置為將數(shù)據(jù)從第一節(jié)點路由至所述多條物理通信通道中相應(yīng)一條的其他目的地節(jié)點中的至少兩個,并且任何一個劃分子通道的其他目的地節(jié)點不同于任何另一個劃分子通道的其他目的地節(jié)點。
10.根據(jù)權(quán)利要求1所述的系統(tǒng),其中,所述多條物理通信通道配置為以最多兩跳將數(shù)據(jù)從第一節(jié)點路由至其他目的地節(jié)點中的任何一個。
11.根據(jù)權(quán)利要求1所述的系統(tǒng),其中,所述系統(tǒng)配置為單芯片多處理器。
12.一種用于在多節(jié)點網(wǎng)絡(luò)上路由數(shù)據(jù)的方法,包括利用處理裝置從存儲裝置中獲取數(shù)據(jù),以提供獲取的數(shù)據(jù);以及利用路由裝置將獲取的數(shù)據(jù)通過單個物理通信通道從多節(jié)點陣列的第一節(jié)點路由至多節(jié)點陣列的另一目的地節(jié)點,其中所述單個物理通信通道被配置為將數(shù)據(jù)從第一節(jié)點路由至兩個或更多個其他目的地節(jié)點。
13.根據(jù)權(quán)利要求12所述的方法,其中,每一個節(jié)點包括被配置為共享路由裝置的兩個或更多個子節(jié)點。
14.根據(jù)權(quán)利要求12所述的方法,其中,網(wǎng)絡(luò)包括多條物理通信通道,所述多條物理通信通道在陣列的第一方向上沿節(jié)點的第一行延伸,以形成多個物理通信通道行,多個節(jié)點中沿第一行定位的節(jié)點的數(shù)目等于所述多個物理通信通道行中在所述數(shù)目的節(jié)點之間沿第一行延伸的行的數(shù)目。
15.根據(jù)權(quán)利要求12所述的方法,其中,每一個節(jié)點具有兩個到四個輸出、以及2(k-1) 個輸入,k是多個節(jié)點中沿陣列的特定行定位的節(jié)點的數(shù) 目。
16.根據(jù)權(quán)利要求12所述的方法,其中,物理通信通道包括具有近似相等帶寬的劃分子通道,每個劃分子通道配置為將數(shù)據(jù)路由至所述單個物理通信通道的其他目的地節(jié)點。
17.根據(jù)權(quán)利要求16所述的方法,其中,劃分子通道的帶寬之和近似等于所述單個物理通信通道的帶寬。
18.根據(jù)權(quán)利要求12所述的方法,其中,所述單個物理通信通道包括被配置為將數(shù)據(jù)路由至所述單個物理通信通道的其他目的地節(jié)點的兩個或更多個劃分子通道,劃分子通道中至少一個被配置為將數(shù)據(jù)從第一節(jié)點路由至所述單個物理通信通道的其他目的地節(jié)點中的至少兩個,任何一個劃分子通道的其他目的地節(jié)點不同于任何另一個劃分子通道的其他目的地節(jié)點。
19.一種計算機可訪問介質(zhì),其上存儲有用于執(zhí)行在多節(jié)點網(wǎng)絡(luò)上路由數(shù)據(jù)的過程的計算機可執(zhí)行指令,其中,當(dāng)由處理裝置執(zhí)行該過程時,處理裝置配置為執(zhí)行如下技術(shù),包括利用處理裝置從存儲裝置獲取數(shù)據(jù);以及利用路由裝置將從存儲裝置中獲取的數(shù)據(jù)通過單個物理通信通道從多節(jié)點陣列的第一節(jié)點路由至多節(jié)點陣列的另一目的地節(jié)點,其中所述單個物理通信通道被配置為將數(shù)據(jù)從第一節(jié)點路由至至少兩個或更多個其他目的地節(jié)點。
20.根據(jù)權(quán)利要求19所述的計算機可訪問介質(zhì),其中,所述單個物理通信通道包括劃分子通道,每個劃分子通道配置為將數(shù)據(jù)路由至所述單個物理通信通道的其他目的地節(jié)點ο
全文摘要
本公開大體涉及在多節(jié)點網(wǎng)絡(luò)上路由數(shù)據(jù)的系統(tǒng)。示例系統(tǒng)包括多節(jié)點陣列,具有多個節(jié)點以及連接這些節(jié)點的多個物理通信通道。物理通信通道中至少一條可以配置為將數(shù)據(jù)從多個節(jié)點中的第一節(jié)點路由到多個節(jié)點中的兩個或更多個其他目的地節(jié)點。本公開大體還涉及在多節(jié)點網(wǎng)絡(luò)上路由數(shù)據(jù)的方法、以及存儲有計算機可執(zhí)行指令的計算機可訪問介質(zhì),計算機可執(zhí)行指令用于執(zhí)行在多節(jié)點網(wǎng)絡(luò)上路由數(shù)據(jù)的技術(shù)。
文檔編號H04W40/24GK102461264SQ201080027226
公開日2012年5月16日 申請日期2010年6月11日 優(yōu)先權(quán)日2009年6月19日
發(fā)明者斯蒂芬·W·柯克勒, 鮑里斯·格洛特 申請人:德克薩斯系統(tǒng)大學(xué)董事會