0731-84728105
15116127200
FAST項目技術白皮書
發布時間: 2016-11-20
1.引言
     軟件定義網絡(SDN)采用控制與轉發分離(lí)結構,由于允許網絡擁有(yǒu)者和(hé)運營商(shāng)對網絡行(xíng)為(wèi)進行(xíng)編程而取得巨大的(de)成功,在工業界得到廣泛認可(kě)。各種開源項目,如(rú)ODL和(hé)ONOS等,在SDN技術發展中扮演重要角色,是推動SDN應用的(de)最大動力。
     可(kě)編程交換是當前SDN的(de)研究熱點之一(yī)。如(rú)何實現高(gāo)性能的(de)openflow流表查表,如(rú)何擴展SDN交換平面功能,如(rú)何實現對高(gāo)級語言編程(P4)的(de)支持等在學(xué)術界都得到了廣泛研究。然而與目前存在的(de)大量開源SDN控制器不同,開源SDN交換機(jī)難以滿足SDN科(kē)研與教學(xué)的(de)需要。OpenVSwitch功能全面,但全軟件的(de)實現方式難以滿足高(gāo)性能處理(lǐ)需求;NetFPGA實現了openflow 1.0交換,但近年(nián)來很難看到後續的(de)發展;國(guó)內(nèi)南京疊锶的(de)ONetSwitch在FPGA上實現了完善的(de)SDN交換功能,但交換機(jī)采用FPGA內(nèi)嵌的(de)處理(lǐ)器,能力較弱,難以在處理(lǐ)器上進行(xíng)數據路徑處理(lǐ)功能的(de)擴展。
     2011年(nián)開始,國(guó)防科(kē)技大學(xué)、北(běi)京郵電大學(xué)和(hé)東南大學(xué)等單位相關的(de)課題組基于可(kě)編程交換平台NetMagic08進行(xíng)了SDN實驗平台的(de)開發,形成了支持openflow1.0/1.3的(de)SDN交換機(jī)。并采用多核CPU+FPGA的(de)架構(Netmagic Pro平台),實現了支持SDN數據平面功能擴展的(de)Labelcast交換機(jī)以及軟件定義隧道(dào)交換機(jī)(SDTS)等成果。2016年(nián),課題組基于上述成果形成FAST(Fpga bAsed Sdn swiTch)開源項目,支持國(guó)內(nèi)SDN交換技術的(de)創新研究和(hé)相關的(de)教學(xué)工作。
2. 科(kē)研與教學(xué)對開源SDN交換機(jī)的(de)需求
      與在工業界應用不同,面向科(kē)研與教學(xué)領域的(de)開源項目的(de)目标用戶主要是研究機(jī)構和(hé)大學(xué)中參與SDN技術研究的(de)老師和(hé)研究生,這些人員在網絡知識儲備、編程水平、有(yǒu)意投入工程實現的(de)時間等方面具有(yǒu)較大差異,因此對開源SDN交換項目也有(yǒu)不同的(de)需求,主要具有(yǒu)以下特點。
   (1)內(nèi)部交換機(jī)內(nèi)部的(de)實現流程可(kě)見
     研究人員、老師和(hé)學(xué)生可(kě)以看到交換機(jī)內(nèi)部詳細的(de)工作流程,包括硬件對報文的(de)處理(lǐ)波形,交換機(jī)內(nèi)部軟硬件交互的(de)流程,以及交換機(jī)通過南向接口與控制器的(de)通信流程。目前的(de)市(shì)場采購的(de)SDN交換機(jī)無法看到內(nèi)部工作流程,對研究人員來說是一(yī)個典型的(de)“黑盒”,隻能通過各種配置命令改變交換機(jī)的(de)處理(lǐ)行(xíng)為(wèi),或在開源的(de)控制器一(yī)側通過抓包軟件觀測交換機(jī)的(de)外部行(xíng)為(wèi),對SDN交換技術的(de)研究支持不足。
   (2)能夠在交換機(jī)中增加自(zì)己的(de)創新工作
     SDN的(de)創新研究有(yǒu)可(kě)能需要增加一(yī)個定制的(de)模塊來修改硬件處理(lǐ)邏輯,如(rú)支持新的(de)分組格式,新的(de)調度算法,也有(yǒu)可(kě)能是通過在硬件邏輯中(或者流表中)設置一(yī)個“鈎子(zǐ)”,将指定的(de)流量定向到CPU,通過編寫軟件代碼實現對特定流量施加特定處理(lǐ)。目前基于ASIC的(de)商(shāng)用SDN交換機(jī)難以支持上述功能,新型可(kě)編程SDN芯片(如(rú)Barefoot支持P4的(de)芯片)尚未成熟,而且也是無法在硬件處理(lǐ)層次的(de)創新實驗。
   (3)需要更好的(de)應用和(hé)開發支持
     由于在教學(xué)科(kē)研領域的(de)研究人員,特别是研究生,水平層次不齊。特别電子(zǐ)工程專業的(de)可(kě)能擅長(cháng)硬件設計,計算機(jī)專業的(de)可(kě)能擅長(cháng)軟件編程,以論文為(wèi)目标的(de)研究人員可(kě)能更加注重原理(lǐ)的(de)驗證而不是工作的(de)穩定性,而部分科(kē)研院所希望能夠穩定可(kě)靠的(de)工作,成為(wèi)産品的(de)原型。因此研究人員希望能夠獲得更加專業,甚至是定制的(de)服務。
   (4)平台中立,不涉及具體的(de)商(shāng)業利益
     科(kē)研教學(xué)領域的(de)研究主要是面向關鍵技術的(de)突破和(hé)驗證,以及SDN原理(lǐ)的(de)學(xué)習。基本不涉及到各種商(shāng)業利益的(de)紛争,因此平台應該具有(yǒu)中立性,不能依賴特定的(de)平台和(hé)操作系統,也不能與其他特定的(de)開源項目綁定發展。
     因此,100G/40G高(gāo)速接口和(hé)幾十甚至是上百個的(de)端口密度不是科(kē)研與教學(xué)平台的(de)第一(yī)需求,內(nèi)部處理(lǐ)流程可(kě)見,平台處理(lǐ)功能可(kě)定制,良好的(de)服務技術支持,以及不帶有(yǒu)商(shāng)業傾向性的(de)平台設計才是科(kē)研教學(xué)領域的(de)最重要需求。
3.FAST的(de)技術路線
3.1 FAST硬件架構
FAST的(de)FPGA設計主要分為(wèi)平台相關邏輯、FAST流水線模塊庫以及工程配置文件庫三部分,如(rú)圖1所示。平台相關邏輯主要是各類用于網絡實驗的(de)FPGA平台,如(rú)NetMagic08,NetMagic Pro以及NetFPGA等為(wèi)了支持FAST交換機(jī)需要提供的(de)基本功能,包括物理(lǐ)網絡接口分組的(de)收發,與CPU的(de)通信,訪問闆卡外圍協處理(lǐ)器(如(rú)TCAM)和(hé)存儲器的(de)接口等。
FAST流水線模塊庫包含了實現SDN交換邏輯的(de)主要功能模塊,這些模塊是在前期項目開發中積累的(de),包括協議分析,關鍵字提取、查表,動作(封頭/去(qù)頭,令牌桶限速等)、緩沖區管理(lǐ)和(hé)計數器等模塊。用戶可(kě)根據這些模塊,針對自(zì)己的(de)需求搭建自(zì)己的(de)SDN轉發流水線。
工程配置文件庫類似C語言的(de)makefile文件,用戶可(kě)使用工程配置文件指定FPGA選用的(de)平台,将平台相關邏輯以及FAST流水線多個模塊組成一(yī)個工程。由于在FAST流水線模塊設計中依賴一(yī)些器件相關的(de)宏(如(rú)基于Altera Quartus II工具生成的(de)FIFO、PLL等實例),因此目前工程配置庫隻支持基于Altera FPGA的(de)可(kě)編程闆卡。
FAST UM規範定義了平台相關邏輯與FAST交換邏輯的(de)接口,詳細見《FAST UM接口規範》。基于FAST UM規範設計的(de)SDN轉發邏輯可(kě)以方便的(de)在不同的(de),支持FSAT 的(de)FPGA平台上移植。例如(rú)SDN轉發邏輯可(kě)以在相對簡單的(de)NetMagic08平台上調試,完成後再移植到NetMagic Pro平台。

圖1 FAST項目的(de)硬件架構
     FAST軟件由4部分組成,包括平台相關通信庫,核心管理(lǐ)軟件,轉發面擴展軟件以及配置管理(lǐ)軟件。其中平台無關的(de)核心管理(lǐ)軟件,轉發面擴展軟件以及配置管理(lǐ)軟件都是FAST用戶可(kě)以修改的(de),統稱為(wèi)UA(User Application)。
     平台相關通信庫實現CPU軟件與交換FPGA的(de)通信,根據FPGA平台的(de)不同,會采用不同的(de)通信方式,例如(rú)與NetMagic08平台采用以太網方式進行(xíng)通信,對于NetMagic Pro平台、NetFPGA平台則采用PCIe總線通信的(de)方式。但平台相關軟件與FPGA不同的(de)通信方式對上層軟件(核心管理(lǐ)軟件、轉發面功能擴展軟件等)是透明的(de)。即FAST項目定義了平台相關通信庫對上層接口的(de)規範,詳見《FAST UA設計規範》。基于該規範開發的(de)上層軟件可(kě)不考慮下層的(de)具體通信方式。

圖2 FAST項目的(de)軟件架構
     核心管理(lǐ)軟件主要是SDN交換機(jī)數據平面中由CPU軟件實現的(de)基本功能,包括各種表管理(lǐ)軟件,硬件相關的(de)驅動和(hé)管理(lǐ)軟件以及軟硬件協同處理(lǐ)中的(de)軟件功能實現部分。各部分主要功能如(rú)下。
     (1)表管理(lǐ)軟件:負責所有(yǒu)控制器配置表格的(de)維護,控制器flowmod命令對交換機(jī)表操作的(de)命令主要由核心管理(lǐ)軟件響應和(hé)實現。
     (2)算法相關軟件:是對硬件平台的(de)驅動。例如(rú)NetMagic Pro平台硬件采用TCAM實現帶掩碼的(de)查表,而NetMagic08平台采用SBV算法實現288位帶掩碼的(de)查表。算法相關軟件需要根據表管理(lǐ)軟件要求,根據平台相關的(de)算法實現特點,實現對硬件中流表的(de)管理(lǐ)。
     (3)統計管理(lǐ)軟件:例如(rú)實現SDN交換機(jī)計數器的(de)管理(lǐ),将硬件實現的(de)計數器(如(rú)流表項匹配分組數目計數器、端口接收計數器)和(hé)軟件實現的(de)計數器(流表項存活時間)進行(xíng)統一(yī)的(de)管理(lǐ)。又如(rú)數據平面實現的(de)令牌桶參數、輸出調度器配置的(de)參數計算等。
配置管理(lǐ)軟件主要實現SDN交換機(jī)的(de)外部配置管理(lǐ)接口,包括SDN交換機(jī)需要的(de)南向接口協議,如(rú)openflow協,以及本地(dì)的(de)配置管理(lǐ)界面等。
4.基于FAST架構的(de)用戶開發
     FAST是面向教學(xué)科(kē)研的(de)開源項目,必須為(wèi)網絡技術研究和(hé)教學(xué)提供簡單的(de)第三方開發接口。根據不同科(kē)研單位的(de)不同需求,這些開發接口分為(wèi)多個層次。用戶可(kě)以選擇全定制功能開發模式,即基于平台提供的(de)FPGA開發接口(UM接口)和(hé)軟件開發接口(UA接口)開發自(zì)己的(de)功能,優點是可(kě)以全新打造自(zì)己的(de)功能,效率高(gāo),但難度較大,周期長(cháng),對開發人員的(de)要求較高(gāo)。FAST社區不推薦用戶采用全定制功能開發的(de)模式,而推薦采用用戶定義功能模塊開發模式。
     用戶可(kě)借鑒已有(yǒu)的(de)FAST軟硬件架構和(hé)已有(yǒu)成熟的(de)功能模塊,隻增加與自(zì)己應用相關的(de)模塊,優點是開發時間短(duǎn),對人員要求較低(dī),而且可(kě)以得到FAST社區最大程度的(de)技術支持。用戶可(kě)選擇隻開發自(zì)定義的(de)硬件功能模塊,或自(zì)定義的(de)軟件功能模塊,或者同時開發硬件和(hé)軟件模塊,實現特定網絡功能的(de)協同處理(lǐ),FAST用戶定義模塊開發示意如(rú)圖3所示。
4.1 硬件UM開發
     FAST社區已經開發了可(kě)工作的(de)SDN轉發的(de)流水線demo程序,如(rú)圖3所示。主要包含協議分析(Parser)、查表(match)以及動作執行(xíng)(match)等階段。用戶可(kě)以在現有(yǒu)基礎上增加自(zì)己的(de)模塊,如(rú)對新協議的(de)parser模塊(P4),新的(de)動作執行(xíng)模塊(H4)等,而不需修改其他部分。FAST UM規範定義了5個接口,分别是A(從物理(lǐ)端口接收報文)、B(向物理(lǐ)接口發送報文)、C(将報文送軟件處理(lǐ))、D(從軟件接收報文)和(hé)E(軟件對硬件的(de)配置接口)。
     用戶開發的(de)硬件模塊如(rú)果需要軟件管理(lǐ)配置,隻要将需要管理(lǐ)配置的(de)寄存器、計數器和(hé)控制表等預先映射到虛拟地(dì)址空間中,軟件UA按照虛拟空間的(de)地(dì)址,通過平台提供的(de)API可(kě)以直接訪問到這些資源。虛拟地(dì)址空間的(de)原理(lǐ)見《FAST虛拟地(dì)址空間設計和(hé)使用方法》。
4.2軟件UA開發
      用戶可(kě)在CPU的(de)用戶空間進行(xíng)定制模塊的(de)開發。用戶程序通過平台提供的(de)接口接收和(hé)發送數據包, 在每個數據包之前會攜帶32個字節的(de)metadata,Metadata的(de)定義和(hé)使用詳見4.3節。
     軟件模塊的(de)開發主要遵循FAST UA規範中定義的(de)F(接收Matadata和(hé)分組的(de)接口)、G(發送Matadata和(hé)分組的(de)接口)和(hé)H(向系統注冊用戶定義功能模塊的(de)接口,獲取自(zì)己的(de)MID号等),并将需要管理(lǐ)的(de)硬件模塊的(de)資源在虛拟地(dì)址空間中定義。
      根據圖2中的(de)軟件架構,用戶定義的(de)模塊位于SDN交換機(jī)數據平面,因此一(yī)方面可(kě)實現對L2-L3功能的(de)軟硬件協同處理(lǐ),例如(rú)對新性網絡協議的(de)解析,另一(yī)方面也可(kě)實現數據平面對L4-L7處理(lǐ)功能的(de)擴展,如(rú)擴展有(yǒu)狀态防火牆功能,擴展對指定流的(de)DPI功能等。

圖3 用戶定義功能模塊開發原理(lǐ)示意圖
(a)用戶模塊的(de)工作原理(lǐ)(b)軟硬件模塊通信攜帶的(de)metadata格式
4.3軟硬件協同處理(lǐ)機(jī)制
     FAST通過兩種機(jī)制實現軟硬件處理(lǐ)的(de)協同。一(yī)是将軟硬件處理(lǐ)模塊統一(yī)編址,為(wèi)每個action模塊分配統一(yī)的(de)MID(Module ID)。例如(rú)圖3(a)中三個硬件action模塊(H1、H2和(hé)H3)和(hé)一(yī)個軟件功能模塊(S1)都會分配一(yī)個唯一(yī)的(de)MID。流表可(kě)以按照匹配結果将一(yī)個報文顯示的(de)分派到指定的(de)軟件或者硬件功能模塊。二是軟硬件分組通信時同時攜帶32字節的(de)metadata。Metadata的(de)定義如(rú)圖3(b)所示。
     FAST規範顯式定義了Matadata的(de)前16字節(Metadata0),如(rú)表1所示。通過Matadata,FPGA UM可(kě)将報文接收的(de)端口、長(cháng)度、接收的(de)精确時間和(hé)序列号,以及發出的(de)硬件模塊,目的(de)軟件模塊等信息送給軟件,平台相關軟件根據DMID信息将其送給指定的(de)用戶UA程序。用戶UA程序處理(lǐ)完分組後,又可(kě)通過Metadata信息将其送給指定的(de)硬件模塊,也可(kě)直接指定目的(de)輸出接口(輸出調度器也通過DMID指定)。
     FAST沒有(yǒu)對Matadata的(de)後16字節(Metadata1)進行(xíng)定義。當SMID和(hé)DMID都是用戶自(zì)己設計時,可(kě)以自(zì)行(xíng)約定Metadata1的(de)含義,平台相關硬件和(hé)軟件不對Metadata1進行(xíng)任何檢查和(hé)修改。
4.4 FAST.0參考設計
     目前基于圖1和(hé)圖2的(de)硬件和(hé)軟件架構,以及圖3的(de)軟硬件協同模型,國(guó)防科(kē)大課題組已經開發了支持openflow1.3的(de)交換機(jī)原型FAST.0。FAST.0運行(xíng)在NetMagic Pro平台,實現了與floodlight控制器的(de)互聯互通,以及标準的(de)二層轉發功能。
     在FPGA硬件方面,FAST.0支持以太網/IPv4分組的(de)解析,L2-L4層關鍵字的(de)提取,以及基于比特向量算法(BV)的(de)288位帶掩碼的(de)規則匹配功能;在CPU軟件方面,支持BV算法的(de)管理(lǐ),通用流表管理(lǐ),标準的(de)openflow 1.3的(de)接口軟件等。FAST.0軟硬件代碼已經完全開源,可(kě)作為(wèi)用戶基于FAST架構進行(xíng)定制開發的(de)基礎。
5.基于FAST的(de)創新研究示例
     目前FAST項目基于NetMagic Pro等多個平台已經有(yǒu)支持openflow1.3的(de)标準SDN交換機(jī)原型。基于這個原型,用戶可(kě)以進一(yī)步增加自(zì)己的(de)許多功能。本節通過兩個例子(zǐ)說明基于FAST項目進行(xíng)SDN交換機(jī)功能擴展研究的(de)方法和(hé)流程。
     在5.1的(de)基于內(nèi)容的(de)轉發機(jī)制ICN-X實現中,用戶隻需進行(xíng)相關用戶态軟件開發,不需任何硬件編程;5.2實現的(de)精準測量服務AMS(Accurate Measurement Service)中,需要分别設計軟件和(hé)硬件模塊,實現精确分組發送時刻控制以及時間戳标記。
5.1支持基于內(nèi)容的(de)轉發機(jī)制(ICN-X)
用戶可(kě)在FAST交換機(jī)上實現內(nèi)容中心的(de)轉發機(jī)制ICN-X。這種機(jī)制在網絡中可(kě)以與IPv4,IPv6轉發機(jī)制共存。在FAST交換機(jī)上實現ICN-X轉發機(jī)制的(de)方法如(rú)下。      
(1)将以太網type/length設置為(wèi)“X”,用于指代上層協議為(wèi)ICN-X;交換機(jī)可(kě)根據該域的(de)值區别以太網幀封裝的(de)上層協議分組為(wèi)IPv4,IPv6,ARP、MPLS或是ICN-X。      
(2)在用戶空間開發ICN-X協議轉發軟件ICN-X UA,ICN-X UA實現ICN-X的(de)分組轉發控制,ICN-X機(jī)制的(de)路由和(hé)其他管理(lǐ)分組可(kě)通過ICN-X UA重新定向成Packet-in分組,發給控制器上相關的(de)應用處理(lǐ)。      
(3)ICN-A UA啓動時向UA管理(lǐ)器(UA-M)注冊,注冊信息包括:      
ICN-X UA的(de)模塊版本号/開發者信息;      
ICN-X UA中需要控制器管理(lǐ)的(de)流表(如(rú)由控制器APP計算的(de)轉發表等);      
(4)UA-M給ICN-X UA分配唯一(yī)的(de)模塊号MID=Y;      
(5)SDN控制器(應用)通過南向接口或其他方式獲取ICN-X UA的(de)模塊号Y,以及需要通過FlowMod消息管理(lǐ)的(de)流表信息;      
(6)控制器(應用)根據Packet-in消息計算ICN-UA中轉發規則,并通過flowMod消息配置這些規則;      
(7)控制器(應用)産生并配置UM流表中的(de)“鈎子(zǐ)規則”,如(rú): Rule =“Type/length=X”,“other field= don’t care” Atcion = Goto Module Y 經過上述步驟,用戶定制的(de)FAST交換機(jī)就可(kě)以在正常進行(xíng)IP分組交換的(de)同時,支持新的(de)ICN-X交換機(jī)制了。ICN-X UA完成分組轉發和(hé)二層封裝後,直接将分組發送回FAST UM,同時在metadata中設置輸出端口号以及輸出調度器的(de)MID。該分組會通過平台相關的(de)軟件和(hé)硬件送到UM的(de)輸出調度模塊,不經修改的(de)從相應的(de)物理(lǐ)接口發出。
5.2支持精準測量服務(AMS)
     主動測量是獲取網絡狀态的(de)有(yǒu)效手段。例如(rú)利用香港理(lǐ)工大學(xué)提出的(de)oneProbe測試方法,通過在用戶網中向分布在全球的(de)web服務器發送背靠背的(de)TCP分組對(packet pair),通過計算服務器對分組對得響應情況,精确的(de)推斷出用戶主機(jī)到分布在全球的(de)互聯網服務器之間的(de)帶寬和(hé)延時情況,從而進一(yī)步推斷廣域網的(de)鏈路特性。
     這種測試的(de)精确性取決于能否控制分組對真正的(de)背靠背發送(中間沒有(yǒu)插入延時),能否精确的(de)獲取分組對發出以及返回的(de)時間戳。由于基于标準服務器的(de)實現存在測量進程收到內(nèi)核調度,中斷處理(lǐ)以及系統時鍾不精确等特點,很難保證測量的(de)精确性,因此測量必須借助專用的(de),昂貴的(de)可(kě)編程網卡實現,而且發送進程與網卡之間的(de)時間和(hé)狀态同步控制也比較複雜。
     通過對部署在用戶網絡中的(de)FAST交換機(jī)進行(xíng)擴充,可(kě)以在交換機(jī)上方便的(de)提供對精确的(de)主動測量的(de)支持。設發起測量的(de)主機(jī)H連接FAST交換機(jī)端口A,連接被測網絡的(de)是FAST交換機(jī)的(de)接口B,基本測量的(de)流程為(wèi):測量主機(jī)H通過FAST接口A發送兩個背靠背的(de)TCP分組P1和(hé)P2,這兩個分組經過交換機(jī)轉發後從端口B發向被測網絡;被測網絡通過接口B返回對這兩個分組的(de)響應P1’和(hé)P2’,交換機(jī)将這兩個分組通過接口A返回測試主機(jī)H。
     通過對FAST交換機(jī)功能擴展,提供的(de)精準測量服務包括:(1)交換機(jī)嚴格控制P1和(hé)P2從接口B背靠背發出,中間不插入任何延時;(2)交換機(jī)能夠精确記錄B口發出P1和(hé)P2,以及接收P1’和(hé)P2’的(de)時間戳;(3)FAST交換機(jī)将時間戳信息通告給測試主機(jī)H。
     要在FAST交換機(jī)上實現用戶定義的(de)精準測量服務,需要在FAST UM中開發專用的(de)分組輸出調度模塊Hams,以及相關控制軟件AMS UA。主機(jī)H使用FAST交換機(jī)擴展的(de)AMS服務流程如(rú)下。
     (1)控制器上AMS APP配置交換機(jī)的(de)流表規則,将主機(jī)H與被測服務器S之間的(de)測量報文(用H和(hé)S的(de)地(dì)址标識,這些信息可(kě)通過離(lí)線方式或在線的(de)方式通知控制器上的(de)AMS APP),對送軟件中的(de)(預先完成向UA-M注冊,并獲取到MID)AMS UA模塊處理(lǐ);      
(2)AMS UA将P1和(hé)P2兩個報文标記為(wèi)測量報文對,通過Matadata1中自(zì)定義的(de)字段發給FAST UM中的(de)Hams模塊,Hams模塊對輸出調度器具有(yǒu)最高(gāo)優先級,在收到兩個報文後,通過輸出調度模塊背靠背發出,同時将發出時間記錄在Hams模塊中,在虛拟地(dì)址空間預先注冊的(de)寄存器中,AMS UA通過輪訓讀寫該寄存器,獲得報文發出的(de)精确時間戳。      
(3)P1’和(hé)P2’從B端口返回後,根據流表中的(de)規則,會定向到AMS UA處理(lǐ)。AMS UA根據報文matadata0可(kě)獲取分組到達的(de)精确時間戳。      
(4)控制器上AMS APP從南向接口獲取主機(jī)H測量必須的(de)分組對精确發出時間和(hé)響應的(de)返回時間,并提交給主機(jī)H,完成AMS服務。
6.總結
      綜上所述,FAST技術架構具有(yǒu)以下特點。一(yī)是基于FPGA加多核CPU的(de)異構處理(lǐ)平台設計,用戶可(kě)以根據自(zì)己的(de)特點通過軟件編程或硬件編程實現自(zì)己定制的(de)模塊,進行(xíng)交換功能的(de)擴充;二是FAST平台采用開源結構,內(nèi)部分組的(de)處理(lǐ)流程完全可(kě)見;三是軟硬件設計基于平台無關接口,不依賴特定的(de)平台實現,可(kě)移植性好;四是具有(yǒu)完善的(de)軟硬件參考設計,研究人員可(kě)以根據自(zì)己研究的(de)需求定制自(zì)己的(de)交換機(jī)。
參考文獻
(1)《FAST UM接口規範》
(2)《FAST UA設計規範》
(3)《FAST虛拟地(dì)址空間設計和(hé)使用方法》
(4)《FAST.0 硬件設計說明》
(5)《FAST.0 軟件設計說明》
(以上文檔整在修訂,即将陸續發布。。。)