阿里云云网络论文:Nezha,计算网络解耦下的vSwitch池化架构

Nezha---计算网络解耦下的vSwitch池化架构

论文说明

Nezha论文,聚焦于计算实例的网络资源/性能池化。

利用集群内所有的SmartNIC作为分布式vSwitch的弹性资源池,充分释放单个vSwitch的性能极限,提供单vSwitch接近裸机的百万级连接新建能力(CPS)、数倍的并发流能力、和数十倍的虚拟网卡密度提升。在此过程中,Nezha创新性地解决了vSwitch集群粒度池化带来的状态管理、容灾及负载均衡等关键挑战。论文详细阐述了阿里云的设计思考与技术实践,为更具弹性的下一代计算、网络解耦的数据中心部署形态提供了新的思路。

背景

在云数据中心中,SmartNIC加速的vSwitch被广泛用于为云服务器和容器等计算实例提供高性能网络服务。然而,由于网络虚拟化以及多租带来的开销,云服务器的网络能力长期受限于单个SmartNIC有限的物理资源而远低于裸机(指物理服务器间直连,无overlay,网络非瓶颈)的水平。例如,阿里云基于Triton卸载架构实现了主流云厂商中最高的单卡单服务器43万CPS,仍低于裸机的120万CPS。这就意味着在单个云服务器上,网络可能先于计算CPU达到瓶颈,而无法水平扩展(受限于单卡资源),尤其是一些流量重载的网络中间件服务。

另一方面,在大规模的vSwitch部署运维中,我们还发现了用户对网络与计算资源的消耗是极其不均衡的。就网络而言,只有少数服务器上的用户网络需求高,vSwitch因卡上资源不足面临性能瓶颈(大约占0.01%),但是从集群角度看大量vSwitch/SmartNIC却处于相对空闲的状态(卡上的CPU和内存平均利用只有5%和1.5%)。这种资源"短缺"与"闲置"并存的问题,使得通过部署更高性能的SmartNIC或利用主机资源来解决过载变得成本高昂且效率低下。现有解决方案如Sirius虽然引入专用设备分担压力,但存在硬件成本高、状态同步复杂以及性能开销大的问题。因而我们开始探索寻求SmartNIC网络资源池化解法,让网络彻底摆脱单卡资源限制,与计算资源解耦。

设计实现

在Nezha这篇论文中,提出了一种计算网络解耦下的vSwitch池化架构,旨在调动整个集群粒度的SmartNIC资源池,来提升单个vSwitch网络性能上限。其核心思想是通过对vSwitch中虚拟网卡(vNIC)的数据包处理负载进行建模拆解,尽可能地卸载到远端SmartNIC以利用池化的资源。为了避免复杂的状态同步和传输开销,按有无状态的原则将vNIC网络负载拆解成前端和后端两部分,前端(无状态规则/流表)卸载到远端资源池,有状态的后端部分则保留在本地卡上进行处理。借助ECMP机制,远端节点池的性能也可以很容易地实现线性伸缩和容灾处理。

总结和展望

在计算网络解耦的大背景下,利用整集群的SmartNIC资源构建单节点vSwitch性能水平扩展能力,实现了高性能、低成本的vSwitch池化方案。在实际部署中,Nezha无需新增硬件,仅通过软件优化即可将CPS能力提升3-4.4倍,支持的并发流和vNIC数量分别提升5.04-50.4倍和超过40倍。作为云基础设施中的关键组件,Nezha不仅将vSwitch过载率降低了99.9%,其部署成本和复杂性也极低,为网络功能的进一步扩展提供了灵活性与高性能保障。

其他

https://developer.aliyun.com/article/1662741?spm=5176.26934562.main.1.53874d72aBgDRu

相关推荐
huohuopro7 分钟前
手写 Tomcat 步骤教程
java·网络
o5278831848 分钟前
校园一体化管理系统2.1、基于整洁四层架构 + DDD+CQRS 项目目录解读
后端·架构·c#·asp.net·visual studio
JoyCong199812 小时前
打破远程协助的安全信任困局,ToDesk AI审计功能自动操作留痕
网络·人工智能·科技·安全·电脑·远程工作
heimeiyingwang12 小时前
【架构实战】异步化改造:线程池与消息队列的取舍
架构
Mr.HeBoYan13 小时前
一次持续三天才出现的丢包故障——深入解析 DPDK Memory Ordering、rte_ring 与 CPU Memory Barrier (下)
linux·网络·算法·架构·dpdk
锋行天下14 小时前
打造企业内部知识库系统RAG全栈项目
前端·后端·架构
这个DBA有点耶15 小时前
索引碎片与统计信息维护:执行计划突然变差的隐形杀手
mysql·程序员·架构
Discipline~Hai15 小时前
ARM01-ARM体系架构
linux·c语言·arm开发·架构
XUHUOJUN15 小时前
AKS 不是安装在 Windows Server 上,而是运行在 Windows Server 之上的 Azure 平台能力
windows·架构·k8s·azure local·azure stack