解读: 火山引擎自研vSwitch技术

最近看到一篇文章介绍火山云的网络vSwitch技术,虽然是2022年的比较老的介绍,但是对于我们看到vSwitch技术的发展还是有些参考的。下面就截取了当时火山vSwitch关心的几个问题,做了一下梳理。

背景

在云计算发展过程中,虚拟网络的主要追求在于产品的丰富和极致的性能。OVS因其考虑通用性,架构在针对特点的场景中显复杂,转发性能方面相比就偏低。这篇文章主要讲述火山云在自研vSwitch技术上的探索。

火山云网络产品一览表如下,其中主要是三个方面,一是云上网络,而是云间网络(跨地域互联),三是云上云下网络(数据中心延伸)。这个和各大云厂商并没有太大的差异性。
火山云网络产品

vSwitch发展历程

从第一代kernel版本,到用户态DPDK OVS,到自研BVS,再到软硬件结合,业界的主流趋势。
vSwitch发展历程

第三代vSwitch(BVS)

第三代vSwtich
在自研vSwitch的路上做了哪些工作:

  1. 性能优化
    a. 高性能的架构
    b. 高性能的算法
  2. 运维能力建设
  3. 高级特性的支持
    同时产出一个平台框架-ByteFlow,可以给VPC网关、LB网关等数据面转发使用。

热升级

热升级1.0
一般采用双进程方案,整体的流程如下:
Step1: 启动一个新进程
Step2: 数据同步
Step3: 网卡分流到新的进程
Step4: 杀死老的进程,ECS与新进程重连
面临的问题是: 热升级方案的downtime会比较长,极端情况下downtime会到6s以上,这个用户是无法接受的。
解决方法: 通过迁移机制把存量的queue信息从旧的BVS进程迁移到新的BVS进程,这个新方案中,ESC网卡是没有down/up的,因此只要队列没满就不会丢包,所以网络的中断时间也非常的短。20ms以内,业务无感。
热升级2.0

热迁移

  1. BVS上支持了vport级别的session同步功能,热迁移开始时会做一次全量的session同步,全量同步完后会实时同步增量session,从而保证两边的session是一致的。
  2. relay转发功能,旧的BVS节点收到迁移VM的流量后会relay转发到新的BVS节点。
    热迁移

incast优化

如何应对微突发?

  1. 转发性能提升,快慢速路径优化
  2. cache优化 + RXQ buffer从4K调到了8K
  3. 调大网卡RXQ队列数,增大网卡polling权重
  4. 基于负载的自适应权重调度功能
    incast优化

软硬件一体化

  1. 接口层面新增了对SRIOV和vDPA的支持;
  2. 在BVS快路径层之下设计一套抽象的Offload层,用于屏蔽不同的底层硬件差异。
    软硬件一体化

统一架构服务各种场景

BVS支持 ECS场景、VCI弹性容器场景、EBM裸金属场景,采用统一的技术栈,具备统一的产品能力和产品体验。
统一架构

总结

自研vSwitch,带来的主要收益:

  1. 网络传输延时可降低一半
  2. 全面提升至100G*2物理网络
  3. 最大网络带宽提升220%
  4. 单实例网络转发能力提升180%,最高可达25M万PPS
  5. 单实例支持会话数提升350%,最高可达1600万
    未来演进硬件DPU等等。

1.《突破性能瓶颈,火山引擎自研vSwitch技术实践揭秘》https://www.volcengine.com/docs/6359/162368

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

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

相关文章

虚拟环境默认安装到C盘的修改办法

问题: 创建的虚拟环境默认安装到了C盘。 将路径改成D盘下。 解决办法: 我是按照博客w11下载anaconda在d盘,新建的虚拟环境总是在c盘怎么解决_如何保证anaconda的全在e盘-CSDN博客 中的方法1解决的。 用记事本打开.condarc文档&#xff0…

C++之STL—函数对象谓词

函数对象(仿函数) 函数对象(仿函数)是一个**类**,不是一个函数 类名() 仿函数 直接调用: 、 谓词 定义:返回类型为bool 类型的仿函数 一元谓词:operator()接受一个参数 二元谓词&a…

JavaScript高级——事件循环模型

1、 2、所有代码分类 ① 初始化执行代码(同步代码):包含绑定 dom 事件监听,设置定时器,发送 ajax 请求的代码 ② 回调执行代码(异步代码):处理回调逻辑 3、js 引擎执行代码的基本流…

ubuntu系统下mamba-yolo模型的深度学习环境搭建

本文将介绍如何在ubuntu系统下配置目标检测模型mamba-yolo的深度学习环境 1. 环境要求 Python > 3.9 (本文使用python-3.11) CUDA > 11.6 (本文使用CUDA-11.8) Pytorch > 1.12.1 (本文使用torch-2.4.0&…

【4.6】图搜索算法-DFS和BFS解合并二叉树

一、题目 给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。你需要将他们合并为一个新的二叉树。合并的规则是 如果两个节点重叠,那么将他们的 值相加作为节点合并后的新值,否则不为 NUL L…

计算机视觉实战项目4(图像分类+目标检测+目标跟踪+姿态识别+车道线识别+车牌识别+无人机检测+A*路径规划+单目测距与测速+行人车辆计数等)

往期热门项目回顾: 计算机视觉项目大集合 改进的yolo目标检测-测距测速 路径规划算法 图像去雨去雾目标检测测距项目 交通标志识别项目 yolo系列-重磅yolov9界面-最新的yolo 姿态识别-3d姿态识别 深度学习小白学习路线 AI健身教练-引体向上-俯卧撑计数…

Vmware VC登录报错:Vmware报错 HTTP状态 500 - 内部服务器错误

问题现象: 登录Vmware VC系统报错:Vmware报错 HTTP状态 500 - 内部服务器错误、 然后登录管理服务(访问端口:5480)重启一下异常服务,结果提示证书过期。 初步判断VC SSL证书到期 判定方法: 1…

从源码到上线:轻松搭建您的地方门户分类信息平台 带完整的安装代码包以及搭建部署教程

系统概述 地方门户分类信息平台逐渐成为居民获取本地资讯、生活服务、商家信息、二手交易等多元化信息的重要渠道。然而,传统的信息平台搭建往往需要较高的技术门槛和较长的开发周期,这对于许多中小企业和个人开发者而言无疑是一大挑战。因此&#xff0…

ab压测工具进行流量测试

可以使用httpd服务携带的httpd-tools工具中的ab小的压测工具进行流量测试,服务端IP为192.168.6.1,并安装httpd服务,测试端安装httpd-tools工具。 1、服务端上安装httpd服务 [rootlocalhost ~]# yum install httpd -y [rootlocalhost ~]# s…

CKKS同态加密通用函数近似方法和openFHE实现

摘要 同态加密可以直接在密文上进行运算,尤其是CKKS,可以直接在实数的密文上进行运算。服务器可以利用强大的计算能力,在不泄露用户隐私的情况下,为用户提供便捷的外包运算服务。然而,CKKS只能进行算术运算&#xff0…

Word:表格公式计算

一、求和公式 以下演示是在windows操作系统环境,office软件进行操作的 SUM(LEFT) 全部步骤图如下: 步骤一 光标置于单元格,依次单击【表格工具-布局】→【数据】→【公式】 步骤二 在【公式】一栏中,默认的是“SUM(LEFT)”求和…

Linux——k8s、deployment、pod

声明式配置文件:要求集群中的某一个资源,处于指定的状态。集群中都有哪些可以管理的资源?控制器: 用来控制pod数量、运行参数deployment 管理灵活,而pod的创建、删除、运行、更新等均无需直接操作pod,只需…

重磅信息!灰豚数字人发布首个为直播而生的AI语音大模型

AI社消息,近日灰豚数字人发布首个为直播而生的AI语音大模型。该声音大模型在我国获得多个之最。 灰豚语音大模型 与市面上所有声音机械化语音大模型不同的是,灰豚语音大模型的声音媲美真人。该大模型有语种、有内容、有韵律、有音色、有情绪、观众听众无…

windows通过文件系统访问ftp传输中文乱码

windows通过文件系统访问ftp传输中文乱码 问题原因:windows默认的编码格式使ftp发送文档时不支持中文,导致发送出去的文档是乱码文件,此问题是客户端问题,非服务端解析问题。 1、问题 windows通过文件系统访问ftp服务器&#x…

华为 HCIP-Datacom H12-821 题库 (28)

🐣博客最下方微信公众号回复题库,领取题库和教学资源 🐤诚挚欢迎IT交流有兴趣的公众号回复交流群 🦘公众号会持续更新网络小知识😼 1.使用 NAT 技术,只可以对数据报文中的网络层信息(IP 地址&#xff09…

2024百度云智大会:众数信科携寻知AI亮相,荣获“大模型先锋伙伴”奖

9月25日,百度云智大会在北京中关村国际创新中心顺利举行。百度智能云携手众多伙伴围绕算力、模型、应用三个话题,共同探讨如何在新一轮技术变革中更好抢抓机遇、激发产业活力、实现智能跃升。 众数信科作为百度智能云的重要合作伙伴受邀出席本次大会&…

入选ECCV 2024!覆盖5.4w+图像,MIT提出医学图像分割通用模型ScribblePrompt,性能优于SAM

外行看热闹,内行看门道,这句话在医学影像领域可谓是绝对真理。不仅如此,即便身为内行人,要想在复杂的 X 光片、CT 光片或 MRI 等医学影像上准确看出些「门道」来,也并非易事。而医学图像分割则是通过将复杂的医学图像中…

学习记录:js算法(四十七):相同的树

文章目录 相同的树我的思路网上思路队列序列化方法 总结 相同的树 给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 图一: 图二&…

基于SSM的“在线汽车交易系统”的设计与实现(源码+数据库+文档+开题报告)

基于SSM的“在线汽车交易系统”的设计与实现(源码数据库文档开题报告) 开发语言:Java 数据库:MySQL 技术:SSM 工具:IDEA/Ecilpse、Navicat、Maven 系统展示 系统总体设计图 首页 新闻信息 用户注册 后台登录界面…

Llama 3.2:轻量级设计与多模态能力

前沿科技速递🚀 9月26日Meta 推出了 Llama 3.2,这是一个前沿的多模态大语言模型系列。该系列包括轻量级文本模型(1B 和 3B)以及视觉模型(11B 和 90B),专为在边缘和移动设备上的高效应用而设计。…