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