HDSLB VPP 23.04 is formally released

news2024/11/24 22:55:06

1

摘要

近年来随着数字化技术的发展,数据中心以及边缘设备的网络带宽需求越来越高。作为部署在服务入口位置的4层负载均衡器,其性能要求也随之水涨船高。为了应对当前的市场需求,充分利用Intel的软硬件技术和优势,针对4层负载均衡器场景,设计了HDSLB(High Density Scalable Load Balancer),即高密度可扩展负载均衡器。

47196eb2c160ee55c906ef35ddaf3742.png

P1: HDSLB市场Marketing Addressing

HDSLB-VPP是一个基于VPP实现的4层负载均衡器软件。它旨在打造一个业界领先的高性能负载均衡器:达到150Mpps级别的吞吐量、100M(1亿)级别的并发连接、每个节点10M级别的CPS和出色的线性扩展能力。HDSLB-VPP基于Fd.io/VPP定制轻量化的框架,充分利用VPP良好的扩展性和灵活性,健壮的协议栈,丰富的高性能网络功能组件,以及众多高性能基础库等优势。HDSLB-VPP为Intel Prosperity License,对客户的商业化落地非常友好。

HDSLB-VPP基于IA特性开发了丰富的负载均衡功能。HDSLB-VPP核心功能在英特尔主流平台(i.e., 第三代及第四代Xeon-SP,及Xeon-D等)进行了深度优化,涵盖了AVX2、AVX512、FDIR以及计划中的DLB,DSA等特性,最终实现支持超过1000M(10亿)级别的并发连接,单核每秒百万级的TCP新建会话能力。HDSLB-VPP是在IA平台上部署负载均衡器解决方案的最佳实践。

2

软件架构及主要功能 

HDSLB-VPP 软件架构如图所示:

46a99ea2c882d420dfa79247667b3afd.png

P2: HDSLB-VPP软件架构

主要功能概述:

HDSLB-VPP整体软件架构分为基础组件框架层、设备层、协议层及负载均衡实现层四大部分。设备层集成了IA平台硬件加速特性和VPP框架提供的诸多收发包插件。以下例举出当前最新HDSLB-VPP 23.04 release支持的全面功能供参考:

  • 基础组件: 主要包括VPP的向量化处理框架,配置调试接口,内存管理,以及一些高性能的基础库。

  • 设备相关部分:提供了系统的输入输出流量。HDSLB-VPP推荐使用VPP Native AVF驱动程序。相较于DPDK插件的驱动程序,Native驱动可以获得更好的性能。HDSLB-VPP整合了丰富的Intel硬件加速技术:例如E810网卡的RSS, Checksum Offload, FDIR等功能,以及CPU的向量化指令,如AVX512。

  • 协议栈部分:以负载均衡业务为核心,提供必须的协议交互如IPv4, IPv6, TCP, UDP, 也支持ICMP等以适配更多的业务场景。

  • 负载均衡功能:HDSLB-VPP是有状态的4层负载均衡器,因此有会话管理功能。HDSLB提供如图所示的丰富的负载均衡功能如FNAT/NAT/DR和IPIP封装,以及支持SNAT协议,为RS提供访问外部服务的能力。RS调度算法支持RR, WRR, WLC和Consistent Hash。

  • 除优秀的负载均衡能力外,在高可用HA方面,结合keepalived,支持主备模式、会话同步以及健康检查。

在以上功能已全部支持之外,HDSLB-VPP在吞吐,新建和并发等性能指标上也有优秀的表现。

3

性能数据总结

HDSLB-VPP具有业界领先的性能表现。下文将从吞吐、每秒TCP新建连接(CPS)和最大并发会话三个方面,与某开源4层负载均衡方案最新的性能数据进行对比。需要特别指出的是,开源负载均衡方案中采用的硬件平台为E5-2650,并发会话量2K-10K,测试流量为 64字节包长UDP协议流量。而HDSLB-VPP采用通用IXIA测试仪在第三代Xeon-SP平台测试1-16 cores的吞吐性能表现,其中每core为10M 并发会话量。从下图中可以看出,HDSLB-VPP在并发会话数量增加10倍的情况下,取得了三倍以上的单核性能优势,且具有更好的线性扩展能力。图中MAX,PDR和NDR分别是在尽力转发,十万分之一丢包率和零丢包率三种丢包模式下进行测试所得到的数据,可以反应出HDSLB-VPP优秀的稳定性。且在NAT/DR/IPIP等其他模式下和FNAT模式趋势一致。

87e43253e43435a45e43ca3118937419.png

P3: FNAT IPv4吞吐量

fa7abc10f324227c50104d3b67423f29.png

P4: CPS每秒TCP新建性能

TCP新建性能方面,HDSLB-VPP在测试中采用IXIA Ixload同时新建老化的方法模拟真实环境测试,从测试结果看,单核每秒新建性能CPS具有五倍以上的性能优势。

HDSLB-VPP基于VPP框架对数据结构内存进行了深度优化,使得HDSLB-VPP在同等内存消耗的基础上,最大并发会话量突破预设的100M(1亿)级别,扩大到FNAT模式的500M(5亿)会话量。在NAT模式下,甚至可以达到1000M(10亿)会话量级别。HDSLB-VPP对于内存方面做的优化及并发会话量的优势,使得HDSLB-VPP在未来IPv6越来越普遍和成熟的场景下,将有更大的实用价值。在达到高性能负载均衡的同时,可以更好地帮助客户节省更多的系统资源用于其他业务的部署。

7ae3d3f3505f64e3fa8296ed6ded53e2.png

4

配置推荐

基于不同的客户群体和产品需求,TCO及业务能力要求,推荐以下平台及NIC参考配置。针对网络安全厂商的安全网关产品,通常需要支持1M-10M会话量,吞吐需达到10G-100G,新建能力每秒在10K-500K之间,针对这类网关产品可以使用Atom 5000 及Atom 3000等系列CPU及E810系列网卡(25G或100G)产品组合。当前已有安全厂商和Intel深度合作进行终端产品开发。而针对边缘Edge端和数据中心、云厂商和ISP服务提供商,推荐选用第三代及最新的第四代Xeon-SP系列处理器及E810系列网卡(100G或200G)进行部署。更多业务场景或选型请联系相关Sales团队获取更多详细信息。

f8b18ee54c7eaeff623fa5c08e279311.png

P5: 平台推荐

5

总结


综上所述,基于VPP 实现的HDSLB-VPP,是一款能部署在祼金属 x86服务器和多云环境,且具有业界领先的性能和突出的线性扩展能力的4层负载均衡产品。

文中涉及到的特性均已经包含在最新发布的HDSLB-VPP 23.04 release版本中,未来还将提供基于第四代Xeon-SP加速器的大象流处理能力,以及支持QoS、Anti-DDoS等相关安全功能。

HDSLB-VPP是基于Intel Prosperity license开发的产品,旨在让客户能基于该软件方案实现更多商业化场景的落地。暂时不会开源, 如有需要请随时与我们联系。

此外,团队另一款基于DPVS的HDSLB版本,目前已经在开源社区公开, 有专业的技术团队可以提供相应的维保服务。欢迎有兴趣或者有需要的同行共同参与社区的建设和交流。

HDSLB-DPVS开源版本: https://github.com/intel/high-density-scalable-load-balancer。

联系方式:

• Zhang, Pan (pan1.zhang@intel.com )

• Jing, Yiming (yiming.jing@intel.com )

参考资料

  1. 火山引擎边缘云采用基于英特尔® 软硬件打造的 HDSLB,深度优化四层负载均衡性能:https://www.intel.cn/content/www/cn/zh/customer-spotlight/cases/volcano-engine-edge-cloud-balance-hdslb.html 

  2. Intel® Dynamic Load Balancer (Intel® DLB) - Accelerating Elephant Flow: https://www.intel.com/content/www/us/en/content-details/769116/intel-dynamic-load-balancer-intel-dlb-accelerating-elephant-flow-technology-guide.html 

a7f53ba43a402ca11e5fa2187e0424ed.jpeg

转载须知

DPDK与SPDK开源社区

公众号文章转载声明

推荐阅读

Release notes for VPP 22.06

Release notes for VPP 22.10

3c17d2cd2ac89678fd23f7e5659e827f.jpeg

ca0a1e9f5bc93230b149bbb140c75776.gif

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

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

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

相关文章

一个奇葩的问题

大家好,这里是极客重生,最近遇到一个奇葩的网络问题,分享给大家,看完一定会觉得很奇葩。 问题现象 客户反馈有一个server端S, 两个client端C1, C2, S的iptables规则对C1, C2都是放通的,但是C2无法连接上S&a…

有奖征文 | 夙兴夜寐,铸梦网安

出品|MS08067实验室(www.ms08067.com) 本文作者:潜龙勿用 01 时光荏苒,流年岁月如白驹过隙,不停飞逝于眼前,在这车马星驰的人间,踏入网络安全领域已然三年有余。我也终于从一开始的不…

左移右移 2022年国赛 思维

思路: 简单的思维题,应该从后往前遍历操作。如果后面的对数i操作过,则前面对数i的操作都可以无视。可以通过栈这种数据结构实现后往前遍历。 AC代码: import java.io.*; import java.util.*; public class Main{public static …

Linux常用命令——groupdel命令

在线Linux命令查询工具 groupdel 用于删除指定的工作组 补充说明 groupdel命令用于删除指定的工作组,本命令要修改的系统文件包括/ect/group和/ect/gshadow。若该群组中仍包括某些用户,则必须先删除这些用户后,方能删除群组。 语法 gro…

LC3-仿真器的安装

LC3-仿真器安装 参考:Download and Install LC-3 | CS 131 - Computer Organization (comp-org-etext.netlify.app) 如觉得本文写的不够详细,可参考如上网址。 介绍 小型计算机LC-3 汇编环境是一种模拟指令架构(ISA),…

wpf 3d复习1

之前研究过一段wpf 3d显示机械臂的代码;复习一下看一下; 它的摄像机位置是,0.491531,0.298732,0.321531; 我想把看到物体变小;就是摄像机移远;把摄像机坐标都乘以3,变为 , …

chatgpt赋能python:Python平均值函数简介

Python平均值函数简介 Python是一种广泛使用的编程语言,因为它易于学习,语法简单,可以完成广泛的任务和应用程序开发。 在Python编程中,平均值函数是最基本、最常用的函数之一。平均值可以用来表示一组数据集的中心趋势指标。让…

微软为 VS Code 带来 C# 开发套件

微软于今天在 Marketplace 上架了一款适用于 Visual Studio Code 的官方 C# 开发套件 —— C# Dev Kit,通过更好地管理、测试,以及提供全新的 AI 功能,为 Linux、macOS 和 Windows 平台的开发者带来了更好的 C# 开发体验。 根据微软官方提供的…

关于语言模型私有化部署的讨论 | AIGC实践

上周在与TC同行关于AIGC实践的线上交流中,大家普遍比较关心的一个实践切入点是:语言模型的私有化部署——简单来说,就是在企业内部,部署一个属于自己的“ChatGPT”,对于本行业/专业知识,以及企业独有的产品…

【学习日记2023.6.7】之 MyBatisPlus入门

文章目录 MybatisPlus1. 入门案例1.1 SpringBoot整合MyBatisPlus入门程序 2. MyBatisPlus概述2.1 MyBatis介绍2.2 MyBatisPlus特性 3. MyBatisPlus的CRUD操作4. MyBatisPlus分页功能5. 开启MyBatisPlus日志5.1 解决日志打印过多问题5.1.1 取消初始化spring日志打印5.1.2 取消Sp…

基于SpringBoot+Vue的学生考勤管理系统设计与实现

博主介绍: 大家好,我是一名在Java圈混迹十余年的程序员,精通Java编程语言,同时也熟练掌握微信小程序、Python和Android等技术,能够为大家提供全方位的技术支持和交流。 我擅长在JavaWeb、SSH、SSM、SpringBoot等框架下…

【Web服务器】基于Nginx搭建LNMP架构

文章目录 一、安装 MySQL 数据库1. 安装Mysql环境依赖包2. 创建运行用户3. 编译安装4. 修改mysql 配置文件5. 更改mysql安装目录和配置文件的属主属组6. 设置路径环境变量7. 初始化数据库8. 添加mysqld系统服务9. 修改mysql 的登录密码10. 授权远程登录 二、编译安装 nginx 服务…

2024」预备研究生mem-论据和结论为简单句(下)

一、论据和结论为简单句-建立联系 二、结论包含完成推理 改版: 三、课后题

盘点一个Python网络爬虫问题

点击上方“Python爬虫与数据挖掘”,进行关注 回复“书籍”即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 在天愿作比翼鸟,在地愿为连理枝。 大家好,我是皮皮。 一、前言 前几天在Python最强王者群【刘桓鸣】问了一个Python网络爬虫的问…

8自由度并联腿机器狗实现行走功能

1. 功能说明 本文示例将实现R309a样机8自由度并联腿机器狗行走的功能。 2. 并联仿生机器人结构设计 机器狗是一种典型的并联仿生四足机器人,其腿部结构主要模仿了四足哺乳动物的腿部结构,主要由腿部的节段和旋转关节组成。在设计机器狗的腿部结构时&…

实用教学Prompt 提示词实战:如何用 ChatGPT 指导高考语文作文写作

又是一年高考季,牵动着广大学生和家长的心。7 日上午,语文科目考试结束。 今年高考语文共7套试卷:全国甲卷、全国乙卷、新课标Ⅰ卷、新课标Ⅱ卷、北京卷、天津卷、上海卷。 以高考语文作文题目来实践检验一下,如何用合适的提问词&…

chatgpt赋能python:Python将首字母变成大写——提升SEO排名的一种简单方法

Python将首字母变成大写——提升SEO排名的一种简单方法 在SEO行业中,优化关键字密度和网站结构是常规且必要的工作。但是,除此之外,我们也应该注意到一些看似微不足道但可能对网站排名产生影响的细节。比如,对于文章标题和正文的…

Mocha AE:Track 模块

当对跟踪踪结果不是很满意的时候,可尝试更改下 Track(跟踪)模块中的选项之后重新跟踪。 Input 输入 Clip 剪辑 选择要跟踪的素材。 --Input 输入 --Layer Below 下方图层 Track Individual Fields 跟踪单个场 针对隔行扫描素材,…

【IMX6ULL驱动开发学习】01.安装交叉编译环境【附下载地址】

第一步(下载工具链): 从官网上下载交叉编译工具链 https://snapshots.linaro.org/gnu-toolchain/ 按照以下步骤选择 可以选择最新的(我也忘记我用的哪个版本了,都可以用问题不大) 第二步(…