世界上現有的交換機制造商可以從服務器(server racket)上學到一些東西。實際上,他們也的確這樣做。但這是因為世界上的超大規模用戶和云建設者一直在倡導他們分解交換機的組件,以開放交換機的架構,并推動他們讓器件更可編程,這樣便不必像今天一樣花好幾年時間等待下一代芯片的問世。
縱觀整個產業的發展,在過去的三十年中,互聯網已經變得非常商業化,企業網絡的協議和技術已經發生了變遷。但是我們也應該看到,雖然作為互聯網中堅力量的以太網和TCP/IP協議棧顯然是開放的,但是交換芯片和交換機制造商都對內部的組件諱莫如深。在過去幾十年里,他們也很享受這種全盤控制給他們肉體上、心理上、技術上和經濟上帶來的快感。
我們發現這很煩人,為此我們鼓勵大數據領域內的領先交換芯片制造商(如Broadcom,Mellanox Technologies,Barefoot、Cavium和Innovium)詳細談論他們的技術。但與我們從全球CPU制造商那里獲得的技術相比,他們公開的技術太膚淺。而且交換機的元件也沒有像我們可以從任何一臺OEM或ODM想要組裝的服務器上那樣被詳細地列出。也許有一天,交換機技術公開會成為現實。
最近,在數據中心交換設備巨頭思科公司舉辦的思科Live盛會期間,我們覺得特別惱火,因為我們發現,雖然思科實際上已經采用了Barefoot Networks的“Tofino”可編程交換機,但他們卻不想承認這個事實,而是大談特談其未來的可編程交換機的計劃,還有希望能夠重新進入超大規模用戶數據中心領域等東西。但實際上除了在一些金融服務公司中有分布式欺詐檢測和風險分析集群以外,思科在HPC中沒有其他任何業務,而前者也市值由于他們熟悉iOS或NX-OS交換機操作系統,所以喜歡購買思科交換機。
網絡管理員對思科交換機操作系統,以及對不同的交換機ASIC(無論是自主開發的還是從商業交換芯片供應商那里購買的)的熟悉程度,是思科仍在數據中心交換機市場占據主導份額的原因。但是,這一份額已經從互聯網熱潮時期的65%下降到50%左右,這是有原因的。最主要的一點是,新興的交換機制造商采用了新興的商業交換芯片,改變了市場上的競爭格局、定價和創新步伐。但很明顯的餓死,思科并沒有與他們對抗,而是被迫加入他們的陣型。
最近在思科Live上,我們發現了思科技術營銷工程師Faraz Taifeshesmatian做的一個精美演示,在上面,他詳細介紹了思科Nexus 3000系列頂級機架式交換機中使用的商業交換芯片。值得一提的還是,這系列是思科對抗白盒交換機制造商,以及以太網領域的Arista Networks、Juniper Networks、Mellanox、戴爾、惠普的武器。
在PPT中詳細描述并體現出我們倡導的那種開放。雖然我們無法參加思科Live,但這正是我們想要看的。Taifeshesmatian雖然沒有談論Nexus 9000芯片,但據我們所知,該芯片擁有思科自主研發的“Alpine”和“Northstar”ASIC,并且其應用中心基礎架構(ACI)軟件定義的網絡擴展已經出爐。即使他沒有詳細討論商業Nexus 9200、9300和9500交換機中使用的交換芯片。但是下面的圖表確實提到了它們:
如你所見,在過去的幾年里,思科采用了Broadcom的各種芯片——Trident、Tomahawk和Jericho系列。最近,Nexus 3400采用了Barefoot Networks的Tofino芯片。下面的圖表總結了各種Nexus 3000交換機的目標市場和功能集:
這便是Taifeshesmatian總結的PPT的奇妙之處。它實際上提供了Broadcom和Barefoot未透露的一些芯片技術細節。(衷心感謝你。)
Let’s take them in order, starting with the Nexus 3000 family. The Nexus 3100 was based on Broadcom’s “Trident-2” ASICs, which delivered 1.28 Tb/sec of aggregate bandwidth and had a 12.2 MB buffer. With the Nexus 3100-V, Cisco moved on up to the “Trident-2+” ASIC, which boosted the buffer to 16 MB and had the same bandwidth. The Nexus 3100-Z adopted the “Trident-3” chip from Broadcom, which boosted the bandwidth by 2.5X to 3.2 Tb/sec and the buffer by 2X to 32 MB.
讓我們依次看一遍。Nexus 3100基于Broadcom的“Trident-2”ASIC,提供1.28Tb/秒的總帶寬,并擁有12.2MB緩沖區。在新的Nexus 3100-V上,思科采用了全新的“Trident-2+”ASIC,該產品將緩沖區提升至16MB,并具有相同的帶寬。Nexus 3100-Z則采用了Broadcom的“Trident-3”芯片,該芯片將帶寬提升2.5倍,達到3.2Tb/秒,緩沖區提升2倍,達到32MB。
下圖Trident-3芯片的框圖:
在這個1U交換機中,32個以100Gb/秒速率運行的端口都有一個“Falcon”核心,還有一個10Gb/秒的“Merlin”核心用于管理。Trident-3芯片有兩個數據包處理流水線,每個流水線都有16個Falcon核心,這些核心被分成兩組Falcon SerDes。每四分之一的SerDes都可以訪問ASIC傳輸帶寬的四分之一。
下圖是Trident-3在Nexus 3100-Z交換機中的實際應用:
如你所見,這款交換機本身就是一臺混合服務器,在名為“Chimay”的板子上,不僅有Trident-3 ASIC,而且還有一個自帶內存的1.8GHz Xeon處理器(我們猜測它是Intel的Xeon-D芯片)。另外,還有一顆FPGA和一系列CPLD放置在端口和FPGA之間,以加速該交換芯片外部的某些功能。觀察可知,Xeon處理器通過PCI-Express鏈路連接到交換機ASIC和FPGA。
我們繼續看Nexus 3200,產品最初是基于Broadcom的“Tomahawk-2”ASIC設計的,它具有3.2 Tb/秒的總切換帶寬,并且有4塊4MB的緩沖存儲器,總計16MB。 而新的Nexus 3200-E交換機雖然也是也基于Tomahawk-2系列,但是它的額定值為6.4Tb/秒,并且有4塊10.5MB的緩沖存儲器,總計42MB。
這款Nexus 3200-E增加了很多功能,基于64個Falcon內核的64個端口以100Gb/秒的速度運行,并且一個Merlin內核用于管理,運行速度可達100Gb/秒。這些端口都可以分成多個較慢的端口,如框圖所示。
Nexus 3200-E交換機的結構如下:
此處有一個叫做“Tyskie”,不同的計算板,它仍然有一個帶有自己的內存插槽的1.8 GHz Xeon CPU。初步看來,這可能是升級版的Xeon-D芯片。另外,Nexus 3200-E有48個Falcon核心,端口處理速度為100Gb/秒,16個端口有MACsec加密,用于在進出交換機時對數據進行加密。該芯片還有兩個FPGA用于函數加速。
有趣的是,思科尚未公布基于Broadcom今年1月份公布推出的“Tomahawk-3”芯片設計的交換機,但我們猜測它將在今年年底或明年初推出。
我們繼續看Nexus 3400。這是一款基于Barefoot Networks的Tofino可編程芯片的新型交換機。思科宣布在3400產品線上推出Tofino交換機,其中18個端口使用1.8Tb/秒的入門級Tofino ASIC,以100Gb/秒的速度運行,但他們同時展示了它采用高端的6.4Tb/秒的部分,這意味著還有一款64端口的Nexus 3000系列交換機正在研發。
下圖是對Barefoot系列的一個相當低調的實現:
這些端口可以分成36個以40 Gb/秒或50 Gb/秒運行的端口或72個以10 Gb/秒或25Gb/秒運行的端口,這對一些服務提供商、超大規模用戶和云建設者來說非常重要。當然,在Tofino芯片上有一個100Gb/sec的管理端口,可以根據需要進行分割。該芯片分為兩塊,每塊速度900Gb/秒,帶有一個16MB的統一數據包緩沖區,當然還有一個流水線,它完全可以通過Barefoot Networks創建并開源的P4語言進行編程。
Nexus 3400看起來很像Nexus 3100,在Nexus 3200的一些端口上添加了一些“Bear Valley”MACsec加密電路。事實上,它看起來很像是一個ASIC換了一些稍微不同的端口配置。請看:
現在我們看看Nexus 3500,它已經在這個領域使用了6年,并且基于思科自己的“Monticello”ASIC。這款Nexus 3500專門針對高頻交易的應用,雖然它只有10Gb/秒端口,但端口到端口跳躍的延遲低至250納秒,這比一個相對快速的以太網交換機通常的450納秒要低很多。
下圖是Monticello ASIC的框圖:
Monticello芯片有三塊緩沖區,提供18MB的容量,而數據包傳輸引擎可以提供480Gb/秒的聚合帶寬,每秒處理7.2億個數據包。同樣,這并不是什么大新聞,但是延遲,特別是一致的延遲才是最重要的。
下圖是Nexus 3548交換機的框圖:
這款交換機暴露了它的年齡,但它仍然可能廣泛用于金融服務行業。作為Nexus 3500唯一實例的Nexus 3548采用了英特爾的雙核“Ivy Bridge”酷睿i3-3227U處理器,該處理器的頻率可以從1.9GHz的額定速度超頻至2.5GHz。同時,該處理器擁有16 MB自帶的閃存,可以從DRAM內存啟動。
另外,Nexus 3548機箱中有一個FPGA,可以支持48個以10Gb/秒或25Gb/秒速率運行的端口。最后一點很簡略,因為25G標準在25G以太網標準推出很久后才發布。很明顯,有一些軟件定義的功能與Monticello ASIC相配合。這很好。
最后是基于Broadcom“Jericho +”ASIC的Nexus 3600系列深度緩沖器(deep buffer)交換機。最初的Nexus 3600擁有一對Jericho+ASIC,可提供1.8 Tb/秒的交換帶寬,并具有8 GB(注意是GB,不是MB)的緩沖容量,而今年推出的第二代則有四個Jericho+芯片,高達3.6 Tb/秒的切換帶寬和16GB的緩沖容量。
下圖是Broadcom Jericho ASIC框圖:
每個Jericho+芯片可以達到900Gb/秒的帶寬,每秒處理835萬個數據包,并且該芯片有一對包含96個虛擬輸出隊列的數據包處理內核。這些數據包緩沖區基于GDDR5存儲器,與顯卡中使用的一樣。
這里是最新的Nexus 3636交換機的架構布局:
該交換機上的處理器板稱為“Redcastle”,它是基于一個8核的Broadwell Xeon-D芯片,運行頻率為2GHz。嵌入在交換機中的服務器主板具有2MB的NVRAM內存,位于其DRAM主內存旁邊,另外還有一個128GB閃存驅動器用于啟動NX-OS網絡操作系統。
有一個PCI-Express交換機將CPU模組連接到4個Jericho芯片上,這4個芯片有自己的交叉開關電路用于彼此連接。(實際上,這是兩層網絡在一個機箱里,就像一臺單獨的交換機一樣。)Nexus 3636交換機在板上有四個Bear Valley芯片,它們在機箱里的32個端口中的8個端口上提供MACsec加密。
評論
查看更多