chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

DPDK技術(shù)原理與架構(gòu)

sakobpqhz ? 來源:算力基建 ? 作者:算力基建 ? 2022-10-10 16:33 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

01 技術(shù)原理與架構(gòu)

由于采用軟件轉(zhuǎn)發(fā)和軟件交換技術(shù),單服務器內(nèi)部的轉(zhuǎn)發(fā)能力是 NFV 系統(tǒng)的主要性能瓶頸。在各類高速轉(zhuǎn)發(fā)的 NFV 應用中,數(shù)據(jù)報文從網(wǎng)卡中接收,再傳送到虛擬化的用戶態(tài)應用程序(VNF)處理,整個過程要經(jīng)歷 CPU 中斷處理、虛擬化 I/O 與地址映射轉(zhuǎn)換、虛擬交換層、網(wǎng)絡協(xié)議棧、內(nèi)核上下文切換、內(nèi)存拷貝等多個費時的 CPU 操作和 I/O 處理環(huán)節(jié)。

業(yè)內(nèi)通常采用消除海量中斷、旁路內(nèi)核協(xié)議棧、減少內(nèi)存拷貝、CPU 多核任務分擔、Intel VT 等技術(shù)來綜合提升服務器數(shù)據(jù)平面的報文處理性能,普通用戶較難掌握。業(yè)界迫切需要一種綜合的性能優(yōu)化方案,同時提供良好的用戶開發(fā)和商業(yè)集成環(huán)境,DPDK 加速技術(shù)方案成為其中的典型代表。

DPDK 是一個開源的數(shù)據(jù)平面開發(fā)工具集,提供了一個用戶空間下的高效數(shù)據(jù)包處理庫函數(shù),它通過環(huán)境抽象層旁路內(nèi)核協(xié)議棧、輪詢模式的報文無中斷收發(fā)、優(yōu)化內(nèi)存/緩沖區(qū)/隊列管理、基于網(wǎng)卡多隊列和流識別的負載均衡等多項技術(shù),實現(xiàn)了在 x86 處理器架構(gòu)下的高性能報文轉(zhuǎn)發(fā)能力,用戶可以在 Linux 用戶態(tài)空間開發(fā)各類高速轉(zhuǎn)發(fā)應用,也適合與各類商業(yè)化的數(shù)據(jù)平面加速解決方案進行集成。

英特爾在 2010 年啟動了對 DPDK 技術(shù)的開源化進程,于當年 9 月通過 BSD 開源許可協(xié)議正式發(fā)布源代碼軟件包,并于 2014 年 4 月在 www.dpdk.org 上正式成立了獨立的開源社區(qū)平臺,為開發(fā)者提供支持。開源社區(qū)的參與者們大幅推進了 DPDK 的技術(shù)創(chuàng)新和快速演進,而今它已發(fā)展成為 SDN 和 NFV 的一項關(guān)鍵技術(shù)。

02 軟件架構(gòu)

DPDK 的組成架構(gòu)如圖所示,相關(guān)技術(shù)原理概述如下:

62e235b6-4874-11ed-a3b6-dac502259ad0.png

在最底部的內(nèi)核態(tài)(Linux Kernel)DPDK 有兩個模塊:KNI 與 IGB_UIO。其中,KNI 提供給用戶一個使用 Linux 內(nèi)核態(tài)的協(xié)議棧,以及傳統(tǒng)的 Linux 網(wǎng)絡工具(如ethtool, ifconfig)。IGB_UIO(igb_uio.ko 和 kni.ko. IGB_UIO)則借助了 UIO 技術(shù),在初始化過程中將網(wǎng)卡硬件寄存器映射到用戶態(tài)。

如圖,DPDK 的上層用戶態(tài)由很多庫組成,主要包括核心部件庫(Core Libraries)、平臺相關(guān)模塊(Platform)、網(wǎng)卡輪詢模式驅(qū)動模塊(PMD-Natives&Virtual)、QoS 庫、報文轉(zhuǎn)發(fā)分類算法(Classify)等幾大類,用戶應用程序可以使用這些庫進行二次開發(fā),下面分別簡要介紹。

核心部件庫:該模塊構(gòu)成的運行環(huán)境是建立在 Linux 上,通過環(huán)境抽象層(EAL)的運行環(huán)境進行初始化,包括:HugePage 內(nèi)存分配、內(nèi)存/緩沖區(qū)/隊列分配與無鎖操作、CPU 親和性綁定等;其次,EAL 實現(xiàn)了對操作系統(tǒng)內(nèi)核與底層網(wǎng)卡 I/O 操作的屏蔽(I/O 旁路了內(nèi)核及其協(xié)議棧),為 DPDK 應用程序提供了一組調(diào)用接口,通過 UIO 或 VFIO 技術(shù)將 PCI 設備地址映射到用戶空間,方便了應用程序調(diào)用,避免了網(wǎng)絡協(xié)議棧和內(nèi)核切換造成的處理延遲。

另外,核心部件還包括創(chuàng)建適合報文處理的內(nèi)存池、緩沖區(qū)分配管理、內(nèi)存拷貝、以及定時器、環(huán)形緩沖區(qū)管理等。

平臺相關(guān)模塊:其內(nèi)部模塊主要包括 KNI、能耗管理以及 IVSHMEM 接口。其中,KNI 模塊主要通過 kni.ko 模塊將數(shù)據(jù)報文從用戶態(tài)傳遞給內(nèi)核態(tài)協(xié)議棧處理,以便用戶進程使用傳統(tǒng)的 socket 接口對相關(guān)報文進行處理;能耗管理則提供了一些 API,應用程序可以根據(jù)收包速率動態(tài)調(diào)整處理器頻率或進入處理器的不同休眠狀態(tài);另外,IVSHMEM 模塊提供了虛擬機與虛擬機之間,或者虛擬機與主機之間的零拷貝共享內(nèi)存機制,當 DPDK 程序運行時,IVSHMEM 模塊會調(diào)用核心部件庫 API,把幾個 HugePage 映射為一個 IVSHMEM 設備池,并通過參數(shù)傳遞給 QEMU,這樣,就實現(xiàn)了虛擬機之間的零拷貝內(nèi)存共享。

輪詢模式驅(qū)動模塊:PMD 相關(guān) API 實現(xiàn)了在輪詢方式下進行網(wǎng)卡報文收發(fā),避免了常規(guī)報文處理方法中因采用中斷方式造成的響應延遲,極大提升了網(wǎng)卡收發(fā)性能。此外,該模塊還同時支持物理和虛擬化兩種網(wǎng)絡接口,從僅僅支持 Intel 網(wǎng)卡,發(fā)展到支持 Cisco、Broadcom、Mellanox、Chelsio 等整個行業(yè)生態(tài)系統(tǒng),以及基于 KVM、VMWARE、 XEN 等虛擬化網(wǎng)絡接口的支持。

DPDK 還定義了大量 API 來抽象數(shù)據(jù)平面的轉(zhuǎn)發(fā)應用,如 ACL、QoS、流分類和負載均衡等。并且,除以太網(wǎng)接口外,DPDK 還在定義用于加解密的軟硬件加速接口(Extensions)。

03 大頁技術(shù)

處理器的內(nèi)存管理包含兩個概念:物理內(nèi)存和虛擬內(nèi)存。Linux 操作系統(tǒng)里面整個物理內(nèi)存按幀(frames)來進行管理,虛擬內(nèi)存按照頁(page)來進行管理。內(nèi)存管理單元(MMU)完成從虛擬內(nèi)存地址到物理內(nèi)存地址的轉(zhuǎn)換。內(nèi)存管理單元進行地址轉(zhuǎn)換需要的信息保存在一個叫頁表(page table)的數(shù)據(jù)結(jié)構(gòu)里面,頁表查找是一種極其耗時的操作。

x86 處理器硬件在缺省配置下,頁的大小是 4K,但也可以支持更大的頁表尺寸,例如2M 或 1G 的頁表。使用了大頁表功能后,一個 TLB 表項可以指向更大的內(nèi)存區(qū)域,這樣可以大幅減少 TLB miss 的發(fā)生。早期的 Linux 并沒有利用 x86 硬件提供的大頁表功能,僅在 Linux內(nèi)核 2.6.33 以后的版本,應用軟件才可以使用大頁表功能,具體的介紹可以參見 Linux 的大頁表文件系統(tǒng)(hugetlbfs)特性。

DPDK 則利用大頁技術(shù),所有的內(nèi)存都是從 HugePage 里分配,實現(xiàn)對內(nèi)存池(mempool)的管理,并預先分配好同樣大小的 mbuf,供每一個數(shù)據(jù)包使用。

04 輪詢技術(shù)

為了減少中斷處理開銷,DPDK 使用了輪詢技術(shù)來處理網(wǎng)絡報文。網(wǎng)卡收到報文后,直接將報文保存到處理器 cache 中(有 DDIO(Direct Data I/O)技術(shù)的情況下),或者保存到內(nèi)存中(沒有 DDIO 技術(shù)的情況下),并設置報文到達的標志位。應用軟件則周期性地輪詢報文到達的標志位,檢測是否有新報文需要處理。整個過程中完全沒有中斷處理過程,因此應用程序的網(wǎng)絡報文處理能力得以極大提升。

05 GPU親和技術(shù)

現(xiàn)代操作系統(tǒng)都是基于分時調(diào)用方式來實現(xiàn)任務調(diào)度,多個進程或線程在多核處理器的某一個核上不斷地交替執(zhí)行。每次切換過程,都需要將處理器的狀態(tài)寄存器保存在堆棧中,并恢復當前進程的狀態(tài)信息,這對系統(tǒng)其實是一種處理開銷。將一個線程固定一個核上運行,可以消除切換帶來的額外開銷。另外將進程或者線程遷移到多核處理器的其它核上進行運行時,處理器緩存中的數(shù)據(jù)也需要進行清除,導致處理器緩存的利用效果降低。

CPU 親和技術(shù),就是將某個進程或者線程綁定到特定的一個或者多個核上執(zhí)行,而不被遷移到其它核上運行,這樣就保證了專用程序的性能。

DPDK 使用了 Linux pthread 庫,在系統(tǒng)中把相應的線程和 CPU 進行親和性綁定, 然后相應的線程盡可能使用獨立的資源進行相關(guān)的數(shù)據(jù)處理。

基于 DPDK 進行應用開發(fā)和環(huán)境配置時,應用程序性能的影響因素以及相應的優(yōu)化調(diào)整方法。這些因素并非必然劣化性能,可能因硬件能力、OS 版本、各類軟硬環(huán)境參數(shù)配置等的差異產(chǎn)生較大波動,或者存在較大的不穩(wěn)定性,相關(guān)的調(diào)優(yōu)方法需要用戶結(jié)合自身的VNF應用部署在實踐中不斷完善。

1、硬件結(jié)構(gòu)的影響

DPDK 具有廣泛的平臺適應性,可以運行在整個 x86 平臺,從主流服務器平臺(從高性能或者高能效產(chǎn)品系列),到桌面或者嵌入式平臺,也可以運行于基于 Power 或者其他架構(gòu)的運算平臺。圖展示了一個通用雙路服務器的內(nèi)部架構(gòu),它包含了 2 個中央處理器,2個分離的內(nèi)存控制單元來連接系統(tǒng)內(nèi)存,芯片組會擴展出大量高速的 PCIe 2.0/3.0 接口,用于連接外設,如 10Gbps 或者 25Gbps 網(wǎng)卡外設。

2、OS 版本及其內(nèi)核的影響

不同的 Linux OS 發(fā)行版使用的 Linux 內(nèi)核版本不一樣,配置的 Linux OS服務也不一樣。這些差異都會導致應用程序在網(wǎng)絡報文處理能力上有所差別。

由于 Linux 內(nèi)核還在不斷演進,Linux 的發(fā)行版也數(shù)量眾多,本文無法提供最佳 Linux內(nèi)核版本和配置,而只能給出部分參考建議,如:關(guān)閉部分 OS 服務。在后續(xù)章節(jié),我們選取了目前比較流行的 Linux 發(fā)行版進行了測試,并給出測試結(jié)果。從測試結(jié)果中顯示,同樣的硬件配置環(huán)境下,不同的 Linux 發(fā)行版在小包的處理能力上存在差異。

2.1 關(guān)閉 OS 部分服務

在 10G 端口上 64Byte 報文的線速到達率為 14.88Mpps,如果實現(xiàn)零丟包的線速處理,每個報文的平均處理速度應該小于 1/14.48Mpps=67us,DPDK 應用的網(wǎng)卡收發(fā)包隊列長度缺省配置為 128,網(wǎng)卡隊列填充滿的時間是 128*67=8579us。也就是說,DPDK 的業(yè)務進程,如果被操作系統(tǒng)中斷超過 8579us,就會導致網(wǎng)卡收發(fā)報的隊列被充滿,無法接收新的報文,從而導致丟包。而操作系統(tǒng)的中斷服務程序、后臺服務程序、以及任務調(diào)度程序都會導致DPDK 的應用程序被打斷。

在 NFV 應用場景下,Host 機器上和 Guest 機器上都運行著操作系統(tǒng),由此帶來了兩級的操作任務調(diào)度。DPDK 應用程序(NFV 中的 VNF)均運行在虛擬機上,操作系統(tǒng)帶來的影響會更加明顯。

為了實現(xiàn) DPDK 應用程序的零丟包,需要對操作系統(tǒng)進行適當?shù)呐渲?,減少操作系統(tǒng)的對 DPDK 應用程序的干擾。操作系統(tǒng)配置的總體思路是:

將運行 DPDK 應用運行的處理器核進行隔離,減少干擾;

停用不需要的后臺服務程序。將不需要的中斷,轉(zhuǎn)移到其它處理器核上處理;

對于不能轉(zhuǎn)移的中斷,減少中斷的次數(shù)。

2.2 OS 調(diào)整示例

下面以 CentOS 7 為例,說明具體的調(diào)整方法。絕大部分的操作需要同時在 Host 操作系統(tǒng)和 Guest 操作系統(tǒng)同時應用。

1) 對 DPDK 應用使用處理器核進行隔離。

修改 Linux 的 OS 的 GRUB 參數(shù),設置 isolCPUs=16-23,40-47;2) 打開運行有 DPDK 進程的處理器核上的 nohz_full。nohz_full 可以減少內(nèi)核的周期性時鐘中斷的次數(shù)。修改 Linux 的 OS 的 GRUB 參數(shù),設置 nohz_full=16-23,40-47;3) 關(guān)閉 NMI 監(jiān)控功能,減少 NMI 中斷對 DPDK 任務的干擾。修改 Linux 的 OS 的 GRUB 參數(shù),設置 nmi_watchdog=0;4) 關(guān)閉 SELinux 功能修改 Linux 的 OS 的 GRUB 參數(shù),設置 selinux=0;5) 關(guān)閉處理器的 P 狀態(tài)調(diào)整和 softlockup 功能。將處理器鎖定在固定的頻率運行,減少處理器在不同的 P 狀態(tài)切換帶來的處理時延。修改 Linux 的 OS 的 GRUB 參數(shù),設置 intel_pstate=disable nosoftlockup;6) 關(guān)閉圖形顯示,減少 GUI 應用的干擾。調(diào)用命令 systemctl set-default multi-user.target;7) 關(guān)閉操作系統(tǒng)的中斷調(diào)度程序。調(diào)用命令 systemctl disable irqbalance.service;8) 關(guān)閉操作系統(tǒng)的審計服務。調(diào)用命令 systemctl disable auditd.service;9) 關(guān)閉藍牙服務。調(diào)用命令 systemctl disable bluetooth.service;10) 關(guān)閉 KVM 的內(nèi)存頁合并服務。調(diào)用命令 systemctl disable ksm.service;調(diào)用命令 systemctl disable ksmtuned.service;

11) 對于 KVM 虛擬的 vCPU 和物理 CPU 進行綁定。使用 QEMU monitor 獲取 vCPU 對應的線程號,使用 taskset 命令進行綁定。

2.3 OVS 性能問題

OVS 作為 NFV 的一個重要組成模塊,會運行在絕大多數(shù)的服務器節(jié)點上,提供虛擬機和虛擬機之間,以及虛擬網(wǎng)絡和物理網(wǎng)絡間的互連接口,其性能至關(guān)重要。OVS 2.4 開始正式支持 DPDK 加速,相比傳統(tǒng)基于 Linux 內(nèi)核的 OVS 版本,轉(zhuǎn)發(fā)性能提高了數(shù)倍,為 VNF 在通用 x86 服務器上部署提供了有力支持。

OVS 缺省會為每一個 NUMA 節(jié)點創(chuàng)建一個 pmd 線程,該 pmd 線程以輪詢方式處理屬于其NUMA 節(jié)點上的所有 DPDK 接口。為了高性能,需要利用前面提到的 CPU 親和技術(shù),把 pmd 線程綁定在一個固定的 CPU core 上處理。此外,為了增加擴展性,OVS 2.4 也支持網(wǎng)卡多隊列以及多 pmd 線程數(shù),這些參數(shù)均可動態(tài)配置,但具體配置應根據(jù)具體需求來決定。

3、內(nèi)存管理

如前所述,DPDK 考慮了 NUMA 以及多內(nèi)存通道的訪問效率,會在系統(tǒng)運行前要求配置Linux 的 HugePage,初始化時申請其內(nèi)存池,用于 DPDK 運行的主要內(nèi)存資源。Linux 大頁機制利用了處理器核上的的 TLB 的 HugePage 表項,這可以減少內(nèi)存地址轉(zhuǎn)換的開銷。

3.1 內(nèi)存多通道的使用

現(xiàn)代的內(nèi)存控制器都支持內(nèi)存多通道,比如 Intel 的 E5-2600V3 系列處理器,能支持 4個通道,可以同時讀和取數(shù)據(jù)。依賴于內(nèi)存控制器及其配置,內(nèi)存分布在這些通道上。每一個通道都有一個帶寬上限,如果所有的內(nèi)存訪問都只發(fā)生在第一個通道上,這將成為一個潛在的性能瓶頸。

因此,DPDK 的 mempool 庫缺省是把所有的對象分配在不同的內(nèi)存通道上,保證了在系統(tǒng)極端情況下需要大量內(nèi)存訪問時,盡可能地將內(nèi)存訪問任務均勻平滑。

3.2 內(nèi)存拷貝

很多 libc 的 API 都沒有考慮性能,因此,不要在高性能數(shù)據(jù)平面上用 libc 提供的 API,比如,memcpy()或 strcpy()。雖然 DPDK 也用了很多 libc 的 API,但均只是在軟件配置方面用于方便程序移植和開發(fā)。

DPDK 提供了一個優(yōu)化版本的 rte_memcpy() API,它充分利用了 Intel 的 SIMD 指令集,也考慮了數(shù)據(jù)的對齊特性和 cache 操作友好性。

3.3 內(nèi)存分配

在某些情況下,應用程序使用 libc 提供的動態(tài)內(nèi)存分配機制是必要的,如 malloc()函數(shù),它是一種靈活的內(nèi)存分配和釋放方式。但是,因為管理零散的堆內(nèi)存代價昂貴,并且這種內(nèi)存分配器對于并行的請求分配性能不佳,所以不建議在數(shù)據(jù)平面處理上使用類似malloc()的函數(shù)進行內(nèi)存分配。

在有動態(tài)分配的需求下,建議使用 DPDK 提供的 rte_malloc() API,該 API 可以在后臺保證從本 NUMA 節(jié)點內(nèi)存的 HugePage 里分配內(nèi)存,并實現(xiàn) cache line 對齊以及無鎖方式訪問對象等功能。

3.4 NUMA 考慮

NUMA(Non Uniform Memory Access Architecture)與 SMP(Symmetric Multi Processing)是兩種典型的處理器對內(nèi)存的訪問架構(gòu)。隨著處理器進入多核時代,對于內(nèi)存吞吐量和延遲性能有了更高的要求,NUMA 架構(gòu)已廣泛用于最新的英特爾處理器中,為每個處理器提供分離的內(nèi)存和內(nèi)存控制器,以避免 SMP 架構(gòu)中多個處理器同時訪問同一個存儲器產(chǎn)生的性能損失。

在雙路服務器平臺上,NUMA 架構(gòu)存在本地內(nèi)存與遠端內(nèi)存的差異。本地和遠端是個相對概念,是指內(nèi)存相對于具體運行程序的處理器而言,如圖所示。

6313b848-4874-11ed-a3b6-dac502259ad0.png

在 NUMA 體系架構(gòu)中,CPU 進行內(nèi)存訪問時,本地內(nèi)存的要比訪問遠端內(nèi)存更快。因為訪問遠端內(nèi)存時,需要跨越 QPI 總線,在應用軟件設計中應該盡量避免。在高速報文處理中,這個訪問延遲會大幅降低系統(tǒng)性能。尤其是傳統(tǒng)嵌入式軟件向服務器平臺遷移時,需要特別關(guān)注。

DPDK 提供了一套在指定 NUMA 節(jié)點上創(chuàng)建 memzone、ring, rte_malloc 以及 mempool 的API,可以避免遠端內(nèi)存訪問這類問題。在一個 NUMA 節(jié)點端,對于內(nèi)存變量進行讀取不會存在性能問題,因為該變量會在 CPU cache 里。但對于跨 NUMA 架構(gòu)的內(nèi)存變量讀取,會存在性能問題,可以采取復制一份該變量的副本到本地節(jié)點(內(nèi)存)的方法來提高性能。

4、CPU 核間無鎖通信

如果想建立一個基于消息傳遞的核間通信機制,可以使用 DPDK ring API,它是一個無鎖的 ring 實現(xiàn)。該 ring 機制支持批量和突發(fā)訪問,即使同時讀取幾個對象,也只需要一個昂貴的原子操作,批量訪問可以極大地改善性能。

5、設置正確的目標 CPU 類型

DPDK支持CPU微架構(gòu)級別的優(yōu)化,可以通過修改DPDK配置文件中的CONFIG_RTE_MACHINE參數(shù)來定義。優(yōu)化的程度根據(jù)隨編譯器的能力而不同,通常建議采用最新的編譯器進行編譯。

如果編譯器的版本不支持該款 CPU 的特性,比如 Intel AVX 指令,那么它在編譯時只會選用自己支持的指令集,這可能導致編譯 后生成的 DPDK 應用的性能下降。

審核編輯:彭靜
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 服務器
    +關(guān)注

    關(guān)注

    13

    文章

    10077

    瀏覽量

    90817
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4405

    瀏覽量

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

    關(guān)注

    0

    文章

    269

    瀏覽量

    25416
  • DPDK
    +關(guān)注

    關(guān)注

    0

    文章

    14

    瀏覽量

    1943

原文標題:干貨:DPDK技術(shù)架構(gòu)及性能影響因素

文章出處:【微信號:算力基建,微信公眾號:算力基建】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    DPDK內(nèi)存管理的IOMMU和IOVA技術(shù)總結(jié)

    之前寫過DPDK相關(guān)內(nèi)存管理的代碼分析,但是隨著DPDK的版本迭代在內(nèi)存管理方面也在進行著不斷的演進。這里結(jié)合一些參考文章再對DPDK的內(nèi)存使用方式和發(fā)展變化做一個階段性的總結(jié)。 大頁 DPD
    的頭像 發(fā)表于 09-25 15:16 ?1.1w次閱讀
    <b class='flag-5'>DPDK</b>內(nèi)存管理的IOMMU和IOVA<b class='flag-5'>技術(shù)</b>總結(jié)

    ovs-dpdk sgmii口不能正常轉(zhuǎn)發(fā)是為什么

    測試了2個rgmii,2個xfi也正常,按照手冊配置的ovs-dpdk,默認流程。1046-c2 ovs-dpdk sgmii口不能正常轉(zhuǎn)發(fā)是為什么?如何去解決呢?
    發(fā)表于 01-05 06:41

    Arm上帶DPDK的Open vSwitch測試系列

    1、如何用 Arm 平臺上的源代碼構(gòu)建和安裝帶 DPDK 的 OvS本文描述了如何用 Arm 平臺上的源代碼構(gòu)建和安裝帶 DPDK 的 OvS。高級執(zhí)行步驟的順序如下所示:安裝與構(gòu)建的前提條件
    發(fā)表于 03-31 11:01

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

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

    DPDK安裝教程和DPDK程序運行收發(fā)包示例程序及性能對比實驗的詳細概述

    本文檔的主要內(nèi)容詳細介紹的是DPDK安裝教程和DPDK程序運行收發(fā)包示例程序及性能對比實驗的詳細概述。
    發(fā)表于 09-03 08:00 ?0次下載
    <b class='flag-5'>DPDK</b>安裝教程和<b class='flag-5'>DPDK</b>程序運行收發(fā)包示例程序及性能對比實驗的詳細概述

    建立和運行DPDK,使用英特爾QuickAssist設備加密

    Steps to build and run DPDK using an Intel? QuickAssist device for cryptography, based on DPDK 17.02 release.
    的頭像 發(fā)表于 10-17 03:24 ?2796次閱讀

    DPDK和Virtio的簡介

    DPDK和virtio
    的頭像 發(fā)表于 10-30 06:07 ?5317次閱讀

    DPDK的設計方法與API應用介紹

    了解DPDK的設計方法及其常見用例,并概述DPDK在VNF / NFV系統(tǒng)中的使用方式。
    的頭像 發(fā)表于 10-30 06:02 ?4544次閱讀

    如何為您的NFV應用設置DPDK

    如何為您的NFV應用設置DPDK
    的頭像 發(fā)表于 11-12 06:37 ?3507次閱讀

    DPDK開源社區(qū)更新

    本演示文稿描述了DPDK開源社區(qū)的歷史,并解釋了新用戶如何參與其中。
    的頭像 發(fā)表于 11-13 06:55 ?4829次閱讀

    DPDK API和虛擬基礎架構(gòu)

    此會話使用DPDK API中的輪詢模式驅(qū)動程序來描述各種虛擬設備,并以正確的方式提供構(gòu)建NFVi所需的洞察力。
    的頭像 發(fā)表于 11-08 06:55 ?4524次閱讀

    使用DPDK打開VSwitch:架構(gòu)和性能

    使用DPDK打開VSwitch:架構(gòu)和性能
    的頭像 發(fā)表于 11-08 06:20 ?4146次閱讀

    DPDK內(nèi)存的基本概念

    作者簡介:Anatoly Burakov,英特爾軟件工程師, 目前在維護DPDK中的VFIO和內(nèi)存子系統(tǒng) 引言 內(nèi)存管理是數(shù)據(jù)面開發(fā)套件(DPDK)的一個核心部分,以此為基礎,DPDK的其他部分和
    的頭像 發(fā)表于 10-26 10:03 ?2680次閱讀
    <b class='flag-5'>DPDK</b>內(nèi)存的基本概念

    國際主流網(wǎng)卡驅(qū)動開源社區(qū)DPDK已支持LoongArch架構(gòu)

    2022年11月27日,DPDK官方社區(qū)發(fā)布了22.11版本,從該版本開始DPDK將支持龍架構(gòu)(LoongArch)。隨著社區(qū)對DPDK項目的演進,LoongArch成為繼X86、Po
    的頭像 發(fā)表于 12-06 10:49 ?2036次閱讀

    龍芯自主CPU指令系統(tǒng)獲得開源DPDK支持

    近日,DPDK官方社區(qū)發(fā)布了22.11版本,從該版本開始DPDK將支持龍架構(gòu)(LoongArch)。
    的頭像 發(fā)表于 12-08 15:39 ?1844次閱讀
    龍芯自主CPU指令系統(tǒng)獲得開源<b class='flag-5'>DPDK</b>支持