不要用DPDK

DPDK缺点

性能高 无网络协议栈,所以不标准
用户态开发 开发困难,周期长
死后易重启

某呼上的误区说明(辩驳):

误区 #1: DPDK是英特尔控制的(非误区,推销者的辩解,Intel就是控制着DPDK)

在DPDK的早期,英特尔确实对该项目产生了巨大的影响。 但是,随着项目的发展社区的多样性也不断发展,例如Chelsio和Mellanox等设备供应商的贡献以及其他成员的贡献都占了重要比例。 英特尔继续为改进了DPDK提供支持,但其他非x86体系结构的供应商(例如Arm,Power和Tilera)拥有将DPDK推到了纯粹的x86外都多种平台。 如前所述,Linux基金会的治理结构会引导DPDK项目容纳更多都参与者,包括英特尔。

DPDK在NFV和其发展中扮演的角色

在电信行业中,随着公司开发解决方案来满足DPDK的要求,DPDK成为关键的使能技术。网络功能虚拟化(NFV)的目标。 NFV计划始于2012年,当时有七个通讯服务提供商(CSP)同意在ETSI的主持下进行合作:AT&T,BT,德国电信,Orange,意大利电信,西班牙电信和Verizon。成员公司的列表增长迅速,现在包括800多个组织,其中包括 CSP,供应商,公共云提供商,研究人员,学术界和政府实体。

Linux 基金会和 DPDK

在2017年,DPDK加入Linux基金会,一个以为促进开源技术广泛合作的中立家园。现在,DPDK项目包括一个核心软件项目,DPDK本身以及各种 与DPDK密切相关的较小子项目。 DPDK的核心项目由许多软件git组成存储库,包括主存储库,几个“下一个”存储库,这些存储库用于将更改应用到存储库的特定部分将DPDK放入主存储库和稳定发行版存储库之前。 每个项目都有自己的维护者和维护过程。

DPDK的治理是由两个不同的委员会(管理董事会和技术委员会)推动的。 管理董事会负责预算,市场营销,实验室资源,管理,法律和许可问题。 技术委员会负责技术问题,包括批准新的子项目,弃用旧的子项目以及解决技术纠纷。这两个委员会是对等的,并且一起监督DPDK项目。 BSD下提供了主要的DPDK代码许可,而与Linux内核相关的部分则根据GPL许可。

Linux基金会在世界各地组织了许多针对DPDK的活动。 DPDK峰会涵盖了最新的DPDK框架的开发和相关项目已在中国,欧洲,印度和北美的多个城市举行。 在欧洲则举行了规模较少但技术含金量更高的DPDK userspace峰会,并提供了包括路线图在内的更具技术性的议程。

误区 #5 DPDK是一个纯软件项目,是反硬件的(刚好与上述误区完全冲突)

DPDK最初是一个旨在通用CPU上提高OS的数据包处理性能的项目。它已经发展到远远不止于此了, 如今的DPDK更像是一个框架, 在Linux和其他UNIX类型的OS和Windows上的加速(请参阅http://doc.dpdk.org/guides/上列出的OS支持)。DPDK支持从SmartNIC到加密加速器的各种硬件设备。 它提供了一个统一的库可以在可用时利用硬件功能,但在硬件不可用时, 使用全软件路径的实现。 这样可以确保依赖DPDK的应用程序始终可以正确运行,尽管当没有独特的硬件加速挂钩时,性能会有所降低。

由于这两个ODP-OFP计划,Arm体系结构在DPDK中具有强大的支持。 多个采用Arm执照的公司为DPDK做出了贡献,致力于确保DPDK利用该架构的所有功能。由某些CSP和设备提供商提倡,与具有相同功能的x86平台相比,其电源效率可能更高性能。 DPDK中提供了对IBM Power架构的支持,并且最新的DPDK版本已合并Power9的库。 IBM和Canonical合作开发了一个版本的Ubuntu Server,可以直接从IBM订购,其中包括DPDK性能优化。

为了完善DPDK中支持的处理器体系结构,目前DPDK社区正在努力添加RISC-V。RISC-V基于2010年在伯克利的加利福尼亚大学开始的一个项目,是一个免费的开源指令集, RISC-V基金会现在促进和维护体系结构(ISA)。 通过2018年宣布的合作,Linux Foundation提供了RISC-V生态系统的资源,例如培训程序,基础架构工具和行销。 SiFive是一家无晶圆厂的半导体公司,其基于RISC-V架构(例如Freedom)生产SoC, 并在2016年推出的Everywhere 310 SoC。

鉴于其广泛的架构支持,DPDK越来越不被视为NFV的加速器,而被视为Linux用户空间框架,为对高性能I / O和操作系统至关重要的核心功能提供统一的抽象层包处理,包括加密功能。DPDK支持包括FPGA,ASIC和SmartNIC在内的各种硬件设备,从而充分利用了所有可用的,支持的资源,最大程度优化系统级别的整体网络性能。