首页
›
半导体工艺与制造设备
›
015-DPDK核心技术
›
《DPDK无锁队列实战:Ring缓冲区多生产者写入竞争排查》
VIP20
本课程属于:015-DPDK核心技术
半导体工艺与制造设备 · 共 20 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
DPDK无锁队列实战:Ring缓冲区多生产者写入竞争排查
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
课程导论
DPDK无锁队列(Ring Buff… · 应用场景与课程目标
课程导论
DPDK
02
Ring Buffer核心数据结构
ring结构体 · prod与cons结构体 · flags与size详解
Ring
Buffer
03
单生产者单消费者(SPSC)模式
基本原理 · 无锁操作流程与性能优势
SPSC
单生产者单消费者
04
多生产者多消费者(MPMC)模式
多核竞争引入的挑战与CAS原子操作
MPMC
多生产者多消费者
05
多生产者写入竞争根源分析
多个core同时修改prod_hea…
多生产者写入竞争…
core
06
CAS(Compare-And-Swap)原语
x86_64下lock cmpxch…
CAS
Compare-And-…
07
多生产者入队流程(__rte_ring_do_enqueue)
竞争点1——移动prod_head
rte
ring
08
多生产者入队流程(续)
竞争点2——更新prod_tail与…
多生产者入队流程
prod
09
多生产者入队流程(续)
竞争点3——拷贝对象到ring sl…
多生产者入队流程
ring
10
多生产者出队流程(__rte_ring_do_dequeue)
多消费者竞争机制与cons_head…
rte
ring
11
竞争排查工具1
使用perf top实时观察热点函数…
竞争排查工具1
perf
12
竞争排查工具2
使用gdb + 断点观察多线程下pr…
竞争排查工具2
gdb
13
竞争排查工具3
使用DPDK自带的ring_perf…
竞争排查工具3
DPDK
14
竞争排查工具4
使用valgrind的helgrin…
竞争排查工具4
valgrind
15
竞争排查工具5
使用TSAN(ThreadSanit…
竞争排查工具5
TSAN
16
实战案例1
模拟多生产者写入冲突——构造高并发写…
实战案例1
模拟多生产者写入…
17
实战案例2
通过增加CAS重试次数观察性能下降曲…
实战案例2
CAS
18
实战案例3
使用RTE_RING_QUARTER…
实战案例3
RTE
19
实战案例4
调整ring size为2的幂次对竞…
实战案例4
ring
20
实战案例5
对比SPSC与MPMC模式下的竞争开…
实战案例5
SPSC
21
Ring Buffer内存布局优化
缓存行对齐(cache line a…
Ring
Buffer
22
批量入队/出队(burst mode)
减少CAS调用次数降低竞争概率
burst
mode
23
使用rte_ring_enqueue_bulk与rte_ring_dequeue
使用rte_ring_enqueue_b… · 核心概念 · 实践要点
rte
ring
24
多核亲和性(CPU affinity)绑定
将生产者/消费者绑定到不同NUMA节…
CPU
affinity
25
NUMA感知的Ring分配
rte_ring_create的so…
NUMA
Ring
26
竞争排查方法论
从现象(吞吐量抖动)到根因(CAS失…
竞争排查方法论
CAS
27
DPDK 21.11+新特性
rte_ring_do_enqueu…
DPDK
11+新特性
28
高级话题
使用Hazard Pointer或R…
高级话题
Hazard
29
高级话题
多生产者写入竞争与lock-free…
高级话题
lock-free
30
课程总结
Ring Buffer竞争排查清单 · 最佳实践与后续学习路径
课程总结
Ring
所属VIP或分类
同VIP:CPU亲和性脚本编写:DPDK多核调度与任务绑定实战
同VIP:CPU亲和性配置脚本:DPDK多核任务绑定与迁移控制
同VIP:DPDK多核调度优化:从CPU绑定到缓存亲和性调参