网站首页 > 技术文章 正文
DPDK简介
总结送免费学习资料(包含视频、技术学习路线图谱、文档等)
DPDK是X86平台报文快速处理的库和驱动的集合,不是网络协议栈,不提供二层,三层转发功能,不具备防火墙ACL功能,但通过DPDK可以轻松的开发出上述功能。
DPDK的优势在于,可以将用户态的数据,不经过内核直接转发到网卡,实现加速目的。主要架构如图所示:
总结送免费学习资料(包含视频、技术学习路线图谱、文档等)
传统的socket方式与DPDK对比:
总结送免费学习资料(包含视频、技术学习路线图谱、文档等)
DPDK关键技术点:总结送免费学习资料(包含视频、技术学习路线图谱、文档等)
使用大页缓存支持来提高内存访问效率。
利用UIO支持,提供应用空间下驱动程序的支持,也就是说网卡驱动是运行在用户空间 的,减小了报文在用户空间和应用空间的多次拷贝。
利用LINUX亲和性支持,把控制面线程及各个数据面线程绑定到不同的CPU核,节省了线程在各个CPU核来回调度。
LOCKLESS, 提供无锁环形缓存管理,加快内存访问效率。
收发包批处理 ,多个收发包集中到一个cache line,在内存池中实现,无需反复申请和释放。
PMD驱动,用户态轮询驱动,可以减小上下文切换开销,方便实现虚拟机和主机零拷贝。
OVS+DPDK
OpenvSwitch 以其丰富的功能,作为多层虚拟交换机,已经广泛应用于云环境中。Open vSwitch的主要功能是为物理机上的VM提供二层网络接入,和云环境中的其它物理交换机并行工作在Layer 2。
传统host ovs工作在内核态,与guest virtio的数据传输需要多次内核态和用户态的数据切换, 带来性能瓶颈.
Ovs+Dpdk和Ovs本身之间的区别可以由下图简单来表示:
总结送免费学习资料(包含视频、技术学习路线图谱、文档等)
OVS的版本中,为缓解多级流表查表慢的问题,OVS在内核态采用Microflow Cache方法。Microflow Cache是基于Hash的精确匹配查表(O(1)),表项缓存了多级查表的结果,维护的是每条链接粒度的状态。Microflow Cache减少了报文进用户态查多级表的次数。一条流的首报文进入用户态查表后,后续的报文都会命中内核中的Microflow Cache,加快了查表速度。但是对于大量短流的网络环境来说,Microflow Cache命中率很低,导致大部分报文仍然需要到用户态进行多级流表查找,因此转发性能提升有限。
总结送免费学习资料(包含视频、技术学习路线图谱、文档等)
DPDK 高性能(user space) 网卡驱动、大页内存、无锁化结构设计,可以轻易实现万兆网卡线速的性能。ovs-dpdk使vm到vm和nic到vm的整个数据传输都工作在用户态,极大的提升了ovs的性能。
另外,ovs-dpdk 结合了DPDK和vhost-user技术的优势。vhost-user是一个用户态的vhost-backend程序,从虚拟机到host上实现了数据零拷贝(zero copy)。
原生ovs与ovs-dpdk比较
(1)原生ovs数据流处理过程如下:
总结送免费学习资料(包含视频、技术学习路线图谱、文档等)
数据包到达网卡后,上传给Datapath;
Datapath 会检查缓存中的精确流表是否可以直接转发这个包,如果在缓存中没有找到记录,内核通过netlink发送一个upcall给用户空间的vswitchd;
vswitchd检查数据库以查看数据包的目的端口在哪里。这里要操作openflow流表,需要和ovsdb以及ovs-ofctl交互;
刷新内核态流表内容;
Reinject给datapath,重发数据包;
再次查询流表,获取数据包精确转发规则后,按规则转发
(2)ovs-dpdk方式:
总结送免费学习资料(包含视频、技术学习路线图谱、文档等)
用户态进程直接接管网卡收发数据,采用“IO独占核”技术,即每个端口分配一个核专门用于数据收发,轮询式处理方式代替中断式处理,显著提高IO性能。
总结:
更多学习资料(包含视频、技术学习路线图谱、文档等)
技术点包含了C/C++,Linux,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK等方面。
后台私信《资料》免费领取
使用ovs-dpdk
猜你喜欢
- 2024-11-17 吴谨言专访大反转!痛批耍大牌后竟翻红,六公主七连发力显真诚
- 2024-11-17 港股2月28日物业股涨幅榜:CHINAOVSPPT涨1.72%位居首位
- 2024-11-17 港股2月28日物业股午盘:CHINAOVSPPT涨1.72%位居首位
- 2024-11-17 港股3月2日物业股涨幅榜:CHINAOVSPPT涨1.03%位居首位
- 2024-11-17 港股3月2日物业股午盘:CHINAOVSPPT涨1.03%
- 2024-11-17 天赋与心痛的背后:邓鸣贺成长悲剧引发的深刻反思
- 2024-11-17 冯小刚女儿徐朵追星范丞丞 同框合照曝光惹人羡,回应网友尽显亲民
- 2024-11-17 “资本大佬”王冉:51岁娶小17岁童瑶,并承诺余生为娇妻保驾护航
- 2024-11-17 港股3月2日物业股午盘:CHINAOVSPPT涨1.03%位居首位
- 2024-11-17 「IT之家开箱」vivo S15 图赏:双镜云窗,盛夏风光
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)