在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何使Linux網絡協議棧中RFS功能優化 MPSoC APU 的并行處理能力

FPGA技術江湖 ? 來源:FPGA技術江湖 ? 2023-06-17 08:59 ? 次閱讀

本文介紹如何使能 Linux 網絡協議棧中的 RFS(receive flow steering)功能以優化 MPSoC APU 的并行處理能力,解決丟包問題。

問題描述:

在測試 ZCU102 PL 10G Ethernet with MCDMA 設計的性能時,遇到 UDP 接收丟包率很高的情況,測試使用的工具是 iperf3。

測試過程:

Board side:在 core1~3 上各開一個 iperf3 服務端用于收包,命令如下:

94988b74-0ca4-11ee-962d-dac502259ad0.png

Server side:使用與 zcu102 用光纖相連的服務器發送 UDP 幀,命令如下:

94af35ae-0ca4-11ee-962d-dac502259ad0.png

雙方的網卡都工作在 MTU1500 模式下,故數據段長度設為 1472B,總帶寬暫設為 2400M。

94c92338-0ca4-11ee-962d-dac502259ad0.png

測試結果如上圖所示,丟包率超過了百分之十,故實際傳輸速度也達不到設定的帶寬,使用 mpstat 命令觀察 CPU 使用狀況,發現接收工程中 CPU0 的軟中斷占用達到93.3%。

解決方案:

使用 RFS 接收流導向,RFS 是 Linux 網絡協議棧提供的一項輔助性功能,RFS 的目標是通過將數據包在內核中的處理引導到使用該數據包的應用程序線程對應的 CPU 來提高數據緩存的命中率,詳情可參考 Linux 內核文檔https://www.kernel.org/doc/html/latest/networking/scaling.html

在本文的測試中 Board side 上運行了三個 iperf 服務端在三個 CPU 上,RFS 可以將發給某個服務端的數據包的部分處理工作交給這個服務端對應的 CPU 執行,以此平衡工作負載。
按照文檔中的說明,rps_sock_flow_entries 設置為32768,本文使用的設計中 MCDMA 共有16個接收通道,所以 rps_flow_cnt 為32768/16=2048,另外共開啟了三個 iperf 服務端,所以暫時只設置 rx-0~rx-2,綜上,執行命令如下:

952af07c-0ca4-11ee-962d-dac502259ad0.png

重新測試后結果如上圖所示,丟包率大大降低,實際傳輸速度也達到了設定值,使用 mpstat 命令監控傳輸期間的 CPU 狀況,發現 CPU0 的軟中斷占用時間降低,而 CPU1~3 的軟中斷占用升高,可以看出實現了負載的分配,但是從總體來看,四個 CPU 的總負載升高,說明 RFS 還是有一定的額外工作開銷。

總結:

使用 RFS 可以一定程度上解決 MPSoC 10G 以太網應用(使用 MCDMA 時)中的 UDP 接收丟包問題,但是會產生額外的 CPU 開銷,如果丟包率在接受范圍內可以選擇不開啟。
責任編輯:彭菁

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 數據
    +關注

    關注

    8

    文章

    7139

    瀏覽量

    89579
  • Linux
    +關注

    關注

    87

    文章

    11345

    瀏覽量

    210398
  • APU
    APU
    +關注

    關注

    0

    文章

    142

    瀏覽量

    23777

原文標題:如何解決 MPSoC 萬兆以太網應用中 UDP 接收丟包問題

文章出處:【微信號:HXSLH1010101010,微信公眾號:FPGA技術江湖】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    結合pppoe協議分析Linux網絡的實現方式

    這個標題起得比較糾結,之前熟知的PPPOE是作為PPP協議的底層載體,而實際上它也是一個完整的協議,不過它的實現比較簡單,由它出發,可以很容易理清楚Linux網絡
    的頭像 發表于 10-26 15:21 ?2736次閱讀
    結合pppoe<b class='flag-5'>協議</b>分析<b class='flag-5'>Linux</b><b class='flag-5'>網絡</b><b class='flag-5'>棧</b>的實現方式

    通信網絡協議之UDP協議技術解析

    在通常的網絡協議,TCP/IP協議是一個常見的示例,其中UDP和TCP都是傳輸層
    發表于 02-01 11:00 ?1086次閱讀
    通信<b class='flag-5'>網絡</b><b class='flag-5'>協議</b><b class='flag-5'>棧</b>之UDP<b class='flag-5'>協議</b>技術解析

    網絡協議-lwip2.1.2移植

    本篇目標:上一篇freertos的優化(stm32f4_os_app),RTOS的移植已經告一段落了,接下來就是移植重要的網絡協議-lw
    發表于 08-16 08:08

    使Linux內核的SCSI協議

    U盤使用 SCSI協議,因此要先使Linux內核的 SCSI協議,配置路徑如下:我們還需要使能 USB Mass Storage,也就
    發表于 12-16 06:27

    介紹RL-TCPnet網絡協議

    第4章 RL-TCPnet網絡協議簡介本章節介紹RL-TCPnet網絡協議,讓大家對 RL-
    發表于 03-02 06:30

    CH582如何優化BLE協議的RAM占用?

    請問,如何能優化下BLE協議的RAM空間,我編譯BLE中最基本的一個示例,光BLE協議就占去了16K RAM,分析map文件,發現其中6
    發表于 09-19 09:23

    基于網絡處理器的VxWorks高層協議開發

    基于網絡處理器的VxWorks高層協議開發
    發表于 03-29 12:27 ?21次下載

    LINUX網絡協議實現分析-SKBUFF的實現

    了解網絡協議的人都知道,網絡協議是一個有層次的軟件結構,層與層之間通過預定的接口傳遞
    發表于 04-07 22:32 ?26次下載

    Linux平臺雙協議主機網絡管控系統設計與實現

    Linux平臺雙協議主機網絡管控系統設計與實現_賈銳
    發表于 01-07 19:00 ?2次下載

    Linux網絡技術中最核心的部分--TCP/IP協議

    今天給大家介紹Linux網絡技術中最核心的部分--TCP/IP協議 。 我們先看一下抽象的網絡協議
    的頭像 發表于 06-29 15:14 ?2386次閱讀

    如何解決MPSoC萬兆以太網應用UDP接收丟包問題

    本文介紹如何使Linux 網絡協議RFS
    的頭像 發表于 06-14 10:10 ?1064次閱讀
    如何解決<b class='flag-5'>MPSoC</b>萬兆以太網應用<b class='flag-5'>中</b>UDP接收丟包問題

    tcpip協議是什么?tcpip協議有哪些協議?tcpip協議中報文封裝和解封裝過程

    tcpip協議是什么? TCP/IP協議是計算機網絡中使用的最常見的網絡
    的頭像 發表于 08-01 17:51 ?8808次閱讀
    tcpip<b class='flag-5'>協議</b><b class='flag-5'>棧</b>是什么?tcpip<b class='flag-5'>協議</b><b class='flag-5'>棧</b>有哪些<b class='flag-5'>協議</b>?tcpip<b class='flag-5'>協議</b><b class='flag-5'>棧</b>中報文封裝和解封裝過程

    Linux網絡技術的相關知識

    網絡是一個很復雜的協議,今天網絡這么發達,網絡協議起到關鍵性作用。 這里就給大家詳細描述一
    的頭像 發表于 08-24 10:33 ?704次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>網絡</b>技術<b class='flag-5'>棧</b>的相關知識

    CAN協議與LIN協議介紹

    CAN協議 汽車CAN協議是一種軟件組件,用于實現汽車電子系統的CAN總線通信功能。它包含
    的頭像 發表于 10-27 16:16 ?3254次閱讀
    CAN<b class='flag-5'>協議</b><b class='flag-5'>棧</b>與LIN<b class='flag-5'>協議</b><b class='flag-5'>棧</b>介紹

    Linux網絡協議的實現

    網絡協議是操作系統核心的一個重要組成部分,負責管理網絡通信中的數據包處理。在 Linux 操作
    的頭像 發表于 09-10 09:51 ?368次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>網絡</b><b class='flag-5'>協議</b><b class='flag-5'>棧</b>的實現
    主站蜘蛛池模板: 国产aaaaaaa毛片 | 涩色影院 | 国产高清不卡一区二区 | 精品日韩 | 天天免费看片 | 无内丝袜透明在线播放 | 黄色avav| 天天噜噜日日噜噜久久综合网 | 国产精品午夜寂寞视频 | 天天在线免费视频 | 涩涩97在线观看视频 | 一区二区三区无码高清视频 | 天天舔天天干 | 国产午夜免费视频片夜色 | 日日噜噜夜夜狠狠久久丁香 | 色香色香欲天天天影视综合网 | 国产一区二区中文字幕 | 夜夜爱夜夜爽夜夜做夜夜欢 | 日本黄色录像 | 夜夜夜夜曰天天天天拍国产 | 欧美女人天堂 | 一级特一级特色生活片 | 欧美性色视频 | 天天拍拍天天爽免费视频 | a男人的天堂久久a毛片 | 色婷五月综激情亚洲综合 | 色偷偷免费视频 | 亚洲国产精品综合久久2007 | 久久五月女厕所一区二区 | 美女扒开尿囗给男生桶爽 | 色多多免费观看在线 | 色多多在线观看播放 | 国产成人亚洲综合a∨婷婷 国产成人一区二区三中文 国产成人一区二区在线不卡 | 99自拍视频| 日韩高清特级特黄毛片 | 日本特级黄色录像 | 天堂中文字幕在线观看 | 性色欧美| 五月婷婷综合网 | 欧美一级日韩一级亚洲一级 | 免费黄视频网站 |