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