專利名稱:用于在互連網(wǎng)絡路由器內(nèi)進行分組合并的方法和設備的制作方法
技術(shù)領域:
本發(fā)明的一個或多個實施例一般涉及集成電路和計算機系統(tǒng)設計領域。更具體地來說,本發(fā)明的一個或多個實施例涉及一種用于在互連網(wǎng)絡路由器內(nèi)進行分組合并的方法和設備。
背景技術(shù):
具有16個或更多處理器的高速緩存一致性且共享存儲器的多處理器已經(jīng)成為常用的服務器機器。此類機器銷售所產(chǎn)生的收入占全球服務器收入的百分比不斷提高。這一塊市場的收入在近年來已經(jīng)大大增加,從而可能使之成為整個服務器市場中增長最快速的一塊。因此,主要供應商提供此類共享存儲器的多處理器,其中按比例增加到24與512個處理器之間。
高性能的互連網(wǎng)絡對于大規(guī)模、共享存儲器的多處理器的成功與否來說是至關(guān)重要的。此類網(wǎng)絡允許大數(shù)量的處理器和存儲器模塊使用高速緩存一致性協(xié)議彼此通信。在此類系統(tǒng)中,處理器對遠程存儲器模塊(或另一個處理器的高速緩存)的高速緩存未命中(“未命中請求”)以及后續(xù)的未命中響應被封裝在網(wǎng)絡分組中,并傳送到適合的處理器或存儲器。如本文所描述的,未命中請求和未命中響應均指一致性協(xié)議消息。
例如數(shù)據(jù)庫服務器的許多并行應用的性能取決于系統(tǒng)能夠有多快地處理多少一致性協(xié)議消息。因此,對于網(wǎng)絡來說,以低時延和高帶寬傳送包含一致性協(xié)議消息的分組是重要的。但是,網(wǎng)絡帶寬可能常常是珍貴的資源,而一致性協(xié)議可能不總是有效率地使用帶寬。此外,網(wǎng)絡通常耗費某個量的開銷以在網(wǎng)絡上來回移動分組。
在網(wǎng)絡上來回移動分組所需的開銷可以包括路由選擇信息和糾錯信息。例如,一些共享存儲器的多處理器耗費16%的開銷來移動64字節(jié)的有效負載。但是,因為分組有效負載的大小增加,所以與網(wǎng)絡上來回移動分組相關(guān)聯(lián)的開銷降低。因此,對于需要16%的開銷來移動64字節(jié)的有效負載的共享存儲器的多處理器來說,此類開銷將降低到約9%用于含128字節(jié)有效負載的網(wǎng)絡分組。
遺憾的是,承載一致性協(xié)議消息的網(wǎng)絡分組常常較小,因為它們承載簡單的一致性信息(例如確認或請求消息);或小高速緩存塊(例如64字節(jié))。因此,包含一致性協(xié)議消息的網(wǎng)絡分組通常效率不高地使用網(wǎng)絡帶寬,而更甚的是,高性能一致性協(xié)議可能具有遠遠更差的帶寬利用率。
在附圖中,以示例而非限制的形式圖示了本發(fā)明的多種實施例,其中圖1是圖示根據(jù)一個實施例的處理器的框圖。
圖2是圖示根據(jù)一個實施例的高速緩存一致且共享存儲器的多處理器網(wǎng)絡的框圖。
圖3是進一步圖示根據(jù)一個實施例的圖1的互連路由器的框圖。
圖4是進一步圖示根據(jù)一個實施例的圖3的互連路由器的框圖。
圖5是圖示圖3和圖4的網(wǎng)絡路由器的一個或多個管線級(pipelinestage)的框圖。
圖6是圖示根據(jù)一個實施例的互連路由器內(nèi)用于分組合并的2D網(wǎng)狀網(wǎng)絡的框圖。
圖7是圖示根據(jù)一個實施例的互連路由器內(nèi)用于分組合并的方法的流程圖。
圖8是圖示根據(jù)一個實施例用于將一致性協(xié)議消息組合成合并的網(wǎng)絡分組的方法的流程圖。
圖9是圖示根據(jù)一個實施例在合并的網(wǎng)絡分組內(nèi)組合識別的網(wǎng)絡分組的一致性協(xié)議消息的方法的流程圖。
圖10是圖示用于模擬、仿真和制作使用所公開技術(shù)的設計的多種設計表示或格式的框圖。
具體實施方式一種用于在互連網(wǎng)絡路由器內(nèi)進行分組合并的方法和設備。在一個實施例中,方法包括掃描至少一個輸入緩沖器以識別包含一致性協(xié)議消息且從不同源發(fā)往相同目的地的至少兩個網(wǎng)絡分組。在一個實施例中,將這些網(wǎng)絡分組內(nèi)的一致性協(xié)議消息組合成合并的網(wǎng)絡分組。一旦組合之后,將合并的網(wǎng)絡分組傳送到相同或匹配目的地。在一個實施例中,將多個網(wǎng)絡分組(每個網(wǎng)絡分組含有一個邏輯一致性消息)組合成較大合并的網(wǎng)絡分組,這將發(fā)送包含單個一致性消息的網(wǎng)絡分組的固定開銷分攤,從而較之較大合并的網(wǎng)絡分組改善了帶寬利用。
在下文描述中,使用某些術(shù)語來描述本發(fā)明的特征。例如,術(shù)語“邏輯”表示配置為執(zhí)行一個或多個功能的硬件和/或軟件。例如,“硬件”的示例包括但不限于集成電路、有限狀態(tài)機器甚至組合的邏輯。集成電路可以采用例如微處理器的處理器、專用集成電路、數(shù)字信號處理器、微控制器等形式。
“軟件”的示例包括采用應用程序、applet、例行程序或甚至一系列指令的形式的可執(zhí)行代碼。在一個實施例中,一種制造品可以包括其上存儲有軟件的機器或計算機可讀媒體,該軟件可以用于對計算機(或其他電子設備)編程以執(zhí)行根據(jù)一個實施例的過程。計算機或機器可讀媒體包括但不限于可編程電路、包括易失性存儲器(例如隨機存取存儲器等)和/或非易失性存儲器(例如任何類型的只讀存儲器“ROM”、閃速存儲器)的半導體存儲器裝置、軟磁盤、光盤(例如壓縮光盤或數(shù)字視頻光盤“DVD”)、硬盤驅(qū)動器、磁帶等。
系統(tǒng)圖1是圖示根據(jù)一個實施例的處理器100的框圖。代表性地,處理器100將處理器核110、高速緩存一致性硬件(未示出)、第一存儲器控制器(MC)(MC1)130、第二MC(MC2)140、含有L2高速緩存標記150的二級(L2)高速緩存數(shù)據(jù)以及互連路由器200集成在一個晶片上。在一個實施例中,可以將處理器100與多個處理器100組合并耦合在一起,以形成根據(jù)一個實施例的共享存儲器的多處理器網(wǎng)絡。在一個實施例中,多處理器網(wǎng)絡在2D環(huán)繞網(wǎng)絡(torus network)中連接最多例如128個處理器100。
圖2圖示根據(jù)一個實施例的12個處理器配置的高速緩存一致性且共享存儲器的多處理器系統(tǒng)。雖然圖2圖示包括12個多處理器100的共享存儲器的多處理器系統(tǒng),但是本領域技術(shù)人員將認識到本文所描述的實施例適用于共享存儲器的多處理器網(wǎng)絡內(nèi)的不同數(shù)量的處理器。在一個實施例中,參考圖3和圖4圖示的互連路由器200可以包括控制器,該控制器用于將多個一致性協(xié)議消息組合成合并的網(wǎng)絡分組,以分攤多處理器網(wǎng)絡300內(nèi)移動分組的開銷。
如本文所描述的,網(wǎng)絡分組和片斷(flit)是多處理器網(wǎng)絡300中數(shù)據(jù)傳輸?shù)幕締卧?。分組是網(wǎng)絡上從一個路由器傳送到另一個路由器的消息,它由一個或多個片斷組成。如本文所描述的,片斷是單個時鐘沿上并行傳送的分組的一部分。在一個實施例中,片斷對于有效負載是39位--32位,每個片斷糾錯碼(ECC)7位。代表性地,圖2所示的輸入和輸出處理器間端口的每一個可以是39位寬。但是,其他處理器間端口也是可能的,而這仍屬于本文所描述的實施例范圍內(nèi)。
如多處理器網(wǎng)絡300的多處理器網(wǎng)絡一般針對傳輸具有最大支持分組大小的分組而進行了優(yōu)化。在支持高速緩存一致性協(xié)議的網(wǎng)絡中,最大分組大小通常用于承載64或128字節(jié)的高速緩存塊。但是,在網(wǎng)絡內(nèi)傳送大量短一致性協(xié)議消息、例如請求、轉(zhuǎn)發(fā)和確認,從而導致網(wǎng)絡帶寬的無效率利用。在一個實施例中,可以合并多個此類短消息并在一個較大的網(wǎng)絡分組中發(fā)送,由此利用了針對網(wǎng)絡優(yōu)化的最大分組大小。
圖3進一步圖示圖1的互連路由器200,它包括歸并(merge)邏輯260,用于將多處理器網(wǎng)絡300內(nèi)各攜帶不同邏輯一致性消息的多個網(wǎng)絡分組組合成一個較大的網(wǎng)絡分組。在一個實施例中,這樣能夠分攤網(wǎng)絡300上移動一致性消息的開銷,以便更有效地使用可用網(wǎng)絡帶寬。在一個實施例中,能夠組合成一個大網(wǎng)絡分組的分組數(shù)量取決于具體實現(xiàn),它由高速緩存塊的大小、網(wǎng)絡分組大小、一致性讀請求大小、一致性寫請求大小等來決定。將均包含不同邏輯一致性消息的多個網(wǎng)絡分組組合成一個較大的網(wǎng)絡分組,本文稱為“一致性消息的合并”。
再次參考圖2,為了便利起見,流過多處理器網(wǎng)絡300的分組開始于處理器遇到高速緩存未命中。檢測到高速緩存未命中通常導致在未命中地址文件(MAF)中將未命中請求排隊。然后,控制器將該高速緩存未命中請求轉(zhuǎn)換成網(wǎng)絡分組,并將該網(wǎng)絡分組注入網(wǎng)絡300中。網(wǎng)絡300將該分組傳送到目的地處理器,該目的地處理器的存儲器通常處理該請求并返回封裝在網(wǎng)絡分組中的高速緩存未命中響應。網(wǎng)絡將該響應分組傳送到原請求處理器。如本文所描述的,高速緩存未命中請求和高速緩存未命中響應是一致性協(xié)議消息的示例。
如圖3所示,互連路由器200包括輸入端口230和輸入緩沖器240以便根據(jù)交叉開關(guān)220和仲裁器210的確定將網(wǎng)絡分組路由到輸出端口250。代表性地,北、南、東和西處理器間輸入端口(231-234)和處理器間輸出端口(251-254)(“2D環(huán)繞端口”)對應于至多處理器網(wǎng)絡300的片外連接。MC1和MC2輸入端口(236和237)和輸出端口(255和256)是兩個片上存儲器控制器MC1 130和MC2 140(圖1)。高速緩存輸入端口236對應于L2高速緩存120。L1輸出端口255連接到L1高速緩存和MC2 130和L2輸出端口256、L1高速緩存和MC2 140。此外,I/O端口238和257連接到位于多處理器100外部的I/O芯片320。
圖4還圖示根據(jù)一個實施例的互連路由器200,它包括歸并邏輯260。代表性地,輸入端口230包括相關(guān)聯(lián)的輸入緩沖器241-248。路由器200通常在緩沖器241-248中對分組排隊。這些緩沖器可以與輸入端口230相關(guān)聯(lián),或這些緩沖器可以包括共享的中央資源。在其中任何一種情況中,仲裁器210從這些緩沖器241-245中選擇分組并將它們轉(zhuǎn)發(fā)到相應的輸出端口250。因為分組在輸入緩沖器241-248中等待,所以它們提供唯一的機會被合并到網(wǎng)絡分組、稱為“合并的網(wǎng)絡分組”。在備選實施例中,例如耦合到輸出端口的輸出緩沖器用于形成合并的網(wǎng)絡分組。
通常有兩種此類可用的合并資源。首先,兩個處理器100常常具有穩(wěn)定的共享模式,例如制造者/消費者共享模式。因此,制造者常常以突發(fā)形式將分組發(fā)送到消費者。此類分組的突發(fā)到達相同的路由器,并向相同目的地前進。但是,所要求的主題并不局限于前面突發(fā)的示例。在一個實施例中,可以由歸并邏輯260將來自不同源處理器但是發(fā)往相同處理器的分組內(nèi)的一致性協(xié)議消息組合成合并的網(wǎng)絡分組,并將其發(fā)送到目的地。
在一個實施例中,歸并邏輯260包括控制器262,用于掃描互連路由器300的輸入緩沖器240以檢測具有相同目的地且包含單個一致性協(xié)議消息的網(wǎng)絡分組。在一個實施例中,如本文所描述的,一致性消息合并的實施由控制器262使用歸并緩沖器264來執(zhí)行。在一個實施例中,將稱為“歸并管線級”的額外管線級添加到路由器管線,如圖5A和圖5B所示,以便提供一致性消息合并。
在一個實施例中,為互連路由器300的每個對應輸入緩沖器提供一個歸并緩沖器264。在備選實施例中,使用單獨的指針表來跟蹤已經(jīng)被識別為合并到合并的網(wǎng)絡分組的網(wǎng)絡分組。根據(jù)該實施例,提供讀邏輯以跟蹤指針鏈,以便拾取遍歷網(wǎng)絡路由器300的管線的識別的分組。在一個實施例中,預先分配歸并緩沖器264內(nèi)的緩沖器項以保存最大分組大小。根據(jù)此類實施例,當接收到分組時,通過將分組直接放到歸并緩沖器264的預先分配項中來將這些分組一起歸并,歸并緩沖器264包含要被組合以形成合并的網(wǎng)絡分組的網(wǎng)絡分組。
表1
如圖5A和圖5B所示,路由器管線可以由執(zhí)行路由器表查詢、解碼、仲裁、經(jīng)由交叉開關(guān)轉(zhuǎn)發(fā)和ECC計算的多級組成。從局部端口始發(fā)的分組從路由器表查詢它的路由選擇信息,并將其加載到它的報頭中。解碼級對分組的報頭信息解碼,并將相關(guān)信息寫入項表,該表包含分組的仲裁狀態(tài)并在后續(xù)仲裁管線級中使用。表1定義用于描述圖5A和圖5B所示的管線級的多個首字母縮寫。
圖5A圖示局部輸入端口(高速緩存或存儲器控制器)到處理器間輸出端口的路由器管線270。與之相反,圖5B圖示從處理器間(北、南、東或西)輸入端口到處理器間輸出端口的路由器管線280。代表性地,第一片斷(272/282)通過兩個管線(270-1和280-1),一個用于調(diào)度(上方的管線(270-3/280-3))而另一個用于數(shù)據(jù)(下方的管線(270-4/280-4))。第二片斷(274/284)和后續(xù)片斷沿數(shù)據(jù)管線(270-2/280-2)傳送。在一個實施例中,在控制器262的排隊級之后添加歸并級,以便掃描和組合包含一致性協(xié)議消息的分組。
如圖所示,在寫輸入隊列(WrQ)管線級之前添加歸并管線級(M)。因此在一個實施例中,在解碼級之后,控制器262可以檢測網(wǎng)絡分組的目的地。然后,在歸并級(M),控制器262可以判斷是否可以將檢測到的分組與現(xiàn)有分組歸并。在一個實施例中,跟蹤具有可以與另一個網(wǎng)絡分組組合的一致性協(xié)議消息的網(wǎng)絡分組是通過在例如指向檢測到的分組的指針的表內(nèi)添加指針來執(zhí)行的。然后,可以形成合并的網(wǎng)絡分組,之后再將合并的網(wǎng)絡分組傳送到輸出端口。
如圖4所示,仲裁器210可以包括局部仲裁邏輯(L)以及全局仲裁邏輯(G)。在一個實施例中,仲裁管線由三個級組成LA(輸入端口仲裁)、RE(讀項表和傳輸)和GA(輸出端口仲裁)(參見表1)。輸入端口仲裁級從輸入緩沖器241-248查找分組,并提名它們的其中之一以進行輸出端口仲裁G。在一個實施例中,每個輸入緩沖器240具有兩個讀端口且每個讀端口具有與之相關(guān)聯(lián)的輸入端口仲裁器L。
在一個實施例中,輸入端口仲裁器L執(zhí)行多個準備測試,如使用項表中的信息確定目標輸出端口是否空閑。在一個實施例中,輸出端口仲裁器G從輸入端口仲裁器接受分組提名并確定要調(diào)度哪些分組。每個輸出端口250具有一個仲裁器。一旦輸出端口仲裁器G選擇分組來調(diào)度,則它將它的決策通知輸入端口仲裁器L,以便輸入端口仲裁器L可以在后續(xù)循環(huán)中再次提名未被選擇的分組。
在一個實施例中,控制器262通過經(jīng)附加讀端口訪問輸入緩沖器240來掃描發(fā)往相同目的地的分組。在圖示的實施例中,控制器262檢查多個輸入緩沖器240以從不同源查找發(fā)往相同目的地的分組。在一個實施例中,控制器262包括歸并緩沖器264,它可以用于存儲檢測到的且包含指向相同目的地(例如網(wǎng)絡300內(nèi)的多處理器)的一致性協(xié)議消息的網(wǎng)絡分組。
在一個實施例中,形成合并的網(wǎng)絡分組在交叉開關(guān)220將合并的網(wǎng)絡分組轉(zhuǎn)發(fā)到輸出端口250之前執(zhí)行。在一個實施例中,網(wǎng)絡路由器200可以包括共享的資源輸入緩沖器。根據(jù)此類實施例,控制器262搜索中央緩沖器以從不同源檢測發(fā)往相同目的地的網(wǎng)絡分組。一旦檢測到,控制器262可以識別包含單個一致性協(xié)議消息的網(wǎng)絡分組,以執(zhí)行一致性協(xié)議消息的合并?,F(xiàn)在描述用于實施一個或多個實施例的過程方法。
操作圖7是圖示根據(jù)如圖1-6所示的一個實施例的互連路由器內(nèi)用于分組合并的方法500的流程圖。在過程塊502,掃描至少一個輸入緩沖器以識別具有匹配目的地并包含一致性協(xié)議消息的至少兩個網(wǎng)絡分組。一旦檢測到,則在過程框510,組合所識別的網(wǎng)絡分組內(nèi)的一致性協(xié)議消息以形成合并的網(wǎng)絡分組。一旦形成,則將合并的網(wǎng)絡分組傳送到匹配目的地。例如,如圖6所示,如果來自源1和2的兩個分組發(fā)往處理器5,則兩個分組可以在處理器/路由器3中被組合,然后以較大的組合網(wǎng)絡分組的形式從3傳送到4,傳送到5。
圖8是圖示根據(jù)一個實施例的圖7的過程框510用于組合所識別的網(wǎng)絡分組內(nèi)的一致性協(xié)議消息的方法520的流程圖。在過程框522,例如由控制器262設置指針指向所識別的網(wǎng)絡分組的每一個,如圖4所示。在過程框524,更新指針的表,以使合并的網(wǎng)絡分組指向至少兩個識別的網(wǎng)絡分組。在過程框526,根據(jù)指針的表將一致性協(xié)議消息存儲在合并的網(wǎng)絡分組內(nèi)。
圖9是圖示根據(jù)一個實施例的圖7的過程框510用于組合一致性協(xié)議消息以形成合并的網(wǎng)絡分組的方法530的流程圖。在過程框532,將過程框502識別的網(wǎng)絡分組存儲在歸并緩沖器內(nèi),如圖4所示。在過程框534,由所識別的網(wǎng)絡分組內(nèi)的一致性協(xié)議消息形成合并的網(wǎng)絡分組,之后再將合并的網(wǎng)絡分組指定到輸出端口。在過程框536,丟棄所識別的網(wǎng)絡分組。
圖10是圖示用于模擬、仿真和制作使用所公開技術(shù)的設計的多種表示或格式的框圖。表示設計的數(shù)據(jù)能以多種方式表示設計。首先,如模擬中有用的,可以使用硬件描述語言或另一種功能描述語言來表示硬件,這些描述語言基本提供期望設計的硬件如何執(zhí)行的計算化模型。硬件模型610可以存儲在如計算機存儲器的存儲媒體600中,以便可以使用模擬軟件620模擬該模型,模擬軟件620將特定測試套件630應用于硬件模型以確定它是否真正按預設的實現(xiàn)功能。在一些實施例中,不將模擬軟件記錄、捕捉或包含在媒體內(nèi)。
在設計的任何表示中,能以任何形式的機器可讀媒體來存儲該數(shù)據(jù)。調(diào)制或以其他方式生成以用于傳送此類信息的光波或電子波660、存儲器650或如磁盤的磁或光存儲裝置640可以是機器可讀媒體。這些媒體的任何一種可以承載設計信息。術(shù)語“承載”(例如機器可讀媒體承載信息)由此涵蓋存儲在存儲裝置上的信息或編碼或調(diào)制到載波中或上的信息。描述設計或設計的細節(jié)的位集合(當包含在如載波或存儲媒體的機器可讀媒體中時)是可以封裝在自身內(nèi)部和外部或被其他用于其他設計或制造的產(chǎn)品。
備選實施例將認識到,對于其他實施例,可以使用不同的系統(tǒng)配置。例如,雖然系統(tǒng)100包括共享存儲器的多處理器系統(tǒng),但是其他系統(tǒng)配置可以從多種實施例的互連網(wǎng)絡路由器內(nèi)進行分組合并來獲益。再有可以對于其他實施例使用例如服務器、工作站、桌上型計算機系統(tǒng)、游戲系統(tǒng)、嵌入式計算機系統(tǒng)、刀片服務器等的其他類型的系統(tǒng)或不同類型的計算機系統(tǒng)。
公開了實施例和最佳實施方式之后,可以對所公開的實施例進行修改和改變,但是仍屬于所附權(quán)利要求
定義的本發(fā)明實施例的范圍內(nèi)。
權(quán)利要求
1.一種方法,包括掃描至少一個輸入緩沖器以識別具有不同源和匹配目的地的至少兩個網(wǎng)絡分組,每個網(wǎng)絡分組包括單個一致性協(xié)議消息;將所識別的網(wǎng)絡分組內(nèi)的一致性協(xié)議消息組合成合并的網(wǎng)絡分組;以及將所合并的網(wǎng)絡分組傳送到所述匹配目的地。
2.如權(quán)利要求
1所述的方法,其特征在于,所述網(wǎng)絡分組根據(jù)穩(wěn)定的制造者-消費者共享模式從制造者到消費者以突發(fā)方式發(fā)生。
3.如權(quán)利要求
1所述的方法,其特征在于,將所識別的網(wǎng)絡分組發(fā)往相同的處理器。
4.如權(quán)利要求
1所述的方法,其特征在于,組合包括設置指針指向所識別的網(wǎng)絡分組的每一個;更新指針的表,以使合并的網(wǎng)絡分組指向至少兩個識別的網(wǎng)絡分組;以及根據(jù)指針的表將所述一致性協(xié)議消息存儲在所述合并的網(wǎng)絡分組內(nèi),之后再將所述合并的網(wǎng)絡分組轉(zhuǎn)發(fā)到輸出端口。
5.如權(quán)利要求
1所述的方法,還包括丟棄所識別的網(wǎng)絡分組。
6.如權(quán)利要求
1所述的方法,其特征在于,掃描還包括搜索中央緩沖器以檢測來自不同源而發(fā)往相同目的地的網(wǎng)絡分組;以及識別檢測的包含單個一致性協(xié)議消息的網(wǎng)絡分組。
7.如權(quán)利要求
1所述的方法,其特征在于,組合還包括在歸并緩沖器內(nèi)存儲所識別的網(wǎng)絡分組;由所識別的網(wǎng)絡分組內(nèi)的一致性協(xié)議消息形成合并的網(wǎng)絡分組,之后再將所述合并的網(wǎng)絡分組指定到輸出端口;以及丟棄所識別的網(wǎng)絡分組。
8.如權(quán)利要求
1所述的方法,其特征在于,掃描還包括將檢測的包含單個一致性協(xié)議消息的網(wǎng)絡分組存儲在歸并緩沖器內(nèi);以及掃描所述歸并緩沖器以識別具有相同目的地的至少兩個網(wǎng)絡分組。
9.如權(quán)利要求
1所述的方法,其特征在于,將所識別的網(wǎng)絡分組內(nèi)的一致性協(xié)議消息組合成所述合并的網(wǎng)絡分組在歸并管線級期間執(zhí)行。
10.如權(quán)利要求
1所述的方法,其特征在于,網(wǎng)絡分組內(nèi)的一致性協(xié)議消息包括高速緩存未命中請求與高速緩存未命中響應的其中之一。
11.一種方法,包括將檢測的包含一致性協(xié)議消息的網(wǎng)絡分組存儲在歸并緩沖器內(nèi);掃描所述歸并緩沖器以識別具有不同源和匹配目的地的至少兩個網(wǎng)絡分組;以及由所識別的網(wǎng)絡分組內(nèi)的一致性協(xié)議消息形成合并的網(wǎng)絡分組。
12.如權(quán)利要求
11所述的方法,其特征在于,形成所述合并的網(wǎng)絡分組,之后再將所述合并的網(wǎng)絡分組指定到輸出端口。
13.如權(quán)利要求
11所述的方法,其特征在于,形成所述合并的網(wǎng)絡分組包括設置指針指向所識別的網(wǎng)絡分組的每一個;更新指針的表,以使合并的網(wǎng)絡分組指向至少兩個識別的網(wǎng)絡分組;以及根據(jù)指針的表將所述一致性協(xié)議消息存儲在所述合并的網(wǎng)絡分組內(nèi),之后再將所述合并的網(wǎng)絡分組轉(zhuǎn)發(fā)到輸出端口。
14.如權(quán)利要求
11所述的方法,還包括丟棄所識別的網(wǎng)絡分組。
15.如權(quán)利要求
11所述的方法,其特征在于,存儲還包括搜索中央緩沖器以檢測包含單個一致性協(xié)議消息的網(wǎng)絡分組。
16.一種設備,包括至少一個輸入緩沖器,所述輸入緩沖器包括多個讀端口;以及控制器,所述控制器經(jīng)由讀端口掃描所述至少一個輸入緩沖器,以識別具有不同源和匹配目的地的至少兩個網(wǎng)絡分組,每個網(wǎng)絡分組包含一致性協(xié)議消息,并且所述控制器將所識別的網(wǎng)絡分組內(nèi)的一致性協(xié)議消息組合成合并的網(wǎng)絡分組。
17.如權(quán)利要求
16所述的設備,其特征在于,所述至少一個輸入緩沖器包括中央緩沖器,所述控制器經(jīng)由讀端口掃描所述中央緩沖器以檢測來自不同源而發(fā)往相同目的地的網(wǎng)絡分組,并識別檢測的包含一致性協(xié)議消息的網(wǎng)絡分組。
18.如權(quán)利要求
17所述的設備,還包括歸并緩沖器,所述控制器將檢測的包含一致性協(xié)議消息的網(wǎng)絡分組存儲在所述歸并緩沖器內(nèi),并掃描所述歸并緩沖器以識別具有不同源和匹配目的地的至少兩個網(wǎng)絡分組。
19.如權(quán)利要求
17所述的設備,其特征在于,所述控制器形成所述合并的網(wǎng)絡分組,之后再將所述合并的網(wǎng)絡分組指定到輸出端口。
20.如權(quán)利要求
17所述的設備,其特征在于,所述設備包括芯片多處理器的互連路由器。
21.如權(quán)利要求
17所述的設備,還包括耦合到所述至少一個輸入緩沖器的交叉開關(guān),所述交叉開關(guān)將所述合并的網(wǎng)絡分組轉(zhuǎn)發(fā)到輸出端口。
22.如權(quán)利要求
21所述的設備,還包括輸入端口仲裁邏輯,所述輸入端口仲裁邏輯提名所述輸入緩沖器內(nèi)的至少一個網(wǎng)絡分組來進行輸出端口仲裁;以及輸出端口仲裁邏輯,所述輸出端口仲裁邏輯接受來自所述輸入端口仲裁邏輯的分組提名,并選擇網(wǎng)絡分組來調(diào)度。
23.如權(quán)利要求
16所述的設備,其特征在于,所述控制器用于在歸并管線級期間將所識別的網(wǎng)絡分組內(nèi)的一致性協(xié)議消息組合成合并的網(wǎng)絡分組。
24.如權(quán)利要求
21所述的設備,還包括四個2D環(huán)繞輸入端口和四個2D環(huán)繞輸出端口。
25.如權(quán)利要求
16所述的設備,其特征在于,所述設備還包括耦合到所述控制器的處理器核。
26.一種系統(tǒng),包括包括多個處理器節(jié)點的網(wǎng)絡,每個處理器節(jié)點包括互連路由器,所述互連路由器包括至少一個輸入緩沖器,所述輸入緩沖器包括多個讀端口,以及控制器,所述控制器經(jīng)由讀端口掃描所述至少一個輸入緩沖器,以識別具有不同源和匹配目的地的至少兩個網(wǎng)絡分組,每個識別的網(wǎng)絡分組包含一致性協(xié)議消息,并且所述控制器將所識別的網(wǎng)絡分組內(nèi)的一致性協(xié)議消息組合成合并的網(wǎng)絡分組。
27.如權(quán)利要求
26所述的系統(tǒng),其特征在于,所述系統(tǒng)是高速緩存一致性且共享存儲器的多處理器系統(tǒng)。
28.如權(quán)利要求
26所述的系統(tǒng),其特征在于,所述網(wǎng)絡是二維網(wǎng)狀網(wǎng)絡。
29.如權(quán)利要求
26所述的系統(tǒng),其特征在于,所述至少一個輸入緩沖器包括中央緩沖器,所述控制器搜索所述中央緩沖器以檢測來自不同源而發(fā)往相同目的地的網(wǎng)絡分組,并識別檢測的包含一致性協(xié)議消息的網(wǎng)絡分組。
30.如權(quán)利要求
26所述的系統(tǒng),還包括歸并緩沖器,所述控制器將檢測的包含一致性協(xié)議消息的網(wǎng)絡分組存儲在所述歸并緩沖器內(nèi),并掃描所述歸并緩沖器以識別具有相同目的地的至少兩個網(wǎng)絡分組。
專利摘要
一種用于在互連網(wǎng)絡路由器內(nèi)進行分組合并的方法和設備。在一個實施例中,方法包括掃描至少一個輸入緩沖器以識別包含一致性協(xié)議消息且從不同源發(fā)往相同目的地的至少兩個網(wǎng)絡分組。在一個實施例中,將這些網(wǎng)絡分組內(nèi)的一致性協(xié)議消息組合成合并的網(wǎng)絡分組。一旦組合之后,將合并的網(wǎng)絡分組傳送到相同或匹配的目的地。在一個實施例中,將多個網(wǎng)絡分組(每個網(wǎng)絡分組含有單個邏輯一致性消息)組合成較大合并的網(wǎng)絡分組,這將發(fā)送包含單個一致性消息的網(wǎng)絡分組的固定開銷分攤,從而較之較大合并的網(wǎng)絡分組改善了帶寬利用。還描述其他實施例并要求權(quán)利。
文檔編號G06F15/173GK1997987SQ200580021118
公開日2007年7月11日 申請日期2005年6月24日
發(fā)明者S·S·穆克赫吉 申請人:英特爾公司導出引文BiBTeX, EndNote, RefMan