丁 蕊,黨導(dǎo)航,郭元之,薛旭偉,郭秉禮,黃善國(北京郵電大學(xué),北京 100876)
隨著互聯(lián)網(wǎng)的普及和通信服務(wù)的快速發(fā)展,流媒體、云計算等相關(guān)應(yīng)用業(yè)務(wù)對數(shù)據(jù)流量的需求增加,數(shù)據(jù)中心組網(wǎng)的規(guī)模不斷擴(kuò)大,高密度服務(wù)器之間的通信對帶寬提出更高的要求,而傳統(tǒng)的電交換架構(gòu)受限于帶寬和能耗,逐漸難以滿足通信網(wǎng)絡(luò)對傳輸容量及速率的要求。由于對光交換技術(shù)的研究和需求逐漸增加,目前已有研究將光交換引入數(shù)據(jù)中心架構(gòu),與全電交換相比,全光交換在帶寬、時延等方面有更好的性能。為解決大規(guī)模數(shù)據(jù)中心的問題,滿足它對高帶寬、高效數(shù)據(jù)傳輸?shù)男枨?,同時兼顧通信系統(tǒng)的擴(kuò)展成本,通常采用光電混合架構(gòu),兼顧光交換和電交換的優(yōu)勢,可以靈活地選擇傳輸方式。在數(shù)據(jù)中心組網(wǎng)中引入光交換技術(shù),利用時分復(fù)用(Time Division Multiplexing,TDM)或波分復(fù)用(Wavelength Division Multiplexing,WDM)技術(shù)提升帶寬、降低時延。時隙交換的前提是精確的時間同步,確保各個機(jī)架的時隙對齊,同步的精度越高,劃分的時隙越短,控制器在分配帶寬時越靈活,可根據(jù)實際流量的需求實現(xiàn)動態(tài)分配,提升資源利用率。
在已有的光網(wǎng)絡(luò)架構(gòu)中,通常使用基于網(wǎng)絡(luò)傳輸時間戳的同步協(xié)議,其精度在毫秒級或微秒級,或者采用精度能達(dá)到納秒級甚至亞納秒級的高精度同步方案,但是該方案依賴于特定硬件對相關(guān)協(xié)議的支持。目前能長時間保持穩(wěn)定的時間同步模塊的最高精度為10 ns。微軟提出一種快速光交換架構(gòu)Sirius,并根據(jù)自身的調(diào)度特點設(shè)計了一種新的同步協(xié)議,能達(dá)到百皮秒級的時間同步,但是需要在每個時隙進(jìn)行同步,挑選質(zhì)量最佳的時鐘作為主時鐘。
TDM 技術(shù)在時域上復(fù)用多路信號,可在同一個信道上傳輸多路數(shù)據(jù)。為了保證分割時隙的準(zhǔn)確性,需要提前對各端點進(jìn)行時間同步。本文提出一種面向時隙光交換網(wǎng)絡(luò)的納秒級時間同步技術(shù),基于FPGA(Field Programmable Gate Array)用硬件描述語言實現(xiàn)IEEE 1588v2 協(xié)議。由于機(jī)架的主從端都通過FPGA實現(xiàn)該協(xié)議的同步邏輯,所以不需要額外的硬件支持就可以實現(xiàn)高精度的時間同步,只需要在數(shù)據(jù)鏈路層將時間同步報文插入數(shù)據(jù)包并通過以太網(wǎng)封裝傳輸即可。同時,與需要考慮網(wǎng)絡(luò)抖動而在每個時隙挑選最佳時鐘的方案相比,硬件開發(fā)板的晶振時鐘源質(zhì)量較好,能長時間保持穩(wěn)定,不需要頻繁啟動同步進(jìn)程。
對交換模型進(jìn)行了實驗測試,實驗結(jié)果證明了基于FPGA 開發(fā)的時間同步模塊可以實現(xiàn)納秒級同步,單個同步周期的主從時鐘偏移量不超過2.56 ns,即一個時鐘周期,且能保持長時間的穩(wěn)定,同步后的時鐘抖動不超過20 ps。
AWGR(Arrayed Waveguide Grating Router)作為一種無源光波導(dǎo)元件,可以實現(xiàn)多波長的路由和分配。為解決數(shù)據(jù)中心規(guī)模擴(kuò)大帶來的帶寬、時延、能耗等問題,引入光交換器件AWGR 和可調(diào)諧激光器來增加帶寬并降低能耗,基于FPGA 的同步與調(diào)度可以滿足高速數(shù)據(jù)處理和不同規(guī)模網(wǎng)絡(luò)處理的需求。通過AWGR 的多波長輸入輸出和周期性路由特性,提升帶寬利用率。各機(jī)架完成同步是基于FPGA 的調(diào)度模塊負(fù)責(zé)集中調(diào)度的前提,因此采用IEEE 1588v2 協(xié)議實現(xiàn)納秒級硬件同步。每個機(jī)架包含架頂(Top of Rack,ToR)交換機(jī),負(fù)責(zé)機(jī)架內(nèi)服務(wù)器之間的通信。光交換具有高帶寬、低時延的特點,而電交換具有更好的控制性能,為了更好地分配和利用帶寬,通過分流模塊將大象流和老鼠流分別轉(zhuǎn)發(fā)到光路和電路,減少網(wǎng)絡(luò)堵塞,降低延遲和丟包率,提升資源利用率。整體系統(tǒng)架構(gòu)如圖1所示。
圖1 系統(tǒng)架構(gòu)
在光網(wǎng)絡(luò)架構(gòu)中,每個ToR都包含時間同步模塊,在系統(tǒng)初始化完成后,調(diào)度器作為整體控制器和時間同步的主端,并以其時鐘為基準(zhǔn)同步各從端ToR 的時鐘。
基于FPGA 實現(xiàn)的控制器負(fù)責(zé)同步、流控等功能,配置并調(diào)用Xilinx 官方IP 核10G/25G High Speed Ethernet Subsystem。使用AXI4_Lite 協(xié)議控制FPGA 計數(shù)器的初始化和修改,時間同步的主從端分別通過FPGA 實現(xiàn),用戶端同步模塊的數(shù)據(jù)通過AXI4_Stream發(fā)送到IP 核,IP 核封裝數(shù)據(jù)并通過光口發(fā)送。IP 核的以太網(wǎng)接口包括PCS/PMA 和MAC 2個部分,用戶數(shù)據(jù)通過axi 協(xié)議傳入10G MAC 核并進(jìn)行以太網(wǎng)協(xié)議的封裝,MAC 核和PHY 核之間通過xgmii 接口相連,最后10G PHY 將數(shù)據(jù)進(jìn)行編/譯碼并轉(zhuǎn)換為串行通過GTY輸出,SFP 經(jīng)過光電轉(zhuǎn)換將數(shù)據(jù)通過光纖發(fā)送到其他設(shè)備。
具體的1588v2 協(xié)議通過硬件編程語言實現(xiàn),采用雙跳模式,即將事件報文和時間戳分開發(fā)送。先由主端向從端發(fā)送Sync 報文并記錄時間戳t1,表明同步開始,從端接收并記錄時間戳t2,t1將跟隨Follow_Up 報文發(fā)送到從端記錄。從端發(fā)送Delay_Req 報文并記錄時間戳t3,主端接收報文后,將接收時刻的時間戳t4隨Delay_Resp 報文發(fā)送到從端。由此,t1與t2的差值就是鏈路延遲與時鐘偏移之和,t3與t4的差值為鏈路延遲與時鐘偏移之差,通過差值相加減并除以倍數(shù)即可分別計算出鏈路的延遲與時鐘偏移。由FPGA 實現(xiàn)的同步模塊結(jié)構(gòu)如圖2所示。
圖2 1588v2同步模塊結(jié)構(gòu)
選定控制器做Master,以該時鐘為標(biāo)準(zhǔn),向從端發(fā)送同步信號并交互時間戳,在一個同步周期結(jié)束后,從端根據(jù)接收的時間戳計算時延和偏移,修改本地計數(shù)器,同步Slaver時鐘。
用實驗測試平臺搭建4×4 的交換模型,使用4 個FPGA 模擬ToR1~4,另1個FPGA 作為集中控制器負(fù)責(zé)整體的調(diào)度。每個ToR 都有4 個25 Gbit/s 的傳輸通道,其中2個連接到電交換機(jī),一個端口通過可調(diào)諧光模塊走光纖鏈路與AWGR 相連,SFP28 收發(fā)器提供25 Gbit/s 的傳輸帶寬。選定控制器為主端,ToR1~4 為從端,以控制器上的時鐘為主時鐘,通過時間戳的交互計算時鐘偏移量,同步其他4 個ToR 的時鐘。在正式傳輸數(shù)據(jù)前,同步各架頂交換機(jī)的時鐘,并通過示波器測量主從時鐘的偏差。同步完成后進(jìn)行數(shù)據(jù)傳輸,使用以太網(wǎng)測試儀發(fā)包并監(jiān)測流量狀態(tài)。
主從端FPGA 內(nèi)部均有一個基于390.625 MHz 時鐘的計數(shù)器,導(dǎo)出一個在計數(shù)值變化時會翻轉(zhuǎn)的電平信號,累加輸出一個1 ms 翻轉(zhuǎn)的方波,通過SMA-BNC線連接到示波器測量,采樣約20 000 個數(shù)據(jù)點并計算RMS(Root Mean Square)值。示波器的測量結(jié)果如圖3所示,其中綠色波形為主時鐘,黃色波形為從時鐘,采樣結(jié)果顯示時鐘偏移為2.026 9 ns。紅色波形為幾萬個數(shù)據(jù)點的分布圖,峰值范圍從1.983 4 ns 到2.068 5 ns,時鐘抖動為10.992 ps。
圖3 示波器測量波形
根據(jù)示波器的結(jié)果,以RMS 值作為有效數(shù)據(jù)點繪圖,測量不同運(yùn)行時長下的時鐘偏移,結(jié)果如圖4 所示,偏移量維持在一個穩(wěn)定值。由于時間同步模塊可以在一個時鐘周期內(nèi)完成同步,采用的時鐘頻率為390.625 MHz,因此時鐘偏移量不超過2.56 ns。
圖4 運(yùn)行時長對時鐘偏移的影響
為考察同步后時鐘的穩(wěn)定性,分別測量不同光纖長度、運(yùn)行時長和環(huán)境溫度下的同步結(jié)果,數(shù)據(jù)點的采樣方式與圖4相同。
如圖5 所示,分別測量了1 m、2 m、15 m、512 m 和1 013 m長度的光纖對時鐘偏移的影響,差值保持在皮秒級,雖然在1 m 到15 m 光纖長度下時鐘偏移由396 ps 增加到了800 ps,但512 m 和1 013 m 長度下的同步結(jié)果基本都在800 ps 左右。由圖6 可看出,不同光纖長度下,時鐘抖動在10.086 ps 到10.630 ps 之間,穩(wěn)定性較好。實驗結(jié)果表明光纖長度對時間同步的結(jié)果沒有顯著影響,不影響納秒級光交換系統(tǒng)的性能。
圖5 光纖長度對時鐘偏移的影響
圖6 光纖長度對時鐘抖動的影響
使用1 個FPGA 板作為主端控制器,剩下4 個FPGA 作為從端ToR1~4,對多節(jié)點同步的情況下各點的同步效果進(jìn)行測試,結(jié)果如圖7 所示。從圖7 可以看出,時鐘抖動基本保持在一個穩(wěn)定值,最小值為10.689 ps,最大值為11.155 ps。對不同環(huán)境溫度下時鐘的穩(wěn)定性進(jìn)行測試,將代表主從端的FPGA 放在恒溫箱中運(yùn)行,以5℃為一個梯度單位進(jìn)行測量。實驗結(jié)果表明在20~50 ℃的溫度下,時鐘抖動均穩(wěn)定在13 ps左右(見圖8)。
圖7 各節(jié)點的時鐘抖動情況
圖8 溫度對時鐘抖動的影響
本文提出了納秒級時間同步光電混合架構(gòu),該架構(gòu)實現(xiàn)了基于硬件的納秒級時間同步,保證基于時隙的數(shù)據(jù)傳輸,減少了集中調(diào)度各架頂交換機(jī)所造成的時延。最終結(jié)果表明一個同步周期內(nèi)主從時鐘的偏移為納秒級,時鐘偏移量不超過2.56 ns 且穩(wěn)定性較好,時鐘抖動為皮秒級,滿足同步需求。