技术栈
dpdk
Mr.HeBoYan
18 天前
linux
·
网络
·
算法
·
架构
·
dpdk
一次持续三天才出现的丢包故障——深入解析 DPDK Memory Ordering、rte_ring 与 CPU Memory Barrier (下)
接上文:一次持续三天才出现的丢包故障——深入解析 DPDK Memory Ordering、rte_ring 与 CPU Memory Barrier (上)-CSDN博客
Mr.HeBoYan
1 个月前
linux
·
网络
·
算法
·
性能优化
·
架构
·
dpdk
DPDK为什么越来越少使用rte_ring?——从Lock-Free到Run-to-Completion,重新理解现代DPDK架构演进(上)
某运营商核心交换机项目已经稳定运行两年。系统采用的是典型的流水线架构。每一级之间,都通过DPDK提供的rte_ring进行通信。
故事还在继续吗
3 个月前
dpdk
DPDK 教程(一):Hugepage、绑核、dpdk-devbind 与跑通 testpmd
本文对应学习路径的第一步:把运行环境搭到能稳定跑 testpmd。完成后你应能解释:大页为何需要、CPU 隔离与亲和在 DPDK 里的意义、网卡如何从内核驱动解绑并交给 VFIO、以及 testpmd 交互的基本用途。
故事还在继续吗
3 个月前
dpdk
DPDK 内存与子系统
本文聚焦 DPDK 数据面内存体系:从 EAL 内存初始化、大页与 memseg、堆与 rte_malloc、memzone、外部内存与 DMA 映射、到 rte_mempool/rte_mbuf。写作目标是:每个机制对应“解决什么问题 / 何时用 / 核心不变量是什么 / 实现大致怎么走 / 到源码哪里读”。
故事还在继续吗
3 个月前
dpdk
DPDK 教程(二):mbuf、mempool、ethdev 的数据路径
本文对应学习路径第二步:把“包从网卡进来到被应用消费”的主链路读成一张图。读完你应能口述:描述符环 → PMD RX → mbuf 与 mempool → 用户处理 → TX burst → 描述符回收,并知道关键结构体字段的语义与常见误用。
故事还在继续吗
3 个月前
算法
·
哈希算法
·
dpdk
DPDK 教程(三):多队列 + RSS + 多 worker 的最小转发 / Echo
本文对应学习路径第三步:在理解 ethdev/mbuf/mempool 后,做一个最小可运行的转发或 echo 原型,刻意使用 多 RX 队列 + RSS 把流量分散到 多个 worker lcore。目标是建立 “队列—核—数据面线程模型” 的设计直觉,而不是追求功能最全的 L3 转发器。
故事还在继续吗
3 个月前
开发语言
·
dpdk
DPDK免锁队列
DPDK 的 rte_ring 是高性能网络数据面编程的核心数据结构之一。 它在多核环境下实现了无锁(Lock-Free)的生产者/消费者队列, 是理解现代高性能并发编程的绝佳样本。 本文从硬件原理、算法设计到源码实现逐层深入,帮助你真正掌握它。
优秀是一种习惯啊
4 个月前
网络
·
dpdk
DPDK 学习第一天
环境: wsl2 Ubuntu (不建议用wsl)重启后生效题主用的是wsl Ubuntu, powershell 执行wsl --shutdown
Qinti_mm
4 个月前
dpdk
DPDK:解锁CDN推流与日志发送的极致性能
DPDK(Data Plane Development Kit,数据平面开发套件)是 Linux 基金会主导的开源高性能网络开发框架,核心是绕过 Linux 内核协议栈、在用户态直接操作网卡,实现高吞吐、低延迟、高 PPS的数据包处理,非常适合你后续的CDN 推流、日志发送等高性能网络场景。
门豪杰
5 个月前
dpdk
·
onload
·
tcpdirect
DPDK、Onload和TCPDirect在低延迟方面对比
DPDK 是一个数据平面加速工具包,它主要通过绕过操作系统的网络栈来加速数据包处理。DPDK 允许用户态应用直接访问网络硬件 (NIC),避免了内核态和用户态之间的切换,减少了传统网络栈的开销。
得一录
6 个月前
架构
·
dpdk
DPDK 技术概览
DPDK是INTEL提供的提升数据面报文快速处理速率的应用程序开发包,它主要利用以下几个方面的支持特点来优化报文处理过程,从而加快报文处理速率:
Felven
8 个月前
网络
·
dpdk
·
lwip
基于DPDK的高性能网络方案
由于之前的应用收发数是基于PCIe方式的单机方案,存在扩展性的限制,现打算将其通过多块计算板卡基于网络进行方案改造,以达到带宽与性能线性拓展的能力。本文将基于DPDK与lwip协议栈详细阐述其中解决网络性能的方式,以基本满足应用业务目标。
deng-c-f
9 个月前
学习
·
dpdk
Linux C/C++ 学习日记(42):dpdk(五):基于dpdk实现用户态的UDP收发数据、和TCP的三次握手及接收数据
注:该文用于个人学习记录和知识交流,如有不足,欢迎指点。以太网协议头:IP协议头UDP的协议头UDP数据帧
deng-c-f
9 个月前
linux
·
dpdk
·
泛洪
Linux C/C++ 学习日记(43):dpdk(六):dpdk实现发包工具:UDP的发包,TCP的泛洪攻击
注:该文用于个人学习记录和知识交流,如有不足,欢迎指点。查看192.168.248.1 对应的网卡在cmd上:输入 ipconfig /all
apple_ttt
10 个月前
网络
·
dpdk
·
数据平面
·
数据中心网络
·
toe
为 CPU 减负:数据中心网络卸载技术的演进
🚀 欢迎来到「数据中心网络与异构计算」专栏!在这个算力定义未来的时代,我们正见证一场从底层网络到计算架构的深刻变革。本专栏将带您穿越技术迷雾,从当前困境出发,历经三次关键技术跃迁,最终抵达「数据中心即计算机」的终极愿景。
flysnow010
2 年前
dpdk
·
1024程序员节
WSL(Ubuntu20.04)编译和安装DPDK
DPDK可以使用工具meson和ninja在您的系统上进行配置、构建和安装。要配置DPDK构建,请使用:
彭泽布衣
2 年前
dpdk
·
火山引擎
·
ovs
·
云网络
·
vswitch
解读: 火山引擎自研vSwitch技术
最近看到一篇文章介绍火山云的网络vSwitch技术,虽然是2022年的比较老的介绍,但是对于我们看到vSwitch技术的发展还是有些参考的。下面就截取了当时火山vSwitch关心的几个问题,做了一下梳理。
别NULL
2 年前
linux
·
网络
·
网络协议
·
udp
·
dpdk
DPDK 简易应用开发之路 2:UDP数据包发送及实现
本机环境为 Ubuntu20.04 ,dpdk-stable-20.11.10初始化DPDK环境: 调用 rte_eal_init() 来初始化DPDK的EAL(环境抽象层),这是所有DPDK应用程序的第一步,用于初始化硬件、内存和逻辑核心。
别NULL
2 年前
linux
·
网络
·
tcp/ip
·
dpdk
DPDK基础入门(十):虚拟化
全虚拟化:宿主机截获客户机对I/O设备的访问请求,然后通过软件模拟真实的硬件。这种方式对客户机而言非常透明,无需考虑底层硬件的情况,不需要修改操作系统。
Once_day
2 年前
dpdk
DPDK源码分析之(1)libmbuf模块补充
Author:OnceDay Date:2024年7月2日漫漫长路,有人对你笑过嘛…全系列文档可参考专栏:源码分析_Once-Day的博客-CSDN博客