阿里云云网络论文: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

相关推荐
AskHarries8 小时前
权限模型:Shell、Browser、文件读写的安全边界
服务器·前端·网络
咖啡星人k8 小时前
MonkeyCode 网络架构:WebSocket、SSE与实时协作的技术选型
网络·websocket·架构·monkeycode
梦想的旅途29 小时前
企业微信API实现外部群消息异步推送的技术架构与实践
mysql·架构·企业微信
稷下元歌9 小时前
七天学会plc 加机器视觉完整笔记:S7-1200 数据类型、存储区与寻址方式(I/Q/M/DB 详解)。
网络·数据库·笔记
liulilittle10 小时前
bpftrace 跟踪 tcp_write_xmit (内核TCP写出提交)
网络·网络协议·tcp/ip
暗冰ཏོ10 小时前
Flutter 从入门到项目实战:Dart 基础、跨平台开发、App 架构与上线发布完整指南
flutter·架构·app·安卓·应用开发
星光不负赶路人!10 小时前
【问题解决】xftp工具无法连接Windows问题解决
网络
liulilittle10 小时前
TCP KCC v1.0(卡尔曼拥塞控制)
linux·服务器·网络·tcp/ip·计算机网络·tcp·通信
Fnetlink110 小时前
SD-WAN前三供应商推荐
网络·sase
codeejun10 小时前
每日一Go-76(架构篇)|多集群部署 / 容灾 / Failover / Backup / 热迁移
开发语言·架构·golang