打破DPDK的误区: 数据面最流行的工具包DPDK的前世,现在和未来.pdf
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
DPDK,即数据平面开发套件(Data Plane Development Kit),是Linux基金会托管的一个开源项目,旨在加速在各种主要CPU架构上运行的数据包处理工作负载。DPDK最初由Intel公司创建,大约10年前开始发展,目前已经成为了推动高性能通用CPU在不同网络环境,包括企业数据中心、公共云和电信网络中使用的工具之一。DPDK允许网络数据包在用户空间被处理,极大减少了内存复制的开销,并且消除了用户空间和内核空间之间上下文切换的性能损耗,使得网络数据包的处理速度得以大幅提升。 DPDK的设计初衷是为了应对传统网络设备使用的ASIC(应用专用集成电路)在处理数据包时的局限性。在以往,包括思科、爱立信、华为等在内的网络设备供应商主要使用ASIC来执行数据包处理等低级数据平面功能。而随着技术的发展,多核处理器的性能足以与ASIC相竞争,但它们在Linux内核中处理数据包时仍然存在瓶颈。因此,DPDK应运而生,通过绕过Linux内核,直接在用户空间执行数据包处理,从而显著提高了网络性能。 DPDK的核心功能包括利用轮询模式驱动程序(PMD)来检查传入数据包队列,以达到高吞吐量和低延迟的目的。它扩展了标准内核网络堆栈,特别适用于高吞吐量和/或低延迟要求的网络功能,如无线核心、无线访问、有线基础设施、路由器、负载均衡器、防火墙、视频流和IP语音等。 随着DPDK社区的发展和Linux基金会的治理,该项目的贡献者逐渐多元化,包括Chelsio、Mellanox等设备供应商以及Arm、Power和Tilera等其他非x86体系结构的供应商,打破了早期有关DPDK是英特尔控制的误区。现在,DPDK已经成为了一个全球性的开源项目,得到了众多开发商的支持和贡献。 网络功能虚拟化(NFV)是DPDK在应用中扮演重要角色的一个领域。NFV的目标是将传统网络功能虚拟化,使其在标准服务器平台上运行,而非专用的网络硬件设备。这一计划始于2012年,由包括AT&T、BT、德国电信、Orange、意大利电信、西班牙电信和Verizon在内的七家通讯服务提供商发起,并迅速扩展到800多个组织,涵盖了CSP、供应商、公共云提供商、研究人员、学术界和政府实体。NFV通过在标准CPU架构上运行虚拟网络功能(VNF),在保持高性能、高吞吐量和低延迟的同时,也提高了成本效益。 由于电信流量中包含大量的小数据包,Linux内核在处理这些数据包时的瓶颈问题尤为明显。DPDK通过提供一种在用户空间进行数据包处理的方法,有效解决了这个问题。DPDK的出现和发展,推动了通用CPU在网络设备中的应用,减少了对ASIC的依赖,并为未来的网络发展指明了方向。 总结来说,DPDK自创建以来经历了快速的发展和广泛的应用,通过社区的共同努力,其在性能和功能上都有了质的飞跃。未来随着更多技术的融合和生态系统的成熟,DPDK将继续在高性能数据包处理领域扮演关键角色,为现代网络的演进提供强大的技术支持。
- 许~昕2023-10-31发现一个宝藏资源,资源有很高的参考价值,赶紧学起来~
- 粉丝: 48
- 资源: 8282
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- ATmega328-Bootloader-Maker(使用ATmega328p芯片制作Arduino Uno R3开发板)
- 一组用 Javascript 解决的技术软件开发面试问题,非常合理.zip
- (源码)基于Spring Boot和WebSocket的贪吃蛇对战系统.zip
- (源码)基于C++的生产线数据传输成功率监控系统.zip
- (源码)基于Spring Boot和Dubbo的文件管理系统.zip
- (源码)基于C++的Local Generals游戏系统.zip
- (源码)基于MQTT协议的智能插座系统.zip
- Insurence_20180221.sav
- 一个简单的 JavaScript 俄罗斯方块游戏.zip
- Python课程设计:基于OpenCV的人脸识别与检测源码