《電子技術(shù)應用》
您所在的位置:首頁 > 嵌入式技術(shù) > 業(yè)界動態(tài) > Xilinx FPGA助力高性能SDN

Xilinx FPGA助力高性能SDN

2015-10-19
關(guān)鍵詞: Xilinx SDN FPGA

  一些人可能認為,就具體效果而言,軟件定義網(wǎng)絡(luò) (SDN) 受到了人們過多的關(guān)注。在 SDN 的早期,部署的出現(xiàn)源自于領(lǐng)先研究機構(gòu)與快速定制其現(xiàn)有非 SDN 固件的硬件公司的共同不懈努力。盡管這些工作驗證了 SDN 的理論,但概念證明階段的 SDN 與專門針對全球精心策劃架構(gòu)的生產(chǎn)網(wǎng)絡(luò)實施的 SDN 之間仍有很大差別。
  在 Corsa Technology,我們與網(wǎng)絡(luò)架構(gòu)師和運營商一起制定了 SDN 的愿景。他們一遍又一遍地告訴我們,正確實施的 SDN 意味著您的網(wǎng)絡(luò)架構(gòu)將實時改變和適應流量模式和用戶需求。這一靈活性以傳統(tǒng)成本的一小部分實現(xiàn)了性能的大幅提升。
  以這一理念作為指導原則,Corsa 將 SDN 定義為簡單設(shè)計模式。很多其他公司也認同這一基本概念:將軟件與硬件分離,通過開放接口進行通信,給予軟件所有控制權(quán)(大腦)并讓硬件(體力)盡可能地高性能。但是在 Corsa,我們從性能硬件的角度進一步認真研究了網(wǎng)絡(luò)新世界秩序需要(圖 1)。
  我們提出的硬件定義與網(wǎng)絡(luò)架構(gòu)師的SDN愿景不謀而合。我們將其稱之為“精益硬件”:規(guī)模適合部署,具有超高性能,并且靈活性和可擴展性極高,即便是最大網(wǎng)絡(luò)流量,也能輕松應對。如果僅需要約 10% 的功能,為何要購買龐大且昂貴的大型機器?相反,如果硬件的靈活性和可編程性足夠,則您可以對其進行調(diào)整和修改以滿足特定網(wǎng)絡(luò)需求。無論是在 WAN 邊緣還是園區(qū)邊緣,同一精益硬件可以在您的網(wǎng)絡(luò)中肩負著各種元件的作用。
  正確實施的 SDN 使您可以擺脫本地、苛刻、固定式、復雜、專有硬件和軟件的束縛。簡單設(shè)計模式中 Corsa 的性能 SDN 可幫助您通過靈活、高性能、可擴展硬件平臺實現(xiàn)軟件定義網(wǎng)絡(luò)。
  重重壓力下的硬件設(shè)計
  這種靈活的 SDN 網(wǎng)絡(luò)概念對于網(wǎng)絡(luò)硬件設(shè)計必須如何變化有著直接影響。得益于新的創(chuàng)新,SDN 網(wǎng)絡(luò)架構(gòu)可能快速變化,因此 SDN 硬件解決方案的上市時間比以往變得更為重要。
  硬件平臺是系統(tǒng)設(shè)計、板級別設(shè)計、機械設(shè)計與 SoC 選擇或設(shè)計的組合體。通常,在 SDN 等新興市場中,SoC 無法以商用芯片的方式提供,并且硬件解決方案需要采取 ASIC、NPU 或 FPGA 途徑得以實現(xiàn)。對于 SDN,鑒于其網(wǎng)絡(luò)變化的節(jié)奏,我們很難做出決策。
  使用定制 ASIC,通常需要三年時間才能完成網(wǎng)絡(luò)硬件的設(shè)計、構(gòu)建與實現(xiàn)工作:六個月的時間進行硬件選型和架構(gòu);一年時間進行 ASIC 設(shè)計;四個月時間進行開發(fā)板設(shè)計和制造;十二個月時間進行軟件集成和測試。如果所有流程一次性通過,便可實現(xiàn)上述結(jié)果。
  對于 Corsa,這種時間優(yōu)先的原型設(shè)計方式不可接受。
  另一方面,網(wǎng)絡(luò)處理單元 (NPU) 是一種專為網(wǎng)絡(luò)應用而設(shè)計的可編程商用芯片。盡管它們的確具備高靈活性并且可以重新編程,但它們的帶寬有限,這對于大規(guī)模交換功能是一大障礙。它們還提供了復雜的專有編程模型,很難更改。由于 SDN 需要全面的靈活性、高性能和大規(guī)模,我們同樣排除了 NPU。
  為通過適當?shù)慕鉀Q方案滿足 SDN 上市時間需求,Corsa 選擇了 FPGA,并且利用賽靈思 Virtex?-7 器件的靈活性,用六個月時間開發(fā)了一種解決方案。
  利用 FPGA 進行設(shè)計,我們可以并行進行以下工作(請參見圖 2):
  ? 系統(tǒng)架構(gòu)(四個月)
  ? RTL 代碼編寫(六個月)
  ? 軟件設(shè)計(六個月)
  ?PCB 設(shè)計和制造(四個月)
  一個重要的事實是,我們可以在 FPGA 平臺上即時修改 RTL,同時各種設(shè)計活動繼續(xù)進行并針對性能和規(guī)模進行優(yōu)化。
  增量設(shè)計的優(yōu)勢
  我們采用基于一系列 FPGA 的 Slice 來開發(fā)我們的系統(tǒng)架構(gòu)。這種方法能夠開發(fā)出具有最小可行特性的單個 Slice,同時為全特性集留下預算容量。不需要像通過基于 ASIC 或 NPU 的方法那樣預先全面設(shè)計整個架構(gòu),然后再遷移到 RTL 中。因此,我們可以與系統(tǒng)并行開發(fā)工作碼,并能夠更加快速地交付給領(lǐng)先客戶。
  并非每一個用例或應用都需要所有功能。通過利用 FPGA 的硬件級可編程性,我們可以創(chuàng)造更小的 RTL 實現(xiàn),這些實現(xiàn)與特定用例所需要的功能集和性能相匹配。在設(shè)計期間甚至是在現(xiàn)在,可以取代 10G 和 100G MAC,將資源從交換架構(gòu)轉(zhuǎn)移到分類引擎,以及添加或移除用于特定協(xié)議的硬件加速功能。相比 ASIC 或 NPU ,這一靈活性有助于減少門數(shù),進而縮減物理封裝尺寸。它還使我們可以回應那些一旦客戶參與就會必然出現(xiàn)的無法預見用例。序列設(shè)計通常會導致出現(xiàn)先有雞還是先有蛋的定義難題,即:完全指定 ASIC 或 NPU 要求,但是在產(chǎn)品到達實驗室之前,沒有詳細的客戶參與。
  SDN 交換設(shè)計
  SDN 表示就有關(guān)如何構(gòu)建網(wǎng)絡(luò)設(shè)備方面與傳統(tǒng)觀念分道揚鑣。SDN 的一項關(guān)鍵要求是,較之于傳統(tǒng)的固定功能硬件,可重編程硬件在構(gòu)建和銷售方面極富競爭力。發(fā)揮這一理念,SDN 為網(wǎng)絡(luò)推出方式帶來革命性變化。傳統(tǒng)網(wǎng)絡(luò)設(shè)計的原理現(xiàn)在可以顯著改進。
  以下是激起人們對 SDN 的關(guān)注的三個主要因素。
  1. 用于解決新網(wǎng)絡(luò)問題的新網(wǎng)絡(luò)協(xié)議的速度
  一項新的網(wǎng)絡(luò)協(xié)議至少需要三年時間才能完成其標準化流程。還需要兩到三年時間在硬件中實現(xiàn),然后才能最終部署。通過 SDN,新協(xié)議是通過軟件實現(xiàn),并且?guī)缀跏橇⒓床渴鹪诎惭b的系統(tǒng)中。這將周期從五年降至短短數(shù)月。
  2. 基于開放硬件平臺,創(chuàng)新網(wǎng)絡(luò)創(chuàng)意的精英化
  標準更注重策略而非技術(shù)。經(jīng)各方爭執(zhí)和修改,最終的規(guī)范是代表各方立場的妥協(xié)版本。在此過程中,實力較小的一方通常被忽略或無視。通過 SDN,任何人都可以制定協(xié)議并供行業(yè)使用。如果運營商看到優(yōu)勢,協(xié)議便會繁榮發(fā)展,否則便會消亡。要讓最佳技術(shù)理念取勝,這種“適者生存”的方法是更加可靠的選擇過程。
  3. 針對尚未開發(fā)的協(xié)議,通過現(xiàn)場升級來復用基礎(chǔ)設(shè)施
  每年在新網(wǎng)絡(luò)設(shè)備方面的花費達到了數(shù)十億美元。這些設(shè)備的生命周期是三到五年。在購買設(shè)備時尚未開發(fā)的任何協(xié)議或功能通常必須等待三到五年,直到設(shè)備更新后方可使用。通過 SDN,新協(xié)議很有可能能夠立即部署在現(xiàn)場的設(shè)備中。將設(shè)備的生命周期延長到超過五年已成為現(xiàn)實,同時為即將出現(xiàn)的新功能提供即時可用性。
  FPGA 對比 ASIC
  為增強競爭力,SDN 交換要求高性能、靈活性和大規(guī)模,這些要求都以價格合理的套裝形式提供。傳統(tǒng)觀念認為,需要固定功能 ASIC 才能構(gòu)建此類有競爭力的系統(tǒng)。這在 28nm 技術(shù)節(jié)點出現(xiàn)之前的確如此。但是,在 28nm 及之后,
  FPGA 已經(jīng)達到了顛覆性規(guī)模。它們不再是用于膠合邏輯的大型 PLD 器件。相反,它們終于實至名歸,不負上世紀九十年代早期賦予它們的“現(xiàn)場可編程門控陣列”這一稱號。
  FPGA 技術(shù)現(xiàn)在的性能、靈活性和可擴展性如此之高,足以滿足網(wǎng)絡(luò)架構(gòu)師所需的 SDN 屬性列表要求。首先 IP 庫、存儲器和 I/O 等一些關(guān)鍵方面凸顯了 FPGA 技術(shù)會給 SDN 帶來明顯優(yōu)勢。
  就 IP 而言,已經(jīng)使用 FPGA 中的標準單元實現(xiàn)了基本網(wǎng)絡(luò)功能。其中有大型模塊,包括數(shù)十個 10/100G 以太網(wǎng) MAC、PCIe? 接口、Interlaken 接口、嵌入式 ARM? 內(nèi)核和 DDR3 接口。這些 IP 核為 SDN 交換機設(shè)計師提供了大量預先設(shè)計和預先優(yōu)化的模塊。
  在網(wǎng)絡(luò)設(shè)備中,規(guī)模很關(guān)鍵。有助于形成規(guī)模的一個特定方面就是存儲器,對于包交換,需要大量小型存儲結(jié)構(gòu)。這些存儲結(jié)構(gòu)提供的帶寬和容量,可支持 TB 級或更多流量輸入輸出處理單元。FPGA 存儲器進行了優(yōu)化且占用芯片面積最小,因此有助于實現(xiàn) TB 級路由規(guī)模。
  就 I/O 而言,網(wǎng)絡(luò)需要大量串行解串器接口,每個接口均包含大量模擬組件、功率放大器和數(shù)字邏輯。I/O 專用芯片面積可能過多。FPGA 技術(shù)具有卓越的 I/O 模塊,就其芯片面積占用而言,能夠與網(wǎng)絡(luò) ASIC 媲美。
  在對芯片面積增加了上述促進因素以后,顯然可以看到,基礎(chǔ) FPGA 技術(shù)以最佳方式至少將 ASIC 的復雜度降低一半,另外 50% 或更低的芯片面積可考慮用于 CLB 或標準單元。鑒于銷量相對較低的網(wǎng)絡(luò) ASIC 業(yè)務(wù)的價值定價(10 萬套被視為大數(shù)量),任何差價都會水落石出。
  這對于 SDN 則意味著我們突然擁有了一個現(xiàn)場可編程的高度可編程平臺,以支持先前需要百萬美元 NRE 和巨大 ASIC 開發(fā)的多種系統(tǒng)。這類似于在所有書籍需要用羽毛筆和墨水瓶書寫一次的時代發(fā)明了印刷術(shù)。
  Corsa 的性能 SDN
  在 Corsa,我們認識到,網(wǎng)絡(luò)市場中有兩種顛覆性的趨勢。第一種是對可編程網(wǎng)絡(luò)元件的渴望;第二種是 FPGA 作為固定功能芯片替代品的出現(xiàn)。因此我們開始了設(shè)計理想的 SDN 交換機的任務(wù)。圖 3 中顯示了此類設(shè)備的系統(tǒng)架構(gòu)。
  高性能 SDN 交換機有兩個組件。其具有性能很高的包分類引擎,這是交換機結(jié)構(gòu)的先驅(qū)。分類器在 OpenFlow 規(guī)范中定義為一系列匹配操作表,這些操作表檢查包報頭并根據(jù)包中各種協(xié)議的源和目標字段來制定轉(zhuǎn)發(fā)決策。一旦制定了轉(zhuǎn)發(fā)決策,包進入第二個組件:能夠緩沖和交換 TB 級數(shù)據(jù)的高速交換機結(jié)構(gòu)。
  這些數(shù)據(jù)速率所必需的帶寬和容量對于性能 SDN 交換機的物理架構(gòu)有著顯著影響。這些交換機需要 100ms 或更多的包緩沖,以在大量聚合點中(比如在 WAN 或園區(qū)邊緣)存在流量堵塞的情況下保持高吞吐量。對于 640 Gb 的前面板帶寬,可用以下計算得出:
  640 Gbps * 0.1 s = 64 Gb 包緩沖存儲器
  對于 Corsa,這是使用 FPGA 脫穎而出的地方。實現(xiàn)性能 SDN 所需要的存儲密度的唯一存儲技術(shù)是 DDR3 存儲器。在 28nm 中,DDR3-1600 是最快速的存儲器。為了以全線路速率寫入并讀取每個包,我們需要 1.28Tb 的存儲帶寬。在考慮了訪問效率低下這一因素之后,單個 DDR3 DIMM 模塊能夠處理約 64Gb 的流量。這意味著我們需要 10 個 DDR3 DIMM 模塊才能為 Internet 規(guī)模的 SDN 交換機提供包緩沖。
  由于單個 FPGA 無法托管如此多的 RAM,因此導致我們立即通過每個 FPGA 大約三個 DIMM 來尋求分布式架構(gòu)。我們隨后增加了額外的內(nèi)存容量和帶寬以存儲 OpenFlow 流水線的包分類數(shù)據(jù),如 IPv4 地址、MAC 地址、隧道 ID 等。這為我們帶來了每個流水線兩個 FPGA 的通道實現(xiàn)方案(每個流水線六個 DDR3 DIMM)。流水線通道與通過架構(gòu) FGPA 構(gòu)建的定制交換機結(jié)構(gòu)綁定在一起,并且控制層通過具備 PCIe 3.0 連接的 Xeon 處理器綁定到包轉(zhuǎn)發(fā)引擎(圖 4)。
  這種設(shè)計為我們提供了大量門控,海量的存儲帶寬和容量以及超高速的控制層連接。利用 OpenFlow 的靈活性,Corsa 構(gòu)建了用于 Internet 協(xié)議規(guī)模的路由器、MPLS 交換機、100-Gig 防火墻和 DPI 負載均衡器的線路速率處理引擎,以及眾多其他網(wǎng)絡(luò)用例,絕對無需修改硬件架構(gòu),且不影響性能。我們看到網(wǎng)絡(luò)功能虛擬化 (NFV) 服務(wù)鏈的出現(xiàn)令人有些滿意;網(wǎng)絡(luò)服務(wù)報頭和協(xié)議仍在草擬之中。
  規(guī)模、性能和靈活性
  可編程網(wǎng)絡(luò)是未來之路。網(wǎng)絡(luò)運營商從服務(wù)速度、基礎(chǔ)架構(gòu)重用及其通過 DevOps 管理復雜性的能力等方面看到了優(yōu)勢。在對可編程網(wǎng)絡(luò)元件新興需求的同時,F(xiàn)PGA 正將性能和規(guī)模推到全新的高度。在 Corsa,我們認識到這一交會點并在我們的 SDN 硬件平臺中使用 FPGA 來實現(xiàn) SDN 規(guī)模、性能和靈活性。
  在固定功能廠商繼續(xù)多年來等待標準、制造 ASIC 并延遲其產(chǎn)品上市的老路的同時,Corsa 能夠立即通過我們交付的新系統(tǒng)部署這些新協(xié)議。更好的是,由于使用賽靈思 FPGA,我們可以將以前交付的系統(tǒng)升級以支持未來開發(fā)的協(xié)議。

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。