专利摘要:
提供一種通用網路介面控制器(UNIC),用於將主機與交換結構、分組網路、或這二者進行介面。UNIC包括被設計為將與主機相關聯的記憶體中的交換結構資料傳輸至交換結構的入口傳輸邏輯。UNIC還包括被設計為從交換結構接收交換結構資料以將所接收的交換結構資料儲存在與主機相關聯的主記憶體中的出口接收邏輯。作為選擇,入口傳輸邏輯可被進一步設計為將與主機相關聯的記憶體中的分組網路資料傳輸至諸如乙太網的分組網路,出口接收邏輯可被進一步設計為從分組網路接收分組網路資料並且將所接收的交換結構資料和所接收的分組網路資料儲存在與主機相關聯的主記憶體中。
公开号:TW201304476A
申请号:TW101122610
申请日:2012-06-25
公开日:2013-01-16
发明作者:Ariel Hendel;Martin Lund;Nicholas Ilyadis
申请人:Broadcom Corp;
IPC主号:H04L49-00
专利说明:
網路介面控制器、積體電路微晶片、電腦、資料中心、系統及方法
本公開涉及通用網路介面控制器。
適合於企業或雲計算的伺服器電腦網路需要可擴展的伺服器基礎設施,以主控傳統的或分散式應用程式。在企業模型中,應用程式實例在其各自的物理(或虛擬)伺服器中執行並且依靠網路與在其他伺服器上的其他應用程式或網路服務通訊。然而,分散式應用程式被分解和部署在多個物理(或虛擬)伺服器上。此外,對於雲基礎設施,多個分散式應用程式通常共存在同一伺服器和網路結構上。
由於快速變化的容量和工作量需求,由交換機組成的網路結構應該能夠在不影響每個伺服器的成本的情況下擴展到更大的節點數。並且,網路結構應盡可能展現出對稱特性。具體地,在基礎設施中的兩個伺服器之間可獲得的網路輸送量不應根據在資料中心內的伺服器的相關物理位置而本質上不同。
上述要求所帶來的趨勢之一是將大型多級結構應用於互連物理伺服器基礎設施。與這些網路相關聯的拓撲是胖樹,或胖樹與單個或兩個在底部層發源的子樹的組合。無論就路徑選擇或是容量而言,與這種多級和多路徑網路相關聯的革新還未延伸進伺服器。事件的狀態是端點利用具有可選的鏈路聚合能力的單宿主或雙宿主乙太網介面(多個鏈路共用的單個介質存取控制(MAC)位址)連接至網路的狀態。伺服器介面選擇是基於相關聯的默認業務路由,以及至源IP位址的物理介面。結構路徑選擇並不明確地受伺服器支援,並且路由演算法通常不延伸至伺服器端點。
(1)一種網路介面控制器(NIC),用於將主機與交換結構進行介面,包括:被設計為對於與所述主機相關聯的記憶體中的資料在所述主機中產生交換結構介面的邏輯;以及,被設計為產生與交換結構端點相關聯的本地排隊資訊的邏輯。
(2)根據(1)所述的網路介面控制器,進一步包括:用於將所述主機與分組網路進行介面的邏輯,該邏輯被設計為對於與所述主機相關聯的記憶體中的資料產生分組網路介面。
(3)根據(2)所述的網路介面控制器,進一步包括:單個物理介面,被設計為傳輸交換結構資料和分組網路資料這兩者;以及多工器,被設計為多工所述交換結構資料和所述分組網路資料以通過所述單個物理介面。
(4)根據(2)所述的網路介面控制器,進一步包括:入口傳輸邏輯,被設計為將交換結構資料和分組網路資料分別傳輸至所述交換結構和所述分組網路;以及出口接收邏輯,被設計為分別從所述交換結構和所述分組網路接收交換結構資料和分組網路資料,並且將所接收的交換結構資料和所接收的分組網路資料儲存在與所述主機相關聯的所述記憶體中。
(5)根據(4)所述的網路介面控制器,其中所述入口傳輸邏輯和所述出口接收邏輯被通訊地耦合至與所述主機相關聯的輸入/輸出(I/O)介面。
(6)根據(4)所述的網路介面控制器,其中所述入口傳輸邏輯管理與所述主機相關聯的所述記憶體中的至少一個虛擬輸出佇列(VOQ),對應於目的地端點的每個虛擬輸出佇列被耦合至所述交換結構和所述分組網路中的一個。
(7)根據(4)所述的網路介面控制器,其中所述入口傳輸邏輯被設計為從與所述電腦相關聯的所述記憶體接收結構資料包和網路資料包,各資料包均具有報頭,並且其中,所述入口傳輸邏輯被設計為基於各自的報頭產生交換結構鏈路和分組網路鏈路,所述交換結構鏈路定義通過所述交換結構到達結構目的地端點的路徑部分,所述分組網路鏈路定義通過所述分組網路到達網路目的地端點的路徑部分。
(8)根據(7)所述的網路介面控制器,其中所述目的地端點是電腦、路由器或虛擬機器中的一個。
(9)根據(4)所述的網路介面控制器,其中:(A)所述入口傳輸邏輯包括:(a)入口包處理器,通訊地耦合至所述主機以從所述主記憶體接收所述結構資料和所述網路資料,所述入口包處理器被設計為定義所述主記憶體中的虛擬輸出佇列(VOQ),並且將所述佇列映射至目的地端點,所述入口包處理器還被設計為修改與結構資料包相關聯的報頭,使得所述結構資料能夠在時間管理域中被管理;(b)入口業務管理器,通訊地耦合至所述入口包處理器,以接收所述結構資料和所述網路資料,所述入口業務管理器被設計為調度所述虛擬輸出佇列中的所述結構資料和所述網路資料,並且控制從所述主記憶體的出列;(c)入口傳輸處理器,通訊地耦合至所述入口業務管理器,以接收所述結構資料和所述網路資料,所述入口傳輸處理器被設計為分別將所述結構資料和所述網路資料傳輸至所述交換結構和所述分組網路;並且(B)所述出口接收邏輯包括:(a)出口接收處理器,通訊地耦合至所述交換結構和所述分組網路,以分別接收所述結構資料和所述網路資料,所述出口接收處理器被設計為將所述結構資料和所述網路資料映射至出口佇列;(b)出口業務管理器,通訊地耦合至所述出口接收處理器,以接收所述結構資料和所述網路資料,所述出口業務管理器被設計為管理所述出口佇列;以及(c)出口包處理器,通訊地耦合至所述出口業務管理器,以接收所述結構資料和所述網路資料,所述出口包處理器被設計為修改與結構資料包相關聯的報頭,以從所述時間管理域去除所述結構資料包,所述出口包處理器還被設計為將所述結構資料和所述網路資料傳輸至所述主記憶體。
(10)根據(9)所述的網路介面控制器,其中所述入口傳輸邏輯進一步包括:分割器,被設計為將每個結構資料包分割成多個單元,並且其中所述多個單元被傳輸至所述交換結構。
(11)根據(1)所述的網路介面控制器,其中所述交換結構包括一個或多個結構交換機。
(12)根據(11)所述的網路介面控制器,其中所述交換結構包括多個交換級。
(13)一種積體電路微晶片,具有根據(1)所述的網路介面控制器。
(14)一種電腦,具有根據(1)所述的網路介面控制器。
(15)一種資料中心,具有根據(1)所述的網路介面控制器。
(16)一種系統,包括:交換結構;至少一個第一通用網路控制器(UNIC),以及第二通用網路控制器和結構接入點(FAP)中的至少一個;並且其中每個通用網路控制器包括:入口傳輸邏輯,被設計為將與電腦相關聯的記憶體中的交換結構資料和分組網路資料分別傳輸至交換結構和分組網路;以及出口接收邏輯,被設計為分別從所述交換結構和所述分組網路接收所述交換結構資料和所述分組網路資料,並且將所接收的交換結構資料和所接收的分組網路資料儲存在與所述電腦相關聯的所述記憶體中。
(17)一種方法,包括以下步驟:在主機中提供交換結構介面;以及在與所述主機相關聯的記憶體與交換結構之間傳輸結構資料。
(18)根據(17)所述的方法,進一步包括以下步驟:產生與位於所述交換結構的遠端處的端點相關聯的本地排隊資訊。
(19)根據(17)所述的方法,其中所述步驟在微晶片中執行,並且其中以下進一步的步驟在所述微晶片中執行:提供分組網路介面;以及在與所述主機相關聯的所述記憶體與分組網路之間傳輸分組網路資料。
(20)根據(19)所述的方法,進一步包括以下步驟:管理與所述主機相關聯的所述記憶體中的至少一個虛擬輸出佇列(VOQ),每個虛擬輸出佇列對應於耦合至所述交換結構和所述分組網路中的一個的目的地端點。
參照下面的附圖可更好地理解本公開的多個方面。圖中的組件並不一定是按比例的,而是重點放在清楚地示出公開的原理。此外,在圖中,在所有這幾個視圖中,相同的參考標號標示對應的部件。
參照圖1A和圖1B,本公開提供了連同多層電腦網路使用的通用網路介面控制器(UNIC:universal network interface controller)10的各種實施方式。UNIC 10主要地(a)將網路結構12延伸進源或主端點,或主機14,使得結構資料9可通過交換結構12被傳遞,以及作為進一步的選擇,(b)提供包介面,使得網路資料21可被傳遞至分組網路13並從分組網路傳遞。UNIC 10是一類新的網路介面,能夠直接與交換結構12介面,並實現與傳統結構端點15A的結構接入點(FAP:fabric access point)相關聯的路徑選擇、擁塞控制、路由以及容錯移轉功能。UNIC 10可以以軟體、硬體、固件或其組合來實現,但較佳地,UNIC 10以單個微晶片實現,並且定位在與主機14相關聯的諸如網路介面卡(NIC)的板上。
圖1B示出了原始交換結構31到擴展交換結構31’的擴展。所獲得的擴展交換結構31’可被概念化為這樣的交換結構,即,能任意結合多個這些UNIC 10和具有FAP 19的傳統結構端點15A以產生包括邊緣結構埠和本機伺服器端點埠的擴展交換結構12。UNIC 10當與關聯於網路結構12的結構交換機12A-12H(圖4)結合時使交換跳的數量最小,消除路徑中的交換的一個級,在消除與交換結構12相關聯的FAP 19中的深度緩衝器和與分組網路13相關聯的網路交換機的同時提供對應於目的地端點15A-15J(為解決隊頭阻塞)的虛擬輸出佇列(VOQ)11,使在源和目的地端點之間可能的單個流輸送量最大,以及對VOQ 11提供精確的調度和擁塞管理。在下面的討論中,提供了UNIC 10和其元件的詳細描述。
再次參照圖1,圖1示出了採用了根據各種實施方式的UNIC 10的主機(例如,伺服器)的實例的示意性框圖。主機14通過(a)包括一個或多個結構交換機12A-12H(圖4)的網路結構12,但通常多級交換機配置(圖4中所示出的實例),或(b)分組網路13與分別由各個參考標號15A、15B、15J標示的一個或多個端點A、B、J通訊。在交換結構12或分組網路13的遠端的端點15A、15B、15J通常是電腦、路由器或虛擬機器(VM)。當以包或單元形式的結構資料27A被傳遞至端點15A或從端點15A傳遞時,端點15A利用包括結構域與包交換域之間的介面的FAP 19。當以包或單元形式的結構資料27B被傳遞至端點15B或從端點15B傳遞時,端點15B利用包括結構域與包交換域之間的介面的UNIC 10。當以包形式的網路資料29B被傳遞至端點15B或從端點15B傳遞時,不需要FAP 19,並且通過UNIC 10來傳遞包。當以資料包形式的網路資料29J被傳遞至端點15J或從端點15J傳遞時,不需要UNIC 10或FAP 19。
主機14包括至少一個主處理器16(例如,中央處理器(CPU),多個處理器等)和主記憶體18,二者都經由本地介面20通訊地耦合。
主記憶體18可包括易失和非動態記憶體,例如但不限於動態隨機存取記憶體(DRAM)、靜態隨機存取記憶體(SRAM)、唯讀記憶體(ROM)、硬碟驅動器、固態驅動器等。然而,對於這個討論,主記憶體18被假定為是DRAM。
本地介面20可包括一條或多條匯流排、介面和/或連接。例如,本地介面20可包括帶有所附的位址/控制匯流排的資料匯流排或可理解的其他匯流排結構。
此外,記憶體18中所儲存的是一個或多個VOQ 11、資料22、軟體(S/W)23以及控制(CNTL)中繼資料24等。S/W 23通常包括作業系統(O/S)30,可備選地包括虛擬機器(VM)25,並可備選地包括其他應用程式,所有前面所述的通過主處理器14來執行。VM 25是像物理機一樣執行程式的機器(即,電腦)的軟體實現方式。VOQ 11在操作上可被表示為內核緩衝區佇列、使用者空間佇列、或通過使用者空間進程執行入隊/出隊操作的混合佇列,而VOQ 11的啟動和保持通過O/S內核來調停。
如圖1中所進一步示出的,較佳地但並不是必須地,UNIC 10在網路介面卡(NIC)17上實現。NIC 17向或從與橋26介面的I/O匯流排28(例如但不限於PIC-Ex匯流排)傳遞資料、控制以及定址資訊。橋26例如可以是與電腦主機板相關聯的南橋或I/O控制器樞紐(ICH)。橋26連接至本地介面20,使得UNIC 10可訪問記憶體18和主機14的其他元件。應當注意,在某些可選實施方式中,UNIC 10可與電腦主機板上的本地介面20直接介面(使得橋26、I/O匯流排28以及NIC 17不必實現UNIC 10)。
UNIC 10的主機側被表示為可被映射至資料製造者和消費者(例如VM 25)的一個或多個系統埠。當UNIC 10被構造成用於傳統乙太網資料包介面時,UNIC 10實現乙太網資料包的傳輸和接收功能。當UNIC 10被構造成用於信元結構介面(cell fabric interface)時,UNIC 10排列並調度至結構12的邊緣(結構12的邊緣)的資料包或信元,其中結構12的邊緣是UNIC 10和FAP 19的任何隨意組合。
可被應用於實現本公開的各種實施方式的市售的FAP 19的實例是可從美國博通公司購買到的設計系列BCM88x4x。
圖2A是圖1的UNIC 10的實例構造的示意性框圖,而圖2B是示出圖2A的UNIC 10所採用的操作和方法的流程圖。在此實例中,UNIC 10包括入口傳輸邏輯(ingress transmit logic)32和出口接收邏輯(egress receive logic)34。術語“入口”和“出口”涉及在與交換結構12相關聯的在業務管理(TM)域中的通訊,而術語“傳輸”和“接收”涉及在分組網路域中的通訊。通常,入口傳輸邏輯32被設計為將在與主機14相關聯的主記憶體18中的交換結構資料9和分組網路資料21分別傳輸至交換結構12和分組網路13。此外,出口邏輯34被設計為從交換結構12和分組網路13接收交換結構資料9和分組網路資料21,並且將所接收的交換結構資料9和所接收的分組網路資料21儲存在與主機14相關聯的主記憶體18中。
結構交換機12A-12H(圖4)與FAP 19互連的實例存在於TM域中。TM域拓撲選擇包括但不限於網格(mesh)或結構(fabric)12。網格具有不通過結構交換機12A-12H(圖4)的在所有參與的FAP 19與UNIC 10之間的直接連接。在通常示例為胖樹的完全連接的雙向圖中,結構的拓撲是基於通過結構交換機12A-12H(圖4)連接的所有邊緣裝置(FAP 19和UNIC 10)的。
進入TM域的UNIC可被概念化為通過其UNIC 10(通常被稱為NIC 17的傳輸方向)發送業務(traffic)的伺服器。與進入TM域的入口相關聯的系統埠被定義為業務源並可以是物理伺服器,伺服器內的VM 25、匯流排或特定佇列。不同的源系統端細微性可跨相同或不同的UNIC 10在同一TM域共存。
入口傳輸邏輯32被設計為從與主機14相關聯的記憶體接收結構資料包和網路資料包。每個資料包具有報頭。入口傳輸邏輯32被設計為基於各自的報頭產生交換結構鏈路和分組網路鏈路。交換結構鏈路定義了穿過交換結構12至結構目的地端點15A、15B的路徑部分。分組網路鏈路定義了穿過分組網路13至網路目的地埠15B、15J的路徑部分。
從TM域出來的UNIC對應於目的地系統埠抽象並且可簡化為物理伺服器,伺服器內的VM 25、匯流排或特定接收佇列。而且,出口對應於NIC 17的接收方向。
參照圖3,示出了UNIC 10的結構的功能框圖。可在一個或多個積體電路微晶片上實現UNIC 10,但較佳地在單個積體電路微晶片上。如圖3中所示,UNIC 10包括一個或多個匯流排介面52,為了簡化僅示出其中的一個。匯流排介面52經由I/O匯流排28被連接至主機14,因此使UNIC 10能與關聯於主機14的處理器16和記憶體18通訊。
當在記憶體18中的軟體23(例如,應用程式)希望發起與端點15的通訊時,一個或多個包產生於主機14的軟體協定棧。每個包由於效率因素經由(較佳地,但不限於)直接記憶體存取(DMA)被遞送至匯流排介面52。匯流排介面52具有本機存放區器,其中暫時儲存關於來自主記憶體18的包的控制中繼資料24。控制中繼資料24具有關於包的資訊和指令,例如,CRC是否應被插入指向主記憶體18中的資料的指標等。通常,資料有效載荷源於軟體23並且控制中繼資料24源於裝置驅動器。從主記憶體18經由被匯流排介面52讀取的DMA記憶體取出資料。
在某些可選實施方式中,應實現至主記憶體18的多個匯流排介面52,以通過提升端點15與主機14之間的輸送量來增強性能。在這種實施方式中,由入口業務管理器56產生並且經由控制資料連接57被傳遞至主機14的調度資訊被用於確定在多條匯流排介面52中的哪一個上資料將被取自或置於在主記憶體18中的特定VOQ 11中。
入口傳輸邏輯32通常包括入口包處理器54、入口業務管理器56以及入口傳輸處理器58。入口包處理器54被設計為基於資料包報頭和控制中繼資料24來使請求進入入口業務管理器56。入口包處理器54自身可使用匯流排介面52用於訪問佇列資料結構並用於在主記憶體18中進行資料儲存。入口包處理器54可修改結構或資料包報頭。
入口包處理器54被設計為定義第一VOQ 11並且將目的地端點15映射至VOQ 11。在用於示例的一個簡單實例中,可通過MAC位址(開放式系統互聯(OSI)層2)來識別每個目的地端點15。此外,在將MAC位址映射至VOQ 11的簡單實例中,每個MAC位址可被分配至VOQ 11中對應的一個。
入口包處理器54還可被設計為確定通訊是單播還是多播。此功能可用於幫助排隊。單播通訊時從主機14至特定目的地端點15,而多播通訊是從主機14至多個目的地端點15。在單播通訊的情況下,入口包處理器54將一個VOQ 11分配給目的地端點15。這可能是在遠端交換機上的物理埠或在另一UNIC 10上的埠。
入口業務管理器56通訊地耦合至入口包處理器54。入口業務處理器56在與目的地端點15A-J(其通過在業務管理器(TM)域中的入口業務管理器56來管理)相關聯的主記憶體18中實現可擴展數量的VOQ 11。VOQ 11存在於主記憶體18中,但是通過在UNIC 10中的入口業務管理器56來定義和管理。較佳地,入口業務管理器56將結構資料包分成單元(cell),每個單元具有一個單元報頭,儘管此處理在某些替代實施方式中和在執行了診斷的情況中並不是必需的。此外,較佳地,入口業務管理器56並不將網路資料包分成單元,而是入口業務管理器56通過資料包報頭來傳遞網路資料包。入口業務管理器56根據目的地端點15何時可用並且根據與分別通過交換結構12和分組網路13的路徑相關聯的鏈路的可用性來排隊和調度結構單元和網路資料包。
入口業務管理器56經由控制資料連接57來管理在記憶體18中的VOQ 11。入口業務管理器56使用此控制資料連接57利用直接記憶體存取(DMA)來從VOQ 11使資料出列。
入口業務管理器56為每個目的地端點15管理至少一個VOQ 11。關於結構資料,入口業務管理器56從VOQ 11調度單元(cell)而不是資料包。通常,以交換結構12為目的的包通過與入口業務管理器56相關聯的分割器被分成更小的單元。此外,以分組網路13為目的的包未被分成單元,而是保留分組網路13的資料包報頭。在結構單元報頭的情況中,這被定義為使能在TM域中從端點至端點的結構單元通訊。在資料包報頭的情況中,這是用於在分組網路域中從端點至端點傳輸資料包的典型乙太網或IP報頭。
入口業務管理器56還包括緩衝器,用於暫時儲存通過入口業務管理器56移動的結構資料和網路資料。
入口傳輸處理器58被通訊地耦合至入口業務管理器56。入口傳輸處理器58被設計為管理要被發送至一個或多個TM域目的地端點15A、15B或分組網路目的地端點15B、15J的網路資料表示。入口傳輸處理器58還被設計為當單元正出列時對單元執行在包資料結構中所要求的報頭修改,例如,編輯,複製等。作為另一具體實例,在多播通訊中,單個單元表示被入口業務管理器56排列在本地佇列中,並且當入口傳輸處理器58使該單元出列時,入口傳輸處理器58將修改該單元報頭,使得其被傳遞至各種合適的目的地端點15。
在圖3的實例中,UNIC 10被示出為具有至結構介面60和資料包介面62的分開的物理連接。在其他實施方式中,這些可被靜態多工至在任意給定時間點以一種方式或其他方式操作的相同物理連接。結構和資料包介面60、62被設計為以互相排斥的方式進出TM域交換結構12或傳統分組網路13。結構單元通過結構介面60被傳遞進交換結構12,而具有資料包報頭的網路單元通過資料包介面62被傳遞進分組網路13。
出口接收邏輯34包括出口接收處理器64、出口業務管理器66以及出口包處理器68。對於要被傳遞進一個或多個主系統埠的一個或多個拷貝,出口接收處理器64使用結構單元報頭資訊或包報頭資訊以將請求排列進出口業務管理器66。此外,出口接收處理器64能夠應用能造成抑制至主系統埠的特定資料包遞送的策略濾波器。
出口接收處理器64接收來自結構介面60的結構單元和來自資料包介面62的網路資料包。出口接收處理器64分析(執行匹配)報頭,例如OSI層2、OSI層3以及OSI層4介面,以確定是否接收資料包。出口接收處理器64決定是否與特定佇列相關聯。出口接收處理器64決定是否應進行修改。由於可存在與主機14相關聯的多個VM 25,並且匯流排介面52未被概念化為單個埠,因此出口接收處理器64也可執行複製。出口接收處理器64還將來自結構12的單元重組成資料包。
可通過不同的機構來執行重組。一個實施方式中,實現重組緩衝器。在移動資料包通過匯流排介面52進入記憶體18之前,整個資料包以相鄰的方式被重組進緩衝器。在其他實施方式中,操縱與單元報頭相關聯的指標,使得整個資料包被連續地儲存進主機記憶體18。
出口業務管理器66被通訊地耦合至出口接收處理器64。出口業務管理器66經由控制連接67管理在主記憶體18中的多個佇列(通常,相比於VOQ 11更少量的佇列)。出口業務管理器66可為了資料的DMA和佇列結構而通過匯流排介面52訪問主記憶體18。排隊模型由於在TM域中而不同於在進入時,資料在入口排隊(在傳輸側)。相反,在出口側,資料盡可能快地移動穿過UNIC 10到達記憶體18。
出口包處理器68被設計為執行資料包修改。出口包處理器68移除單元報頭,從而排它地遞送資料包表示(無結構單元報頭)穿過匯流排介面52到達主系統埠及其相應的消費者。TM域與匯流排介面52之間的邊界是在此出口包處理器68處。出口包處理器68也可對資料包執行其他修改。
出口包處理器68也可負責執行在主機14中的記憶體管理功能,諸如,管理通過匯流排介面52進入主系統埠的DMA、識別哪個緩衝器應被用於複製資料包(例如,在S/W 23的O/S的內核中的緩衝器、專用緩衝器等)等。
圖4是根據本公開的各種實施方式的實例的示意性框圖,其中,在多個伺服器14A、14B中的每一個中的UNIC 10通過至和/或來自乙太網邊緣交換機82的多級交換機結構12來使能結構資料21A(較佳地,但不是必需地,結構單元)的通訊。在此實例中,每個伺服器14A、14B具有伺服器處理器集合體16A、16B,每個集合體均包括經由PCI-Ex I/O匯流排28A、28B通訊地耦合至多級交換結構12的多個處理器16。與伺服器14A、14B相關聯的伺服器埠85由於它們可根據每一個的要求被分配成與乙太網13(在圖3中未示出)或交換結構12結合使用而是靈活的。
邊緣交換機82具有FAP 19,用於將邊緣交換機82介面至交換結構12和用於上行鏈路和骨幹(backbone)的專用乙太網10/40G埠86,且用於將邊緣交換機82介面至乙太網(為了簡化未示出)。注意,邊緣交換機82可以是伺服器的一部分。
多級交換結構12具有被佈置在經由結構柱(fabric spine)84互聯的兩個連續級的結構交換機12A-12H。作為非限制實例,交換機12A-12H可以是縱橫(crossbar)交換機、架頂式(TOR:top-of-rack)交換機和/或刀片交換機。在交換結構12中不需要結構至資料包的轉換,因為這在第一端點處在與伺服器14A、14B相關聯的UNIC 10中和在第二端點處在與邊緣交換機82相關聯的FAP 19中發生。
圖5是與通訊地耦合至在第二端點處的刀片交換機97的在第一端點處的刀片伺服器96相連接的UNIC 10的實現方式的實例的示意性框圖。在刀片伺服器側,此實例示出了如何增加在刀片伺服器之間的頻寬。在刀片交換機側,此實例示出了如何增加刀片交換機97或資料中心POD之間的頻寬。
刀片伺服器96包括經由PCI-Ex 100、101連接至多個UNIC 10的刀片伺服器處理器98。與刀片伺服器96相關聯的中板102可根據需要用於乙太網分組網路13或交換結構12。
刀片交換機97包括通訊地耦合至刀片伺服器96的UNIC 10的交換結構12,如由連接103、105所示出的。實際上,在刀片交換機96中,交換結構12被連接至FAP 19以將刀片交換機97介面至交換結構12。交換結構12提供專用的結構埠104。FAP 19提供了用於上行鏈路和骨幹的專用乙太網埠106、可用於乙太網13或結構12的埠108以及用於1000 Base-T OOB mgmt的埠110(帶外管理),前面所有的都經由乙太網介面107。
在刀片交換機側,還要注意的是多個刀片交換機97可被網格化,或與FAP 19和/或UNIC 10直接連接而之間無任何結構交換機。此外,多個POD可與其他的外部交換機連接在一起。
圖6是位於刀片伺服器網路120中的多個UNIC 10的示例實現方式的示意性框圖。在刀片伺服器網路120中,作為實例,被示出為結構板12A、12B的交換結構12被延伸至刀片伺服器機架122,以使能結構埠124和乙太網埠126分別至結構12和路由器13A的選擇分配。該分配取決於被執行的電腦操作的類型。例如,在需要許多數學計算的操作的情況中,則將更多的埠分配至結構12。此外,作為又一實例,在需要對網際網路的廣泛訪問的操作的情況中,則將更多的埠分配至路由器13A。
在構造中,如圖6所示,多個刀片交換機97A-97D和多個刀片伺服器128A、128B被連接至刀片伺服器機架122。每個刀片交換機97A-97D具有圖5所示的構造,具有結構元件(FE)交換機和用於乙太網埠126的FAP 19。較佳地,儘管並不是必需地,每個刀片交換機97A-97D作為專用積體電路(ASIC)來實現。此外,多個刀片伺服器128A、128B也被連接至刀片伺服器機架122,並且經由中板線(midplane lane)130與刀片交換機97A-97D通訊。
每個刀片伺服器128A-128B包括多個VM25,每個VM可經由虛擬交換機(VSWITCH)132選擇性通訊地耦合至UNIC 10。虛擬交換機是基於可在與刀片伺服器128A-128B相關聯的記憶體中實現的交換機的軟體。
圖6的構造可被延伸至具有用於額外的層的結構裝置或具有用於路由器埠的FAP 19的刀片機架122之外。圖6示出了包括第一級(包括刀片結構交換機97A-97D)和第二級(包括外部結構板12A、12B)的兩級結構。刀片交換機97A-97D的乙太網埠126可類似地被用於將網路延伸至其他外部資料包交換器或資料包路由器系統和埠。
圖7是示出圖6的刀片伺服器在資料中心中的擴展的示意性框圖。網路骨幹143與刀片伺服器簇中的刀片交換機126A-126D之間的結構邊緣142位於並將保持在刀片交換機處,而與所實施的多個刀片伺服器128A-128D無關。
結構交換機12A、12B例如可以是網路設備(SAND)交換機設備的可擴展構造。市售的SAND交換機是可從美國博通公司購買到的型號DNFE 600。通過結構交換機12A、12B創建的結構12展現出單域可管理性、不受限的頻寬、L2鄰接(對於VM 25是理想的)、同類驗證L2多路徑以及VOQ動態路由。
應當注意,圖7的圖示可類似地應用於其他伺服器,例如,機架伺服器,其中交換機126A-126D將是TOR(機頂)交換機而不是刀片交換機。在不改變互連的情況下將所採用的多個伺服器擴展至更廣泛的異構骨幹143的優點仍是合適的。虛線結構邊緣142表示骨幹143與上述伺服器簇之間的物理界限以及管理界限。
應當強調,本公開的上述實施方式僅是為了傳達公開的原理的清楚理解而給出的實現方式的可能實例。在實質上不背離公開的原理和思想的前提下可對上述實施方式做出許多變化和修改。所有這些修改和變化意在被包括在本文此公開的範圍內並受所附申請專利範圍保護。
9‧‧‧結構資料
10‧‧‧通用網路介面控制器
11‧‧‧虛擬輸出佇列
12‧‧‧網路結構
13‧‧‧分組網路
14‧‧‧主機
15‧‧‧傳統結構端點
16‧‧‧主處理器
17‧‧‧網路介面卡
20‧‧‧本地介面
21‧‧‧網路資料
22‧‧‧資料
24‧‧‧中繼資料
25‧‧‧虛擬機器
26‧‧‧橋
27‧‧‧結構資料
28‧‧‧匯流排
29‧‧‧網路資料
30‧‧‧作業系統
31‧‧‧交換結構
32‧‧‧入口傳輸邏輯
34‧‧‧出口接收邏輯
52‧‧‧匯流排介面
54‧‧‧入口包處理器
56‧‧‧入口業務管理器
58‧‧‧入口傳輸處理器
60‧‧‧資料包介面
62‧‧‧資料包介面
64‧‧‧出口接收處理器
66‧‧‧出口業務管理器
68‧‧‧出口包處理器
82‧‧‧乙太網邊緣交換機
84‧‧‧結構柱
85‧‧‧伺服器埠
96‧‧‧刀片伺服器
97‧‧‧刀片交換機
98‧‧‧刀片伺服器處理器
102‧‧‧中板
103‧‧‧連接
104‧‧‧結構埠
105‧‧‧連接
106‧‧‧乙太網埠
107‧‧‧乙太網介面
108‧‧‧埠
110‧‧‧埠
126‧‧‧乙太網埠
128‧‧‧刀片伺服器
130‧‧‧中板線
132‧‧‧虛擬交換機
142‧‧‧結構邊緣
143‧‧‧網路骨幹
圖1A是根據本公開各種實施方式的採用通用網路介面控制器(UNIC)的主機(例如,伺服器)以使主機能夠通過交換結構(switch fabric)和包網路交換資料的示意性框圖。
圖1B是原始交換結構和根據圖1A的UNIC的實現方式獲得的擴展的交換結構的示意性框圖。
圖2A是根據本公開的各種實施方式的圖1A的UNIC的實例的示意性框圖。
圖2B是示出被圖1A和圖2A的UNIC所採用的操作和方法的流程圖。
圖3是根據本公開的各種實施方式的圖1A的UNIC的實例的功能框圖。
圖4是根據本公開的各種實施方式的採用多級結構交換機和乙太網邊緣交換機的實例的圖1A的UNIC的示例性框圖。
圖5是根據本公開各種實施方式的位於刀片伺服器中的圖1A的多個UNIC的示意性框圖,其中,中板(midplane)可用於交換結構和/或分組網路。
圖6是根據本公開的各種實施方式的位於刀片伺服器(結構延伸至刀片伺服器箱)的圖1A的UNIC,以使能在資料中心中對結構和路由器選擇性分配埠的示意性框圖。
圖7是示出根據本公開的各種實施方式的圖6的刀片伺服器的擴展的示意性框圖,其中,即使在交換結構被擴展到在資料中心中容納附加的刀片伺服器時,骨幹網邊緣位於刀片交換機並且維持在該處。
9‧‧‧結構資料
10‧‧‧通用網路介面控制器
11‧‧‧虛擬輸出佇列
12‧‧‧網路結構
13‧‧‧分組網路
14‧‧‧主機
15‧‧‧傳統結構端點
16‧‧‧主處理器
17‧‧‧網路介面卡
20‧‧‧本地介面
21‧‧‧網路資料
22‧‧‧資料
24‧‧‧中繼資料
25‧‧‧虛擬機器
26‧‧‧橋
27‧‧‧結構資料
28‧‧‧匯流排
29‧‧‧網路資料
30‧‧‧作業系統
权利要求:
Claims (10)
[1] 一種網路介面控制器(NIC),用於將主機與交換結構進行介面,包括:被設計為對於與所述主機相關聯的記憶體中的資料在所述主機中產生交換結構介面的邏輯;以及被設計為產生與交換結構端點相關聯的本地排隊資訊的邏輯。
[2] 如申請專利範圍第1項所述之網路介面控制器,進一步包括:用於將所述主機與分組網路進行介面的邏輯,該邏輯被設計為對於與所述主機相關聯的記憶體中的資料產生分組網路介面。
[3] 如申請專利範圍第2項所述之網路介面控制器,進一步包括:入口傳輸邏輯,被設計為將交換結構資料和分組網路資料分別傳輸至所述交換結構和所述分組網路;以及出口接收邏輯,被設計為分別從所述交換結構和所述分組網路接收交換結構資料和分組網路資料,並且將所接收的交換結構資料和所接收的分組網路資料儲存在與所述主機相關聯的所述記憶體中。
[4] 如申請專利範圍第3項所述之網路介面控制器,其中所述入口傳輸邏輯被設計為從與所述主機相關聯的所述記憶體接收結構資料包和網路資料包,各資料包均具有報頭,並且其中所述入口傳輸邏輯被設計為基於各自的報頭產生交換結構鏈路和分組網路鏈路,所述交換結構鏈路定義通過所述交換結構到達結構目的地端點的路徑部分,所述分組網路鏈路定義通過所述分組網路到達網路目的地端點的路徑部分。
[5] 如申請專利範圍第3項所述之網路介面控制器,其中:(1)所述入口傳輸邏輯包括:(a)入口包處理器,通訊地耦合至所述主機以從所述主記憶體接收所述結構資料和所述網路資料,所述入口包處理器被設計為定義所述主記憶體中的虛擬輸出佇列(VOQ),並且將所述佇列映射至目的地端點,所述入口包處理器還被設計為修改與結構資料包相關聯的報頭,使得所述結構資料能夠在時間管理域中被管理;(b)入口業務管理器,通訊地耦合至所述入口包處理器,以接收所述結構資料和所述網路資料,所述入口業務管理器被設計為調度所述虛擬輸出佇列中的所述結構資料和所述網路資料,並且控制從所述主記憶體的出列;(c)入口傳輸處理器,通訊地耦合至所述入口業務管理器,以接收所述結構資料和所述網路資料,所述入口傳輸處理器被設計為分別將所述結構資料和所述網路資料傳輸至所述交換結構和所述分組網路;並且(2)所述出口接收邏輯包括:(a)出口接收處理器,通訊地耦合至所述交換結構和所述分組網路,以分別接收所述結構資料和所述網路資料,所述出口接收處理器被設計為將所述結構資料和所述網路資料映射至出口佇列;(b)出口業務管理器,通訊地耦合至所述出口接收處理器,以接收所述結構資料和所述網路資料,所述出口業務管理器被設計為管理所述出口佇列;以及(c)出口包處理器,通訊地耦合至所述出口業務管理器,以接收所述結構資料和所述網路資料,所述出口包處理器被設計為修改與結構資料包相關聯的報頭,以從所述時間管理域去除所述結構資料包,所述出口包處理器還被設計為將所述結構資料和所述網路資料傳輸至所述主記憶體。
[6] 一種積體電路微晶片,具有如申請專利範圍第1項所述之網路介面控制器。
[7] 一種電腦,具有如申請專利範圍第1項所述的之網路介面控制器。
[8] 一種資料中心,具有如申請專利範圍第1項所述之網路介面控制器。
[9] 一種系統,包括:交換結構;至少一個第一通用網路控制器(UNIC),以及第二通用網路控制器和結構接入點(FAP)中的至少一個;並且其中,每個通用網路控制器包括:入口傳輸邏輯,被設計為將與電腦相關聯的記憶體中的交換結構資料和分組網路資料分別傳輸至交換結構和分組網路;以及出口接收邏輯,被設計為分別從所述交換結構和所述分組網路接收所述交換結構資料和所述分組網路資料,並且將所接收的交換結構資料和所接收的分組網路資料儲存在與所述電腦相關聯的所述記憶體中。
[10] 一種方法,包括以下步驟:在主機中提供交換結構介面;以及在與所述主機相關聯的記憶體與交換結構之間傳輸結構資料。
类似技术:
公开号 | 公开日 | 专利标题
TWI538453B|2016-06-11|網路介面控制器、積體電路微晶片、系統及方法
US10904367B2|2021-01-26|Network access node virtual fabrics configured dynamically over an underlay network
US10382362B2|2019-08-13|Network server having hardware-based virtual router integrated circuit for virtual networking
US10148450B2|2018-12-04|System and method for supporting a scalable flooding mechanism in a middleware machine environment
JP2019134461A|2019-08-08|ミドルウェアおよびアプリケーションの実行のための設計されたシステムに対するサービス妨害(dos:denialofservice)攻撃を防止するためのシステムおよび方法、ならびに、ミドルウェアおよびアプリケーションの実行のための設計されたシステムにおいてサブネットアドミニストレータ(sa:subnetadministrator)アクセスに基づいて信頼性のある接続(rc:reliableconnection)をサポートするためのシステムおよび方法
JP5601601B2|2014-10-08|通信制御システム、スイッチノード、及び通信制御方法
US9294304B2|2016-03-22|Host network accelerator for data center overlay network
US9703743B2|2017-07-11|PCIe-based host network accelerators | for data center overlay network
US20210218665A1|2021-07-15|Resilient network communication using selective multipath packet flow spraying
US8644139B2|2014-02-04|Priority based flow control within a virtual distributed bridge environment
JP6192803B2|2017-09-06|データのスケジューリングおよび交換の方法、装置、システム
CN104823409A|2015-08-05|无限带宽上的网络虚拟化
US11153211B2|2021-10-19|Fast data center congestion response
US9515963B2|2016-12-06|Universal network interface controller
US20200169513A1|2020-05-28|Fabric control protocol for data center networks with packet spraying over multiple alternate data paths
Lee2014|Cloud networking: Understanding cloud-based data center networks
CN102413190A|2012-04-11|一种基于云计算的网络架构及其虚拟网络管理方法
US20210320820A1|2021-10-14|Fabric control protocol for large-scale multi-stage data center networks
同族专利:
公开号 | 公开日
EP2557739B1|2017-01-11|
US20130003725A1|2013-01-03|
CN203206278U|2013-09-18|
CN102857494A|2013-01-02|
TWI538453B|2016-06-11|
US9042383B2|2015-05-26|
HK1177837A1|2013-08-30|
EP2557739A1|2013-02-13|
CN102857494B|2015-11-18|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
US6977930B1|2000-02-14|2005-12-20|Cisco Technology, Inc.|Pipelined packet switching and queuing architecture|
US6973093B1|2000-12-29|2005-12-06|Cisco Technology, Inc.|Switching fabric for interfacing a host processor and a plurality of network modules|
US20020141427A1|2001-03-29|2002-10-03|Mcalpine Gary L.|Method and apparatus for a traffic optimizing multi-stage switch fabric network|
US7106738B2|2001-04-06|2006-09-12|Erlang Technologies, Inc.|Method and apparatus for high speed packet switching using train packet queuing and providing high scalability|
US7447795B2|2001-04-11|2008-11-04|Chelsio Communications, Inc.|Multi-purpose switching network interface controller|
US6999453B1|2001-07-09|2006-02-14|3Com Corporation|Distributed switch fabric arbitration|
US7239642B1|2001-07-16|2007-07-03|Network Appliance, Inc.|Multi-protocol network interface card|
US7860120B1|2001-07-27|2010-12-28|Hewlett-Packard Company|Network interface supporting of virtual paths for quality of service with dynamic buffer allocation|
US7151744B2|2001-09-21|2006-12-19|Slt Logic Llc|Multi-service queuing method and apparatus that provides exhaustive arbitration, load balancing, and support for rapid port failover|
US7558264B1|2001-09-28|2009-07-07|Emc Corporation|Packet classification in a storage system|
US7394823B2|2001-11-20|2008-07-01|Broadcom Corporation|System having configurable interfaces for flexible system configurations|
US7245627B2|2002-04-23|2007-07-17|Mellanox Technologies Ltd.|Sharing a network interface card among multiple hosts|
US7277449B2|2002-07-29|2007-10-02|Freescale Semiconductor, Inc.|On chip network|
US7391786B1|2002-11-27|2008-06-24|Cisco Technology, Inc.|Centralized memory based packet switching system and method|
US20080028096A1|2003-10-21|2008-01-31|Henderson Alex E|Transporting fibre channel over ethernet|
US7633955B1|2004-02-13|2009-12-15|Habanero Holdings, Inc.|SCSI transport for fabric-backplane enterprise servers|
US7873693B1|2004-02-13|2011-01-18|Habanero Holdings, Inc.|Multi-chassis fabric-backplane enterprise servers|
US7685281B1|2004-02-13|2010-03-23|Habanero Holdings, Inc.|Programmatic instantiation, provisioning and management of fabric-backplane enterprise servers|
US7602720B2|2004-10-22|2009-10-13|Cisco Technology, Inc.|Active queue management methods and devices|
US7616563B1|2005-08-31|2009-11-10|Chelsio Communications, Inc.|Method to implement an L4-L7 switch using split connections and an offloading NIC|
JPWO2007029297A1|2005-09-02|2009-03-26|富士通株式会社|ネットワークインタフェース制御プログラムおよびネットワークインタフェース制御装置|
US7660264B1|2005-12-19|2010-02-09|Chelsio Communications, Inc.|Method for traffic schedulign in intelligent network interface circuitry|
US8635388B2|2006-03-31|2014-01-21|Broadcom Corporation|Method and system for an OS virtualization-aware network interface card|
US7733781B2|2006-04-24|2010-06-08|Broadcom Corporation|Distributed congestion avoidance in a network switching system|
US20090080428A1|2007-09-25|2009-03-26|Maxxan Systems, Inc.|System and method for scalable switch fabric for computer network|
US8340088B2|2008-09-11|2012-12-25|Juniper Networks, Inc.|Methods and apparatus related to a low cost data center architecture|
US8335213B2|2008-09-11|2012-12-18|Juniper Networks, Inc.|Methods and apparatus related to low latency within a data center|
US8265071B2|2008-09-11|2012-09-11|Juniper Networks, Inc.|Methods and apparatus related to a flexible data center security architecture|
CN101674335B|2008-09-12|2014-01-08|瑞昱半导体股份有限公司|具有多个传输端口的单一网络接口装置|
CN101404616A|2008-11-04|2009-04-08|北京大学深圳研究生院|一种负载均衡分组交换结构及其构造方法|
US8331362B2|2008-12-30|2012-12-11|Juniper Networks, Inc.|Methods and apparatus for distributed dynamic network provisioning|
US8509069B1|2009-12-22|2013-08-13|Juniper Networks, Inc.|Cell sharing to improve throughput within a network device|US8745102B2|2011-07-12|2014-06-03|PLAiR Media, Inc.|Distributed storage method and system|
US20140317220A1|2011-11-04|2014-10-23|Packet Architects Ab|Device for efficient use of packet buffering and bandwidth resources at the network edge|
US9473383B1|2011-12-08|2016-10-18|Juniper Networks, Inc.|Method and apparatus for routing in transaction management systems|
US9898317B2|2012-06-06|2018-02-20|Juniper Networks, Inc.|Physical path determination for virtual network packet flows|
US9253121B2|2012-12-31|2016-02-02|Broadcom Corporation|Universal network interface controller|
US9154454B1|2013-03-14|2015-10-06|Cisco Technology, Inc.|Fabric link physical coding sublayer packing scheme|
US9311263B2|2013-03-15|2016-04-12|Dell Products L.P.|Input/output switching module interface identification in a multi-server chassis|
US10452316B2|2013-04-17|2019-10-22|Apeiron Data Systems|Switched direct attached shared storage architecture|
US9060027B2|2013-07-05|2015-06-16|Cisco Technology, Inc.|Assigning location identifiers to nodes in a distributed computer cluster network environment|
US9479457B2|2014-03-31|2016-10-25|Juniper Networks, Inc.|High-performance, scalable and drop-free data center switch fabric|
US9485191B2|2014-03-31|2016-11-01|Juniper Networks, Inc.|Flow-control within a high-performance, scalable and drop-free data center switch fabric|
US9703743B2|2014-03-31|2017-07-11|Juniper Networks, Inc.|PCIe-based host network acceleratorsfor data center overlay network|
US9294304B2|2014-03-31|2016-03-22|Juniper Networks, Inc.|Host network accelerator for data center overlay network|
US9531641B2|2014-07-29|2016-12-27|Oracle International Corporation|Virtual output queue linked list management scheme for switch fabric|
WO2016089355A1|2014-12-01|2016-06-09|Hewlett Packard Enterprise Development Lp|Auto-negotiation over extended backplane|
CN107534590B|2015-10-12|2020-07-28|慧与发展有限责任合伙企业|网络系统|
US20170111294A1|2015-10-16|2017-04-20|Compass Electro Optical Systems Ltd.|Integrated folded clos architecture|
US10142231B2|2016-03-31|2018-11-27|Intel Corporation|Technologies for network I/O access|
WO2018022083A1|2016-07-29|2018-02-01|Hewlett Packard Enterprise Development Lp|Deliver an ingress packet to a queue at a gateway device|
US10243840B2|2017-03-01|2019-03-26|Juniper Networks, Inc.|Network interface card switching for virtual networks|
CN110710139A|2017-03-29|2020-01-17|芬基波尔有限责任公司|具有光置换器的无阻塞全网状数据中心网络|
WO2018183542A1|2017-03-29|2018-10-04|Fungible, Inc.|Non-blocking any-to-any data center network with packet spraying over multiple alternate data paths|
EP3625940A1|2017-07-10|2020-03-25|Fungible, Inc.|Data processing unit for compute nodes and storage nodes|
EP3625679A1|2017-07-10|2020-03-25|Fungible, Inc.|Data processing unit for stream processing|
US10965586B2|2017-09-29|2021-03-30|Fungible, Inc.|Resilient network communication using selective multipath packet flow spraying|
WO2019068010A1|2017-09-29|2019-04-04|Fungible, Inc.|VIRTUAL MATRIX OF NETWORK ACCESS NODES CONFIGURED DYNAMICALLY ON AN UNDERLYING NETWORK|
US10841245B2|2017-11-21|2020-11-17|Fungible, Inc.|Work unit stack data structures in multiple core processor system for stream data processing|
WO2019152063A1|2018-02-02|2019-08-08|Fungible, Inc.|Efficient work unit processing in a multicore system|
US10461873B1|2018-09-17|2019-10-29|Fujitsu Limited|Disaggregated hybrid optical transport network, internet protocol, and Ethernet switching system|
US10693814B2|2018-09-17|2020-06-23|Fujitsu Limited|Ultra-scalable, disaggregated internet protocoland ethernet switching system for a wide area network|
US10929175B2|2018-11-21|2021-02-23|Fungible, Inc.|Service chaining hardware accelerators within a data stream processing integrated circuit|
US20210243121A1|2020-02-04|2021-08-05|Mellanox Technologies, Ltd.|Generic Packet Header Insertion and Removal|
法律状态:
2019-03-11| MM4A| Annulment or lapse of patent due to non-payment of fees|
优先权:
申请号 | 申请日 | 专利标题
US13/173,189|US9042383B2|2011-06-30|2011-06-30|Universal network interface controller|
[返回顶部]