(二)DPDK-OverView

目录

DPDK-概述

DPDK是什么

DPDK特点 

DPDK的优劣

DPDK架构

DPDK框架

环境适配层EAL

核心组件

以太网轮询驱动架构PMD

报文转发算法支持

网络协议库(librte_net)


DPDK-概述

DPDK是什么

Intel® DPDK全称Intel Data Plane Development Kit,是intel提供的数据平面开发工具集,为Intel architecture(IA)处理器架构下用户空间高效的数据包处理提供库函数和驱动的支持,它不同于Linux系统以通用性设计为目的,而是专注于网络应用中数据包的高性能处理。(主要就是做包转发)

具体体现在DPDK应用程序是运行在用户空间上利用自身提供的数据平面库来收发数据包,绕过了Linux内核协议栈对数据包处理过程。

 

DPDK: 在IA上做高效包处理

发挥core性能唯一原则: 让数据更接近于core        接近core的--->就是cache

核心目标:把数据移到cache里面   (cache容量有限)

现在的cache在20M以上: 大的好处 可以拿出一部分位做包       [英特尔数据直接IO技术(Intel DDIO)]

                                                                                                    (包可以不经过内存,所有的操作都在cache中完成)

prefetch系列指令作用: 影响指令快慢一个比较重要的因素--->数据能不能提前ready    

                                                          最好的情况: 在处理下一条指令时候 下一条指令的数据已经走到cache中

 

memory: 有多个channel   

如何完整利用内存channel的带宽?

 

CPU:切换开销大 压榨性能: 不切换

 

UIO: 在用户态可以做配置

在IA平台上 所有的设备都是PCIe设备  所以IA上基本只有route port

对于PCIe设备: 配置 怎么驱动

             一个PCIe设备有一串数字(序列)标记这个设备  

UIO: 就是把bar的address 通过mmap映射的用户空间,让用户空间可以访问寄存器   

DPDK特点 

  • 1)        轮询:在包处理时避免中断上下文切换的开销,
  • 2)        用户态驱动:规避不必要的内存拷贝和系统调用,便于快速迭代优化
  • 3)        亲和性与独占&#
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值