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

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

DPDK在AI驅(qū)動(dòng)的高效數(shù)據(jù)包處理應(yīng)用

jh18616091022 ? 來(lái)源:AIOT大數(shù)據(jù) ? 2024-02-25 11:28 ? 次閱讀

交換機(jī)、路由器、防火墻等網(wǎng)絡(luò)設(shè)備通常需要實(shí)時(shí)處理大量數(shù)據(jù)包。在現(xiàn)代網(wǎng)絡(luò)中,數(shù)據(jù)包處理是一個(gè)非常重要的環(huán)節(jié)。傳統(tǒng)上,高效的數(shù)據(jù)包處理需要使用專門且昂貴的硬件,而數(shù)據(jù)平面開發(fā)套件 ( DPDK )能在低成本商用硬件上做到這一點(diǎn)。通過(guò)使用商用硬件,還可以將網(wǎng)絡(luò)功能轉(zhuǎn)移到云端,并在虛擬化環(huán)境中運(yùn)行它們。
DPDK最初是由 Intel 于2010年發(fā)起的,Intel 的 Venky Venkatesan 被稱為“ DPDK之父”。2017年4月,DPDK成為Linux基金會(huì)下的一個(gè)項(xiàng)目。目前,許多開源項(xiàng)目已經(jīng)采用了DPDK,包括 MoonGen、mTCP、Ostinato、Lagopus、Fast Data (FD.io)、Open vSwitch、OPNFV 和 OpenStack。

d083c1e4-d256-11ee-a297-92fbcf53809c.png

| DPDK框架當(dāng)然,DPDK也面臨著一些挑戰(zhàn),包括無(wú)法支持某些網(wǎng)卡;對(duì) Windows 的支持有限;調(diào)試比較困難;版本兼容性問(wèn)題等。

01.DPDK如何改進(jìn)數(shù)據(jù)包處理?

傳統(tǒng)的數(shù)據(jù)包處理方式是數(shù)據(jù)包先到內(nèi)核最后再到用戶層進(jìn)行處理。這種方式會(huì)增加額外的延遲和CPU開銷,嚴(yán)重影響數(shù)據(jù)包處理的性能。DPDK 繞過(guò)內(nèi)核,在用戶空間中實(shí)現(xiàn)快速數(shù)據(jù)包處理。它本質(zhì)上是一組網(wǎng)絡(luò)驅(qū)動(dòng)程序和庫(kù)。環(huán)境抽象層 ( EAL ) 從應(yīng)用程序中抽象出特定于硬件的操作。下圖顯示了在數(shù)據(jù)包到達(dá)應(yīng)用程序之前,POSIX調(diào)用的傳統(tǒng)處理是如何通過(guò)內(nèi)核空間的。DPDK縮短了這條路徑,并直接在NIC和用戶空間應(yīng)用程序之間移動(dòng)數(shù)據(jù)包。

d0b3aa80-d256-11ee-a297-92fbcf53809c.png

傳統(tǒng)的處理是中斷驅(qū)動(dòng)的,當(dāng)數(shù)據(jù)包到達(dá)時(shí),NIC會(huì)中斷內(nèi)核。DPDK轉(zhuǎn)而使用輪詢,避免了與中斷相關(guān)的開銷。這是由輪詢模式驅(qū)動(dòng)程序 ( PMD ) 執(zhí)行的。另一個(gè)重要的優(yōu)化是零拷貝。在傳統(tǒng)網(wǎng)絡(luò)中,數(shù)據(jù)包從內(nèi)核空間的套接字緩沖區(qū)復(fù)制到用戶空間。DPDK避免了這種情況。DPDK的用戶空間對(duì)開發(fā)人員很有吸引力,因?yàn)椴恍枰薷膬?nèi)核。任何基于DPDK 的網(wǎng)絡(luò)堆棧都可以針對(duì)特定應(yīng)用進(jìn)行優(yōu)化。

02.DPDK采用的數(shù)據(jù)包處理模型是什么?

大致有兩種處理模型:
# Run-to-CompletionCPU內(nèi)核處理數(shù)據(jù)包的接收、處理和傳輸??梢允褂枚鄠€(gè)內(nèi)核,每個(gè)內(nèi)核與專用端口關(guān)聯(lián)。通過(guò)接收端擴(kuò)展 ( RSS ),到達(dá)單個(gè)端口的流量可以分配到多個(gè)內(nèi)核。
# Pipeline每個(gè)內(nèi)核專用于特定的工作負(fù)載。例如,一個(gè)內(nèi)核可能處理數(shù)據(jù)包的接收/傳輸,而其他內(nèi)核則負(fù)責(zé)應(yīng)用程序處理。數(shù)據(jù)包通過(guò)memory rings在內(nèi)核之間傳遞。

d0d72cb2-d256-11ee-a297-92fbcf53809c.png

對(duì)于單核多CPU部署,一個(gè)CPU分配給操作系統(tǒng),另一個(gè)分配給基于DPDK的應(yīng)用程序。對(duì)于多核部署,無(wú)論是否使用超線程,都可以為每個(gè)端口分配多個(gè)內(nèi)核。決定使用哪種模型取決于處理每個(gè)數(shù)據(jù)包所需的周期、跨軟件模塊的數(shù)據(jù)交換范圍、某些內(nèi)核的特定優(yōu)化、代碼可維護(hù)性等。

03.DPDK是否需要TCP / IP堆棧才能工作?

DPDK不包括TCP / IP堆棧。如果應(yīng)用程序需要用戶空間網(wǎng)絡(luò)堆棧,可以使用 F-Stack、mTCP、TLDK、Seastar 和 ANS 。它們通常提供阻塞和非阻塞套接字API,其中一些是基于 FreeBSD 實(shí)現(xiàn)的。由于省略了網(wǎng)絡(luò)堆棧,DPDK不會(huì)出現(xiàn)通用實(shí)現(xiàn)的低效率問(wèn)題。應(yīng)用程序可以包括針對(duì)其用例進(jìn)行優(yōu)化的網(wǎng)絡(luò)模塊,也可能存在一些不需要更高層(L2 以上)處理的用例。

04.在DPDK之前,廠商如何實(shí)現(xiàn)高效的數(shù)據(jù)包處理?

在DPDK之前,有專門的硬件可以進(jìn)行高效的數(shù)據(jù)包處理。此類硬件可能使用定制的 ASIC、可編程 FPGA 或網(wǎng)絡(luò)處理單元 ( NPU ),這些專用硬件以優(yōu)化的方式完成數(shù)據(jù)包分類、流量控制、TCP / IP處理、加/解密、VLAN標(biāo)記等任務(wù)。然而,此類硬件的購(gòu)買和維護(hù)成本昂貴。升級(jí)和安全補(bǔ)丁的應(yīng)用非常耗時(shí),并且需要全職的網(wǎng)絡(luò)管理員。一種解決方案是從專用硬件轉(zhuǎn)向商用現(xiàn)成 ( COTS ) 硬件。雖然這更具成本效益且更易于維護(hù),但性能卻受到了影響。數(shù)據(jù)包從網(wǎng)卡 ( NIC ) 移動(dòng)到操作系統(tǒng) ( OS ),并通過(guò)操作系統(tǒng)內(nèi)核堆棧進(jìn)行處理。即使使用快速NIC,內(nèi)核堆棧也是一個(gè)瓶頸。系統(tǒng)調(diào)用、中斷、上下文切換、包復(fù)制和逐包處理都會(huì)降低性能。DPDK解決了COTS硬件上的性能問(wèn)題,無(wú)需昂貴的定制硬件即可獲得高效的數(shù)據(jù)包處理。

05.業(yè)界誰(shuí)在使用DPDK?

負(fù)載均衡、流分類、路由、訪問(wèn)控制(防火墻)和流量監(jiān)管是DPDK的典型用途。DPDK不僅適用于電信行業(yè),也已在云環(huán)境和企業(yè)中使用。流量生成器 (TRex) 和存儲(chǔ)應(yīng)用(SPDK) 使用DPDK。下圖列出了DPDK支持的開源項(xiàng)目。

d26764de-d256-11ee-a297-92fbcf53809c.png

Open vSwitch ( OVS ) 移植到DPDK后表現(xiàn)出了 7 倍的性能提升。在物聯(lián)網(wǎng)應(yīng)用中,數(shù)據(jù)包很小,DPDK減少了延遲并允許每秒處理更多此類數(shù)據(jù)包。
5G 中,用戶平面功能 ( UPF ) 處理用戶數(shù)據(jù)包。延遲、抖動(dòng)和帶寬是需要滿足的關(guān)鍵性能指標(biāo)。一些研究人員已經(jīng)提出將DPDK用于5G UPF的實(shí)現(xiàn)。在邊緣網(wǎng)絡(luò)部署UPF時(shí), 可以使用DPDK API連接UPF應(yīng)用 ( UPF -C) 和 SmartNIC ( UPF -U)。

06.DPDK面臨哪些挑戰(zhàn)?

DPDK需要一定的專業(yè)知識(shí),開發(fā)人員需要學(xué)習(xí)DPDK的編程模型。他們需要知道如何管理內(nèi)存、如何在不復(fù)制的情況下傳遞數(shù)據(jù)包,以及如何使用多核架構(gòu)。例如,PID 命名空間可能會(huì)導(dǎo)致管理fbarray出現(xiàn)問(wèn)題;使用mmap而不指定地址的進(jìn)程可能會(huì)導(dǎo)致問(wèn)題;線程必須正確分配給CPU內(nèi)核,才能獲得一致的性能;此外,DPDK庫(kù)還給開發(fā)人員提供了多種實(shí)現(xiàn)選擇,選擇錯(cuò)誤會(huì)影響性能。由于繞過(guò)了內(nèi)核,失去了Linux 內(nèi)核提供的所有保護(hù)、實(shí)用程序( ifconfig、tcpdump)和協(xié)議(ARP 、IPSec)。調(diào)試和確定網(wǎng)絡(luò)問(wèn)題的根本原因也是一項(xiàng)挑戰(zhàn)。最后,由于使用輪詢而不是中斷,因此即使只處理幾個(gè)數(shù)據(jù)包,DPDK也會(huì)導(dǎo)致 100% 的CPU使用率。

07.還有哪些替代選擇?

使用 Snabbswitch、Netmap 或 StackMap 可以通過(guò)內(nèi)核旁路實(shí)現(xiàn)更快的數(shù)據(jù)包處理。與DPDK一樣,它們?cè)谟脩艨臻g中處理數(shù)據(jù)包。數(shù)據(jù)包完全繞過(guò)內(nèi)核堆棧。Snabbswitch 是用 Lua 編寫的,而DPDK是用 C 編寫的。PacketShader 對(duì)基于GPU的硬件進(jìn)行內(nèi)核旁路。另一種方法是修改 Linux 內(nèi)核。例如 eXpress Data Path ( XDP ) 和基于遠(yuǎn)程直接內(nèi)存訪問(wèn) ( RDMA ) 的網(wǎng)絡(luò)堆棧。其他有效的工具還包括 packet_mmap (但不會(huì)繞過(guò)內(nèi)核)和 PF_RING (帶有 ZC 驅(qū)動(dòng)程序)。

審核編輯:黃飛

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 交換機(jī)
    +關(guān)注

    關(guān)注

    21

    文章

    2700

    瀏覽量

    100962
  • 路由器
    +關(guān)注

    關(guān)注

    22

    文章

    3789

    瀏覽量

    115483
  • AI
    AI
    +關(guān)注

    關(guān)注

    87

    文章

    33442

    瀏覽量

    273993
  • 數(shù)據(jù)包
    +關(guān)注

    關(guān)注

    0

    文章

    269

    瀏覽量

    24806
  • DPDK
    +關(guān)注

    關(guān)注

    0

    文章

    13

    瀏覽量

    1809

原文標(biāo)題:技術(shù)前沿:AI之高效數(shù)據(jù)包處理DPDK

文章出處:【微信號(hào):AIOT大數(shù)據(jù),微信公眾號(hào):AIOT大數(shù)據(jù)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    CC1101快速接收兩個(gè)數(shù)據(jù)包處理方式?

    CC1101快速接收兩個(gè)數(shù)據(jù)包處理方式?當(dāng)接受到一個(gè)數(shù)據(jù)包之后,來(lái)一個(gè)中斷,中斷處繼續(xù)來(lái)著接受或者寄存器配置RX完會(huì)后繼續(xù)保持為接受狀
    發(fā)表于 03-10 14:04

    CC1101快速接收兩個(gè)數(shù)據(jù)包處理方式是怎么樣的?

    CC1101快速接收兩個(gè)數(shù)據(jù)包處理方式是怎么樣的?當(dāng)接受到一個(gè)數(shù)據(jù)包之后,來(lái)一個(gè)中斷,中斷處繼續(xù)來(lái)著接受或者寄存器配置RX完會(huì)后繼續(xù)
    發(fā)表于 04-05 15:57

    網(wǎng)絡(luò)數(shù)據(jù)包捕獲機(jī)制研究

    網(wǎng)絡(luò)數(shù)據(jù)包捕獲技術(shù),是實(shí)現(xiàn)入侵檢測(cè)、網(wǎng)絡(luò)安全審計(jì)的關(guān)鍵技術(shù)。本文改進(jìn)了國(guó)外傳統(tǒng)的數(shù)據(jù)包捕獲函數(shù)庫(kù)Libpcap 捕獲數(shù)據(jù)包的方案。原方案在網(wǎng)卡捕獲到數(shù)據(jù)包后,
    發(fā)表于 09-01 10:09 ?9次下載

    基于Jpcap的數(shù)據(jù)包捕獲器的設(shè)計(jì)與實(shí)現(xiàn)

    本文研究了以太網(wǎng)數(shù)據(jù)包的捕獲機(jī)制,實(shí)現(xiàn)了基于JPcap的網(wǎng)絡(luò)數(shù)據(jù)包捕獲工具,其基本原理是通過(guò)調(diào)用Jpcap庫(kù)捕獲本地網(wǎng)絡(luò)上的所有數(shù)據(jù)包,然后對(duì)數(shù)據(jù)包進(jìn)行協(xié)議解碼,從而可以實(shí)
    發(fā)表于 01-15 13:47 ?38次下載

    數(shù)據(jù)包過(guò)濾原理

    數(shù)據(jù)包過(guò)濾技術(shù)數(shù)據(jù)包過(guò)濾原理              數(shù)據(jù)包過(guò)濾技術(shù)是防火墻最常用的技術(shù)。對(duì)于一
    發(fā)表于 06-16 23:44 ?4692次閱讀
    <b class='flag-5'>數(shù)據(jù)包</b>過(guò)濾原理

    什么是數(shù)據(jù)包?

    什么是數(shù)據(jù)包? 您在互聯(lián)網(wǎng)上做的一切都涉及到數(shù)據(jù)包。例如,您接收的每個(gè)網(wǎng)頁(yè)都以一系列數(shù)據(jù)包的形式傳入,您發(fā)送的每封電子郵件都以一系列數(shù)據(jù)包的形式傳出。以
    發(fā)表于 08-03 09:13 ?2128次閱讀

    高速數(shù)據(jù)包處理硬件加速技術(shù)

    鏈路帶寬的劇增給高速網(wǎng)絡(luò)數(shù)據(jù)包處理帶來(lái)了極大的挑戰(zhàn)。傳統(tǒng)的純軟件網(wǎng)絡(luò)數(shù)據(jù)包處理性能上已不能滿足需要。當(dāng)前網(wǎng)絡(luò)
    發(fā)表于 05-28 16:24 ?0次下載
    高速<b class='flag-5'>數(shù)據(jù)包</b><b class='flag-5'>處理</b>硬件加速技術(shù)

    基于Intel dpdk數(shù)據(jù)包捕獲技術(shù)研究

    對(duì)Intel dpdk數(shù)據(jù)包捕獲技術(shù)進(jìn)行了深入研究,對(duì)其優(yōu)缺點(diǎn)進(jìn)行了詳細(xì)的分析。在此基礎(chǔ)上,利用dpdk設(shè)計(jì)并實(shí)現(xiàn)了一套基于Linux的數(shù)據(jù)包捕獲系統(tǒng),成功地將其應(yīng)用于千兆網(wǎng)絡(luò)安全防護(hù)
    發(fā)表于 11-24 15:17 ?4次下載
    基于Intel <b class='flag-5'>dpdk</b><b class='flag-5'>數(shù)據(jù)包</b>捕獲技術(shù)研究

    簡(jiǎn)述高速流量處理DPDK替代方案

    目前大多需要進(jìn)行高速流量處理的場(chǎng)景,基本都是使用DPDK進(jìn)行數(shù)據(jù)包處理加速,DPDK雖然是開源免費(fèi)的,但是
    的頭像 發(fā)表于 06-22 09:30 ?3007次閱讀
    簡(jiǎn)述高速流量<b class='flag-5'>處理</b><b class='flag-5'>DPDK</b>替代方案

    利用以太網(wǎng)和DPDK驅(qū)動(dòng)程序推動(dòng)5G技術(shù)

      通過(guò)加速 DPDK 數(shù)據(jù)包處理服務(wù),您可以擴(kuò)展和簡(jiǎn)化現(xiàn)有的 4G LTE 網(wǎng)絡(luò),并幫助順利過(guò)渡到 5G 。
    的頭像 發(fā)表于 04-18 16:59 ?2691次閱讀
    利用以太網(wǎng)和<b class='flag-5'>DPDK</b><b class='flag-5'>驅(qū)動(dòng)</b>程序推動(dòng)5G技術(shù)

    如何使用DPDK和GPUdev增強(qiáng)內(nèi)聯(lián)數(shù)據(jù)包處理

      對(duì)于特定于 NVIDIA 的 GPU , GPUdev 庫(kù)功能通過(guò) CUDA 驅(qū)動(dòng)程序 DPDK 庫(kù) 。要為 NVIDIA GPU 啟用所有g(shù)pudev可用功能, DPDK 必須構(gòu)建在具有 CUDA 庫(kù)和 GDRCopy 的
    的頭像 發(fā)表于 05-07 10:08 ?2625次閱讀
    如何使用<b class='flag-5'>DPDK</b>和GPUdev增強(qiáng)內(nèi)聯(lián)<b class='flag-5'>數(shù)據(jù)包</b><b class='flag-5'>處理</b>

    使用 NVIDIA DOCA GPUNetIO 進(jìn)行內(nèi)聯(lián) GPU 數(shù)據(jù)包處理

    越來(lái)越多的網(wǎng)絡(luò)應(yīng)用程序需要進(jìn)行 GPU 實(shí)時(shí)數(shù)據(jù)包處理,以實(shí)現(xiàn)高數(shù)據(jù)率解決方案:數(shù)據(jù)過(guò)濾、數(shù)據(jù)放置、網(wǎng)絡(luò)分析、傳感器信號(hào)
    的頭像 發(fā)表于 01-13 23:25 ?1209次閱讀

    Linux如何操作將數(shù)據(jù)包發(fā)送出去

    ? Linux 服務(wù)器收到網(wǎng)絡(luò)數(shù)據(jù)包,需要經(jīng)過(guò)哪些處理,一步步將數(shù)據(jù)傳給應(yīng)用進(jìn)程的呢?應(yīng)用進(jìn)程發(fā)送數(shù)據(jù)包時(shí),Linux 又是如何操作將數(shù)據(jù)包
    的頭像 發(fā)表于 06-17 16:00 ?1317次閱讀
    Linux如何操作將<b class='flag-5'>數(shù)據(jù)包</b>發(fā)送出去

    使用P4和Vivado工具簡(jiǎn)化數(shù)據(jù)包處理設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《使用P4和Vivado工具簡(jiǎn)化數(shù)據(jù)包處理設(shè)計(jì).pdf》資料免費(fèi)下載
    發(fā)表于 01-26 17:49 ?0次下載
    使用P4和Vivado工具簡(jiǎn)化<b class='flag-5'>數(shù)據(jù)包</b><b class='flag-5'>處理</b>設(shè)計(jì)

    請(qǐng)問(wèn)高端網(wǎng)絡(luò)芯片如何處理數(shù)據(jù)包呢?

    隨著網(wǎng)絡(luò)芯片帶寬的持續(xù)提升,其內(nèi)部數(shù)據(jù)包處理單元的工作負(fù)載也隨之增加。然而,如果處理單元無(wú)法與網(wǎng)絡(luò)接口的傳入速率相匹配,將無(wú)法及時(shí)處理數(shù)據(jù)包
    的頭像 發(fā)表于 04-02 16:36 ?872次閱讀
    請(qǐng)問(wèn)高端網(wǎng)絡(luò)芯片如何<b class='flag-5'>處理</b><b class='flag-5'>數(shù)據(jù)包</b>呢?
    主站蜘蛛池模板: 国语对白一区二区三区 | 天天摸天天看 | 欧美精品videosex极品 | 在线观看视频网站 | 欧美人成一本免费观看视频 | 天天添天天操 | 免费又黄又硬又大爽日本 | 天天热天天干 | 一本二卡三卡四卡乱码二百 | 日本视频一区在线观看免费 | 国产亚洲精品久久久久久午夜 | 国产色视频网站 | 国产亚洲人成a在线v网站 | 日韩在线视频免费观看 | 永久免费视频网站在线观看 | 黄网在线看 | 日韩在线三级视频 | 天天操中文字幕 | 亚洲一区在线视频观看 | 日本动漫天堂 | 久久久久久久综合色一本 | 四虎地址8848最新章节 | 欧美色图 亚洲 | 久久免费福利视频 | 亚洲色图久久 | 亚洲视频一区二区 | 午夜精品一区二区三区在线视 | 最近国语视频免费观看在线播放 | 一级日本大片免费观看视频 | 欧美视频免费一区二区三区 | 亚洲手机看片 | 国产午夜精品理论片 | 亚洲欧美视频在线观看 | 午夜大片免费完整在线看 | 日日干天天干 | 小优视频在线 | 欧美日韩国产在线一区 | 深夜视频免费看 | 日本高清视频色wwwwww色 | 久久久久久久久综合 | 亚洲伊人电影 |