《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于端系統應用的分組I/O加速技術
基于端系統應用的分組I/O加速技術
2016年微型機與應用第07期
李世星1,楊惠2,龍永新1,劉三毛1
(1.湖南工業大學 計算機與通信學院,湖南 株洲 412000;2.國防科學技術大學 計算機學院,湖南 長沙 410073)
摘要: 在網絡系統中,優化端系統的數據路徑能夠使數據在網絡接口和應用程序之間快速移動。因此,研究基于端系統應用的分組I/O加速技術,對分組I/O的發送和接收路徑分別優化,有助于提高數據移動效率,減少CPU停滯,實現內存并行處理。本文提出分組I/O接收端流親和技術, 分組I/O發送端鏈式發送技術?;谕ㄓ枚嗪颂幚砥骱虵PGA搭建端系統實驗環境,并對分組I/O加速后的端系統進行性能測試,實驗結果表明,采用分組I/O加速技術的端系統,能夠使報文收發性能提升2.14倍。
Abstract:
Key words :

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

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

       摘要:在網絡系統中,優化端系統數據路徑能夠使數據在網絡接口和應用程序之間快速移動。因此,研究基于端系統應用的分組I/O加速技術,對分組I/O的發送和接收路徑分別優化,有助于提高數據移動效率,減少CPU停滯,實現內存并行處理。本文提出分組I/O接收端流親和技術, 分組I/O發送端鏈式發送技術?;谕ㄓ?a class="innerlink" href="http://www.cowatch.cn/tags/多核" title="多核" target="_blank">多核處理器和FPGA搭建端系統實驗環境,并對分組I/O加速后的端系統進行性能測試,實驗結果表明,采用分組I/O加速技術的端系統,能夠使報文收發性能提升2.14倍。

  關鍵詞:端系統;多核;數據路徑;FPGA

0引言

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

1相關研究

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

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

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

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

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

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

001.jpg

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

  圖1報文緩沖區描述符管理機制結構示意圖描述符初始化流程:系統驅動給每個內核緩沖區塊描述符FIFO分配描述符塊地址。每個內核緩沖區分配n個塊地址,內核緩沖區的個數等于CPU提供的線程數m。并給釋放計數器RAM和緩沖區塊描述符RAM中的值都賦0。

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

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

  2.1.2DMA接收機制

002.jpg

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

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

 ?。?)初始化

  begin

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

  end

 ?。?)從端接收報文到主機流程

  begin

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

  begin

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

  end

  else return;

  end

 ?。?)描述符回收流程

  begin

  if (有空閑描述符下發)

  begin

  回收塊地址的計數器置0;

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

  end

  else begin

  回收塊地址計數器累加;

  end

  end

3分組I/O發送端鏈式發送技術

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

003.jpg

  3.1分組I/O鏈式發送技術數據通路加速模型

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

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

  3.1.1PCIE接收機制

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

  3.1.2PCIE發送機制

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

  3.1.3DMA轉發機制

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

  3.1.4DMA描述符管理機制

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

  3.2分組I/O鏈式發送數據通路流程偽代碼

  begin

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

  begin

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

  end

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

  begin

  計數器累加并判斷;

  end

  else begin

  計數器累加并判斷;

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

  end

  if(Completion報文返回)

  begin

  判別為普通數據,則轉發至網絡接口;

  end

  else

  begin

  構造成64位DMA讀請求;

  end

  else return;

  end

  4性能評估

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

004.jpg

5結束語

  為了優化端系統數據路徑,使得數據在網絡接口和應用程序之間快速移動,降低分組I/O開銷,本文基于多核處理器和FPGA平臺實現端系統,提出了分組I/O接收端流親和與發送端鏈式發送兩種技術。實驗結果顯示,經由分組I/O加速后,端系統對于報文吞吐率有明顯的提升,性能最高提升2.14倍。

參考文獻

 ?。?] 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.

 ?。?] 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.

 ?。?] 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.


此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          在线综合亚洲欧美在线视频| 欧美午夜精品久久久久久人妖| 国产精品日韩高清| 亚洲一区免费看| 久久综合亚州| 亚洲一区制服诱惑| 亚洲视频狠狠| 国产精品综合色区在线观看| 欧美综合77777色婷婷| 欧美日韩视频| 亚洲一区二区三区四区中文| 久久久夜色精品亚洲| 国产主播精品在线| 精品1区2区| 国产精品日本一区二区| 久久国产一区| 久久久久久久综合| 久久aⅴ国产紧身牛仔裤| 国产精品国产三级国产aⅴ无密码| 久久九九热re6这里有精品| 欧美精品在线观看| 欧美高清在线精品一区| 国产精品入口夜色视频大尺度| 国户精品久久久久久久久久久不卡| 一区二区三区精品久久久| 欧美国产日韩一区二区| 亚洲欧美成人综合| 美女免费视频一区| 欧美日韩国产小视频在线观看| 久久国产精品黑丝| 久久精品国产亚洲aⅴ| 久久综合亚洲社区| 亚洲风情在线资源站| 亚洲电影免费观看高清完整版| 国产手机视频一区二区| 国产精品九九久久久久久久| 亚洲人成在线观看一区二区| 这里只有精品丝袜| 宅男精品导航| 欧美 日韩 国产 一区| 欧美日本高清| 欧美**字幕| aa级大片欧美三级| 欧美日韩一区成人| 在线视频欧美一区| 欧美日韩国产一级片| 影音先锋中文字幕一区| 亚洲精品小视频| 亚洲欧洲日本mm| 美国成人直播| 欧美大学生性色视频| 欧美一区二区三区在线观看视频| 一本色道久久88精品综合| 欧美制服第一页| 亚洲福利视频网| 韩国一区二区在线观看| 欧美一区二区精品| 136国产福利精品导航| 亚洲欧美另类中文字幕| 亚洲综合电影一区二区三区| 亚洲高清一区二| 国产精品私拍pans大尺度在线| 午夜精品一区二区三区在线视| 午夜在线电影亚洲一区| 久久亚洲春色中文字幕久久久| 美女诱惑一区| 巨乳诱惑日韩免费av| 欧美黄色小视频| 亚洲午夜av| 欧美日本韩国在线| 欧美日韩精品免费观看| 欧美在线免费看| 国产精品婷婷| 永久91嫩草亚洲精品人人| 欧美视频中文一区二区三区在线观看| 欧美女激情福利| 国产精品爽爽爽| 一本一本久久a久久精品牛牛影视| 韩国三级电影一区二区| 亚洲国产视频a| 国产视频一区在线| 久久久亚洲国产美女国产盗摄| 欧美电影电视剧在线观看| 亚洲影院高清在线| 欧美国产亚洲另类动漫| 国产亚洲欧美另类中文| 国产精品久久一区二区三区| 国产精品男gay被猛男狂揉视频| 亚洲亚洲精品三区日韩精品在线视频| 欧美精品在线一区二区三区| 国产精品久在线观看| 亚洲午夜视频在线观看| 国产精品日韩精品欧美精品| 欧美亚州一区二区三区| 狂野欧美性猛交xxxx巴西| 日韩一区二区免费高清| 久久久亚洲国产美女国产盗摄| 免费欧美视频| 在线视频你懂得一区二区三区| 亚洲精品影视| 国产精品青草久久| 午夜精品久久久久久| 99riav久久精品riav| 校园激情久久| 欧美日韩国产美女| 国产精品三上| 欧美日韩一区二区三区四区在线观看| 欧美中文字幕在线| 日韩午夜免费视频| 久久亚洲春色中文字幕| 欧美一级视频一区二区| 久久精品99久久香蕉国产色戒| 亚洲第一页中文字幕| 亚洲高清不卡av| 亚洲婷婷综合久久一本伊一区| 亚洲综合日本| 蜜臀va亚洲va欧美va天堂| 欧美激情一级片一区二区| 国产日韩在线一区二区三区| 久久精品国产清自在天天线| 久久se精品一区精品二区| 欧美午夜电影网| 欧美日韩国产在线播放| 亚洲一二三四区| 欧美日韩激情小视频| 欧美精品v国产精品v日韩精品| 免费成人av| 国产精品中文在线| 亚洲经典在线看| 欧美mv日韩mv国产网站| 欧美精选在线| 国产综合18久久久久久| 在线综合+亚洲+欧美中文字幕| 国产精品久久久久久户外露出| 欧美激情久久久久久| 亚洲影音先锋| 久久精品国产综合| 激情一区二区| 国产精品女主播一区二区三区| 久久影院午夜片一区| 亚洲综合国产激情另类一区| 欧美国产一区二区| 欧美性事在线| 国产一区二区三区电影在线观看| 亚洲视频大全| 中文av字幕一区| 亚洲欧美精品伊人久久| 国产一区二区三区四区五区美女| 欧美aa国产视频| 狠久久av成人天堂| 99这里只有久久精品视频| 99re国产精品| 日韩一二三区视频| 欧美激情成人在线| 91久久在线| 亚洲综合成人婷婷小说| 亚洲人成7777| 国产精品美女黄网| 9色porny自拍视频一区二区| 欧美成人精品在线观看| 国产精品美女久久久久久久| 欧美激情精品久久久六区热门| 国产精品天美传媒入口| 国内一区二区三区在线视频| 国产女人水真多18毛片18精品视频| 亚洲精品看片| 亚洲永久免费视频| 一区二区三区高清视频在线观看| 欧美亚洲视频在线观看| 久久久一区二区| 欧美日韩亚洲高清| 亚洲老板91色精品久久| 亚洲精品乱码久久久久久蜜桃麻豆| 欧美极品欧美精品欧美视频| 国产在线日韩| 国产欧美一区二区在线观看| 亚洲激情欧美激情| 亚洲免费视频在线观看| 91久久精品日日躁夜夜躁欧美| 亚洲一二三区视频在线观看| 欧美午夜宅男影院在线观看| 久久综合狠狠综合久久激情| 欧美影片第一页| 国产综合视频在线观看| 美女网站久久| 久久av一区二区| 伊人成年综合电影网| 在线看无码的免费网站| 久久久久女教师免费一区| 亚洲欧美激情一区二区| 亚洲国产欧洲综合997久久| 国产日韩欧美制服另类| 亚洲国产日韩欧美一区二区三区| 国产伦精品一区二区三区高清| 午夜精品久久久久久久久久久| 欧美伊人久久久久久午夜久久久久| 免费亚洲婷婷| 欧美日韩一区二区三区四区在线观看| 久久爱另类一区二区小说| 欧美jizzhd精品欧美巨大免费| 亚洲视频在线观看免费| 国产美女精品视频| 欧美天天综合网| 国产精品草莓在线免费观看| 99精品欧美一区二区三区综合在线| 欧美激情国产精品| 国产精品一区二区在线观看| 国产欧美短视频| 亚洲天堂男人| 久久久www成人免费毛片麻豆| 欧美/亚洲一区| 亚洲精品老司机| 欧美一区二区三区在线免费观看| 欧美www在线| 麻豆精品91| 在线日本欧美| 国产亚洲欧美aaaa| 久久成人一区| 欧美日韩国产综合一区二区| 国内精品久久久久久影视8| 欧美日韩一区精品| 欧美精品一卡二卡| 国产精品xxx在线观看www| 欧美1区3d| 久久亚洲影音av资源网| 欧美色偷偷大香| 黄色欧美成人| 久久免费的精品国产v∧| 亚洲欧美成人网| 欧美日韩国产bt| 最新成人在线| 夜夜嗨一区二区| 亚洲精品一区二区三区四区高清| 国产午夜亚洲精品羞羞网站| 国产日韩在线一区二区三区| 久久亚洲精品一区二区| 欧美一区亚洲| 久久久不卡网国产精品一区| 国产精品qvod| 亚洲精品免费看| 亚洲一区二区视频在线| 久久蜜桃资源一区二区老牛| 亚洲欧美日韩在线观看a三区| 狂野欧美激情性xxxx欧美| 久久综合九色欧美综合狠狠| 欧美aa在线视频| 久久人人超碰| 每日更新成人在线视频| 欧美日韩国产精品成人| 国产美女诱惑一区二区| 欧美在线视频不卡| 美女脱光内衣内裤视频久久网站| 亚洲国产二区| 久久精品国产欧美亚洲人人爽| 国产午夜精品视频| 国产精品自拍在线| 国产视频一区免费看| 欧美在线亚洲一区| 欧美激情视频在线免费观看 欧美视频免费一| 欧美人成网站| 日韩一级免费观看| 极品少妇一区二区三区| 欧美激情一区二区久久久| 一区二区国产在线观看| 免费在线观看日韩欧美| 蜜桃av一区二区在线观看| 国产麻豆视频精品| 欧美影视一区| 久久久人成影片一区二区三区观看| 欧美男人的天堂| 欧美性理论片在线观看片免费| 久热精品视频在线观看| 亚洲午夜国产成人av电影男同| 国产日韩亚洲欧美精品| 欧美精品九九| 亚洲专区一区二区三区| 欧美一区二区三区在线视频| 国产欧美一区二区三区在线看蜜臀| 欧美日韩一区在线观看视频| 午夜精品福利一区二区蜜股av| 亚洲欧美日韩国产一区| 欧美一区二区在线播放| 蜜桃伊人久久| 国产精品美女在线观看| 亚洲欧美日本国产专区一区| 国产午夜精品福利| 国产一区二区丝袜高跟鞋图片| 欧美在线综合视频| 国产亚洲va综合人人澡精品| 久久久亚洲欧洲日产国码αv| 欧美视频一区二区三区四区| 亚洲精品一区二| 国产精品爽爽ⅴa在线观看| 欧美视频一区二区在线观看| 亚洲影音先锋| 亚洲一线二线三线久久久| 国产精品婷婷| 欧美日韩国产综合视频在线| 欧美精品99| 国产一区二区日韩精品| 欧美激情网站在线观看| 亚洲一区免费视频| 亚洲图片在区色| 黄色亚洲精品| 一区二区三区精品视频在线观看| 影音先锋在线一区| 亚洲欧美一区在线| 亚洲一区二区三区在线观看视频| 欧美在线免费| 国产无一区二区| 国产色综合久久| 精品福利免费观看| 亚洲欧美另类国产| 欧美一区二区三区四区夜夜大片| 国产精品护士白丝一区av| 亚洲欧美在线网| 亚洲欧洲精品一区二区三区波多野1战4| 亚洲午夜视频| aa级大片欧美| 国产私拍一区| 一区二区电影免费在线观看| 在线观看视频一区二区欧美日韩| 久久免费99精品久久久久久| 一区二区三区亚洲| 亚洲一区二区三区四区五区黄| 亚洲视频在线二区| 欧美亚洲免费电影| 亚洲欧美网站|