深度解读阿里云数据中心自研网络引擎

简介: 深度解读阿里云数据中心自研网络引擎

首图-图标.png

【阅读原文】戳:深度解读阿里云数据中心自研网络引擎


文/黄一元、朱芳波


从2018年投入第一代软硬件全自研交换机研发至今,阿里巴巴的自研网络硬件已覆盖并规模部署到阿里云的整个网络,成为了整个网络的基础。



01 一切为了规模



规模,是互联网数据中心和传统数据中心的最大区别,因此,通常会把这类互联网、云计算数据中心称作超大规模数据中心——hyperscale data center。


阿里云在全球28个地域的86个可用区里运营着上百座数据中心,每个数据中心能够容纳几万台到十几万台服务器。庞大的数量催生了“三大规模”挑战:超大规模接入超大规模运营超大规模演进


超大规模接入

白盒交换机胜任超大规模接入。


第一,Scale Out理念和CLOS架构为硬件白盒化奠定了架构基础。


Scale Out理念利用横向扩展来增加网络的接入能力,而不是一味增加单台设备的端口数量。CLOS架构则很好的贯彻了Scale Out的理念。这种网络架构能够用小规模、低成本的设备,构建大规模的网络,成为超大规模数据中心的事实架构标准。


2-Scale Up vs Scale Out.png

图 | Scale up vs Scale Out


这样的背景下,盒式交换机终于有了用武之地,盒式交换机的设计复杂度相比传统的框式交换机要低,这就为硬件白盒化奠定了架构基础。


第二,SDN让封闭系统变成开放系统。


传统的数据中心交换机多为复杂的框式交换机,并且数据面、控制、管理完全由设备厂家控制,是一个封闭的系统。SDN的核心思想之一是开放和解耦,通过解耦把单个厂商封闭系统变成一个开放的系统。最具代表性的成果是商业化交换机芯片逐渐占据数据中心网络市场的主导地位,开源组织和开源软件也如雨后春笋般出现。白盒交换机有了架构的基础,也有了芯片基础。


最后,不得不提的是SONiC这个交换机开放操作系统。由微软首先倡导,阿里巴巴主力推动的开源SONiC已经成为交换机开源操作系统的事实标准。


至此,白盒交换机俨然成为了大规模数据中心的天选之子。


超大规模运营

白盒交换机解决超大规模网络的运营问题。


传统网络的运营,类似于人工驾驶,每个运营人员就像驾驶员,需要操控好自己的车子,以应对突发路况,而当我们的交通网越来越大时,单纯依靠驾驶员自身的能力将无法达到最佳效率。


超大规模网络的运营,类似于大交通网下的自动驾驶,通过为全网交换机赋予丰富的监控能力,再通过对大量数据的智能分析和集中处理能力,能够大幅提升超大规模网络的运营效率。


超大规模演进

白盒化帮助实现超大规模架构的快速部署和迭代,从更高的维度实现性能和成本的最优解。


在依赖商业交换机的时代,整个网络的演进受限于厂家的方案,用户需求真正体现到设备厂家会存在迟滞;除此之外,在成本上,传统网络成本的降低,依赖于三方竞价等手段来降低单设备的成本,而白盒赋予其在更高维度上的成本优化方式。


快速变化的业务驱动下,用户可第一时间享受到新芯片、新架构的红利,且能够形成长期稳定的架构演进方案,从而实现整体网络成本的降低。


3-架构适时迭代降低单位带宽网络成本.png

图 | 网络成本



02自研之路


起步与选择

阿里巴巴基于全自研交换机的网络架构始于2018年。彼时100G模块已成为成熟的方案,商业12.8T交换芯片也刚刚出世,25G网卡的服务器也开始规模上线。


在这样的背景下,有个最为恰当的选择:利用12.8T单芯片打造128个100G端口的交换机,从而实现网络性能、成本双赢。


这里有必要做一些背景介绍。


在三层CLOS架构下,整个网络能够接入网卡和服务器的数量,也就是我们所说的集群规模,取决于单台交换机的端口数量。


4-集群规模-端口数量.png

图 | 集群规模-端口数量


而交换机的单端口带宽则反映了业务对于带宽的需求。


以12.8T交换芯片为例,基于单芯片的交换机可以设计成128x100G端口,或者32个400G端口。对于后者来说,带宽提升了但同时牺牲了接入的规模。


而交换机的端口形态也决定了使用哪种光模块。


因此,业务的需求,最终反映到了网络的架构和交换机端口形态的选择上。


5-网络架构和交换机端口形态的选择.png

图 | 网络架构的平衡


北美的四大互联网中也有出于对高带宽的需求,同时为了兼顾集群规模,而采用多个盒式交换机互连来形成一个逻辑上的大带宽多端口的Leaf/Spine交换机,并且一直延续这样的架构。其带来的影响是相比单芯片的盒式交换机组网方案,互连复杂度增加,同时互连跳数增加导致时延增加。


基于当时自身的需求和产业链状况,阿里巴巴选择了一条最为适合自己、最为简洁的单芯片交换机方案。


200G还是400G

2019年底,在第一代架构规模上线之时,阿里云开始规划下一代的网络方案。此时25.6T交换芯片呼之欲出。走400G网络还是走200G网络成了争论的焦点。


当时,一些北美互联网公司规划了800G/400G的互连方案,从技术上看,在光互连技术上确实领先业界。但是400G在可预见的几年内还不能达到较好的性价比;另一方面,基于25.6T芯片做400G端口的交换机,端口数量相比200G减少一半,整体的集群规模会降至200G网络的1/4,这是更为致命的一个问题。


网络架构基于单芯片交换机这一方案不会轻易动摇。


权衡利弊之后,阿里云选择了200G路线:既能保证架构和带宽平滑演进,又能保持集群规模,选择这一路线带来的挑战是需要驱动产业链去为200G的模块做好准备。从这一代开始,阿里云开始了自己的集群架构和交换机的演进之路。


未来已来

商业芯片还在按照既定的2年一代的节奏进行升级,51.2T芯片已跃出水面,真正的400G时代即将到来。


对业务规划的深入理解、对产业的清晰认知和影响、对架构演进的合理规划,让阿里云比四年前更有自信。


6-磐久数据中心交换机.png

图 | 磐久数据中心自研交换机


全链路自动化

过去很长的时间里,网络设备的管理和运维都是以人手动为主,网络配置采用命令行,网络故障发现需要靠人肉通过Ping、Traceroute等基本工具来进行。阿里的每个大型数据中心都有几千台的交换机,依靠人来手工运维是不现实的。


阿里云的数据中心网络利用软硬件自主可控,实现了运营的自动化和智能化。自动化运营包括很多方面,从最开始的自动化架构验证,到自动化的规模部署,再到自动化的新功能发布、软件版本升级,以及故障的自动化发现、隔离和恢复等。


与厂商的封闭设备不同,阿里通过软硬件自研实现自主可控,从头打造了适合大规模运营的部署能力、监控能力、排障能力、升级能力等等。大规模自动化运营水到渠成,支撑规模运营的思想贯穿着交换机的整个生命周期。


7-全链路自动化.png

图 | 全链路自动化


第二大脑

从第一代自研交换机开始,阿里就将BMC引入到了交换机中,作为交换机的第二大脑。


传统的交换机内,CPU负责了所有的控制和管理任务,一旦CPU出现问题,设备就会失联,也很难对故障进行追溯,故障的恢复也需要依赖人工干预。BMC的引入,将设备的管理任务搬到了BMC,CPU则专注于交换芯片的控制:在CPU挂死时,BMC能主动获取CPU的故障信息,同时结合设备上的实时传感器监控数据对故障过程和原因进行排查、分析;同时,BMC还能对CPU和设备进行恢复,避免了人工干预。


8-AliBMC.png

图 | AliBMC


第二生命线

除了主架构交换机,阿里还将带外网络进行了全面的自研化改造。


带外交换机和串口服务器是网络的第二道生命线,当带内出现问题时,往往要依赖于带外通道对故障进行排查和恢复。长期以来带外并未受到足够重视,供应、成本、稳定性这些都是老大难的问题。


同时,主架构交换机自研的理念也带到了带外,除了解决供应、成本、稳定性这三大问题,也将自动化能力和丰富的运维特性带给了带外,极大提高了整个网络运营的效率。


在规模部署和运营上,另一个不得不提的是“自研交换机+DAC的整机柜一体化方案”,该方案极大提升了交换机和服务器互连的稳定性,提升了建设和运营效率,关于这个主题,我们接下来会有单独的一篇文章去详细介绍。



03生态的力量


传统设备厂商设计一款交换机,需要有非常大的投入和很长的周期。对云计算厂商来说,效率是非常重要的。


解法是什么?那就是——生态的力量。


S³IP-网络标准化新引擎

打造生态,推动生态,合作共赢,让白盒交换机的开发和集成更为简单。这也是阿里云在2020年推动发起S³IP的初衷和主旨。今天的S³IP,联合了国内几乎所有的头部互联网厂家,也吸引了业内主要的白盒交换机ODM厂家、商业芯片厂家。


阿里云是如何打造网络标准化新引擎的呢?


 因为白盒交换机底层驱动向上接口的差异,造成了不同交换机需要投入重复的集成工作,为此阿里云提出了驱动接口标准化sysfs。


●  因为交换机平台测试上存在的差异化,阿里云提出了平台测试标准化PIT。


●  因为厂家SONiC系统和用户环境及需求存在的差异,阿里云提出了D4OS这一标准化的厂家出货的OS,不仅解决了统一的问题,同时也为D4OS植入了支持交换机大规模部署的程序,使得厂家OS能够无缝对接用户。


●  在硬件层面,为了支持软件和系统更好地集成,从功能层面提出了硬件系统的基础能力需求。


●  对于核心的CPU模组进行了标准化,统一了用户的需求,让用户和ODM的研发效率大大提升。


可以说,S³IP从最朴素的想法出发,从点到面,已逐步构建了一个国内白盒交换机领域的标准体系。


9-S3IP.png

图 | S³IP


今天,S³IP生态已吸引了7家头部互联网公司、1家运营商伙伴、10家交换机领域的系统厂家,7家芯片公司的加入,目前,已经贡献超过2万+行代码供生态伙伴使用,超过30款系统按照S³IP标准进行适配。S³IP当前的标准化覆盖了白盒交换机底层硬件、底层软件、平台测试,正在向芯片标准化进发。


S³IP在扎根国内的同时,也不忘输出影响力到国际上。去年,S³IP将PIT/Sysfs推到了SONiC社区,PIT/Sysfs HLD PR已获通过;在未来网卡和交换机融合的新领域,S³IP也会和DASH社区保持紧密沟通。


10-S3IP-SONiC.png

图 | S³IP-SONiC


QSFP112

除了S³IP这一白盒标准化组织,阿里在交换机端口的标准化上也进行了持续的推动和贡献,主导发起了QSFP112 MSA组织。


阿里的网络架构,决定了在交换机设备上会持续走单芯片128端口的路线。结合交换芯片从25.6G到51.2G,再到102.4T的演进路线,阿里的交换机端口会长期使用4个lane的方案。简单来说,就是一个端口由四个高速串行电信号组成。


当串行电信号的速率为25G,单个端口速率为100G,这就是业界现有的QSFP28标准。


串行电信号的速率为50G,单个端口速率为200G,业界标准就是QSFP56标准。


当确定了长期的架构方案后,我们发现:当串行电信号的速率达到112G的时候,也就是单端口400G的时候,业界还没有这样的标准(很大一部分原因是由于北美四大互联网的网络和交换机路线和我们存在差异,他们走的是单端口8个或16个高速串行信号的方案)。这便驱动了阿里云在2021年率先发起QSFP112标准。使得整个产业链为400G时代做好了准备,也为未来QSFP224标准打下了坚实的基础。


11-QSFP112.png

图 | QSFP112



04总结展望


阿里的白盒交换机自研赶上了云计算快速发展的年代。经过多年的实战检验,阿里在白盒交换机领域积累了丰富的经验。


归根到底,软硬件自研服务的是阿里整个网络架构的平滑和快速迭代,降低单位带宽的成本;同时,软硬件自研服务也为阿里的大规模自动化运营提供了基础。


随着处理器和存储能力不断升级,AI等新应用的兴起,网络的性能变得愈加重要。在这样的背景下,阿里提出了“可预期网络”的理念。“可预期网络”的核心,是通过端和网的协同与融合,保证网络的带宽和延迟,这一思想的前提,是需要端侧和网侧的透明,而交换机的自主可控是这个思想的基础之一。


和传统的计算不同,AI和智算有着特殊的流量模型,all-reduce的算法使得网络更容易出现Incast,而任务本身对于Incast造成的拥塞也更为敏感。


新形势下,我们的AI网络如何搭建和优化?我们的自研交换机怎样配合新的网络架构去支持新的业务场景?这些都是阿里云“可预期网络”目前需要思考的问题。“可预期网络”的目标和新兴的智算业务,驱动着自研交换机的未来发展。



我们是阿里巴巴云计算和大数据技术幕后的核心技术输出者。

欢迎关注 “阿里云基础设施”同名微信微博知乎

获取关于我们的更多信息~

相关文章
|
2月前
|
SQL 分布式计算 关系型数据库
阿里云E-MapReduce Trino专属集群外连引擎及权限控制踩坑实践
本文以云厂商售后技术支持的角度,从客户的需求出发,对于阿里云EMR-Trino集群的选型,外连多引擎的场景、Ldap以及Kerberos鉴权等问题进行了简要的实践和记录,模拟客户已有的业务场景,满足客户需求的同时对过程中的问题点进行解决、记录和分析,包括但不限于Mysql、ODPS、Hive connector的配置,Hive、Delta及Hudi等不同表格式读取的兼容,aws s3、阿里云 oss协议访问异常的解决等。
|
2月前
|
弹性计算 监控 开发工具
【阿里云弹性计算】阿里云ECS的网络优化实践:VPC配置与网络性能提升
【5月更文挑战第29天】阿里云ECS通过虚拟私有云(VPC)提供高性能、安全的网络环境。VPC允许用户自定义IP地址、路由规则和安全组。配置包括:创建VPC和交换机,设定安全组,然后创建ECS实例并绑定。优化网络性能涉及规划网络拓扑、优化路由、启用网络加速功能(如ENI和EIP)及监控网络性能。示例代码展示了使用Python SDK创建VPC和交换机的过程。
289 3
|
23天前
|
Kubernetes Cloud Native 开发者
阿里云网络发布 alibaba-load-balancer-controller v1.2.0:开启云原生网关开源新篇章!敬请探索!
**阿里云发布开源版ALB控制器v1.2.0,对齐商业版ALB Ingress Controller v2.10.0。新版本增强了功能特性,提升了用户体验,并提供了最佳实践。功能更新包括自定义标签、QUIC协议支持、转发规则和安全策略等。此外,还引入了ReadinessGate实现滚动升级时的平滑上线和Prestop钩子确保平滑下线。用户可从GitHub获取开源代码,通过Docker Hub拉取镜像,开始使用alibaba-load-balancer-controller v1.2.0。**
117 3
阿里云网络发布 alibaba-load-balancer-controller v1.2.0:开启云原生网关开源新篇章!敬请探索!
|
4天前
|
机器学习/深度学习 编解码 人工智能
一种基于YOLOv8改进的高精度表面缺陷检测网络, NEU-DET和GC10-DET涨点明显(原创自研)
【7月更文挑战第3天】一种基于YOLOv8改进的高精度表面缺陷检测, 在NEU-DET和GC10-DET任务中涨点明显;
22 1
|
14天前
|
存储 机器学习/深度学习 弹性计算
阿里云ECS计算型c8i服务器测评_网络PPS_云盘IOPS性能参数
阿里云ECS计算型c8i实例采用Intel Xeon Emerald Rapids或Sapphire Rapids CPU,主频2.7 GHz起,支持CIPU架构,提供强大计算、存储、网络和安全性能。适用于机器学习、数据分析等场景。实例规格从2核到192核,内存比例1:2,支持ESSD云盘,网络带宽高达100 Gbit/s,具备IPv4/IPv6,vTPM和内存加密功能。详细规格参数表包括不同实例的vCPU、内存、网络带宽、IOPS等信息,最高可达100万PPS和100万IOPS。
|
14天前
|
存储 弹性计算 网络协议
阿里云服务器ECS计算型c7实例详解_网络PPS_云盘IOPS性能参数
阿里云ECS计算型c7实例,基于三代神龙架构,采用Intel Ice Lake CPU,2.7 GHz基频,3.5 GHz全核睿频,提供高性能计算、存储和网络能力。支持vTPM和Enclave特性,适用于高网络负载、游戏、数据分析等场景。实例规格从2核4GB至128核256GB,最大网络收发包可达2400万PPS。详细规格及性能参数见官方页面。
|
21天前
|
Kubernetes Cloud Native 开发者
阿里云网络发布云原生网关 alibaba-load-balancer-controller v1.2.0,持续拥抱开源生态
alibaba-load-balancer-controller开源版本正式推出v1.2.0,能力对齐ALB Ingress Controller商业版v2.10.0。
|
2月前
|
数据中心 网络架构 Python
【计算巢】数据中心的网络架构设计原则
【5月更文挑战第31天】探讨数据中心网络架构设计原则:稳定性是基础,需抵御各种挑战;强调扩展性,适应业务发展;追求高效,确保数据传输速度;注重灵活性,灵活应对变化。简单Python代码示例展示网络节点连接。设计时需具备长远眼光,综合考虑技术方案,以构建坚固高效的信息桥梁。同学们,要持续学习和探索,为信息世界贡献力量!
|
2月前
|
弹性计算 安全 微服务
【阿里云云原生专栏】容器网络技术前沿:阿里云Terway网络方案详解
【5月更文挑战第26天】阿里云Terway是高性能的容器网络方案,基于ECS的ENI实现,提供低延迟高吞吐的网络服务。它简化网络管理,实现安全隔离,并与阿里云服务无缝集成。Terway由CNI、Node和Controller组成,适用于微服务、混合云和多租户环境,为企业数字化转型中的复杂网络需求提供强大支持。
256 1