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

        ?

        基于端系統(tǒng)應用的分組I/O加速技術*

        2016-12-23 07:26:03李世星龍永新劉三毛
        關鍵詞:端系統(tǒng)描述符鏈式

        李世星,楊 惠,龍永新,劉三毛

        (1.湖南工業(yè)大學 計算機與通信學院,湖南 株洲 412000;2.國防科學技術大學 計算機學院,湖南 長沙 410073)

        ?

        基于端系統(tǒng)應用的分組I/O加速技術*

        李世星1,楊 惠2,龍永新1,劉三毛1

        (1.湖南工業(yè)大學 計算機與通信學院,湖南 株洲 412000;2.國防科學技術大學 計算機學院,湖南 長沙 410073)

        在網(wǎng)絡系統(tǒng)中,優(yōu)化端系統(tǒng)的數(shù)據(jù)路徑能夠使數(shù)據(jù)在網(wǎng)絡接口和應用程序之間快速移動。因此,研究基于端系統(tǒng)應用的分組I/O加速技術,對分組I/O的發(fā)送和接收路徑分別優(yōu)化,有助于提高數(shù)據(jù)移動效率,減少CPU停滯,實現(xiàn)內存并行處理。本文提出分組I/O接收端流親和技術, 分組I/O發(fā)送端鏈式發(fā)送技術。基于通用多核處理器和FPGA搭建端系統(tǒng)實驗環(huán)境,并對分組I/O加速后的端系統(tǒng)進行性能測試,實驗結果表明,采用分組I/O加速技術的端系統(tǒng),能夠使報文收發(fā)性能提升2.14倍。

        端系統(tǒng);多核;數(shù)據(jù)路徑;FPGA

        0 引言

        包含多核處理器的端系統(tǒng),隨著多核處理器處理性能的不斷提升,運行的應用越來越復雜[1]。然而擁有多核、高速處理能力的端系統(tǒng),并沒有對數(shù)據(jù)的接收與發(fā)送路徑進行優(yōu)化,端系統(tǒng)接收數(shù)據(jù)包、發(fā)送數(shù)據(jù)包占據(jù)大量的處理時間,數(shù)據(jù)吞吐率成為制約端系統(tǒng)性能的瓶頸。Intel[2]指出當前多核處理器設計時并未考慮到網(wǎng)絡處理中分組I/O的問題,在獲得了高效網(wǎng)絡處理性能的同時,也伴隨著分組I/O帶來的處理時間長和網(wǎng)卡設計復雜的問題。為了降低網(wǎng)絡應用帶來的I/O開銷,本文提出了基于端系統(tǒng)的分組I/O加速技術。其主要思想是接收數(shù)據(jù)路徑實現(xiàn)流親和技術,發(fā)送數(shù)據(jù)路徑實現(xiàn)鏈式發(fā)送技術。

        1 相關研究

        針對多核網(wǎng)絡分組處理系統(tǒng)的分組I/O開銷大的問題,Intel為通用多核處理平臺提出了數(shù)據(jù)平面開發(fā)工具套件DPDK[2],為高速網(wǎng)絡設計了一套數(shù)據(jù)平面庫,提供了統(tǒng)一的處理器軟件編程模式,從而幫助應用程序有效地接收和發(fā)送數(shù)據(jù),提高分組I/O性能。Packetshader則采用大報文緩沖區(qū)的方式[3],靜態(tài)地預分配兩個大的緩沖區(qū)(SKB控制信息緩沖區(qū)和分組數(shù)據(jù)緩沖區(qū)),通過連續(xù)存儲每個接收分組的SKB控制信息和分組數(shù)據(jù),避免緩沖區(qū)申請、釋放以及描述符的轉換操作,有效降低分組I/O開銷和訪存開銷。Netmap[4]通過預分配固定大小緩沖區(qū),采用批處理和并行數(shù)據(jù)路徑的方法,實現(xiàn)了內存映射,存儲信息結構簡單高效,能夠實現(xiàn)報文的高速轉發(fā)。DCA通過處理器硬件支持,將接收網(wǎng)絡分組直接寫入LLC cache,減小CPU訪問分組描述符的延時[5]。而PFQ[6]接收的報文不需要通過標準協(xié)議棧處理,直接送入批處理隊列進行批處理。現(xiàn)有研究采用內存映射的零拷貝技術,只能解決拷貝的開銷,不能解決報文緩沖區(qū)分配和釋放開銷。

        2 分組I/O接收端流親和技術

        流親和技術通過構造和維護多個動態(tài)鏈表,對端系統(tǒng)應用中報文數(shù)據(jù)進行處理、傳輸,并以DMA方式寫入內存。

        2.1 分組I/O接收端流親和加速模型

        本文采取接收報文緩沖區(qū)流親和加速模型。將緩沖區(qū)描述符分配、回收交由硬件處理,以實現(xiàn)報文零中斷處理。為每一個線程分配一個存儲區(qū)鏈表,減少上下文切換開銷,減少線程亂序存儲造成的TLB表頻繁缺失。報文緩沖區(qū)描述符管理機制、DMA接收機制將對本文提出的流親和技術具體實現(xiàn)做出詳細說明。

        2.1.1 流親和報文緩沖區(qū)描述符管理機制

        以多核處理器提供線程數(shù)是m為例。如圖1所示,先由軟件初始化數(shù)據(jù)至m個緩沖區(qū)塊描述符FIFO,每個內核緩沖區(qū)內地址連續(xù),地址大小相等,地址塊大小相等。每個塊地址包含k個地址。在每一個內核緩沖區(qū)內通過塊描述符FIFO和偏移計數(shù)器分配地址。

        圖1 報文緩沖區(qū)描述符管理機制結構示意圖

        描述符初始化流程:系統(tǒng)驅動給每個內核緩沖區(qū)塊描述符FIFO分配描述符塊地址。每個內核緩沖區(qū)分配n個塊地址,內核緩沖區(qū)的個數(shù)等于CPU提供的線程數(shù)m。并給釋放計數(shù)器RAM和緩沖區(qū)塊描述符RAM中的值都賦0。

        描述符回收流程:當空閑描述符下發(fā)時,取塊索引號,讀緩沖區(qū)塊地址RAM和回收地址計數(shù)RAM,當回收地址計數(shù)RAM的值為塊地址可存放地址數(shù)量的最大值時,回收該塊地址并將計數(shù)表的值賦0,否則將計數(shù)表的值加1。

        描述符分配流程:為m個內核緩沖區(qū)實例化m個塊描述符分配模塊。在每個塊描述符分配模塊中,當分配地址偏移計數(shù)器的值為k時,從緩沖區(qū)塊描述符FIFO中重新取一個塊地址送至塊描述符分配模塊。否則將當前地址寄存器中的地址加1后發(fā)送至分配地址緩沖區(qū)。m個塊描述符分配模塊可以同時分配地址。

        2.1.2 DMA接收機制

        接收到下行部件報文時,如圖2所示,根據(jù)報文頭部線程號信息獲取地址,如線程號為1,則從1號當前描述符SRAM中取出當前地址,并從1號待分配報文描述符FIFO中取出下一跳地址。將接收的報文與描述符(包括當前地址、下一跳地址)合并,傳送至共享緩沖區(qū)。傳輸完成時會保留該線程尾的下一跳地址。下一個報文到達時,將下一跳地址更新為當前地址,通過下一跳地址輪詢處理下一個報文。

        圖2 DMA接收機制結構示意圖

        2.2 分組I/O接收端流親和技術數(shù)據(jù)通路流程偽代碼

        (1)初始化

        begin

        系統(tǒng)驅動將描述符信息寫入m個塊描述符隊列中,將塊地址索引號寫到描述符RAM中,回收地址計數(shù)器都置0;

        end

        (2)從端接收報文到主機流程

        begin

        if (收到下行部件報文&&待分配報文描述符FIFO不為空)

        begin

        取出當前地址RAM中的地址作為當前地址,取出待分配描述符FIFO中的地址作為下一跳地址,封裝后上傳;

        end

        else return;

        end

        (3)描述符回收流程

        begin

        if (有空閑描述符下發(fā))

        begin

        回收塊地址的計數(shù)器置0;

        清除對應描述符RAM中的地址;

        end

        else begin

        回收塊地址計數(shù)器累加;

        end

        end

        3 分組I/O發(fā)送端鏈式發(fā)送技術

        在實現(xiàn)操作系統(tǒng)指定的任意存儲區(qū)域報文鏈式發(fā)送中,鏈式發(fā)送指的是一次DMA讀,讀出一塊描述符,不再是每次DMA讀,讀出一個描述符。這樣可以減少多次DMA讀的開銷,提高發(fā)送效率。

        圖3 分組I/O發(fā)送端數(shù)據(jù)通路加速結構圖

        3.1 分組I/O鏈式發(fā)送技術數(shù)據(jù)通路加速模型

        本文提出的每次DMA讀,讀出一塊描述符,讀出的描述符可能大于四拍。這種情況下無法和TCP/IP數(shù)據(jù)報文區(qū)分。本文采取的方法是每次發(fā)送DMA讀請求時,寫一個標識存入FIFO,在讀出數(shù)據(jù)時,同時讀出該FIFO的值,區(qū)分是描述塊還是TCP/IP報文,實現(xiàn)鏈式發(fā)送。

        鏈式發(fā)送的實現(xiàn)步驟如下:(1)系統(tǒng)驅動將攜帶21位或者28位DMA地址的描述符,以PCIE寫寄存器的方式寫入FPGA內部邏輯。其中,攜帶21位地址的描述符用于流親和機制中回收基地址,攜帶28位地址的描述符用于構造DMA讀請求,每次DMA讀請求,讀出多個攜帶64位地址的描述符。(2)構造21位、28位、64位DMA地址TLP報文讀請求,每構造一次DMA讀請求往FIFO中寫一次標識。(3)解析、定序PCIE核下發(fā)的TLP報文。(4)讀取標識FIFO,區(qū)分描述符和數(shù)據(jù)報文。數(shù)據(jù)報文直接下發(fā)至網(wǎng)絡接口,描述符則將其緩存,再構造TLP報文內存讀請求。分組I/O鏈式發(fā)送技術數(shù)據(jù)通路加速模型如圖3所示。以下將介紹鏈式發(fā)送的四個機制。3.1.1 PCIE接收機制

        PCIE接收機制為PCIE 應用層I/O部分,將送往系統(tǒng)驅動的數(shù)據(jù)解析并轉換成相應格式的TLP報文,構造TLP報文讀請求。

        3.1.2 PCIE發(fā)送機制

        PCIE發(fā)送機制為PCIE 應用層I/O部分,將從內存讀出的數(shù)據(jù)解析并轉換成規(guī)定格式的報文。

        3.1.3 DMA轉發(fā)機制

        接收PCIE發(fā)送機制報文,根據(jù)控制位(Ctrl)判斷是描述符還是普通報文。普通報文直接轉發(fā)給下行模塊,描述符則轉發(fā)給描述符管理機制進行處理。

        3.1.4 DMA描述符管理機制

        按照信仰觀念和儀式這兩個層面來研究各地的廟會或者叫地方保護神的祭祀民俗,先將它們分開來進行描述,然后再合并為一個事象給予議論,這種做法在以往的博碩士學位論文里經(jīng)常出現(xiàn)。比如我們研究泰山廟會信仰時,我們可能會先寫關于泰山奶奶是怎么回事兒,與古老的西王母有沒有什么關系,與碧霞元君等其他女神有什么關系,等等。這種考證性研究可能存在著問題,因為對于一般老百姓來說,他們可能并不關心這些神祇之間有沒有關系,他們關心的是我今天來求神,神祇對我來說到底靈驗不靈驗。

        描述符管理機制為鏈表回收部分,系統(tǒng)驅動以寫寄存器的方式,寫描述符至DMA描述符管理機制?;厥?1位DMA地址,其他描述符形成特定格式,轉發(fā)至PCIE接收機制進行處理。

        3.2 分組I/O鏈式發(fā)送數(shù)據(jù)通路流程偽代碼

        begin

        if(報文發(fā)送描述符緩沖不為空)

        begin

        將描述符控制塊的28位地址、長度以及控制信息(共128位),以寫寄存器的方式寫入發(fā)送引擎中,不回收該描述符;

        end

        if(根據(jù)控制信息判斷發(fā)送描述符對應報文為普通報文)

        begin

        end

        else begin

        計數(shù)器累加并判斷;

        構造21位或者28位DMA讀請求;

        end

        if(Completion報文返回)

        begin

        判別為普通數(shù)據(jù),則轉發(fā)至網(wǎng)絡接口;

        end

        else

        begin

        構造成64位DMA讀請求;

        end

        else return;

        end

        4 性能評估

        為有效驗證基于端系統(tǒng)應用的分組I/O加速技術的性能,實驗原型基于國產(chǎn)的高性能通用64位CPU與可編程FPGA實現(xiàn),分組I/O加速的核心部件在FPGA器件上實現(xiàn),F(xiàn)PGA型號采用Stratix IV EP4SGX230KF40C2。Ixia網(wǎng)絡測試儀連續(xù)發(fā)送大小為64 B的報文。由一個萬兆端口接收和發(fā)送報文,端系統(tǒng)配置為單線程、雙線程、四線程、八線程四種模式。測試結果如圖4所示,可以看出支持流親和和鏈式發(fā)送后,64 B報文吞吐率有明顯的提升,性能最高提升2.14倍。

        圖4 性能加速比對圖

        5 結束語

        為了優(yōu)化端系統(tǒng)數(shù)據(jù)路徑,使得數(shù)據(jù)在網(wǎng)絡接口和應用程序之間快速移動,降低分組I/O開銷,本文基于多核處理器和FPGA平臺實現(xiàn)端系統(tǒng),提出了分組I/O接收端流親和與發(fā)送端鏈式發(fā)送兩種技術。實驗結果顯示,經(jīng)由

        分組I/O加速后,端系統(tǒng)對于報文吞吐率有明顯的提升,性能最高提升2.14倍。

        [1] HAN S, JANG K, PARK K S, et al. PacketShader: a GPU-accelerated software router[C]. ACM SIGCOMM Computer Communication Review,2010:195-206.

        [2] Intel. High-performance multi-core networking software design options[R/OL]. [2016-01-06]www.intel.com.

        [3] GARC′LA-DORADO J L, MATA F, RAMOS J, et al. High-performance network traffic processing systems using commodity hardware[C]. Data Traffic Monitoring and Analysis, LNCS 7754, 2013: 3-27.

        [4] RIZZO L. Netmap: a novel framework for fast packet I/O[C]. In 2012 USENIX Annual Technical Conference, 2012: 2-12.

        [5] RIZZO L, Deri L, CARDIGLIANO A. 10 Gbit/s line rate packet processing using commodity hardware: survey and new proposals[EB/OL].[2016-01-06] http://luca.ntop.org/10g.pdf.

        [6] BONELLI N, PIETRO A D, GIORDANOS S, et al. On multi-gigabit packet capturing with multi-core commodity hardware[C]. N. Taft and F. Ricciato (Eds.), PAM 2012, LNCS 7192, 2012: 64-73.

        Packet I/O acceleration technology based on terminal system application

        Li Shixing1,Yang Hui2,Long Yongxing1,Liu Sanmao1

        (1.School of Computer and Communication, Hunan University of Technology, Zhuzhou 412000, China;2.School of Computer, National University of Defense Technology, Changsha,410073, China)

        In network system, studying on acceleration technology based on packet I/O for terminal system application, optimizing the transfer data paths of packet I/O, will improve the data transfer rate between network interface and program space of user application, reduce the CPU stall and realize high efficient parallel processing. In this paper, we use streaming affinity technology for the packet I/O receiver, and use the chain transmission technology in the packet I/O sender. We develop a common platform with multicore processor and FPGA for terminal system, and make some experiments on sending and receiving packet performance with packet I/O acceleration technology. The experimental results show that the proposed scheme can achieve to 2.14x packet throughput.

        terminal system; multicore; data path; FPGA

        國家自然科學基金(61170102)

        TP393.0

        A

        1674-7720(2016)07- 0063- 04

        李世星,楊惠,龍永新,等. 基于端系統(tǒng)應用的分組I/O加速技術[J].微型機與應用,2016,35(7):63-66.

        2016-01-06)

        李世星(1990-),男,碩士研究生,主要研究方向:高性能網(wǎng)絡體系和高性能網(wǎng)絡設備研制。

        楊惠(1987-),女,博士,助理研究員,主要研究方向:高性能網(wǎng)絡體系和高性能網(wǎng)絡設備研制。

        龍永新(1966-),男,副研究員,主要研究方向:信號處理。

        猜你喜歡
        端系統(tǒng)描述符鏈式
        一種PCIe接口AFDX端系統(tǒng)的設計與實現(xiàn)
        基于結構信息的異源遙感圖像局部特征描述符研究
        測繪學報(2022年12期)2022-02-13 09:13:01
        TTE時間觸發(fā)以太網(wǎng)技術在國產(chǎn)化平臺中的應用
        冶金聯(lián)合循環(huán)機組汽機冷端系統(tǒng)運行優(yōu)化
        冶金設備(2019年6期)2019-12-25 03:08:42
        Linux單線程并發(fā)服務器探索
        CentOS下AFDX端系統(tǒng)驅動設計與實現(xiàn)*
        鏈式STATCOM內部H橋直流側電壓均衡控制策略
        黑龍江電力(2017年1期)2017-05-17 04:25:05
        利用CNN的無人機遙感影像特征描述符學習
        鏈式D-STATCOM直流電壓分層協(xié)調控制策略
        電測與儀表(2015年4期)2015-04-12 00:43:08
        10kV鏈式STATCOM的研究與設計
        電測與儀表(2015年4期)2015-04-12 00:43:08
        野花社区www高清视频| 人妻少妇精品专区性色anvn| 99re6在线视频精品免费| 爽爽精品dvd蜜桃成熟时电影院 | 九九久久99综合一区二区| 国内精品久久久久久久影视麻豆| 日韩成人精品日本亚洲| 色偷偷亚洲精品一区二区 | 国产一区二区三区蜜桃| 亚洲深深色噜噜狠狠网站| 久久久久香蕉国产线看观看伊| 久久国产亚洲精品超碰热| 狼人狠狠干首页综合网| 人妻精品在线手机观看| 99re8这里有精品热视频免费| 91精品国产福利尤物免费| 色婷婷一区二区三区77| 欧美又大粗又爽又黄大片视频| 久久aⅴ人妻少妇嫩草影院| 囯产精品无码一区二区三区| 9l国产自产一区二区三区| av无码国产精品色午夜| 吃奶摸下的激烈视频| 亚洲成aⅴ人片在线观看天堂无码| 91九色极品探花内射| 日本无码欧美一区精品久久| 尤物99国产成人精品视频| 手机在线免费看av网站| 国产一区亚洲二区三区| 最新高清无码专区| 日本香蕉久久一区二区视频 | 国产91传媒一区二区三区| 精品国产一区二区三区av片| 国产精品九九热| 国产日本精品一区二区免费| 亚洲精品美女久久777777| 国产日韩成人内射视频| 亚洲一区二区三区品视频| 亚洲夫妻性生活免费视频| 国产特级毛片aaaaaa高清| 国产在视频线精品视频二代 |