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报文转发
内存管理
网卡性能优化
网卡多队列
硬件加速与功能卸载
DPDK内核驱动
网络虚拟化
OVS DPDK

网络存储优化SPDK

编程指南

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

《DPDK架构高清版.pdf》

《DPDK编程指南.pdf》

- END -


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

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

推荐阅读

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

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

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

深入理解DPDK架构|经典PDF分享相关推荐

  1. 深入理解TCP实现|经典PDF分享

    hi 大家好,今天给大家分享一个经典的TCP源码分析PDF(文末有获取方式),基于比较新的内核版本-Linux 4.4.0,从用户态TCP编程,到TCP RFC协议,TCP收发路径,TCP三次握手和四 ...

  2. 深入理解netfilter框架|经典PDF

    hi,大家好,今天给大家分享一个学习Linux内核防火墙经典文档,文章贯穿了用户态 iptables,内核态 netfilter 及 conntrack,图文并茂,包含重要的数据结构解析和核心流程分析 ...

  3. 【白皮书分享】5G智慧城市安全需求与架构白皮书.pdf(附下载链接)

    今天给大家分享IMT-2020(5G)推荐组在2020年5月份发布的白皮书<5G智慧城市安全需求与架构白皮书.pdf>,本白皮书主要分析5G技术的应用为智慧城市带来的发展机遇,明确5G智慧 ...

  4. “云时代架构”经典文章阅读感想十二

    云时代架构"经典文章阅读感想十二 (牛逼的架构师是怎么炼成的?) 前几周阅读的三四十岁的大龄程序员,应该如何保持自己的职场竞争力?中提到如何在35岁左右可以实现掌握有核心竞争力.其中之一便是 ...

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

    hi,大家好,由于移动互联网不断发展,导致网络流量徒增,推动着网络技术不断地发展,而CPU的运行频率基本停留在10年前的水平,为了迎接超高速网络技术的挑战,软件也需要大幅度创新,结合硬件技术的发展,D ...

  6. 机器学习pdf_2020年新书-《机器学习算法入门》免费pdf分享

    本书介绍 一种最常见和最广泛使用的机器学习模型是线性回归.线性回归是一种非常直观的监督学习算法,顾名思义,它是一种回归技术.这意味着当我们有连续值的标签时,例如汽车价格或房间温度,就会使用它.此外,正 ...

  7. 【干货】基于内容理解的新闻推荐.pdf(附下载链接)

    今天给大家带来SmartNews AI算法负责人,前Facebook AI工程经理周涵宁先生在2021年全球机器学习技术大会上所做的分享<基于内容理解的新闻推荐.pdf>,关注知识图谱及新 ...

  8. python编程入门-Python编程入门经典pdf(Python编程入门教程) 高清中文版

    Python编程入门经典pdf(Python编程入门教程)下载.Python编程入门经典pdf高清版帮助各位更好的进行Python编程的学习以及理解,最经典的课题,最深入的概念,让你在Python编程 ...

  9. 2020最新智能客服|聊天机器人算法、架构及应用分享

    智能客服(聊天机器人)是在大规模知识处理基础上发展起来的一项面向行业应用的,适用大规模知识处理.自然语言理解.知识管理.自动问答系统.推理等等技术行业,智能客服不仅为企业提供了细粒度知识管理技术,还为 ...

最新文章

  1. mysql顺序结构_MySQL学习之流程结构
  2. 长沙医学院计算机系怎么样,长沙医学院有哪些专业及什么专业好
  3. LaTeX提问技巧——MWE
  4. python怎么按键开始与停止_python 图形化开始与停止功能的实现
  5. VS生成Cordova for Android应用之Gradle
  6. 灵魂发明家自述:我就是靠这个创业成功的
  7. javascript 不让成为nan_一张图彻底搞懂JavaScript的==运算
  8. 杰控组态西门子PLC
  9. IntelliJ IDEA 设置主题背景
  10. 20190404-亥姆霍兹方程、表面等离极化激元
  11. Incapsula CDN到底好在哪
  12. 计算机安装操作步骤,重新安装计算机系统的步骤,最简单,最安全的操作!
  13. 51单片机 YF-S201水流量检测传感器的使用
  14. 使用python爬虫爬取最好大学网大学排名实例
  15. java中包地作用_什么是PCB设计中的包地
  16. 人脸识别最全知识图谱—清华大学出品(附全文下载)
  17. WinHttp 类封装
  18. java下雪_java多线程编程实现下雪效果
  19. 联想M7250打印机硒鼓清零
  20. python--第六章 python函数 装饰器 类 对象

热门文章

  1. qt 运行库 linux,linux(ubuntu) 版qt5.x安装的一些知识
  2. myeclipse 项目右键没有svn_新建SVN仓库并上传项目
  3. 有n个人围成一圈,按顺序从1到n编号。从第一个人开始报数
  4. spring-注入array集合
  5. 主流or消亡?2016年大数据发展将何去何从
  6. 从头开始敲代码之《从BaseApplication/Activity开始(五)》(自定义控件,实现点击/滑动翻页)...
  7. php实现单个用户禁止重复登录,防止同一用户同时登陆
  8. LVS之NAT模型配置实验
  9. 从原理到实践手动拼凑一个Linux系统
  10. 日志中的秘密:Windows登录类型知多少