没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
试读
13页
本文描述DPDK数据加速研发基本思路和主要研发内容。第一,了解业务对数据加速需求、存在的业务场景及数据加速指标要求。第二,根据业务基本要求和协议(包括L2、L3)内容特点分析数据加速过程中涉及到的核心代码,分析骨干代码主体设计思路,完成OFP、ODP、DPDK核心内容编译开发示例调试,熟悉整个代码基本原理和代码设计逻辑。第三,根据业务实际场景需求,利用测试用例做针对性的专项测试,测试目标是提升数据加速效果并达到业务数据加速数据指标。第四,为进一步完善数据加速效果和完成通用数据加速使用提升业务体验,提出合理的基本数据加速配置和针对性的优化配置。
资源推荐
资源详情
资源评论
DPDK 研发概要
1 序言
本文描述 DPDK 数据加速研发基本思路和主要研发内容。第一,了解业务对数据加速需求、存在的业务场景及数据加速
指标要求。第二,根据业务基本要求和协议(包括 L2、L3)内容特点分析数据加速过程中涉及到的核心代码,分析骨干代码
主体设计思路,完成 OFP、ODP、DPDK 核心内容编译开发示例调试,熟悉整个代码基本原理和代码设计逻辑。第三,根据业
务实际场景需求,利用测试用例做针对性的专项测试,测试目标是提升数据加速效果并达到业务数据加速数据指标。第四,为
进一步完善数据加速效果和完成通用数据加速使用提升业务体验,提出合理的基本数据加速配置和针对性的优化配置。
OFP 主要是 TCP/IP 协议栈封装,建立在 ODP 基础上开源应用层协议。
ODP 是一种为数据平面应用程序提供一个跨平台架构,使用抽象 API 规范,用于描述数据面应用程序功能模型,目前支
持 DPDK、Linux 两种高性能网络应用方案。
最底层是 DPDK,主要应用 x86 通用平台,为用户空间高效的数据包处理提供库函数和驱动支持。它不同于 Linux 系统
以通用性设计为目的,而是专注于网络应用中数据包高性能处理。需要强调的是,DPDK 应用程序是运行在用户空间上利用自
身提供的数据平面库来收发数据包,绕过了 Linux 内核协议栈对数据包处理过程。
整体熟悉内容,包括 TCP/IP 协议栈;ODP 抽象协议 API 接口;DPDK 关键技术、相关原理性的设计代码。
DPDK 核心技术要点包括 PMD 驱动、大页、亲和性、Cache 及内存对齐、NUMA、指令预取、降低内存访问开销、指
令并发等;内部逻辑代码中核心库文件包括 EAL、环形缓冲区管理、内存池管理、网络报文缓冲区管理、定时器管理、以太网
轮询驱动、网络协议库等内容。
DPDK 是个完整的计算机软件体系包括业务软件、协议软件、内核驱动等多领域内容。可概括为充分利用现代计算机系
统关键技术,如多级 Cache、高效内存访问、协议报文转发、PMD 驱动、并行计算(内核同步机制、指令并发、多核处理、
无锁机制等)、流分类和多队列、虚拟化(可选)等。
未来 NFV 系统整个性能取决于单个服务器或核心服务端转发性能与业务链转发性能(端到端转发性能),而 DPKD 是目
前解决这一性能转发效率最热门软件解决方案,也是目前核心网业务数据加速最优应用最广软件解决方案。
当前进度:
1) 已完成虚拟机上源码编译体系构建,用例编译构建;
2) 已完成 DPDK 基础测试用例虚拟机上调测;
3) 已完成 ENEA 公司提供的测试用例在虚拟机上调测;
4) 调试 DPDK 报文分发模型、L2/L3 数据转发、TestPMD 等测试用例,熟悉 ofp 多线程多队列数据接收分发、内存管
理、数据队列、缓存管理等;
1、ENEA 提供的用例无法在 SVB 上运行,主要是 dpdk16 版本,SVB 驱动不支持;验证测试使用的 DPKD17.11.3 版
本;
2、DPDK 底层 EAL 代码极度依赖 CPU 指令集,目前存在 Intel? Core? i5-4590 Processor(PC)、Intel Atom?
Processor C3808(SVB)、Intel? Xeon? Processor E5-2680(云服务器)三款 Intel 处理器指令集都存在差异,
根据不同目标环境需要做修改适配。
3、ENEA 提供的 16 版本和 DPDK17.11.3 版本存在差异很大,需要进一步评估移植驱动可行性;同时需要评估 ENEA 关
联的 16 版本代码库(OFP、ODP、DPDK),更新到 17.11 对应的版本,这一工作可行性。下周进一步分析。
4、SVB 单板 pktgen 测试数据灌包,测试基本完成;l3fwd 测试项,缺块 SVB 板,测试滞后。整体上,DPDK 测试组网、
相关流程已基本熟悉;
5) 设计符合业务需求 DPDK 报文处理模式,修改 ENEA 测试用例,dpdk 调度分发模式、报文队列,并进行基本性能压力
测试;
6) 根据 CSPL 消息调度模型,融合 OFP 报文处理框架;
7) 最后会根据实际业务场景输出模拟业务用例,完成专项测试;
2 实际业务
2.1 应用场景
哪些物理硬件场景?
1、 数据流 绘制场景 –王 epc
测试报告
网卡 网口
cpu
支持 IBM 服务服务器(必须有个标准型号限制,现有典型的 SR550、M5、)、自研 eTC、aTCA(6200)、
梳理不同场景 网卡和数据流映射关系
只支持 10G 网卡
2
数据加速的性能要求?
都是 10G 网口(1024b---8G、64b----4G)
参考业务数据(包括协议栈)
1400b 5G
64b 2G
业务 + enea + dpdk
平台底层 enea + dpdk
纯 dpdk 数据转发 8-9G
协议层要求?
tcp/udp
路由管理、vlan
验证 nat 穿越,dpdk 功能完整性— 与 sbc 对通(与 ims 共同验证)
哪些业务存在数据加速需求?
已研发进展和问题难点?
易用性
可靠性
没有检测网口绑定状态,异常流程状态查询。
业务配置隔离
提供系统 enea+dpdk 基础配置、统计状态、功能维测
32bit
CSPL API 协议封装,业务仅负责回调处理,底层不拷贝数据
动态库?静态库
业务容易重启,绑定网卡失败,无法绑定;无法检测是否处于绑定状态;
10G 网卡(网卡
Intel x520-sr2 pci-e
的 2*10Gbps)?
Intel x553
03:00.0 Ethernet controller: Intel Corporation I210 Gigabit Network Connection (rev 03)
04:00.0 Ethernet controller: Intel Corporation I210 Gigabit Backplane Connection (rev 03)
05:00.0 Ethernet controller: Intel Corporation I210 Gigabit Backplane Connection (rev 03)
07:00.0 Ethernet controller: Intel Corporation Device 15c2 (rev 11)
07:00.1 Ethernet controller: Intel Corporation Device 15c2 (rev 11)
08:00.0 Ethernet controller: Intel Corporation Device 15c2 (rev 11)
08:00.1 Ethernet controller: Intel Corporation Device 15c2 (rev 11)
Dpdk17.11
2.2 软件版本
与开发测试保持软件一致
2.3 虚拟化支持
开发测试环境使用虚拟机环境?
业务实际部署存在虚拟机上运行?
业务使用虚拟化部署方式,dpdk 支持虚拟化配置?
2.4 已知需求
包括使用场景(cpu、网卡),功能需求,性能指标、版本匹配
TMF 业务网元需求如下:
剩余12页未读,继续阅读
资源评论
csdakow123
- 粉丝: 2
- 资源: 9
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功