云端数据“上榜”了!

news2024/11/19 4:14:30

背景介绍

随着全球特别是北美地区VNF网络应用渐渐地往云上迁移,云环境中更高的性能需求变得越来越迫切。作为一流数据处理中心部门,随着大势所趋,不仅仅专研于裸机的性能数据,也开始关注Intel平台在不同云环境中的性能表现。

在DPDK 22.07发布的 Intel NIC性能报告里,第一次添加了AWS(Amazon Web Services)云中基于Intel® Xeon® Platinum 8375C CPU 的m6id.metal 型号的DPDK性能数据。

云端部署

与裸机不同,云端的部署环境是私有的virtual private cloud(VPC)网络,其他地方的机器只能借助跳板机连接到公共的IP作为ssh引擎来连接网络。如图1所示,采用AWS上的3个实例,也就是3个VM环境来组建我们的测试环境。作为用户,可以根据需求来选择你要选用的机器型号。说到这个,需要了解下AWS的实例命名方式,以m6i.32xlarge为例,m6表示通用型m系列第6代,i表示Intel 处理器,m6i采用的是Intel目前最新一代的Xeon® Platinum 8375C处理器,点号的右侧是实例的大小,不同的实例大小表示vCPU数量、带宽等配置不同。目前m6i最大支持32xlarge规格,它的带宽是50Gbps,vCPU数量是128个。下文测试中用到的m6i 的metal规格和32xlarge规格一样,但是号称metal预留的是整台机器,可以减少其他用户的干扰,稳定性会更好些。目前AWS上支持的网卡驱动只有ENA(Elastic Network Adapter),我们不能选择或者更改此项搭配。

图1所示的黄色方框是数据流部分,这里主要用到2个实例,一个是Tester实例,采用TREX发包器来软件发包,另一个是DUT(Device Under Test)实例,运行DPDK应用程序做数据转发。测试中,Tester和DUT实例类型选用的都是AWS 的Intel® Xeon® Platinum 8375C 的m6id.metal 型号,分别采用一个网口做双向流测试,总带宽是50Gbps,观察TREX仪表盘统计分析性能数据。

b7eff3de583987e52c216f19eca2aa75.png

图1 环境部署

【注意】

在AWS中,对实例之间的包转发有一些要求:

  • 链路层:testpmd 转发模式为mac,源物理地址和目的物理地址必须是正确的,不然不能被对端网口收到,ENA驱动目前不支持混杂模式。

  • 网络层:由于支持的IP是在一个私有网络中,源IP和目的IP必须在一个正确的范围内。对于TREX发包,源IP和目的IP需要配置为正确的地址和网段(根据实际情况)。

系统信息

AWS的M6id.metal 实例系统信息如下。

1945b0806cf87a95a2c4a172395bd0ed.png

表1  m6id.metal系统信息

测试流程

1. 登陆到DUT实例,下载DPDK代码并且编译

2. 登陆到Tester实例,下载TREX代码

3. 绑定两端的网卡ENA驱动到igb_uio或vfio-pci模式

4. 在DUT实例启动testpmd命令

1vCPU-1Q: dpdk-testpmd -l 0,1 -a 0000:31:00.0 -- -i --forward-mode=mac --txd=1024 --rxd=2048 --txq=1 --rxq=1 --eth-peer=0, XX:XX:XX:XX:XX:XX  --nb-cores=1 --rss-udp

2vCPU-2Q: dpdk-testpmd -l 0,1,2 -a 0000:31:00.0 -- -i --forward-mode=mac --txd=1024 --rxd=2048 --txq=2 --rxq=2 --eth-peer=0, XX:XX:XX:XX:XX:XX  --nb-cores=2 --rss-udp

4vCPU-4Q: dpdk-testpmd -l 0,1,2,3,4 -a 0000:31:00.0 -- -i --forward-mode=mac --txd=1024 --rxd=2048 --txq=4 --rxq=4 --eth-peer=0, XX:XX:XX:XX:XX:XX  --nb-cores=4 --rss-udp

8vCPU-8Q: dpdk-testpmd -l 0,1,2,3,4,5,6,7,8 -a 0000:31:00.0 -- -i --forward-mode=mac --txd=1024 --rxd=2048 --txq=8 --rxq=8 --eth-peer=0, XX:XX:XX:XX:XX:XX  --nb-cores=8 --rss-udp

【注意】

  • 参数中-l 指定了核信息,预留0核给应用程序做控制面使用,其他核分配给数据流做转发。

  • --eth-peer=0,XX:XX:XX:XX:XX:XX, 设置的是对端网口的XX:XX:XX:XX:XX:XX 物理地址。

5. Tester实例端采用TREX进行发包,注意上述的链路层和网络层的配置要求,可以创建多条流来测试负载均衡RSS。

6. TREX采用如下命令来发数据流,启用TREX控制台来查看包的收发情况。

start -p 0  -m 100% -f stl/profile.py -t size=64,vm=cached

结果分析

由于云环境与实验室的裸机环境不一样,波动性比较大,选择AWS的时区,执行时段,邻居节点的使用情况等都会影响数据的稳定性,为了结论的可靠性,我们针对每组案例进行了10组采样,然后计算平均值来分析数据。

表2所示,测试中分别针对64,Cisco IMIX(354),500,1518,9000字节的1vCPU-1Q, 2vCPU-2Q,4vCPU-4Q,8vCPU-8Q的单核和多核测试组合进行10次采样,计算平均值得到如下表格。

f761060181e3e95c1685434d0e7ba56e.png

表2 性能数据

在DPDK NIC的性能报告里,Intel E810网卡在裸机Xeon® Platinum 8380服务器上,当报文包长大于128字节时,DPDK性能便可以达到网卡瓶颈。但是如表2所示,在相同系列Intel处理器的AWS m6id.metal 实例中,当包长为1518字节时,DPDK性能才接近网卡瓶颈,而且2vCPU-2Q,4vCPU-4Q,8vCPU-8Q的性能数据几乎相等,图2中显示的这几组曲线是重叠的,增加vCPU数量对性能没有提升,性能被AWS实例的网卡限制在 4.16 Mpps左右(数据仅作参考,不同实例类型和版本可能有所不同)。

d5a3957a3fb82db5a4cb782120423bac.png

图2 零丢包性能曲线

以上基于AWS云中m6id.metal 型号(Intel® Xeon® Platinum 8375C处理器)的DPDK testpmd零丢包性能测试是DPDK中最基本的测试,此项测试数据第一次被添加到DPDK 22.07 NIC 性能报告里且已发布,详情请参阅DPDK官网(http://fast.dpdk.org/doc/perf/DPDK_22_07_Intel_NIC_performance_report.pdf)。后期我们也将针对不同的业务和云平台展开,添加并发布更多的云端数据,敬请期待~ ~

304f6b5410eadb38135e9677a4209dc9.jpeg

转载须知

DPDK与SPDK开源社区

公众号文章转载声明

推荐阅读

DPDK Release 22.11

Release notes for VPP 22.10

剖析SPDK读写NVMe盘过程--从hello_world开始

TADK v22.09 Release

ed4041dbbc1eb3d58d73b0286b244ed0.jpeg

684f10241e5f3d53ebb2fa7e2731e0ed.gif

点点“赞”“在看”,给我充点儿电吧~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/106977.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

外汇天眼:日本央行突然上调收益率目标上限,日元10分钟内涨超2%

12 月 20 日,日本央行公布利率决议,并在货币政策会议上宣布堪称“黑天鹅事件”的重大政策转变。日本央行意外地调整了收益率曲线控制计划,宣布将收益率目标上限从 0.25% 上调至 0.5% 左右,同时又将 1 至 3 月日本国债购买规模提高…

Java当中多态的理解

1. 什么是多态 同一操作,作用于不同的对象,可以有不同的解释,产生不同的执行结果,这就是多态性。 对应到 Java 里就是针对同一个类型的对象,执行同一个方法,会表现出不同的行为。 简单点说: 就是用基类…

<Linux进程信号>——《Linux》

本节重点: 1. 掌握Linux信号的基本概念 2. 掌握信号产生的一般方式 3. 理解信号递达和阻塞的概念,原理。 4. 掌握信号捕捉的一般方式。 5. 重新了解可重入函数的概念。 6. 了解竞态条件的情景和处理方式 7. 了解SIGCHLD信号, 重新编写信号处理…

面试官:Docker 有几种网络模式?5 年工作经验都表示答不上来。。

docker容器网络 Docker在安装后自动提供3种网络,可以使用docker network ls命令查看 [rootlocalhost ~]# docker network ls NETWORK ID NAME DRIVER SCOPE cd97bb997b84 bridge bridge l…

第1章 概述

第一章 概述 考试范围: 1.1-1.10 考试内容: 章节后的Review Terms(名词基本都在课文中) 考试题型: 综合题 Review Terms Database-management system (DBMS) :A collection of interrelated data and a …

信息检索 Information Retrieval

信息检索主要是查找与用户查询相关的文档。 给定:大型静态文档集合 和信息需求(基于关键字的查询) 任务:查找所有且仅与查询相关的文档 典型的 IR 系统: • 搜索一组摘要 • 搜索报纸文章 • 图书馆搜索 • 搜索网络 …

毕业后,我已经离开机械行业转行码农一年多了......

背景 鄙人本科毕业两年有余,机械工程专业,我已经离开机械行业转行码农一年多了。 如果有正在学习的,退学还是千万不要,不过能换专业就换专业,不能换就往机电一体化靠,加上自学编程,以后做嵌入…

计算机毕设Python+Vue野生动物保护资讯管理系统(程序+LW+部署)

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

STM32的ST-link调试下载

调试原理 STM32F-10X使用M3内核,该内核支持复杂的同i傲视操作,硬件调试模块允许在取指令(指令单步运行)或访问数据(数据断电时)使得内核停止。在内核停止时,内核状态都可被查询,完成…

范登堡(van den berg)CPT使用记录

前段时间的CPT外业所使用的设备是范登堡的井下式或者说交互式的静力触探仪(CPT),型号是WISON-APB,下面是官网提供的照片。根据官网的介绍,它的探测工具分为三种,分别50KN(3m)、100KN…

KVM部署操作-尚文网络xUP楠哥

~~全文共1250字,阅读需约5分钟。 进Q群11372462,领取专属报名福利! # 安装KVM先决条件 KVM 需要有 CPU 的支持(Intel VT 或 AMD SVM),在安装 KVM 之前检查一下 CPU 是否提供了虚拟技术的支持。 基于 Intel 处理器的…

Qt之使用CQU库快速开发统一风格界面

在使用Qt开发时,肯定是想让开发的项目界面统一风格;不希望每个界面都要程序员用代码去修饰美化以及进行事件处理等等,这样非常繁琐,容易出错而且没有格调;所以我就开发一个动态链接库,封装统一的风格界面、…

尚医通-前端Vue学习(九)

(1)vscode的安装及使用 (2)前端知识-ES6语法知识点 (3)Vue-入门 (4) Vue的生命周期 (5)Vue-Axios的使用 (6)ElemmentUI介绍 &…

Java项目:SpringBoot课程在线学习系统

作者主页:源码空间站2022 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 项目介绍 采用SpringBootSpringMybatisThyeleaf实现的在线学习系统,一共2个角色:管理员与学生。 管理员角色功能: 登录…

Unreal Engine中的Actor:理解、生成与消亡

目录 谈谈Actor 生成(实例化)Acotr StaticClass/UClass:类模板/类的快照 Actor的生命周期 Actor的消亡 Destroy:标记删除 SetLifeSpan:设置存活时间 Destroyed:消亡Actor的通知 EndPlay&#xff1…

chatGPT对接微信

代码地址: https://github.com/jeffcail/go-wecaht-bot 喜欢的帅锅美女可以点个star哦😊 背景 玩一玩chatGPT。只因GPT你太美~~~ wechat SDK go get github.com/eatmoreapple/openwechat实现功能 自动通过好友申请用户私聊回…

我的转行之路

我一直想为自己没有继续从事编程,而转到铁路行业找一个合理的理由,来掩饰我的愚蠢。我日思夜想终于找到了更合理更有说服力的理由,十个字,目光的短浅,认知的缺乏。 那个时候,只被一毕业就能拿到不错的工资…

Python还有发展前景吗?现在该怎么去学习?

从2008年开始Python就突然火了起来,腾讯最近组织了一个大型Python技术交流峰会,由此可见Python现在已经到了我们不能想象的境界,一切的步伐都要跟着大公司走,腾讯这样级别的公司都这样重视Python技术,可见Python的发展…

什么样的人适合当黑客?

别说我没资格说这些话或是我的话是废话(对你来说是,对别人呢?),我想任何人都有资格尽自己的能力帮助别人. 首先,看到这篇文章,觉得好长,好烦,懒的看,走人… OK,我觉的你不适合做黑客! 07年我考上大学,选择了机械制造及其自动化(数控编程&a…

【linux kernel】linux内核裁剪随想

为什么需要裁剪? 首先,裁剪并不一定是缩小内核镜像的大小,而是移植和适配。内核支持的特性很多,站在项目的角度,不一定全部需要这些特性和功能。这时候就需要将不需要的特性和功能剔除,随着这个过程的进行…