中国电信dpdk技术白皮书v1.0

上传人:小** 文档编号:92053122 上传时间:2019-07-06 格式:PDF 页数:89 大小:1.37MB
返回 下载 相关 举报
中国电信dpdk技术白皮书v1.0_第1页
第1页 / 共89页
中国电信dpdk技术白皮书v1.0_第2页
第2页 / 共89页
中国电信dpdk技术白皮书v1.0_第3页
第3页 / 共89页
中国电信dpdk技术白皮书v1.0_第4页
第4页 / 共89页
中国电信dpdk技术白皮书v1.0_第5页
第5页 / 共89页
点击查看更多>>
资源描述

《中国电信dpdk技术白皮书v1.0》由会员分享,可在线阅读,更多相关《中国电信dpdk技术白皮书v1.0(89页珍藏版)》请在金锄头文库上搜索。

1、 DPDK 技术白皮书 V1.0 中国电信股份有限公司广州研究院 2015 年 10 月 DPDK 技术白皮书 中国电信股份有限公司广州研究院 2 目 录 1 概述概述 4 1.1 问题背景 . 4 1.2 范围 . 5 2 DPDK 技术简介技术简介 6 2.1 技术原理与架构 . 6 2.2 软件架构 . 6 2.3 大页技术 . 8 2.4 轮询技术 . 9 2.5 CPU 亲和技术 9 3 DPDK 性能影响因素性能影响因素 11 3.1 硬件结构的影响 . 11 3.2 OS 版本及其内核的影响 . 12 3.2.1 关闭 OS 部分服务 12 3.2.2 OS 调整示例 . 13

2、3.3 OVS 性能问题 14 3.4 内存管理 . 14 3.4.1 内存多通道的使用 . 14 3.4.2 内存拷贝 . 15 3.4.3 内存分配 . 15 3.4.4 NUMA 考虑 . 15 3.5 CPU 核间无锁通信 16 3.6 设置正确的目标 CPU 类型 . 17 4 DPDK 在在 NFV 中的应用中的应用 18 4.1 VNF 在物理机上应用 18 4.1.1 应用场景 . 18 4.1.2 讨论 . 19 4.2 VNF + OVS 应用 . 19 4.2.1 应用场景 . 20 4.2.2 讨论 . 20 4.3 VNF + SR-IOV . 21 4.3.1 应用

3、场景 . 21 4.3.2 讨论 . 22 5 DPDK 性能专项测试性能专项测试 23 5.1 测试网络拓扑 . 23 5.2 测试标准 . 24 5.2.1 性能指标 . 24 5.2.2 测试方法 . 24 5.3 测试平台说明 . 25 5.3.1 硬件平台说明 . 25 5.3.2 软件平台说明 . 27 5.4 测试用例介绍 . 29 DPDK 技术白皮书 中国电信股份有限公司广州研究院 3 5.5 专项测试 . 30 5.5.1 主要测试流程 . 30 5.5.2 DPDK 物理机三层转发 . 30 5.5.3 SR-IOV 测试 44 5.5.4 OVS 测试 58 6 参考配

4、置参考配置 67 6.1 通用硬件参考配置 . 67 6.2 推荐硬件 BIOS 设置 67 6.3 推荐 OS 及相关设置 68 6.4 不同应用场景参考配置 . 68 6.4.1 物理机三层转发参考配置 . 68 6.4.2 SR-IOV 推荐设置 70 6.4.3 OVS 推荐设置 71 7 缩略语缩略语 74 8 参考文献参考文献 75 9 鸣谢鸣谢 76 附录附录 . 77 附录一:操作系统安装 . 77 附录二:操作系统服务关闭说明 . 78 附录三:操作系统启动参数 . 79 附录四:DPDK 编译 . 80 附录五:DPDK 软件启动配置 . 81 附录六:L3fwd 程序编译

5、 . 83 附录七:SR-IOV 测试配置 84 附录八:OVS 安装 86 附录九:OVS 测试配置 87 DPDK 技术白皮书 中国电信股份有限公司广州研究院 4 1 概述概述 1.1 问题背景问题背景 ETSI NFV 技术通过运行在通用 x86 架构硬件上的虚拟化网络功能,为电信运营商和互 联网服务商提供了一种灵活的业务部署手段和高效的组网方案,可以支持固移网络和 IDC 中 NAT、DPI、EPC、FW 等各类业务功能的广域灵活部署与网元弹性扩展。 不同于典型数据中心业务和企业网业务,电信广域网业务要求网元(如 BNG、DPI 等) 具有高吞吐、低时延、海量流表支持、用户级 QoS

6、控制的特点。大量实践表明,通用 x86 服务器作为 NFV 基础设施用于高转发业务时, 面临着严重的转发性能瓶颈, 需要有针对性地 从硬件架构、系统 I/O、操作系统、虚拟化层、组网与流量调度、VNF 功能等层面进行性能 优化,才能达到各类 NFV 网络业务的高性能转发要求。 根据 ETSI 的 NFV 参考架构, 现实中的 NFV 应用系统一般由 NFV 基础设施和 VNF 两类系 统服务商提供。因此,相应的 NFV 端到端性能测试,也应划分为底层的 NFV 基础设施性能与 上层的 VNF 性能两类,以明确各自的性能瓶颈,并避免性能调优工作相互干扰。 在各类 NFV 基础设施性能优化技术方案

7、中,DPDK(Data Plane Development Kit)类 软件加速方案已成为一种普遍采用的基本方法, 它以用户数据 I/O 通道优化为基础, 结合了 Intel VT 技术、操作系统、虚拟化层与 vSwitch 等多种优化方案,已经形成了完善的性能 加速整体架构,并提供了用户态 API 供高速转发类应用访问。 在 DPDK 技术的应用中,大多数 NFV 应用与开发单位一般关注如下几类问题: 1) DPDK 应用于不同硬件、软件环境下的基本性能 2) DPDK 转发性能调优方法、性能影响因素 3) DPDK 调优参考配置 4) DPDK 应用开发的稳定性、可移植性 针对这些问题,本

8、文基于 DPDK 的提供 NFV 转发性能调优的最佳实践和测试结果,以有 助于业界同仁开展 NFV 系统的研发与性能评估工作。 DPDK 技术白皮书 中国电信股份有限公司广州研究院 5 1.2 范围范围 本白皮书主要集中分析基于DPDK的单节点物理主机与虚拟机环境的I/O性能优化方法, 以及相关性能指标与测试方法。有关多节点 NFV 服务器、端到端 NFV 基础设施、VNF 相关性 能的集成测试方法,请参见 ETS NFV GS-PER-001。 另外,我们使用 DPDK 网站提供的 L2/L3 转发样例程序作为性能测试的环回工具,具体 的 VNF 性能调优方法不在本文讨论范围。 本文将提供如

9、下内容: DPDK 技术的原理、应用场景概述 通过介绍部分实验性结果,分析 DPDK 转发技术的性能影响因素 DPDK 测试方法、测试基准、不同软硬件配置下的 DPDK 性能测试结果 根据我们的最佳实践经验,在附录中提供不同用例的硬件、OS、虚拟化层、DPDK 配置模板 本文后续将根据应用要求不断完善,持续更新。后续可能的工作包括: 海量流表相关的 DPDK 转发性能测试 高负载压力测试 基于 OVS 的 VM 内部环回性能测试 部分 VNF 性能测试,以及跨 HOST 端到端性能测试 DPDK 技术白皮书 中国电信股份有限公司广州研究院 6 2 DPDK 技术简介技术简介 DPDK 技术框架

10、可以划分为 DPDK 基本技术与 DPDK 优化技术两部分,前者指标准的 DPDK 数据平面开发包和 I/O 转发实现技术,本章将概述该部分的主要原理;后者是在 DPDK 应用 过程中,为进一步提高各类用户应用程序的转发性能,所采取的性能调优方法和关键配置, 这部分将在第 3 章介绍。 2.1 技术原理与架构技术原理与架构 由于采用软件转发和软件交换技术, 单服务器内部的转发能力是 NFV 系统的主要性能瓶 颈。在各类高速转发的 NFV 应用中,数据报文从网卡中接收,再传送到虚拟化的用户态应用 程序(VNF)处理,整个过程要经历 CPU 中断处理、虚拟化 I/O 与地址映射转换、虚拟交换 层、

11、网络协议栈、内核上下文切换、内存拷贝等多个费时的 CPU 操作和 I/O 处理环节。 业内通常采用消除海量中断、 旁路内核协议栈、 减少内存拷贝、 CPU 多核任务分担、 Intel VT 等技术来综合提升服务器数据平面的报文处理性能,普通用户较难掌握。业界迫切需要 一种综合的性能优化方案,同时提供良好的用户开发和商业集成环境,DPDK 加速技术方案 成为其中的典型代表。 DPDK 是一个开源的数据平面开发工具集,提供了一个用户空间下的高效数据包处理库 函数,它通过环境抽象层旁路内核协议栈、轮询模式的报文无中断收发、优化内存/缓冲区/ 队列管理、 基于网卡多队列和流识别的负载均衡等多项技术,

12、实现了在 x86 处理器架构下的 高性能报文转发能力, 用户可以在 Linux 用户态空间开发各类高速转发应用, 也适合与各类 商业化的数据平面加速解决方案进行集成。 英特尔在 2010 年启动了对 DPDK 技术的开源化进程, 于当年 9 月通过 BSD 开源许可协议 正式发布源代码软件包,并于 2014 年 4 月在 www.dpdk.org 上正式成立了独立的开源社区 平台,为开发者提供支持。开源社区的参与者们大幅推进了 DPDK 的技术创新和快速演进, 而今它已发展成为 SDN 和 NFV 的一项关键技术。 2.2 软件架构软件架构 DPDK 的组成架构如图 2-1 所示,相关技术原理

13、概述如下: DPDK 技术白皮书 中国电信股份有限公司广州研究院 7 XENVIRT DPDK Sample Applications Customer Applications ISV Eco-System Applications EAL MALLOC MBUF MEMPOOL RING TIMER Core Libraries Packet FrmWork DISTRIB Extensions KNI POWER IVSHMEM Platform ETHDEV E1000 IXGBE VMXNET3 PCAP IGB I40e VIRTIO RING NIC LPM EXACT MATC

14、H ACL Classify METER SCHED Qos Packet Access (PMD- NativesPorts Disable 6 Hi-Speed USB 2.0 Ports Intel QuickAssist Technology Intel Xeon Processor ES-2600 V2 Series (Up to 10 cores) Intel Xeon Processor ES-2600 V2 Series (Up to 10 cores) Intel Communications Chipset 89xx Series Intel Management Engi

15、ne Ignition Firmware and BIOS Support DMI 2 Intel QPI Links 图图 3 31 1 通用双路服务器内部结构通用双路服务器内部结构 硬件规格对 DPDK 性能的影响体现在几个方面: CPU 频率:CPU 频率越高,DPDK 性能越高 LLC(last leve cache)大小:缓存越大,DPDK 性能越高 DPDK 技术白皮书 中国电信股份有限公司广州研究院 12 PCIe Lane 的数目:PCIe 链路可以支持 1、2、4、8、12、16 和 32 个 Lane,即1、 2、4、8、12、16 和32 宽度的 PCIe 链路。需要确保

16、其带宽可以满足 所插网卡的带宽。 NUMA: 网络数据报文的处理由网卡所在的 NUMA 节点处理, 将会比远端 NUMA 节点处 理的性能更高。 3.2 OS 版本及其内核的影响版本及其内核的影响 不同的Linux OS发行版使用的Linux内核版本不一样, 配置的Linux OS服务也不一样。 这些差异都会导致应用程序在网络报文处理能力上有所差别。 由于 Linux 内核还在不断演进,Linux 的发行版也数量众多,本文无法提供最佳 Linux 内核版本和配置,而只能给出部分参考建议,如:关闭部分 OS 服务。在后续章节,我们选 取了目前比较流行的 Linux 发行版进行了测试,并给出测试结果。从测试结果中显示,同样 的硬件配置环境下,不同的 Linux 发行版在小包的处理能力上存在差异。 3.2.1 关闭关闭 OS 部分服务部分服务 在 10G 端口上 64Byte 报文

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号