首页 > 数据库 > 数据库开发技术 > 深入理解DPDK架构|经典PDF分享

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


DPDK 有三大法宝
ByPass Kernel , UIO/VFIO
微架构优化. Cache/DDIO/SIMD
内存管理. HugePage/mbuf/mempoo

左边是传统内核数据通路:数据从 网卡 -> 驱动 -> 协议栈 -> Socket接口 -> 业务
右边是DPDK的方式,基于UIO(Userspace I/O)旁路数据:数据从网卡 -> DPDK轮询模式-> DPDK基础库 -> 业务
详细参考:

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











编程指南


高清完整版PDF,请在公众号里面回复"dpdk" 获取
《DPDK架构高清版.pdf》
《DPDK编程指南.pdf》
- END -
看完一键三连在看,转发,点赞
是对文章最大的赞赏,极客重生感谢你

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

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

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

原文作者:极客重生;如有侵权,请联系管理员删除。