深入理解DPDK架构|经典PDF分享


cdfd93a3a52d879b1a56af3c9619d947.png

Intel DPDK全称Intel Data Plane Development Kit,是intel提供的数据平面开发工具集,为Intel architecture(IA)处理器架构下用户空间高效的数据包处理提供库函数和驱动的支持,它不同于Linux系统以通用性设计为目的,而是专注于网络应用中数据包的高性能处理。DPDK应用程序是运行在用户空间上利用自身提供的数据平面库来收发数据包,绕过了Linux内核协议栈对数据包处理过程。Linux内核将DPDK应用程序看作是一个普通的用户态进程,包括它的编译、连接和加载方式和普通程序没有什么两样。DPDK程序启动后只能有一个主线程,然后创建一些子线程并绑定到指定CPU核心上运行。

背景

传统Linux网络驱动的问题

b7f81253550fccebd5356251bd3bd890.png

对比

4cd0ae94839cd45ace928c9b7b70a487.png

DPDK 有三大法宝

  • ByPass Kernel , UIO/VFIO

  • 微架构优化. Cache/DDIO/SIMD

  • 内存管理. HugePage/mbuf/mempoo

2c7a012d258336bc946c49b6a87116f0.png

左边是传统内核数据通路:数据从 网卡 -> 驱动 -> 协议栈 -> Socket接口 -> 业务

右边是DPDK的方式,基于UIO(Userspace I/O)旁路数据:数据从网卡 -> DPDK轮询模式-> DPDK基础库 -> 业务

详细参考:

ed866893787a24d8b490f2bb6867c14f.png

深入理解DPDK程序设计|Linux网络2.0

设计原理(文末有高清PDF获取方式)

f5c815a2c9481eac2d43fdc691200bd8.png

DPDK组成

ed83c0546b5bb38cf668e5f91719e8e1.png

详细内容
DPDK报文转发

f1d2c03268b06fc822fde068db7eca0c.png
内存管理
c2659db45abeda922777d6dbc86eab69.png
网卡性能优化
2cadc88211a178d54e79089bf2bd93ff.png
网卡多队列
9ce4cd969e325fc43a3938b1751d42e0.png
硬件加速与功能卸载
63dd8f4397de3bb8ae7d2c05cbbdab5b.png
DPDK内核驱动
59d5f16694d08c4f729607dcf273f603.png

网络虚拟化
e26c987224f9e6b1fc1f909ce6f9e0aa.png

OVS DPDK

186a4c22fb5c9a17e1115702035861d3.png

网络存储优化SPDK

dca6d1200a4f8a7a17df9828419746a1.png

编程指南

a1e5c35011318553f5c6e52b8b67e6b7.png

6054f9959d700df1aed755ed65373986.png

高清完整版PDF,请在公众号里面回复"dpdk" 获取

《DPDK架构高清版.pdf》

《DPDK编程指南.pdf》

- END -


看完一键三连在看转发,点赞

是对文章最大的赞赏,极客重生感谢你4ca6f718963c3d29509d62019dc75442.png

推荐阅读

1c0936ead647b4702a4bcca7444f9d32.png

Linux Kernel TCP/IP Stack|Linux网络硬核系列

74df101eb042d82a596811d20142394a.png

深入理解DPDK程序设计|Linux网络2.0

986b1c3fc13f2723a777130f9debfebc.png

TCP/IP协议栈到底是内核态好还是用户态好?


2d49fe717b10fdb42e75502a4b725ff8.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值