| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> DPDK之一-原理与优势 -> 正文阅读 |
|
[系统运维]DPDK之一-原理与优势 |
1 DPDK原理1.1 传统网络数据原理Linux网络协议栈在处理数据包时,需要经过两个步骤:首先将数据从物理网卡拷贝到内核协议栈;第二步从内核空间将数据拷贝到用户空间。网络数据包经过两次拷贝才到达用户空间,由于拷贝是会造成系统中断导致性能瓶颈。 1.2 DPDK数据处理原理DPDK是 Intel 针对芯片技术与高速网络接口技术飞速发展的应用场景而提出的数据平面加速理论框架(Intel Data Plane Development kit)。DPDK旨在对网络数据的高速处理,其中一个重要的技术就是零拷贝技术,将网络数据直接映射到内存空间。同时DPDK可以跳过内核空间,直接获取网卡数据到用户空间进行网络数据操作,大大的加快的网络数据处理速度。下图也是界定了DPDK的作用范围,主要是在物理网卡和内核空间中间,DPDK可以直接获取网卡数据到用户空间处理,同时也可以灵活的将网络数据写回内核走原来内核处理的流程。 2 DPDK技术2.1 大页(hugepage)大页技术主要优势在于增加单页的数据量,主要运用于需要较大内存的运用场景可以减少页面的切换,提升查询效率。高速网络的数据存储场景正是需要较大的数据缓存,因此大页技术可以很好的提升其效率。 2.2 用户IO(UIO)将网卡数据直接转移到用户态空间运行,应用程序和设备解耦。此技术作为DPDK的基石,LinuxUIO技术可以将网卡数据直接转移到用户空间,进行网络数据的处理。 DPDK 应用程序初始化中将网卡硬件寄存器映射到用户态内存空间,因此,DPDK 的驱动程序可以运行在用户态,可以避免不必要的内存拷贝。 2.3 KNI技术KNI也是驱动模块,用于DPDK与系统内核协议栈建立通道,用户可以将网络数据回灌到内科协议栈处理。 2.4 CPU亲缘性CPU亲缘性主要是将进程与CPU进行一对一绑定。多核CPU设备用于系统调度导致进程在CPU之间调度。CPU亲缘性则避免了这种CPU的切换充分的放回多核的性能。 3 DPDK环境搭建3.1 添加网卡新增虚拟网卡,这里新增了一个NAT网卡和桥接网卡。
重启网络,即可看到新的网卡和ip地址。
3.2 修改网卡配置主要是修改网卡名为多队列网卡:编辑虚拟机Ubuntu根目录下的:Ubuntu16.04.vmx文件 3.3 修改巨页大小新增巨页大小,主要用于dpdk中巨页的使用。
3.3 DPDK下载下载dpdk源码:https://core.dpdk.org/download/
3.4 运行DPDK利用dpdk-setup.sh 配置dpdk环境
设置dpdk环境:
注意执行49之前需要将网卡关闭:
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 20:10:28- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |