999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

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

呂俊杰,武 杰

(1.中國科學(xué)技術(shù)大學(xué) 近代物理系,安徽 合肥 230026; 2.中國科學(xué)技術(shù)大學(xué) 核探測技術(shù)與核電子學(xué)國家重點(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)簡單、適應(yīng)底層硬件等特點(diǎn),相比傳統(tǒng)的通信協(xié)議更適用于數(shù)據(jù)采集系統(tǒng),效率更高。基于硬件的可靠傳輸協(xié)議與計(jì)算機(jī)通用的可靠數(shù)據(jù)傳輸協(xié)議(TCP/IP協(xié)議等)無法直接通信。在數(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é)議的通信。目前常見的數(shù)據(jù)中心接口實(shí)現(xiàn)方法有:(1)基于PCI-E接口的插卡式設(shè)計(jì)[3],使用該設(shè)計(jì)數(shù)據(jù)中心必須選用臺(tái)式機(jī),便攜性很差,在很多數(shù)據(jù)采集的實(shí)際環(huán)境中無法使用;(2)應(yīng)用在LHAASO WCDA中,基于FPGA嵌入式系統(tǒng)的設(shè)計(jì),該數(shù)據(jù)接口缺乏對(duì)短數(shù)據(jù)幀合并打包的處理,經(jīng)測試達(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)勢。FPGA通過多口高性能接口接到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ù)的可靠性通過HRDTP來保證。數(shù)據(jù)中心接口單元與數(shù)據(jù)中心之間的通信通過千兆以太網(wǎng)[6]實(shí)現(xiàn),數(shù)據(jù)的可靠性通過TCP/IP協(xié)議來保證。數(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ù)幀合并成長數(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過程對(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ì)收到來自數(shù)據(jù)中心接口模塊的中斷信號(hào),在中斷處理函數(shù)中會(huì)喚醒Read函數(shù)中的休眠,Read函數(shù)把數(shù)據(jù)由內(nèi)核空間拷貝到用戶空間,如果沒有數(shù)據(jù)可以拷貝,Read函數(shù)將會(huì)進(jìn)入休眠模式。在中斷處理函數(shù)清空中斷信號(hào)后,準(zhǔn)備接受下一次中斷的到來。

寫操作首先將用戶空間傳遞來的數(shù)據(jù)拷貝至內(nèi)核空間對(duì)應(yīng)的寫DMA緩沖區(qū),然后將寫緩沖區(qū)對(duì)應(yīng)的物理地址和長度信息寫入DMA控制器對(duì)應(yīng)的I/O地址,數(shù)據(jù)中心接口模塊開始接收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ù)幀的合并打包通過驅(qū)動(dòng)和FPGA協(xié)同完成。

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

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

千兆以太網(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度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ù)中心之間都通過長3 m的CAT-5e超五類網(wǎng)線連接。

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

設(shè)實(shí)際數(shù)據(jù)率為Rreal,有效數(shù)據(jù)率為Rvalid,有效數(shù)據(jù)長度為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萬多次的中斷。

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

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

在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ù)目的幀。由以上測試數(shù)據(jù)可以得出,數(shù)據(jù)中心接口單元可以在基于硬件的可靠傳輸協(xié)議下接收975.49 Mb/s數(shù)據(jù)率的數(shù)據(jù),并通過驅(qū)動(dòng)將數(shù)據(jù)可靠地送達(dá)系統(tǒng)上層用戶空間。

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

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

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

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

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

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

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

3 結(jié)論

本文基于Xilinx ZYNQ芯片,通過軟硬件協(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ù)可靠性是通過基于硬件的可靠傳輸協(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)傳來的采集數(shù)據(jù),而且保證了數(shù)據(jù)在高數(shù)據(jù)率下的可靠性。該數(shù)據(jù)中心接口模塊各項(xiàng)參數(shù)測試達(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)帶寬占用率還有提升的空間,未來可通過提升PS部分硬件性能或者優(yōu)化軟件和協(xié)議棧來提升。

主站蜘蛛池模板: 国产欧美日韩18| 国产成人一级| 免费看黄片一区二区三区| 亚洲性日韩精品一区二区| 久久精品国产精品一区二区| 国产欧美日韩免费| 久久亚洲中文字幕精品一区| 无码一区二区三区视频在线播放| 91精品国产综合久久不国产大片| 国产91无码福利在线| 国产精品视频猛进猛出| 亚洲全网成人资源在线观看| 香蕉久久永久视频| 日韩欧美国产综合| 伊在人亚洲香蕉精品播放| 国产精品久久久久婷婷五月| 亚洲狠狠婷婷综合久久久久| 亚洲婷婷六月| 国产成人高清精品免费5388| 中文字幕亚洲综久久2021| 欧美a在线看| 伊人成人在线| 99久久人妻精品免费二区| 日韩在线第三页| 国产精品自在在线午夜区app| 欧美日一级片| 欧美a级完整在线观看| 亚洲精品制服丝袜二区| 亚洲色图综合在线| 亚洲美女高潮久久久久久久| 日韩国产高清无码| 国产成人做受免费视频| 2021国产精品自产拍在线观看 | 久久77777| 婷婷午夜影院| 在线观看精品自拍视频| 日韩激情成人| 亚洲视频色图| 熟妇无码人妻| 久久人体视频| 亚洲欧美不卡| 午夜电影在线观看国产1区| 国产综合在线观看视频| 午夜啪啪网| 免费a级毛片视频| 亚洲全网成人资源在线观看| 久久久久久久久亚洲精品| 日韩亚洲高清一区二区| 国产人人乐人人爱| 色婷婷在线影院| 中文字幕亚洲综久久2021| 亚洲欧美成人影院| 香蕉eeww99国产在线观看| 成人亚洲天堂| 97在线国产视频| 亚洲国产AV无码综合原创| 欧美无遮挡国产欧美另类| 都市激情亚洲综合久久| 91精品专区| 国产色婷婷| 91精品国产自产在线老师啪l| 全部免费毛片免费播放| 最新午夜男女福利片视频| 亚洲天堂.com| 欧美一区精品| 人妻丰满熟妇αv无码| 日韩在线视频网站| 日韩国产亚洲一区二区在线观看| 色偷偷综合网| 国产一区成人| 精品一区国产精品| 97超级碰碰碰碰精品| 欧美一区福利| 伊人福利视频| 亚洲中文字幕国产av| 国产精品高清国产三级囯产AV| 亚洲国产成人无码AV在线影院L| 青青青视频91在线 | 青青青草国产| jizz亚洲高清在线观看| 丝袜久久剧情精品国产| 久久综合激情网|