Xilinx采用最新SDNet環(huán)境實現(xiàn)“軟”定義網(wǎng)絡
在通信架構(gòu)受消費者對更高帶寬、更好更可靠更安全服務需求推動而快速發(fā)展演進之際,賽靈思積極創(chuàng)新,推出了一項改變游戲規(guī)則的技術(shù)和設(shè)計方法,致力于幫助客戶快速為有線和無線網(wǎng)絡以及數(shù)據(jù)中心推出和升級下一代線路卡。這種新技術(shù)就是其軟件定義規(guī)范環(huán)境SDNet。結(jié)合使用賽靈思All Programmable FPGA和SoC,SDNet能讓通信設(shè)計團隊運用賽靈思所謂的“軟”定義網(wǎng)絡(“Softly”Defined Network)這一革命性創(chuàng)新方法來實現(xiàn)下一代軟定義網(wǎng)絡架構(gòu)線路卡的設(shè)計和升級。
從固定網(wǎng)絡到SDN
賽靈思通信IP和服務副總裁Nick Possley指出,過去20年來,通信架構(gòu)主要包含固定的控制層和數(shù)據(jù)層,而且無法隨著網(wǎng)絡要求的發(fā)展進行擴展。如果電信運營商想擴展網(wǎng)絡功能、提高整體帶寬,這種僵硬化的架構(gòu)就迫使其不得不頻繁更換設(shè)備。線路卡是系統(tǒng)的核心器件,基本采用高度專業(yè)化的ASIC、ASSP和存儲器IC組合。FPGA則用于加速和橋接線路卡芯片間的通信。
隨著需求的加快,電信運營商和通信系統(tǒng)企業(yè)為滿足有關(guān)需求開始探索更好的解決方案。過去幾年來,這些企業(yè)開始轉(zhuǎn)而采用軟件定義網(wǎng)絡(SDN)和網(wǎng)絡功能虛擬化(NFV)技術(shù)。這種架構(gòu)將控制層和數(shù)據(jù)層相分離,并為控制層添加了更多軟件虛擬化功能,這樣電信運營商就能快速部署新應用,而且網(wǎng)絡設(shè)備也比在傳統(tǒng)網(wǎng)絡中更易于升級換代,從而有助于延長使用壽命(進而提高盈利能力)并簡化網(wǎng)絡管理(見圖1)。
圖1 – 今天的軟件定義網(wǎng)絡將控制層和數(shù)據(jù)層相分離,但仍采用固定的數(shù)據(jù)層,差異化極低,生命周期也很短。
圖中文字如下:
更好的解決方案:軟定義網(wǎng)絡
采用SDNet和賽靈思革命性創(chuàng)新型軟定義網(wǎng)絡方法,通信系統(tǒng)公司能夠開發(fā)出集成低功耗All Programmable線路卡,其功能絕不僅限于軟定義控制層和SDN架構(gòu)所需要的網(wǎng)絡智能。這種新技術(shù)還能幫助廠商用具有內(nèi)容智能功能的軟件定義數(shù)據(jù)層硬件實現(xiàn)系統(tǒng)差異化。這意味著設(shè)計團隊能夠根據(jù)他們系統(tǒng)對網(wǎng)絡服務和應用的確切需求來定制硬件(見圖2)。
網(wǎng)絡架構(gòu)師(這些人通常沒有硬件設(shè)計背景)習慣用英語描述來表達具體協(xié)議要求,如Internet 的請求注解(RFC)或ISO標準文檔。
不過Possley指出,即便是最近新推出的SDN和NFV架構(gòu)也仍然相當死板,因為數(shù)據(jù)層不具可編程性,設(shè)計通常采用現(xiàn)成的ASSP。居網(wǎng)絡核心地位的線路卡采用現(xiàn)成的分立包處理器和連接至光學器件的流量管理器ASSP,與協(xié)處理器和外部存儲器一起使用。這種線路卡還采用FPGA來加速所有這些芯片間的通信。
許多不同芯片制造商為SDN和NFV架構(gòu)打造的最新版ASSP確實符合SDN規(guī)范。但由于供應商推出向所有網(wǎng)絡系統(tǒng)公司推出通用的ASSP,因此這些芯片在產(chǎn)品差異化或功能擴展方面缺乏競爭力。這樣一來,網(wǎng)絡系統(tǒng)廠商被迫降低價格來贏得電信運營商的青睞。
表面上,我們認為電信運營商會喜歡這種設(shè)備價格走低的趨勢。但實際上,即便是基于ASSP的SDN架構(gòu)中,固定的數(shù)據(jù)層設(shè)計也仍然非常僵硬,電信運營商如果發(fā)現(xiàn)ASSP固定的硬件功能無法滿足不斷變化的應用、協(xié)議升級和新特性需求,就只能進行昂貴的現(xiàn)場線路卡更換。線路卡更換需要關(guān)閉網(wǎng)絡,同時還要求技術(shù)人員拆下老舊線路卡并安上新卡。此外,ASSP廠商還傾向于在設(shè)計中內(nèi)置過多功能,試圖讓單個器件滿足眾多不同市場需求。這樣,這些ASSP線路卡就會耗費更多電力,導致設(shè)備發(fā)燙,因此電信運營商必須采取額外措施來給設(shè)備降溫。冷卻成本當然也會增加運營支出,從而進一步影響電信運營商的最終盈利能力。
然后,他們要依靠精通目標器件底層架構(gòu)的專業(yè)工程師來手動將這些協(xié)議要求轉(zhuǎn)換為低層特定實現(xiàn)描述(通常要采用高度專業(yè)化的微代碼)。這些硬件工程師要么指定通用處理器或?qū)S镁W(wǎng)絡處理器如何執(zhí)行包處理,要么在定制ASIC中設(shè)計有關(guān)功能。
隨后網(wǎng)絡設(shè)計團隊必須驗證硬件能否實現(xiàn)架構(gòu)師的最初設(shè)計意圖,或者說能否至少滿足線路卡應使用的最新協(xié)議版本要求。如果線路卡無法滿足有關(guān)要求,那就必須重復設(shè)計過程直至能正確運行為止。由于所需規(guī)范和微代碼之間的關(guān)系不夠直觀,這一過程變得更加復雜,同時底層架構(gòu)性能存在局限性,功能因面向不同服務公司也存在差異。
SDNet的軟定義網(wǎng)絡方法直擊問題根源,使網(wǎng)絡系統(tǒng)設(shè)計團隊能夠快速設(shè)計出“生成即保證正確(correct by construction.)”的線路卡。具體說來,SDNet側(cè)重線路卡最復雜設(shè)計部分的自動化,即現(xiàn)代線路卡中包處理器和流量管理器功能的設(shè)計和編程(見圖3)。
網(wǎng)絡系統(tǒng)團隊不是讓兩個不同的分立ASSP執(zhí)行這些功能,而是在單個賽靈思All Programmable FPGA或SoC上集成包處理和流量管理功能以及其它線路卡功能。他們能確保為目標應用創(chuàng)建最佳實現(xiàn)方案。除了在單個All Programmable器件中集成許多芯片功能之外,SDNet還能優(yōu)化線路卡高級行為規(guī)范的創(chuàng)建,并自動生成RTL模塊,便于實現(xiàn)在賽靈思All Programmable器件、固件和驗證測試平臺中。
Possley指出:“借助SDNet,系統(tǒng)架構(gòu)師能夠指定內(nèi)容,而不是方式。系統(tǒng)架構(gòu)師能精確指定他們要部署的服務,而不去管底層硅硬件上到底怎么部署。”
在SDNet流程中,系統(tǒng)架構(gòu)師可用高級功能規(guī)范定義線路卡功能(見圖4)。讓架構(gòu)師用SDNet能夠描述語法分析、編輯、搜索和服務質(zhì)量(QoS)策略引擎等多種不同類型包處理引擎所需的行為。架構(gòu)師能夠分層級描述引擎,從而簡化子引擎,它們能夠互聯(lián)并編排進入分組數(shù)據(jù)流中。這些子引擎還能包含用戶提供的引擎。SDNet規(guī)范環(huán)境不提供實現(xiàn)細節(jié)。這樣客戶能夠自由擴展縮放設(shè)計的性能和資源,而且無需了解底層架構(gòu)的細節(jié)。SDNet規(guī)范也不局限于任何特定的網(wǎng)絡協(xié)議。
Possley指出,SDNet非常簡單,賽靈思選定幾家客戶進行了beta測試,這些客戶都認為其非常直觀易用。他說:“它以簡單直觀的規(guī)范大幅減少了客戶要生成的代碼量,因此相對于網(wǎng)絡處理器的微編碼而言工作量大幅減少。”
一旦架構(gòu)師完成了SDNet規(guī)范環(huán)境中的系統(tǒng)引擎和流程定義,就能為SDNet的編譯器提供吞吐量和時延要求以及運行時間可編程性要求,這將影響編譯器生成的優(yōu)化硬件架構(gòu)。架構(gòu)師隨后執(zhí)行命令,SDNet的編譯器會自動為硬件模塊生成設(shè)計需要的RTL。編譯器還生成固件和核實/驗證測試平臺。SDNet設(shè)計環(huán)境不僅包括賽靈思針對網(wǎng)絡優(yōu)化的SmartCORE和針對連接功能優(yōu)化的LogiCOREs,同時還集成了外部存儲器控制處理器和嵌入式處理器。
圖2 – SDNet為數(shù)據(jù)層帶來靈活性和自動化,實現(xiàn)了用于下一代網(wǎng)絡設(shè)計和升級的軟定義網(wǎng)絡方法。
圖中文字如下:
圖3 – 各大公司借助SDNet能夠創(chuàng)建高度集成的All Programmable線路卡。.
編譯后,網(wǎng)絡工程師就能在Vivado® 設(shè)計套件中用IP生成器(IPI)工具完成設(shè)計實現(xiàn)。他們首先使用Vivado工具和IPI轉(zhuǎn)換SDNet編譯器生成的RTL架構(gòu)描述為最佳的賽靈思FPGA實現(xiàn)方案,如果所選器件上有足夠的可用資源,然后網(wǎng)絡工程師就可在FPGA中集成任何其它線路卡功能,從而創(chuàng)建出片上All Programmable線路卡。
圖4 – 基于SDNet的實現(xiàn)流程支持All Programmable線路卡的生成即保證正確設(shè)計。
此外,SDNet可為功能核實和驗證生成數(shù)據(jù),引導實現(xiàn)生成即保證正確的設(shè)計。具體來說,SDNet的編譯器接受一系列測試包來測試設(shè)計的輸入輸出。架構(gòu)師可在設(shè)計流程的規(guī)范定義階段使用該測試包,確保其創(chuàng)建正確的SDNet描述解釋。網(wǎng)絡工程師可在SDNet編譯器生成的RTL描述仿真階段使用測試包。最后但同樣重要的是,這些測試包能在設(shè)計最后實現(xiàn)階段配合使用網(wǎng)絡測試設(shè)備協(xié)助硬件驗證。此外,SDNet將為搜索引擎查詢表生成相應的內(nèi)容。這種核對-驗證功能可大幅縮短設(shè)計時間,消除系統(tǒng)架構(gòu)師和網(wǎng)絡硬件工程師之間的迭代工作,從而有助于不同工作團隊加快向市場推出高度差異化的產(chǎn)品。
賽靈思杰出工程師Gordon Brebner指出,編譯器自動生成定制固件操作及其針對架構(gòu)中不同組件的二進制編碼。他說:“這使得架構(gòu)師能直接控制處理。”SDNet有一個實用功能,能夠記錄所生成的架構(gòu)及其固件的運行和存儲細節(jié)。用戶以更新版SDNet描述作為輸入返回編譯器時,它能明確是否只需固件升級就能支持修改(無需生成新硬件),抑或需要重新生成硬件(和固件)。在大多數(shù)情況下,僅升級固件即可完成中等規(guī)模的升級(如添加或減少線路卡要處理的協(xié)議)。
Brebner指出:“由SDNet編譯器生成的固件和架構(gòu)之間密切關(guān)聯(lián),這意味著用戶能執(zhí)行無中斷升級,固件更改并投運都不會中斷數(shù)據(jù)包傳輸。這樣,企業(yè)進行重大服務升級就不會對造成服務中斷。這種革命性開發(fā)成果要歸功于SDNet技術(shù)及其配套使用的賽靈思All Programmable器件高級規(guī)范的獨有特性。”(見圖5)
Possley指出:“SDNet能夠生成支持無中斷操作即時升級的數(shù)據(jù)路徑處理功能,這是其獨到之處。電信運營商能通過標準的SDNet API用軟件控制器為線路卡組件添加新的特性或功能。”
他補充指出,其能在嵌入式軟處理器或外部處理器上運行升級軟件。當然,如果在賽靈思Zynq®-7000 All Programmable SoC上實現(xiàn)設(shè)計,那就能在器件的嵌入式ARM®處理器上運行軟件。
Possley指出:“SDNet在軟件控制下可提供全面的硬件可編程功能,因此我們稱之為‘軟’定義網(wǎng)絡。”
如需了解有關(guān)SDNet規(guī)范環(huán)境的更多信息,包括SDNet的視頻演示,敬請訪問:china.xilinx.com/sdnet。
該網(wǎng)站還為您提供題為《針對網(wǎng)絡的全新SDNet軟件定義規(guī)范環(huán)境》的深度白皮書。
圖5 – 部署后,SDNet能讓廠商不中斷服務就升級線路卡協(xié)議。