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