亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于ZYNQ的高速數(shù)據(jù)中心接口單元設(shè)計(jì)*

        2018-10-22 11:47:40呂俊杰

        呂俊杰,武 杰

        (1.中國(guó)科學(xué)技術(shù)大學(xué) 近代物理系,安徽 合肥 230026; 2.中國(guó)科學(xué)技術(shù)大學(xué) 核探測(cè)技術(shù)與核電子學(xué)國(guó)家重點(diǎn)實(shí)驗(yàn)室,安徽 合肥 230026)

        0 引言

        大規(guī)模數(shù)據(jù)采集系統(tǒng)中數(shù)據(jù)中心是數(shù)據(jù)匯集的重要節(jié)點(diǎn),由于需要進(jìn)行大量的數(shù)據(jù)存儲(chǔ)和分析工作,一般使用高性能計(jì)算機(jī)作為數(shù)據(jù)中心[1]。

        基于硬件的可靠傳輸協(xié)議HRDTP(Hardware Reliable Data Transmission Protocol)由FPGA(Field Programmable GateArray)實(shí)現(xiàn),在數(shù)據(jù)采集系統(tǒng)中廣泛應(yīng)用[2-3],該協(xié)議包括ACK(Acknowledgement)回應(yīng)與超時(shí)重發(fā)機(jī)制,命令、回應(yīng)、確認(rèn)機(jī)制等,具有針對(duì)性強(qiáng)、結(jié)構(gòu)簡(jiǎn)單、適應(yīng)底層硬件等特點(diǎn),相比傳統(tǒng)的通信協(xié)議更適用于數(shù)據(jù)采集系統(tǒng),效率更高。基于硬件的可靠傳輸協(xié)議與計(jì)算機(jī)通用的可靠數(shù)據(jù)傳輸協(xié)議(TCP/IP協(xié)議等)無(wú)法直接通信。在數(shù)據(jù)采集系統(tǒng)中數(shù)據(jù)節(jié)點(diǎn)間通信使用基于硬件的可靠傳輸協(xié)議時(shí),為了使數(shù)據(jù)中心和數(shù)據(jù)節(jié)點(diǎn)通信,需要一特定外設(shè),即數(shù)據(jù)中心接口單元。

        數(shù)據(jù)中心接口單元像是一塊外置網(wǎng)卡,實(shí)現(xiàn)了基于硬件的可靠傳輸協(xié)議到標(biāo)準(zhǔn)的TCP/IP協(xié)議的通信。目前常見(jiàn)的數(shù)據(jù)中心接口實(shí)現(xiàn)方法有:(1)基于PCI-E接口的插卡式設(shè)計(jì)[3],使用該設(shè)計(jì)數(shù)據(jù)中心必須選用臺(tái)式機(jī),便攜性很差,在很多數(shù)據(jù)采集的實(shí)際環(huán)境中無(wú)法使用;(2)應(yīng)用在LHAASO WCDA中,基于FPGA嵌入式系統(tǒng)的設(shè)計(jì),該數(shù)據(jù)接口缺乏對(duì)短數(shù)據(jù)幀合并打包的處理,經(jīng)測(cè)試達(dá)到237 Mb/s的數(shù)據(jù)率[4]。本文基于FPGA和ARM處理器,設(shè)計(jì)了一種數(shù)據(jù)中心接口單元。該接口單元相比第一種設(shè)計(jì)在便攜性和通用性上有了極大的提升,因?yàn)槠涫褂脴?biāo)準(zhǔn)的千兆以太網(wǎng)接口,可以配合各種計(jì)算機(jī)(包括筆記本電腦)使用,且體積小便于攜帶,功耗低便于供電;相比第二種設(shè)計(jì),由于增加了數(shù)據(jù)幀合并打包功能,數(shù)據(jù)率達(dá)到了330 Mb/s,有39%的提升。

        1 設(shè)計(jì)與實(shí)現(xiàn)

        數(shù)據(jù)中心接口單元作為連接上層管理軟件和下層數(shù)據(jù)傳輸系統(tǒng)的中間橋梁,需要考慮與數(shù)據(jù)節(jié)點(diǎn)接口和上方與數(shù)據(jù)中心接口兩方面的接口選擇。數(shù)據(jù)中心一般距離數(shù)據(jù)節(jié)點(diǎn)較遠(yuǎn),同時(shí)需要滿足百兆量級(jí)的數(shù)據(jù)率要求,所以數(shù)據(jù)中心接口單元與數(shù)據(jù)節(jié)點(diǎn)的高速鏈路選擇千兆以太網(wǎng)。數(shù)據(jù)中心通常選用高性能的計(jì)算機(jī),結(jié)合數(shù)據(jù)率的要求,數(shù)據(jù)中心接口單元與數(shù)據(jù)中心的通信接口也為千兆以太網(wǎng)。

        Xilinx ZYNQ-7000系列全可編程SoC(System on Chip)系列芯片的硬件部分包括一個(gè)主頻高達(dá)667 MHz的雙核ARM Cortex-A9處理器子系統(tǒng)PS(Processing System)和一個(gè)豐富的內(nèi)存、配置和互聯(lián)接口,在FPGA邏輯部分PL(Progarmmable Logic)保留其他傳統(tǒng)FPGA所具備的優(yōu)勢(shì)。FPGA通過(guò)多口高性能接口接到PS端,實(shí)現(xiàn)了PL與PS間的高帶寬通信[5]。

        1.1 數(shù)據(jù)中心接口單元硬件設(shè)計(jì)

        數(shù)據(jù)中心接口單元的PL端拓展了一塊千兆以太網(wǎng)PHY(Physical Layer)芯片,以實(shí)現(xiàn)與數(shù)據(jù)節(jié)點(diǎn)之間的數(shù)據(jù)傳輸,數(shù)據(jù)的可靠性通過(guò)HRDTP來(lái)保證。數(shù)據(jù)中心接口單元與數(shù)據(jù)中心之間的通信通過(guò)千兆以太網(wǎng)[6]實(shí)現(xiàn),數(shù)據(jù)的可靠性通過(guò)TCP/IP協(xié)議來(lái)保證。數(shù)據(jù)中心接口單元的結(jié)構(gòu)如圖1所示。

        圖1 數(shù)據(jù)中心接口單元結(jié)構(gòu)

        系統(tǒng)的FPGA固件包含了MAC控制器及硬件回應(yīng)模塊、數(shù)據(jù)高速緩沖模塊及DMA控制器,其結(jié)構(gòu)如圖2所示。

        圖2 數(shù)據(jù)中心接口單元FPGA結(jié)構(gòu)

        MAC控制器負(fù)責(zé)與千兆以太網(wǎng)PHY間的通信;硬件回應(yīng)模塊按照基于硬件的可靠協(xié)議完成了對(duì)幀類型的分揀、錯(cuò)誤幀的處理、數(shù)據(jù)幀的排序及回應(yīng)ACK;數(shù)據(jù)高速緩沖模塊為DMA控制器提供數(shù)據(jù)緩沖,并將n個(gè)短數(shù)據(jù)幀合并成長(zhǎng)數(shù)據(jù)幀;DMA控制器負(fù)責(zé)DMA數(shù)據(jù)傳輸,可以有兩種模式選擇,由驅(qū)動(dòng)進(jìn)行配置和啟動(dòng)。

        1.2 數(shù)據(jù)中心接口單元軟件設(shè)計(jì)

        數(shù)據(jù)中心接口單元的軟件設(shè)計(jì)如圖3所示。PS部分的ARM雙核運(yùn)行Linux3.15.0操作系統(tǒng)。驅(qū)動(dòng)運(yùn)行在內(nèi)核態(tài),應(yīng)用程序運(yùn)行在用戶態(tài)。

        圖3 數(shù)據(jù)中心接口單元軟件設(shè)計(jì)

        驅(qū)動(dòng)是連接數(shù)據(jù)中心接口模塊(FPGA)和上層軟件的橋梁,驅(qū)動(dòng)為用戶程序提供了對(duì)數(shù)據(jù)中心接口模塊基本的讀(Read)、寫(Write)和I/O操作(I/O Control)。驅(qū)動(dòng)代碼在操作系統(tǒng)的內(nèi)核態(tài)執(zhí)行。驅(qū)動(dòng)中對(duì)設(shè)備的讀寫與數(shù)據(jù)中心接口模塊的DMA過(guò)程對(duì)應(yīng)。為滿足上行較高的數(shù)據(jù)率,驅(qū)動(dòng)的讀操作對(duì)應(yīng)DMA的Scatter/Gather模式,而寫操作則對(duì)應(yīng)Simple DMA模式。

        讀操作采用了阻塞I/O的方式,一次DMA完成后驅(qū)動(dòng)會(huì)收到來(lái)自數(shù)據(jù)中心接口模塊的中斷信號(hào),在中斷處理函數(shù)中會(huì)喚醒Read函數(shù)中的休眠,Read函數(shù)把數(shù)據(jù)由內(nèi)核空間拷貝到用戶空間,如果沒(méi)有數(shù)據(jù)可以拷貝,Read函數(shù)將會(huì)進(jìn)入休眠模式。在中斷處理函數(shù)清空中斷信號(hào)后,準(zhǔn)備接受下一次中斷的到來(lái)。

        寫操作首先將用戶空間傳遞來(lái)的數(shù)據(jù)拷貝至內(nèi)核空間對(duì)應(yīng)的寫DMA緩沖區(qū),然后將寫緩沖區(qū)對(duì)應(yīng)的物理地址和長(zhǎng)度信息寫入DMA控制器對(duì)應(yīng)的I/O地址,數(shù)據(jù)中心接口模塊開(kāi)始接收DMA操作。

        應(yīng)用程序用TCP/IP協(xié)議與PC進(jìn)行數(shù)據(jù)交互,利用驅(qū)動(dòng)提供的讀、寫和I/O操作的接口與數(shù)據(jù)中心接口單元的PL部分進(jìn)行交互,具有數(shù)據(jù)傳輸、幀解析、命令幀下發(fā)等功能。

        1.3 數(shù)據(jù)幀合并打包的實(shí)現(xiàn)

        數(shù)據(jù)幀的合并打包通過(guò)驅(qū)動(dòng)和FPGA協(xié)同完成。

        驅(qū)動(dòng)部分:申請(qǐng)大小為L(zhǎng)B的DMA緩沖區(qū),其中L為基于硬件可靠傳輸協(xié)議中定長(zhǎng)數(shù)據(jù)幀長(zhǎng)度的n倍(n的值可以在一定范圍控制),為用戶空間TCP/IP協(xié)議要處理的數(shù)據(jù)包的長(zhǎng)度;將申請(qǐng)到DMA緩沖區(qū)的地址和長(zhǎng)度L寫入指定寄存器。

        FPGA部分:當(dāng)接收到數(shù)據(jù)節(jié)點(diǎn)傳來(lái)的數(shù)據(jù)幀時(shí),根據(jù)指定寄存器中驅(qū)動(dòng)寫入的DMA緩沖區(qū)地址和長(zhǎng)度將n個(gè)定長(zhǎng)數(shù)據(jù)幀按解析后幀頭的幀序號(hào)順序?qū)懭隓MA緩沖區(qū),并發(fā)送一次中斷,驅(qū)動(dòng)收到中斷,將合并打包后長(zhǎng)度為L(zhǎng)的長(zhǎng)數(shù)據(jù)幀發(fā)送到用戶空間。

        大塊的DMA緩沖區(qū)起到以下作用:(1)將短數(shù)據(jù)幀打包合并,減少上層TCP協(xié)議棧處理大量短數(shù)據(jù)幀對(duì)CPU的損耗;(2)數(shù)據(jù)幀按幀序號(hào)進(jìn)行排序;(3)大大減少DMA中斷次數(shù)。

        2 性能測(cè)試

        千兆以太網(wǎng)數(shù)據(jù)源使用思博倫公司生產(chǎn)的網(wǎng)絡(luò)數(shù)據(jù)分析儀Spirent TestCenter C1[7],該網(wǎng)絡(luò)分析儀有 4個(gè)10/100/1 000 BASE-T端口和精度極高的內(nèi)部硬件時(shí)戳。配合Windows端軟件Spirent TestCenter Application可以生成512個(gè)發(fā)送和511個(gè)可追蹤接收流,且?guī)L(zhǎng)度60~16 004 B內(nèi)可變,發(fā)送速率每3.43 s一個(gè)包到101%線速率間可變,接收端可以統(tǒng)計(jì)幀CRC、嵌入式CRC和PRBS位錯(cuò)誤。

        數(shù)據(jù)中心選用Think Pad E450筆記本,搭載Intel酷睿i5處理器,Windows 7操作系統(tǒng)。數(shù)據(jù)中心接口模塊與數(shù)據(jù)源、數(shù)據(jù)中心之間都通過(guò)長(zhǎng)3 m的CAT-5e超五類網(wǎng)線連接。

        千兆以太網(wǎng)上的實(shí)際數(shù)據(jù)傳輸速率根據(jù)以太網(wǎng)標(biāo)準(zhǔn),除去前導(dǎo)符與幀間隙,使用基于硬件的可靠傳輸協(xié)議的定長(zhǎng)數(shù)據(jù)幀進(jìn)行測(cè)試。其中定長(zhǎng)數(shù)據(jù)幀有效長(zhǎng)度為796 B,冗余信息包括8 B前導(dǎo)符和12 B幀間隔,共計(jì)20 B。

        設(shè)實(shí)際數(shù)據(jù)率為Rreal,有效數(shù)據(jù)率為Rvalid,有效數(shù)據(jù)長(zhǎng)度為lvalid,故:

        (1)

        所以千兆以太網(wǎng)有效數(shù)據(jù)率最高為:

        (2)

        幀速率為:

        975.49 Mb/s÷(796×8 bit)=153 186 f/s

        (3)

        即在FPGA不對(duì)數(shù)據(jù)幀進(jìn)行打包的情況下驅(qū)動(dòng)要響應(yīng)每秒15萬(wàn)多次的中斷。

        (1)測(cè)試數(shù)據(jù)中心接口單元和數(shù)據(jù)節(jié)點(diǎn)之間基于硬件可靠傳輸協(xié)議的數(shù)據(jù)傳輸。數(shù)據(jù)源在測(cè)試中模擬數(shù)據(jù)節(jié)點(diǎn)。測(cè)試數(shù)據(jù)率可以使用網(wǎng)絡(luò)數(shù)據(jù)源發(fā)幀并統(tǒng)計(jì)丟幀數(shù)。數(shù)據(jù)中心接口單元性能測(cè)試連接圖如圖4所示。

        圖4 數(shù)據(jù)中心接口單元性能測(cè)試連接圖

        在1 000 Mb/s的線速率下(有效數(shù)據(jù)率為975.49 Mb/s),數(shù)據(jù)源發(fā)送了54 273 312個(gè)幀,F(xiàn)PGA和驅(qū)動(dòng)也接收到同樣數(shù)目的幀。由以上測(cè)試數(shù)據(jù)可以得出,數(shù)據(jù)中心接口單元可以在基于硬件的可靠傳輸協(xié)議下接收975.49 Mb/s數(shù)據(jù)率的數(shù)據(jù),并通過(guò)驅(qū)動(dòng)將數(shù)據(jù)可靠地送達(dá)系統(tǒng)上層用戶空間。

        (2)測(cè)試數(shù)據(jù)中心接口單元和數(shù)據(jù)中心間基于TCP/IP協(xié)議的數(shù)據(jù)傳輸,可以通過(guò)網(wǎng)絡(luò)性能測(cè)試工具IPERF測(cè)試不同幀長(zhǎng)度下的數(shù)據(jù)率。

        如圖5所示,數(shù)據(jù)中心接口單元到數(shù)據(jù)中心之間的TCP/IP數(shù)據(jù)傳輸速率最高可達(dá)534 Mb/s,沒(méi)有完全利用千兆以太網(wǎng)帶寬,這是由于處理器的性能有限,TCP/IP協(xié)議對(duì)報(bào)文的處理占用了大量的CPU資源。

        圖5 數(shù)據(jù)中心接口單元到數(shù)據(jù)中心的有效數(shù)據(jù)率

        (3)測(cè)試數(shù)據(jù)節(jié)點(diǎn)發(fā)送數(shù)據(jù)幀經(jīng)由數(shù)據(jù)中心接口單元傳輸?shù)綌?shù)據(jù)中心的可靠數(shù)據(jù)率。測(cè)試中數(shù)據(jù)源模擬數(shù)據(jù)節(jié)點(diǎn);數(shù)據(jù)中心運(yùn)行數(shù)據(jù)中心主控程序,統(tǒng)計(jì)并存儲(chǔ)數(shù)據(jù)幀;數(shù)據(jù)中心接口單元可以調(diào)整對(duì)定長(zhǎng)數(shù)據(jù)幀的打包(將n個(gè)定長(zhǎng)數(shù)據(jù)幀合并成長(zhǎng)數(shù)據(jù)幀,調(diào)整n的值),從而控制和數(shù)據(jù)中心之間基于TCP/IP協(xié)議傳輸數(shù)據(jù)幀的長(zhǎng)度。

        如圖6所示,數(shù)據(jù)中心接口單元在實(shí)際數(shù)據(jù)傳輸中可達(dá)330 Mb/s的可靠數(shù)據(jù)率。由圖5和圖6可以明顯看出數(shù)據(jù)傳輸速率與幀長(zhǎng)度有著較大的關(guān)系。由于協(xié)議棧需要對(duì)每個(gè)報(bào)文進(jìn)行處理,處理時(shí)間與報(bào)文長(zhǎng)度無(wú)關(guān),在同樣的數(shù)據(jù)量下,當(dāng)傳輸報(bào)文長(zhǎng)度變低時(shí),協(xié)議棧報(bào)文處理頻率會(huì)相應(yīng)增加,數(shù)據(jù)率相較長(zhǎng)報(bào)文時(shí)明顯下降[8]。所以為了提高數(shù)據(jù)傳輸速率,對(duì)數(shù)據(jù)幀進(jìn)行合并打包是非常必要的。

        圖6 數(shù)據(jù)源經(jīng)由數(shù)據(jù)中心接口單元到數(shù)據(jù)中心的有效數(shù)據(jù)率

        測(cè)試結(jié)果表明,單獨(dú)測(cè)試數(shù)據(jù)中心接口單元兩端千兆以太網(wǎng)接口的數(shù)據(jù)率分別達(dá)到975.49 Mb/s和534 Mb/s,然而最終數(shù)據(jù)幀由數(shù)據(jù)源經(jīng)過(guò)兩個(gè)千兆以太網(wǎng)接口可靠地傳輸?shù)綌?shù)據(jù)中心的數(shù)據(jù)率最高只達(dá)到330 Mb/s,較較低的534 Mb/s仍有差距。經(jīng)過(guò)分析,這部分?jǐn)?shù)據(jù)率的下降是由于:(1)DMA傳輸?shù)倪^(guò)程要涉及高速緩存一致性(cache coherence)的問(wèn)題,要保持高速緩存和內(nèi)存的一致性需要一些操作,在數(shù)據(jù)傳輸過(guò)程中會(huì)消耗一部分時(shí)間,導(dǎo)致數(shù)據(jù)率的下降;(2)數(shù)據(jù)由內(nèi)核態(tài)到用戶態(tài)的拷貝消耗一部分時(shí)間,導(dǎo)致數(shù)據(jù)率的下降。

        3 結(jié)論

        本文基于Xilinx ZYNQ芯片,通過(guò)軟硬件協(xié)同設(shè)計(jì),實(shí)現(xiàn)了用于大規(guī)模數(shù)據(jù)采集系統(tǒng)的可靠數(shù)據(jù)中心接口模塊。在大規(guī)模數(shù)據(jù)采集系統(tǒng)中,數(shù)據(jù)節(jié)點(diǎn)之間數(shù)據(jù)可靠性是通過(guò)基于硬件的可靠傳輸協(xié)議實(shí)現(xiàn)的,該數(shù)據(jù)中心接口模塊是基于硬件的可靠傳輸協(xié)議和傳統(tǒng)TCP/IP協(xié)議之間的橋梁,可以使數(shù)據(jù)中心(PC)能夠用傳統(tǒng)的TCP/IP協(xié)議接收數(shù)據(jù)節(jié)點(diǎn)傳來(lái)的采集數(shù)據(jù),而且保證了數(shù)據(jù)在高數(shù)據(jù)率下的可靠性。該數(shù)據(jù)中心接口模塊各項(xiàng)參數(shù)測(cè)試達(dá)標(biāo)后,在實(shí)際的數(shù)據(jù)采集項(xiàng)目中進(jìn)行了應(yīng)用,穩(wěn)定地完成了三次野外數(shù)據(jù)采集試驗(yàn)。

        數(shù)據(jù)中心接口模塊和數(shù)據(jù)節(jié)點(diǎn)之間的千兆以太網(wǎng)帶寬占用率幾乎達(dá)到了理想的100%,然而數(shù)據(jù)中心接口模塊和數(shù)據(jù)中心之間的千兆以太網(wǎng)帶寬占用率還有提升的空間,未來(lái)可通過(guò)提升PS部分硬件性能或者優(yōu)化軟件和協(xié)議棧來(lái)提升。

        久久久免费精品re6| 亚洲国产成人手机在线电影| 三级国产女主播在线观看| 国产毛片A啊久久久久| 国产喷白浆精品一区二区豆腐 | 图片小说视频一区二区| 国产亚洲一区二区在线观看| 国产zzjjzzjj视频全免费| 欧美成人精品福利在线视频| 东京热加勒比国产精品| 亚洲av无码专区在线| а√天堂8资源中文在线| 少妇人妻真实偷人精品视频| 欧美深夜福利视频| 亚洲一区二区在线视频,| 日本a级黄片免费观看| 99久久精品无码一区二区毛片| 免费a级毛片无码av| 亚洲av无码男人的天堂在线| 无码 制服 丝袜 国产 另类| 亚洲AV秘 片一区二区三区| 国产色婷亚洲99精品av网站| 亚洲av综合色区一区二区| 国产裸体美女永久免费无遮挡 | 久久人人爽人人爽人人av| 青青视频一区| 99久久这里只精品国产免费| 日本一区二区三区综合视频| 亚洲tv精品一区二区三区| 亚洲av无码久久| 国产精品久久久久免费a∨| 久久国产高潮流白浆免费观看| av免费在线国语对白| 国产特级毛片aaaaaa视频| 欧美性大战久久久久久久| 国产呦系列呦交| 91久久国产香蕉视频| 97人人模人人爽人人喊电影| 精品视频专区| 国产精品毛片av毛片一区二区| 久久精品国产99国产精品澳门|