Skip to main content
开放网络的先行者与推动者—星融元
加入我们技术支持(Support)  TEL:(+86)4000989811

标签: 中立科普

一文梳理:如何构建并优化AI智算中心?


关注星融元


目前最常见的AI算力中心部署的GPU集群大小为 2048、1024、512 和 256,且部署成本随 GPU 数量线性增长。本文将以相对折中的1024 GPU卡(H100)的规模为例展开分析。

01 计算节点的选型

计算节点是AI算力中心的建设报价中最昂贵的部分,一开始拿到的 HGX H100 默认物料清单(BoM)往往使用的是顶级配置。不同于 DGX 是 NVIDIA 的系统品牌,HGX 作为 NVIDIA 授权平台允许合作伙伴构建定制的GPU系统。那么,根据业务实际所需,我们可从以下几个方面尝试优化成本。
组件和服务数量
接近顶级性能的英特尔 Emerald Rapids 处理器2
8 H100 +4 NVSwitch HGX Baseboard + 8 SXM5 Heatsinks1
CPU RAM (per Gbyte)2048
Storage (per TByte)30
后端 ConnectX-7 NIC80
Bluefield-3 DPU2
主板1
机箱(机箱、布线等)1
冷却(CPU 散热器 + 风扇)1
电源8
组装&测试1
OEM 增值/附加费用1
合计费用($)270000+

1、选择中端CPU

LLM 训练是一项 GPU 高度密集型工作负载,对 CPU 工作负载要求低。CPU 运行是一些简单任务,例如 PyTorch ,控制 GPU 的其他进程、初始化网络和存储调用,或者运行虚拟机管理程序等。Intel CPU 相对更容易实现正确的 NCCL 性能和虚拟化,而且整体错误更少。如果是采用AMD CPU ,则要用 NCCL_IB_PCI_RELAXED_ORDERING 并尝试不同的 NUMA NPS 设置来调优。

2、 RAM 降级到 1 TB

RAM 同样是计算节点中相对昂贵的部分。许多标准产品都具有 2TB 的 CPU DDR 5 RAM,但常规的AI工作负载根本不受 CPU RAM 限制,可以考虑减配。

3、删除 Bluefield-3 或选择平替

Bluefield-3 DPU最初是为传统 CPU 云开发的,卖点在于卸载CPU负载,让CPU用于业务出租,而不是运行网络虚拟化。结合实际,奔着GPU算力而来的客户无论如何都不会需要太多 CPU 算力,使用部分 CPU 核心进行网络虚拟化是可以接受的。此外Bluefield-3 DPU 相当昂贵,使用标准 ConnectX 作为前端或采用平替的DPU智能网卡完全可满足所需。
综合考虑前述几项成本优化,我们已经可为单个服务器降低约5%的成本。在拥有 128 个计算节点的 1024 H100 集群中,这个比率背后的金额已经相当可观。

4、减少单节点网卡数量(谨慎选择)

标准物料清单中,每台 H100 计算服务器配备八个 400G CX-7() NIC,单服务器的总带宽达到 3,200Gb/s。如果只使用四块网卡,后端计算网的带宽将会减少 50%。 这种调整显而易见可以节约资金,但多少会也对部分AI工作负载性能造成不利影响。

02 集群网络的选型

集群网络是继计算节点之后的第二大成本来源。本文举例的 NVIDIA H100 集群有三种不同的网络:
  • 后端网络(计算网,InfiniBand 或 RoCEv2) 用于将 GPU 之间的通信从数十个机架扩展到数千个机架。该网络可以使 InfiniBand() 或 Spectrum-X 以太网,也可以使用其他供应商的以太网。
  • 前端网络(业务管理和存储网络) 用于连接互联网、SLURM/Kubernetes() 和网络存储以加载训练数据和Checkpoint。该网络通常以每 GPU 25-50Gb/s 的速度运行,满配八卡的情况每台GPU服务器的带宽将达到 200-400Gb/s。
  • 带外管理网络 用于重新映像操作系统、监控节点健康状况(如风扇速度、温度、功耗等)。服务器上的BMC、机柜电源、交换机、液冷装置等通常连接到此网络以监控和控制服务器和各种其他 IT 设备。
组件和服务数量
InfiniBand 计算网
Quantum-2 IB 交换机(MQM9700)48
Nvidia LinkX IB 400G 单端口 SR4 收发器 (MMA4Z00-NS4400)1024
Nvidia LinkX 800G 双端口 SR8 收发器 (MMA4Z00-NS)1536
Nvidia LinkX 400G 多模光纤3072
前端光纤架构成本
Spectrum Ethernet Switch (SN4600)6
Nvidia LinkX 200G QSFP56 AOC 收发器384
Nvidia LinkX 200G 收发器256
Nvidia LinkX 100G 多模光纤512
带外管理网
1GbE Spectrum Ethernet Switch (SN2201)4
RJ45 Cables232
合计($)490000+

1、计算网络:RoCEv2替代IB

与量大管饱的以太网解决方案相比,NVIDIA 提供的InfiniBand无疑更昂贵,但一些客户依旧笃定认为以太网性能要低得多,这主要是因为以太网需要进行必要的无损网络参数配置并且针对性调优才能发挥集合通信库的性能。
不过从对业务性能的影响角度看,目前技术背景下使用IB或是RoCEv2作为后端计算网没有并太多差异。毕竟 RoCE 实际上只是将成熟的IB传输层和RDMA移植到了同样成熟的以太网和IP网络上,这一点我们将在往后的另一篇文章来分析阐述。
计算网络:RoCEv2替代IB
计算网络:RoCEv2替代IB
大规模算力场景中用以太网替代IB组成高性能无损网络已形成业内共识,行业热点早已转向了如何更好地薅“以太网羊毛”:例如从以太网标准入手,推出下一代面向AI场景的新协议,以及一些厂商立足于现有协议标准在简化RoCE网络配置和提高可视化能力上做的创新尝试。
无论是在AI训推的测试场景,还是头部云厂商已有的工程实践里,AI以太网都有了大量案例可供参考。
据统计,在全球 TOP500 的超级计算机中,RoCE和IB的占比相当。以计算机数量计算,IB 占比为 47.8%, RoCE 占比为 39%; 而以端口带宽总量计算,IB占比为 39.2%,RoCE 为 48.5%。与IB相比,我们相信有着开放生态的以太网将会得到加速发展。
目前市场上提供适用于AI场景的高性能以太网交换芯片平台主要有Broadcom Tomahawk、Marvell Teralynx和Cisco Silicon One 等,NVIDIA Spectrum 芯片仅用于Spectrum-X平台,不单独销售。以上平台都推出了51.2T,800GbE/s的尖端型号,综合来看部署数量上 Tomahawk 明显占优,转发时延性能表现 Teralynx 更胜一筹。

2、前端网络:合理降低带宽速率

NVIDIA 和一些OEM/系统集成商通常会在服务器提供 2x200GbE 前端网络连接,并使用 Spectrum Ethernet SN4600 交换机部署网络。
我们知道,这张网络仅用于进行存储和互联网调用以及传输基于 SLURM,Kubernetes 等管理调度平台的带内管理流量,并不会用于时延敏感和带宽密集型的梯度同步。每台服务器 400G 的网络连接在常规情况下将远超实际所需,其中存在一些成本压缩空间。

3、带外管理网络:选用通用的以太网交换机

NVIDIA 默认物料清单一般包括 Spectrum 1GbE 交换机,价格昂贵。带外管理网络用到的技术比较通用,选择市场上成本更优的 1G 以太网交换机完全够用。

03 计算网络的架构优化

GPU集群计算网将承载并行计算过程中产生的各类集合通信(all-reduce,all-gather 等),流量规模和性能要求与传统云网络完全不同。
NVIDIA 推荐的网络拓扑是一个具有无阻塞连接的两层胖树网络,理论上任意节点对都应该能同时进行线速通信。但由于存在链路拥塞、不完善的自适应路由和额外跳数的带来的通信延迟,真实场景中无法达到理论最优状态,需要对其进行性能优化。

轨道优化(Rail-optimized)架构

轨道优化架构下,4台服务器的32张 GPU 卡不再是连接到 TOR 交换机,而是来自32台服务器的同卡号 GPU 连接各自的轨道交换机——即32台服务器的所有 GPU#0 都连接到 Leaf 交换机#0,所有 GPU#1 都连接到 Leaf 交换机#1,依此类推。
轨道优化网络的主要优势是减少网络拥塞。因为用于 AI 训练的 GPU 会定期并行底发送数据,通过集合通信来在不同GPU之间交换梯度并更新参数。如果来自同一服务器的所有 GPU 都连接到同一个 ToR 交换机,当它们将并行流量发送到网络,使用相同链路造成拥塞的可能性会非常高。
星融元(Asterfusion)给出的1024卡,128计算节点 Scale-out 网络方案正是基于轨道优化后的架构,其中采用了24台 CX864E-N(51.2T的单芯片盒式交换机,8台作为Spine,16台作为Leaf),产生跨节点通信的同卡号GPU之间只会相距一跳。
如果追求极致的成本优化,对于一个32到128个节点的计算集群甚至可以设计只有单层轨道交换机的Rail-only网络,理论上建网成本可以节约高达75%

确定合适的超额订阅率

轨道优化拓扑的另一个好处可以超额订阅(Oversubscription)。在网络架构设计的语境下,超额订阅指的是提供更多的下行容量;超额订阅率即下行容量(到服务器/存储)和上行带宽(到上层Spine交换机)的比值,在 Meta 的 24k H100 集群里这个比率甚至已经来到夸张的7:1。
通过设计超额订阅,我们可以通过突破无阻塞网络的限制进一步优化成本。这点之所以可行是因为 8 轨的轨道优化拓扑里,大多数流量传输发生在 pod 内部,跨 pod 流量的带宽要求相对较低。结合足够好的自适应路由能力和具备较大缓冲空间的交换机,我们可以规划一个合适的超额订阅率以减少上层Spine交换机的数量。
但值得注意的是,无论是IB还是RoCEv2,当前还没有一个完美的方案规避拥塞风险,两者应对大规模集合通信流量时均有所不足,故超额订阅不宜过于激进。(而且最好给Leaf交换机留有足够端口,以便未来 pod 间流量较大时增加spine交换机)
现阶段如果是选用基于以太网的AI网络方案我们仍推荐1:1的无阻塞网络设计。

04 NVMe 存储

物理服务器数量

为了实现高可用性,大多数存储厂商都会建议部署至少 8 台存储服务器。8 台存储服务器每台可提供 250GB/s 到 400GB/s 的存储带宽,足以满足在 1024 台 H100 上运行的 AI 工作负载。我们可以从最小可用数量开始,但需要注意在存储系统上留出足够的端口、NVMe 驱动器托架、电源和机架空间,以便后续按需扩展。

存储网络

常见的方案是构建专门的200G无损以太网作为存储网络以确保性能,存储前后端网络在物理上合一。
存储服务器也可以在后端计算网上运行——通常是将IB网卡绑定到 GPU 0来充当存储网卡。虽然存储基准测试的延迟和带宽表现很好,但在实际AI工作负载中将影响 GPU 0 的性能(IB网卡同时作为存储网卡会有流量冲突)。当存储集群中的磁盘发生故障将触发重建,会在计算网上造成大量的流量,形成更严重的拥塞。

05 带内管理

为了运行高可用的 UFM 和 CPU 管理节点,我们建议部署至少两个通用 x86 服务器,使用25GE/10GE以太网链路连接所有计算节点和管理节点,并接入外部网络。
来源:星融元(Asterfusion)
默认的NVIDIA Superpod 架构中包含了“NVIDIA AI Enterprise”或“Base Command Manager (BCM)”,其建议零售价为4,500 美元/GPU。BCM 是一个提供 AI 工作流和集群管理的软件包,这一部分软件费用可以考虑剔除后选择其他平替方案,或交由用户自定义。
此外带内管理系统还涉及到其他 IT 设备,例如防火墙、机架、PDU 等,这部分价格不会显著增加集群建设支出。

06 带外管理

带外管理系统主要是通过智慧平台管理接口(IPMI)去监视、控制和自动回报大量服务器的运作状况。IPMI可独立于操作系统外自行运作,并允许管理者在受监控的系统未开机但有接电源的情况下进行远程管理,但这种监控功能主要集中在硬件级别。
不同于带内管理,带外管理构建了单独的网络承载物理设备管理流量,不会承载业务流量。我们一般是每GPU计算节点和存储节点配置1条1 GE 链路连接IPMI和后端管理平台。
07 驱动和业务调度程序

GPU驱动程序

必要的 GPU 驱动程序有 cuda-drivers-5xxfabricmanager-5xx 以及 cuda-toolkit-12-x
  • Cuda-drivers-5xx 是 ubuntu/Linux 与 GPU 交互所需的内核空间驱动程序
  • fabricmanager-5xx 是一个负责配置节点内 NV 链路结构
  • Cuda-toolkit-12-x 包含所有用户空间工具和 API

网络驱动程序

MLNX_OFED

每个 GPU 服务器上都需要安装 Mellanox OpenFabrics Enterprise Distribution (MLNX_OFED) 驱动程序。此软件包是 ConnectX-7 InfiniBand NIC 的驱动程序,用于执行 RDMA(远程直接内存访问)和 OS 内核旁路。

GPU Direct RDMA

这是一个包含在 cuda-drivers-5xx 中的附加内核驱动程序,默认情况下未启用。如果没有此驱动程序,GPU 将需要先在 CPU RAM 中缓冲消息后才能发送到 NIC。
启用 GPUDirect RDMA 的命令是 sudo modprobe nvidia-peermem

NVIDIA HPC-X

主要用于进一步优化 GPU 与 NIC 的通信。
如果没有上述软件包,GPU 只能以 80Gbit/s 的速度收发流量,启用这些软件包后点对点收发速率应可达到 391Gb/s左右。

业务调度和启动程序

绝大部分的最终用户会希望拥有一个开箱即用的调度程序,可以基于SLURM 、K8s 或者其他供应商的软件平台。从0到1手动安装并调试以上平台,对于不是专精于此的工程师至少需要花费1-2天时间,因此闲置的 GPU 资源对于客户都是实打实的支出。

08 多租户隔离

参考传统CPU云的经验,除非客户长期租用整个GPU集群,否则每个物理集群可能都会有多个并发用户,所以GPU云算力中心同样需要隔离前端以太网和计算网络,并在客户之间隔离存储。
基于以太网实现的多租户隔离和借助云管平台的自动化部署已经有大量成熟的方案。如采用InfiniBand方案,多租户网络隔离是使用分区密钥 (pKeys) 实现的:客户通过 pKeys 来获得独立的网络,相同 pKeys 的节点才能相互通信。

09 GPU的虚拟化

与传统CPU云不同的是,AI用途的GPU云租户通常会将每个 GPU 计算节点作为一个整体来租用,深入到节点内部的更细粒度的虚拟化并无绝对必要。但为了进一步提高GPU资源利用率,很多人还是会选择GPU虚拟化,目前,GPU虚拟化技术一般分为三种:软件模拟、直通独占(pGPU)、直通共享(如vGPU、MIG)。
AI算力租赁场景的虚拟化程度一般是到单卡层次,即直通独占(pGPU)——利用 PCIe 直通技术,将物理主机上的整块GPU显卡直通挂载到虚拟机上使用,原理与网卡直通类似,但这种方式需要主机支持IOMMU()。(一种内存管理单元,它将具有直接存储器访问能力的I/O总线连接至主内存。如传统的MMU一样,IOMMU将设备可见的虚拟地址映射到物理地址)
pGPU直通方式相当于虚拟机独享GPU,硬件驱动无需修改。因为没有对可支持的GPU数量做限制,也没有阉割GPU功能性,大多数功能可以在该直通模式下无修改支持。
值得一提的是,NCCL 和 NVIDIA 驱动程序在 GPU 虚拟机内运行时无法自动检测 NUMA 区域和 PCIe 拓扑,需要通过 NCCL_TOPO_FILE 变量手动传递 /etc/nccl.conf中的 NUMA 区域和 PCIe 拓扑文件,否则 NCCL 性能将仅以应有带宽的 50% 运行。

10 监控方案

监控面板

在监控方面,我们至少建议通过 Prometheus + Grafana 构建一个集中的监控面板,以便用户跟踪 GPU 温度、电源使用情况等BMC指标,XID错误,甚至将业务和网络统一监测。
计算节点的监控包括在每个 GPU 节点上安装一个 IPMI 和 DCGM Exporter,然后在管理节点上部署 Prometheus 与 GPU 上的 Exporter 通信,并将数据存储在数据库中。Grafana 连接到 Prometheus 对收集来的数据进行可视化呈现。
网络侧的监控类似,在这种场景下采用SONiC交换机的优势明显,因其软件环境本身就是开放的容器化架构,我们能以 docker 形式在交换机运行 exporter 取得所需设备状态数据,还可借助RESTful API调用网络能力集成进上层管理平台。
另外,结合带内网络遥测(INT)能力还可对RoCE网络实现亚秒级的精细监控,用以辅助网络拥塞控制。
来源:星融元提供的Prometheus + Grafana 毫秒级 RoCE 监控方案

常见错误

  • 诊断消息(dmesg)两个常见 dmesg 消息是电缆被拔出以及 NIC 或者光收发器过热。
  • 静默数据损坏 (SDC)没有收到诊断消息等错误报告,但却输出错误的矩阵乘法结果。这些错误称为静默数据损坏 (SDC)。确定 GPU 上是否有该问题的最简单方法是使用 Nvidia DCGMI 诊断级别 4 工具 sudo dcgmi diag -r 4。该工具将捕获 95% 的最常见静默数据损坏问题。
  • NCCL故障 常见NCCL故障包括死锁和停滞,可能会导致训练作业暂停 30-35 分钟, 而后 PyTorch 的 NCCL watchdog 会终止整个训练作业。对此可以考虑添加电力消耗监控来检查AI作业是否正常运行。更多NCCL排障请参考:https://docs.nvidia.com/deeplearning/nccl/user-guide/docs/troubleshooting.html
  • Infiniband UFM 的错误代码 常见如 110(符号错误)、112(链接中断)、329(链接中断)、702(端口被视为不健康)和 918(符号位错误警告)。遇到上述任何错误代码,应立即联系网络技术工程师进一步调查。

11 部署验收和日常维护

集群规模的验收测试应持续至少 3-4 周,尽可能排除早期失效期出现的节点组件故障。AI训练非常依赖网络、HBM() 和 BF16/FP16/FP8 张量核心,而目前常用的高性能计算测试工具,例如LINPACK(国际上使用最广泛的测试浮点性能的基准测试)不会大量使用网络,也不会占用太多 GPU 的 HBM 内存,而是仅使用和测试 GPU 的 FP64 核心。稳妥起见,我们建议验收测试尽量以模拟真实业务的方式展开。

NCCL-TEST

nccl-test 工具是 NVIDIA 开源的一项用于测试 NCCL 集合通信的工具,我们建议在正式运行业务之前先使用nccl-test来检测集合通信是否正常、压测集合通信速率等,看看否存在任何性能不足或下降。关于nccl-test日志的分析我们将在接下来的主题中展开。

日常维护

集群中最常见的问题包括收发器抖动、GPU掉线、GPU HBM 错误和 SDC等。大多数情况下,这些问题只需简单地启动物理服务器的硬重启,或者断电后重启即可解决。重新插拔收发器或清除光纤电缆上的灰尘也可以解决一些意外故障。更复杂的情况请交给厂商技术服务团队处理。

白盒交换机迎来爆发式增长,星融元已经做好准备


关注星融元


IDC数据2023年最新的数据报告显示,预计2026年我国主要网络设备市场规模将达170.56 亿美元,较2020年增长 65.34%,2020-2026年 CAGR达 8.74%。其中,我国25G/100G 数据中心交换机的市场规模将由2017年的1.08亿美元增长至 2024年的 25.13 亿美元,CAGR高达 56.86%;另据 Dell’Oro Group预测,未来 400G及以上速率交换机将成为市场主流。

大型数据中心建设下,交换机白盒化趋势明显

大型数据中心建设需要较多数量的交换机,对交换机产品的兼容性及开放性提出了较高要求。随着云计算市场不断发展,大型及超大型数据中心建设不断加速,软硬件解耦的白盒交换机市场发展迅速。

传统的黑盒交换机(品牌交换机)预装品牌商自有软件,导致不同厂商设备之间互通性低,运维团队难以统一管控,且难以快速定位故障,同时,黑盒设备的封闭式架构对后期网络的升级和功能拓展带来障碍;白盒交换机将网络中的物理硬件和操作系统(NOS)进行解耦,让标准化的硬件配置与不同的软件协议进行匹配。

换言之,下游数据中心客户可选择为交换机安装外部操作系统或在交换机厂商已提供开放式操作系统基础上开发上层应用软件,客户可组建更为开放灵活的网络方案,在大幅提高数据中心运维效率的同时,降低了建网成本。

星融元作为开放网络厂商,主打白盒交换机产品,能够满足各行业在数据中心场景下对白盒交换机的需求。能够全面解决传统云网络在开放性方面所面临的各种挑战,无缝地将云网络彻底融入到云中,使网络与计算、存储一起成为真正意义上的“云基础设施”。

  1. 底层硬件平台基于开放架构、商用可编程交换芯片设计,在为上层软件提供高性能运行环境的同时,彻底抛弃传统网络硬件私有、黑盒的设计理念。更加值得一提的是,星融元云网络的整体架构设计完全遵循了业界最领先公司广泛部署和使用的Scale-wide架构(按需自由扩展架构),将原本封闭在大型机架式网络设备中的CLOS交换架构开放到网络拓扑设计当中,帮助用户在只采用盒式网络设备的前提下仍然能够搭建出大规模的扁平化云网络,使用户在享受高性能、按需自由扩展的同时,最大限度地降低云网络的TCO(Total Cost of Ownership,总拥有成本)。
  2. 运行在硬件平台上的标准Linux内核为上层应用提供开放的操作系统内核支撑,使得当前主流的DevOps工具能够直接运行在网络设备上,任何第三方应用也都能以容器的形式运行在这个标准的Linux内核之上。
  3. AsterNOS是一款开放、智能、易用、高性能的网络操作系统,以SONiC/SAI为内核,为星融元云网络提供设备级的控制平面,同时支持RESTful API能力开放、主流DevOps工具集成、主流Cloud OS集成、高性能内存数据库等云计算时代的必备功能。
  4. 对SAI(Switch Abstraction Interface,交换机抽象接口)标准的支持将AsterNOS和星融元的交换硬件平台彻底解耦开来,AsterNOS可以运行在任何遵从SAI标准的硬件平台之上,星融元交换硬件平台也能够支持任何遵从SAI标准的网络操作系统在其上运行。
  5. Asteria Fabric Controller(AFC)是为云计算环境设计开发的Cloud SDN Controller,与运行着AsterNOS的交换机系统共同组建一个面向云中业务与应用的Cloud SDN平台,在这个SDN平台上,所有的网络能力均以RESTful API的形式向Cloud OS开放,Cloud OS完全以自动化的形式、从业务的视角对云网络进行部署、调度,无需再关注网络底层的细节。

在部署了星融元云网络的云中,网络与计算、存储一样,自下而上形成了层次分明的“开放硬件世界”、“标准内核世界”和“自动管理世界”,从而使得Cloud OS能够对三大基础设施完全一致地统一管理、按需伸缩、自动调度。

除了白盒交换机,星融元的CX-N系列超低时延云交换机迎合了数据中心发展的新趋势。目前,数据中心融合已开始应用运行在以太网基于 TCP/IP协议的RDMA技术,与传统的 FCoE技术相比,RDMA技术不需要FC接口,就可以直接运行在以太网接口上,更有利于大型数据中心的规模建设。

CX-N使用的恰恰是 RDMA 技术,能够提供无损和超低延时网络,时延仅为400ns,星融元让低时延网络不再是金融/证券行业的专属!目前在移动云、世纪互联、卡巴斯基等已规模化应用。

相关文章

“ChatGPT”们的幕后功臣:Infiniband之外,超低时延网络另有平替之选?


关注星融元


ChatGPT背后的基础设施:AI计算集群

早在2019年向 OpenAI 投资10亿美元的时候起,微软就同意为这家 AI 初创企业构建一台大型超级计算机。近期,微软在官博上连发两文,亲自解密了这台超级昂贵的超级计算机以及Azure的重磅升级。负责云计算和AI业务的微软副总裁 Scott Guthrie 表示,微软在这个项目上花费了数亿美元,将数以万计的 Nvidia A100 GPU 和 Azure 云计算平台串联在一起

对于诸如 ChatGPT 这类 AI 深度学习模型,巨量的高性能算力无疑是重中之重。但是人们常常容易忽略网络传输在AI训练提速中的作用。尤其是大规模集群分布式训练的场景下,网络扮演了一个极为关键的角色:为了训练一个大型语言模型,计算工作量被分配到集群中成千上万个 GPU 上,这就需要借助高吞吐、低时延的网络达成大算力芯片间的协同工作,以整合海量芯片的算力。

我们从Azure面向“生成式AI”所做的基础设施升级也可以看到,网络互连能力在其中占据了很大比重。

微软推出了 ND H100 v5 虚拟机,它支持按需大小不等的 8 到数千个 NVIDIA H100 GPU,这些 GPU 通过 NVIDIA Quantum-2 InfiniBand 网络互连。与上一代 ND A100 v4 VM 相比,客户将看到人工智能模型的性能显着提高,这些创新技术包括:8个NVIDIA H100 Tensor Core GPU通过下一代NVSwitch和NVLink 4.0互联

  • 每个GPU有400 Gb/s的NVIDIA Quantum-2 CX7 InfiniBand,每个虚拟机有3.2Tb/s的无阻塞胖树型网络
  • NVSwitch和NVLink 4.0在每个虚拟机的8个本地GPU之间具有3.6TB/s的双向带宽
  • 第四代英特尔至强可扩展处理器
  • PCIE Gen5到GPU互连,每个GPU有64GB/s带宽
  • 16通道4800MHz DDR5 DIMM

微软所选择的InfiniBand,超低时延网络的唯一正解?

InfiniBand(简称IB)网络是通过 InfiniBand 交换机在节点之间直接创建一个专用的受保护通道,并通过 InfiniBand 网卡管理和执行远程直接内存访问(RDMA),与其他网络通信协议相比可以做到更低的延迟。

然而当前IB技术方案被少数海外供应商锁定的状态,给用户带来了诸多不便:首先是IB 交换机的供货周期过长,很容易影响到整体业务的正常上线,推迟的每一天都在白白损失已建成部分的投入成本;转入日常运维阶段后,IB网络的故障排查仍然高度依赖原厂,其售后响应速度也经常为人诟病。

像ChatGPT这类大规模AI计算集群网络,动辄便是上千卡级别的体量。AI大模型训练的固有需求之下,算力侧的成本优化空间相对有限,但如果能在网络侧寻找到与IB性能相近的平替方案,降低前期建设和后期运维等各方面投入,或许是个不错的思路。

自从RoCE(RoCEv2)出现以来,一些以前IB特有的技术比如 RDMA,协议卸载等,现在已经可以在以太网上应用了。不光是AI训练的后端网络,在科研超算、实时云服务、金融高频交易等场景,用优化后的以太网技术去替代 IB也渐渐具有了可行性。

低成本以太网代替IB网络的可行性

从网络架构来看,目前较为合适的是基于以太网的三层 CLOS 架构(Spine-leaf),在全盒式组网的情况下,任何两台服务器之间的通信不会超过三台交换机。

从网络层协议来看,下面几类 RDMA 网络中,RoCEv2 的性能较好、部署成本低、兼容性强;但受限于传统以太网“尽力而为”的特性,需要交换机支持构建一张零丢包、低延迟、高性能的无损网络。

星融元 CX-N 系列超低时延云交换机作为一款通用的以太网设备,从底层交换芯片到上层的各种协议栈皆面向低时延场景深度优化,可提供 Port to Port ~400ns 的转发时延,全速率下(10G~400G)转发时延相同,并且支持多种数据中心高级功能(如PFC、ECN等)以避免丢包和网络拥塞。

多个客户曾在现场用我们CX-N系列32 x 100G 的以太网交换机和 32 x 100G IB交换机(Mellanox SB7700)做对比测试,结果显示:CX-N系列以太网交换机的性能可以接近IB交换机,部分数据甚至比IB交换机更好。【详见文末附录】

综上:基于星融元CX-N系列云交换机搭建的超低时延无损以太网能够很好地承载RoCEv2,为用户打造一张高性价比的低时延网络。

【HPC场景】测试结果

【分布式存储场景】测试结果

相关阅读:测试报告-HPC高性能计算测试方案(CX-N系列云交换机)

相关文章

一文梳理新一代云化园区网络建设方案-运维篇(2023版)


关注星融元


从运维需求的传递链条来看,云网络和园区网络也高度相似。首先,租户(用户)的业务开通/变更申请会提交至管理平台(运维部门),管理平台(运维部门)分解任务后,下发给网络控制器(网络运维人员),由他们完成具体网络配置并将结果反馈给需求方。当然,云网络中依靠网络控制器和REST API接口早已实现了自动化运维,而传统园区大多还停留在依靠网络管理员和手工配置网络设备的“人肉运维”阶段。

云网络运维与园区网络运维对比图

如今,在云化园区网络架构下,我们将有机会把云中广泛使用的,面向未来的软件编程、自动化、NetDevOps等先进技术和理念应用到园区场景,在网络运维方面大大解放生产力,提高效率!

集中控制器与分布式路由/转发

与云网络类似,云化的园区网络架构采用了“集中控制器+分布式路由+分布式转发”的整体结构,具体如下图所示:

集中控制器+分布式路由+分布式转发

集中控制器+分布式路由+分布式转发

在云化园区网络中:

  • 网络管理员对网络的配置通过具备图形化界面的网络控制器统一进行,无需再通过命令行逐台设备地进行,网络控制器在定位和功能设计方面超越了传统的集中网管系统,除了能够完成基础的配置管理功能,还可以将网络管理员的意图转换为对网络中每一台网络设备的配置,并且实时收集、分析和呈现网络的运行状态,帮助网络管理员避免繁重的配置运维工作、降低引入人为错误的风险、快速预警风险和定位故障;
  • 在基于OpenFlow的SDN模型中,所有的路由学习与计算能力是集中式的部署在网络控制器上的,网络设备只需要接受来自网络控制器下发的转发表、按照转发表完成转发动作即可。在云化园区网络中则不同,网络的路由学习计算功能分布式地部署在所有的网络设备之上,借助IP网络成熟高效的路由算法,智能学习、动态传播、快速同步整网的路由信息,充分利用了每台网络设备的计算能力,并且有效地规避了网络控制器单点故障带来的风险;
  • 与分布式路由相对应的,则是所有网络流量在所有网络设备上的分布式转发,无需在某些特殊情况下将流量集中到网络控制器上做集中转发,对于无法转发的错误流量,网络设备将直接丢弃,这一点也从根本上解决了OpenFlow SDN模型性能低、可靠性低的问题。

开放的编程接口

借助于开放网络操作系统的软件编程接口能力,在云化园区网络中,各种网络业务与应用可以通过软件编程的方式自动、按需地调度网络,网络管理员甚至可以开发自有的网络应用以满足各种业务和应用的需求,让“应用定义网络”成为现实。

AsterNOS开放的编程接口

开放的编程接口

上图,以星融元的开放网络操作系统AsterNOS为例说明了如上的概念。AsterNOS SDK所提供的面向机器的软件编程接口使得在各种环境中对网络进行软件定义成为可能。在运行着AsterNOS的网络中,使用者除了使用传统的命令行、WebUI对网络进行基础的运维之外,还可以通过AsterNOS SDK所提供的REST API和/或System API自动化地、高效地运维网络,甚至为自己的网络开发新的应用。

分层简化配置

传统园区网络中,往往是“一个设备、一个配置”,即每一台网络设备的配置都是不同的。对于较大规模、结构复杂的网络来说,网络配置和配置的维护、变更是网络管理员所面临的巨大挑战之一,面对复杂的网络结构、众多的网络设备、多个版本的网络配置文件,稍有不慎就会因为错误配置引发网络故障。

园区网络分层简化配置

分层简化配置

云化园区网络架构追求极简的另一个有力例证就是将网络设备的配置改进为“一层设备、一个配置”。简单来说,通过创新的设计,云化园区网络架构彻底规避了“同层设备、配置不同”的问题,在一个二级三层的Clos网络中,无论有几十台还是上百台网络设备,只需要维护三个网络配置即可,同层设备在配置方面的差异性,完全通过软件设计上的创新和初始配置的自动化屏蔽了。在云化园区网络中,网络配置的数量不再被网络设备的总数量所决定,而是只跟网络的层数相关,将配置管理工作带给网络运维的复杂度降低了2-3个数量级,帮助网络的拥有者大幅度降低运维的综合成本。

零配置部署

进一步的,云化园区网络架构引入了在服务器、云网络运维体系中广泛使用的零配置部署机制。

云化园区网络零配置部署

零配置部署

在零配置部署机制中:

  • 网络管理员在管理服务器上部署文件传输系统的服务器端,并将网络操作系统镜像和按照规划生成的网络配置管理文件存放在指定目录下;
  • 云化园区网络的每台交换机上都运行着开源软件ONIE(Open Network Install Environment,开放网络安装环境),ONIE在交换机加电开机时自动运行并连接到管理服务器,按照预先设置的规则申请特定的网络操作系统镜像和对应的配置文件;
  • 管理服务器将系统镜像和配置文件传送到交换机后,交换机将自动加载新获得的网络操作系统镜像,并根据配置文件完成系统的初始配置;
  • 以上申请、加载、配置的过程均不需要网络管理员介入,完全自动化地完成,试想,对于一个有着成百上千台交换机的网络来说,零配置部署机制对网络升级、变更所带来的效率提升是非常可观的。

NetDevOps

DevOps(Development and Operations,开发运营)是一种新型的产品交付与运营模型,它将与产品生命周期和业务运营过程中的各个相关环节(例如研发、测试、部署、运营等)以一种空前的方法连接了起来。DevOps对应到开放网络世界中,就是NetDevOps。

云化园区网络架构天然地支持NetDevOps。下面,基于星融元的AsterNOS及其SDK、REST API,围绕一个安全运维场景来说明云化园区网络如何支持NetDevOps。

一个NetDevOps的示例

一个NetDevOps的示例

如上图所示,出于对安全的考虑,网络运维人员往往需要对重要的应用系统进行访问情况的审计与分析;针对这些应用系统,如果发生了访问控制的缺失、访问状况的异常,管理员希望第一时间得到通知,以便采取相应的动作。这些审计与分析的内容可能包括:网络对重要应用系统的访问是否进行了控制(以便判定该应用系统是否被保护)、对这些重要应用的访问情况是否发生了突然的变化(以便判定该应用系统是否处于可能的攻击中)等。

下面,我们就来看看通过AsterNOS SDK如何便捷、高效地实现这一需求。在网络中,访问控制一般是通过ACL(Access Control List,访问控制列表)实现的。

AsterNOS支持ACL功能,并且能够提供所有ACL被命中过的统计数据;AsterNOS SDK所提供的REST API中,包含对ACL各个字段和统计数据的访问接口,通过调用这些接口,即可直接获得ACL的这些信息用以分析。具体思路如下:

  1. 重要的应用系统可以用IP地址来标识(如果需要更精确地定义,还可以增加该应用所使用的TCP/UDP端口信息);
  2. 通过调用REST API,获得AsterNOS中当前配置的所有ACL的“目的IP地址”字段,以便判断所定义的重要应用系统是否被ACL进行访问控制;
  3. 通过调用REST API,获得对这些重要应用系统的访问量的统计信息,以便判断是否出现异常状况;
  4. 对于出现的访问控制缺失或访问异常状况,该程序自动通知管理员进行干预。

假设运行着AsterNOS的网络设备的管理接口IP地址和端口为192.168.1.200:4430,则上述思路的示意性伪代码可以如下:

编程者通过AsterNOS SDK的REST API获得是ACL的每一个具体字段及其值

这段伪代码仅用于示意,并未严格地写出循环、边界条件判断、具体日志与告警实现等。其中,“GET https://192.168.1.200:4430/rest/v3/acl/…”即AsterNOS SDK中获取ACL及其具体信息的REST API,“TABLE_y:RULEz:”dst_ip””和“TABLE_y:RULEz:“stats””即一条ACL的“目的IP地址字段”和“该ACL的命中数量统计”。需要强调的是,编程者通过AsterNOS SDK的REST API获得的已经是ACL的每一个具体字段及其值,无需再使用复杂的文本解析程序进行处理。

将这段非常简单的程序用Docker进行容器化封装,部署在AsterNOS中,并且自动化地定时运行,即可实现前文所述的运维需求,并且,通过对更多ACL字段与值的调用,即可实现更高级的运维功能。

总结:新思路、新架构、新网络

云计算掀起数据中心网络的变革热潮,而随着中大型园区网络规模的进一步扩增,传统园区网络面临着运维复杂、扩展性差、架构封闭等诸多挑战,借鉴云数据中心网络的发展经验,星融元Asterfusion创新性地提出了新一代精简高效的云化园区网络架构。

我们可以看到基于开放网络架构的新一代云化园区网络的确会在方方面面为园区网络带来改变。总结来看,这些改变主要包括:

  • 全新的网络规划思路:采用领先的开放网络理念,基于最新的数据中心级网络技术、开放的网络操作系统,“一网多用”地构建出能够同时承载多种业务的超大规模园区网络;
  • 全新的网络建设架构:抛弃传统园区网络架构所背负的历史包袱,通过纯三层网络、统一路由结构、天然无环、去堆叠、自主内生安全等创新的技术,建设架构极简、更可靠、更安全、更高性能新一代园区网络;
  • 全新的高效运维体系:将开放网络的集中控制器、软件可编程引入到园区网络的运维系统中以有效支持NetDevOps,同时通过简化配置、自动部署等创新性设计大幅度提升网络运维的效率。

所有这些改变,都将带给园区网络的拥有者和运营者最直接的价值:降低网络建设的成本,提升网络运营的效率,支撑无限创新的可能!

云化园区网络组网架构图

相关文章

一文梳理新一代云化园区网络建设方案-建网篇(2023版)


关注星融元


从旧时代一路走来的传统园区网络架构背负了过多的历史包袱,这些包袱在当时的技术发展背景、网络客观状况以及工程师对网络的理解的环境中,都是不得不支付的代价。今天,随着开放网络架构在云网络中的概念验证、规模部署和蓬勃发展,支撑技术与产品已经完全具备了帮助园区网络甩掉这些历史包袱的条件。因此,基于开放网络架构建设云化园区网络时所坚持的唯一原则就是:极简。接下来,我们从若干个方面看看这些极简的建设思路,以及给园区网络带来的好处。

抛弃二层网络,消除园区广播风暴

以太网工作在网络参考模型的二层(Layer 2,简写为L2),其大部分交互逻辑建立在广播这种机制之上,因此是一种高效的通信协议。为这种高效所支付的代价是,当在一定范围内(例如,跨越两台以上的交换机)部署以太网时,需要将广播报文在不同的交换机之间传播,由此则带来了潜在的广播风暴风险;为了规避这种风险,又出现了类似于STP(Spanning Tree Protocol,生成树协议)及其各种相关的协议和保护机制。由此,大规模部署的二层以太网结构变得越来越复杂、健壮性变得越来越差,建设和维护成本都高居不下。究其根本原因,基本可以认为是(大范围的二层)广播导致了这一切的发生。更为严峻的是,很多网络安全漏洞,都是利用以太网的广播机制工作的。那么,在不破坏以太网基础工作原理的基础之上,如何解决这个问题?

云化园区网络架构解决这个问题的方法非常简单,也非常优雅:将L2的工作范围限制在接入终端和其所连接接入Leaf的端口之间,在确保以太网能正常工作的前提下,最大限度地压缩L2区域,彻底消除以太网广播在网络中的传播,从而将广播带来的各种复杂度、脆弱性和安全风险从根源上消除掉。

抛弃L2的L3 IP Fabric

抛弃L2的L3 IP Fabric

如上图所示,一旦以太网报文进入到接入Leaf的物理端口,L2就会被彻底终结,取而代之的是一个基于IP的网络。IP工作在网络参考模型的三层(Layer 3,简写为L3),这个协议在设计之初就充分地考虑了环路规避、多路径转发、高可靠、故障自愈等因素,因此在L2广播中面临的各种挑战,在L3的世界里天然不存在。而且,L2转L3的处理只发生网络侧,对于每一个接入终端来说是完全透明的,接入终端无需为此做出任何调整。借用云网络中的概念,我们也可以用IP Fabric来指代这样的园区网络的主体。

可以看到,在云化园区网络中,管理员只需要根据不同的业务需求设置不同的L3子网以隔离不同的业务,而无需配置和维护复杂的各种STP、全局VLAN、广播抑制等L2功能。尤为重要的是,经过如此的简化,网络的可靠性和健壮性是不降反升的。

统一极简的BGP园区路由

IP协议在诞生的初期,互联网的各个部分非常复杂,各种规模、各种结构、各种速率、各种网络协议、各种运营主体不一而足。因此,早期的网络工程师不得不开发了各种路由协议来应对如上的局面。这些路由协议包括RIP、OSPF、IS-IS等IGP(Internal Gateway Protocol,内部网关协议)和BGP这种EGP(External Gateway Protocol,外部网关协议),不同的网络内部运行着不同的IGP,不同的网络之间需要互联时则采用EGP(即BGP)。长期以来,复杂的路由结构一直是令网络建设者和管理员战战兢兢的雷区,稍有不慎就会因路由的错误配置导致网络的路由震荡、路由丢失甚至整网瘫痪;而这样的路由结构也一直沿袭到传统的园区网络架构内部。

云化园区统一的BGP路由
统一的BGP路由

本着极简的原则,云化园区网络架构抛弃了“IGP+EGP”的复杂路由结构,而是采用BGP这种高效简捷、控制能力超强的路由协议统一了整网的路由机制。在云化园区网络架构中:

  • 无论是在子网内部,还是在子网之间,全部采用一种路由协议,即BGP(更确切地说,是eBGP),管理员无需再为多种IGP和BGP的混合部署而头痛;
  • 网络的Spine层和Leaf层分别运行着配置逻辑完全一致的BGP路由协议实体,分处于不同的两个AS(Autonomous System,自治系统)中,彼此之间通过eBGP连接交互路由信息,最终将路由同步到全网;
  • 在整网范围内,则运行着简化的EVPN(Ethernet VPN,以太网VPN)或扩展的MP-BGP(Multi-Protocol BGP,多协议BGP),负责完成不同逻辑网络的路由信息同步和分布式网关信息的传递;
  • 极简的配置逻辑让网络管理员只需要使能BGP、做最基础的连接建立即可完成整网的路由连通,对于经验丰富的网络管理员,通过操作BGP丰富的属性参数和策略机制,能够实现各种灵活的路由传播策略和控制;
  • 这种统一路由架构对网络管理员的技能要求也尽量集中到了一种协议上,非常有利于管理效率的提升和综合成本的降低。

支持园区无缝漫游的高性能分布式网关

网关是一个子网中所有终端的出口设备,即,当一个终端(A)要与处于另一个子网的终端(B)进行通信时,A只需要将通信信息交给自己的网关即可,由网关完成信息的进一步向外传递(到B)、从B返回信息的接收、再将返回信息发送到的终端(A)上。从这个逻辑可以看出,对于一个子网来说,网关一定是一个集中的点;事实上,在传统园区网络架构中,也的确如此。

支持无缝漫游的高性能分布式网关

支持无缝漫游的高性能分布式网关

在云化园区网络架构中则不同:

  • 一个子网的网关以分布式的形式存在于每一个接入Leaf上(这也是分布式网关这个名字的由来),充分利用每一个接入Leaf的能力,所有的跨子网转发动作在最近的分布式网关上完成,让网关功能不再成为压垮网络中某一台设备的潜在风险,同时大幅度提升整网的转发效率;
  • 当移动终端发生漫游时,分布式网关的作用尤为重要,因为漫游后的接入Leaf上已经配置了网关信息,并且自动学习和同步了漫游终端的IP/MAC信息(详细解释如下一节),因此漫游后的终端可以平滑地重新接入网络(所发信息无需再到一个“集中的网关”上去兜圈子),并且漫游过程中业务不断连(即确保不丢包,因为漫游后的接入Leaf上已经有了该漫游终端的所有信息);
  • 对于网络管理员来说,只需要在网络初始化时一次性配置好所有分布式网关的信息即可,无需在运行过程中动态调整,从而进一步降低运维的复杂度。

抛弃生成树协议,天然无环路的网络结构

在有环路的L2网络中,如前文所述,为了规避广播风暴风险,往往会部署STP协议(以及由STP进化而来的RSTP、MSTP等协议),而部署STP的另外一个代价就是:必须人为地阻塞掉一半的物理线路使其处于不工作状态(即浪费一半的物理带宽),从而确保没有环路出现、L2网络能够正常工作;并且,STP的算法决定了这样的L2网络的规模无法做大,当交换机数量增长到100台左右时,网络则仅仅只在理论上具备可行性了。

云化园区天然无环的网络结构
天然无环的网络结构

云化园区网络架构很好地解决了上述问题:

  • 利用Clos结构,云化园区网络是一个天然无环的网络,因此,相较于同样规模的传统架构园区网络,无需浪费掉一半的线路资源,即,在同等线路带宽的投入下,云化园区网络可接入终端的数量是传统园区网络的一倍(或者,在同等接入终端数量的前提下,云化园区网络所需要投入的带宽资源是传统园区网络的一半);
  •  如前所述,借助IP协议的各种L3能力,无环的云化园区网络能够做到超大规模,网络中交换机的数量不再受STP的理论限制,几百台、上千台的交换机组成的云化园区网络能够接入几十万的终端,组建超大规模的园区网络;
  •  最后,当将网络中各种额外的复杂因素去除掉以后,整个网络的建设与运维难度都会大幅度降低,节省网络建设者的综合成本。

去堆叠,并且更可靠

传统园区网络架构中,为了向一些终端提供高可靠的接入服务,往往会采用堆叠技术。堆叠技术将两台(甚至有可能是多台)同规格的接入交换机在逻辑上虚拟成一台交换机,让终端通过不同的线路分别连接到不同的接入交换机上;当堆叠组中的一台交换机故障后,由另一台交换机将自动接管网络流量,从而达到高可靠接入网络的目的。在某一些方案中,这样的堆叠甚至会出现在更高层级的交换机、或者不同层级的交换机之间。

通过上面的描述,已经能够感觉到堆叠是一种非常复杂的组网模型,其流量处理逻辑、故障恢复逻辑都及其复杂。从软件设计、开发的角度来说,要将两个完全独立运行的系统,从初始配置、到运行状态、到流量转发、再到出现故障时的行为完全同步、协调起来,是一件非常困难的事情。很多网络出现全网级的故障甚至瘫痪,都是因为交换机内部的堆叠软件故障所引发的。

去堆叠,并且更可靠的网络
去堆叠,并且更可靠的网络

在云化园区网络架构中,则彻底的抛弃了堆叠方案,而是采用基于L3能力实现的一种可靠度更高、复杂度约等于零的方案:

  • 接入终端并不需要为此方案做出任何调整,依然是通过两条(或多条)的线路、采用通用的Bond技术,上连到不同的接入Leaf上去;
  • 接入Leaf通过使用ARP学习、32位主机路由、BGP同步等功能,利用L3网络天然的高可靠、多路径能力,达到跟传统堆叠一样的效果;
  • 因为不涉及复杂的堆叠软件的开发,因此系统的稳定性非常高,不会因为复杂的堆叠逻辑引入潜在的Bug,因此是一个可靠性更高的方案;
  • 利用L3网络的ECMP负载分担能力,可以充分利用交换机之间的所有带宽传递报文,使得网络性能更高;
  • 对于网络管理员来说,不需再陷入到堆叠复杂的组网逻辑、纷繁的设备配置、脆弱的状态同步等问题中无法自拔。

基于网络安全策略自学习的“内生安全”

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)的重要功能之一是为接入网络的终端分配规划好的IP地址,同时为终端动态配置网关地址、DNS地址等信息。

云化园区基于自学习的主动安全、内生安全
基于自学习的主动安全、内生安全

云化园区网络将主动跟踪任何接入终端与DHCP服务器之间的交互过程,对于所有通过DHCP服务获取自己IP地址的终端,其IP/MAC地址信息都会被网络所记录,所有来自这些终端的网络通信都将被允许通过、正常转发。而对于那些没有通过DHCP服务器获得合法地址的终端来说,网络会拒绝此类终端的接入,来自这些终端的网络流量将在与其直接相连的接入Leaf的端口上直接被丢弃。同样的学习过程也会发生在ARP的交互过程中、数据报文的转发过程中。

从上述描述不难发现,云化园区网络通过自学习手段,具备了主动安全和内生安全的机制,不再依赖于网络管理员复杂的策略配置。

安全控制表项(ACL)的手工配置

并非所有接入网络的终端都需要通过DHCP来获取自己的配置信息。例如,网络中的打印机,往往是被配置了静态的IP地址,平时是处于静默状态,一旦有打印请求到来时,就会直接开始传递需要被打印的信息。这种情况如何处理?

安全控制表项的手工配置
安全控制表项的手工配置

在云化园区网络架构中,处理这种情况的机制是安全控制表项的手工配置。手工配置与自动学习相结合,将网络中所有类型的终端全部纳入到统一安全防护的范畴之内。

下一篇,我们将从园区网络的运维层面(软件可编程、自动化、NetDevOps…)来继续探讨。


借鉴云数据中心网络的发展经验,星融元Asterfusion创新性地提出了新一代精简高效的云化园区网络架构。其中,型号丰富的CX-M系列主要作为接入或汇聚交换机,而高速率、高密度的CX-N系列作为汇聚和核心交换机。

相关文章

一文梳理新一代云化园区网络建设方案-架构篇(2023版)


关注星融元


从传统的园区网络架构说起

顾名思义,园区网络指的是部署在一个园区范围内的网络,这个网络被用来连接其所在园区内的所有固定终端(台式机、服务器、打印机等)、移动终端(笔记本电脑、平板电脑、智能手机、服务机器人等)和IoT终端(门禁、考勤机、摄像头、烟雾传感器等);园区网络需要支持所有这些终端之间的互联互通,还需要按需将其中的一部分终端接入到互联网。

一个典型的园区网络往往由有线网络和无线网络两部分构成,无线网络负责通过WiFi接入各种移动终端和具备无线接入能力的IoT终端,有线网络负责接入各种固定终端和只具备有线接入能力的IoT终端;当然,无线网络最终也需要接入到有线网络中去,从而完成所有终端之间的互联互通。

在现实世界中,园区的规模或大或小,小到可能是一个容纳三五人的办公室,大到可以是同时容纳上万人、覆盖若干个大楼、甚至分布在多个城市的集团型的办公园区;相应的,园区网络的规模也可大可小,小到只需要接入个位数的各种终端,大到需要同时接入几十万数量的各种终端。

我们的讨论从一个典型的基于传统架构的园区网络模型开始。

一个典型的基于传统架构的园区网络模型

图1:一个典型的基于传统架构的园区网络模型

在图1所示的模型中:

  • 一个三层网络连接着若干二层网络,不同的区域往往划归到不同的二层网络,所有终端连接到不同的二层网络;
  • 同一区域终端间的通信在本地二层网络内部完成,跨区域的终端间的通信由连接各个二层网络的三层网络完成;
  • 所采用的网络设备(自下而上)一般包括:盒式的二层接入交换机、中等规模的框式汇聚层交换机和中/大规模的框式核心层交换机;
  • 网络的扩展能力主要基于框式设备的纵向扩展能力;
  • 网络的运维主要依赖于人工运维。

什么是开放网络架构的云网络?

在云计算发展的起步期,云的网络架构是参考传统园区网络搭建起来的。但云计算工程师很快便发现,这样的架构并不能满足云计算的业务所需,于是广大云计算工程师开始对云网络进行持续的改进和优化。

在市场需求与科技进步的双驱动之下,云网络经历了二十年的蜕变和升华。时至今日,尽管云网络架构诞生于园区网架构,但其发展早已远超后者——无论是整体的网络架构还是在硬件设备、扩展能力、运维能力等维度,云网络相比起传统园区网络都有了长足进步。

一个主流的基于开放网络架构的云网络模型

图2:一个主流的基于开放网络架构的云网络模型

在图2所示的模型中:

  • 根据所连接服务器所处物理位置的不同,网络被分成了若干个POD,所有POD则通过一个更大的网络连接起来;
  • 与传统园区网络架构不同的是,任何一个POD内的网络、连接所有POD的网络都是三层网络,网络的总体规模从连接几十台到几十万台服务器不等,这个网络往往被称为Underlay Network;
  • 在同一个Underlay Network之上,管理员创建出不同的虚拟网络为云上的不同租户和不同业务提供连接服务,租户和业务并不感知Underlay Network的存在,只感知有一个(虚拟)网络为自己在服务,这个虚拟网络往往被称为Overlay Network;
  • 云网络的搭建一般不再采用或大或小的框式网络设备,而是根据需求选择不同规格、性能的盒式设备,从而避免单设备的复杂度给整体网络运营和运维带来更高的成本和难度;
  • 基于Clos架构,这些盒式网络设备可以组成从连接几十台服务器到几十万台服务器的不同规模的网络,并且网络规模可以按需横向扩展;
  • 云网络的运维往往通过云管平台、网络控制器等实现自动化运维。

经过这些年的发展,为了区别于传统的网络架构,业界往往采用“开放网络架构”这样的术语来指代云网络架构。

随之而来的问题就是:如果将开放网络的架构及其技术推广到更广泛的网络世界,譬如园区网络,将给这些“更广泛的网络世界”带来什么样的改变?这些改变将会带来什么样的好处?

开放网络架构与技术将从哪些方面改变园区网络?

接下来,从网络的规划、建设、运维三个维度,我们分别探讨开放网络架构与技术有可能带给园区网络的改变,以及这些改变能够带来的好处。为了便于论述,我们将“基于开放网络架构和技术的园区网络”简称为“云化园区网络”,一来便于与“传统园区网络”方案进行区别,二来便于描述其本质(即“沿袭自云网络架构的新一代园区网络架构”)。

1. 多级CLOS结构的网络

如下图所示,在采用了开放网络架构的云化园区网络中,全部采用CLOS结构的组网模型。

云化园区多级CLOS结构的网络

多级CLOS结构的网络

以一个园区为例:

  • 从楼层到整个园区,是个三级/四层的CLOS网络(Leaf-Spine结构的网络):
    • 在楼层范围内,接入层交换机作为Leaf(也可称为接入Leaf),楼层汇聚交换机作为Spine(也可称为楼层Spine),构成第一级的CLOS网络;
    • 在楼栋范围内,楼层汇聚交换机作为Leaf,楼栋汇聚交换机作为Spine(也可称为楼栋Spine),构成第二级的CLOS网络;
    • 在园区范围内,楼栋汇聚交换机作为Leaf,园区汇聚交换机作为Spine(也可称为园区Spine),构成第三级的CLOS网络;
  • 随着园区规模的从小到大,这个多级的CLOS网络能够从一级横向扩展至多级,使得网络能够接入的终端数量从几十个到几十万个不等,并且,扩展的过程中,原有的网络架构完全保持不变,新扩展的模块与原有模块架构完全一致,从而最大限度地降低了维护的复杂度;
  • 基于其横向扩展能力,这个多级CLOS网络完全采用盒式的单芯片交换机来搭建,彻底抛弃了传统网络架构中各种规模的框式设备,从而在最大限度上避免了框式网络硬件带来的高昂成本;
  • 在图中所示的三级CLOS网络中,任意两个终端之间的通信可保证在1跳(最优情况)到7跳(最坏情况)之内完成,并且因为路由结构的设计,所有的网络通信会充分利用所有的物理线路,因此网络通信质量是高性能、高可靠且可以预测的,从而在最大限度上确保了网络提供服务的质量。

2. 数据中心级的交换机设计

基于开放网络架构的云网络在过往十几年的发展过程中,在交换机设计方面逐渐形成了其独有的特点,我们将这些特点称之为数据中心级的交换机设计。

数据中心级的交换机设计

将这些特点运用于云化园区网络会极大地提升园区网络的架构先进性、整体性能和可持续发展性:

  • 开放的硬件架构:由控制系统、数据中心级交换芯片、监控系统、电源、风扇等标准化模块构成,设计理念不再追求传统厂商主导的大规模、复杂的框式结构,而是追求标准化、单芯片、简单的结构,并且通过Clos架构来提升网络的横向扩展能力和整体接入能力;
  • 数据中心级交换芯片:交换容量从2Tbps开始,依次向上增长到3.2Tbps、6.4Tbps、12.8Tbps、25.6Tbps,甚至51.2Tbps,基于这样容量芯片的单芯片、盒式交换机部署在园区网络的核心位置上足以承载大规模网络的流量;
  • 超高端口密度:无论是接入Leaf还是各级Spine交换机,均可以提供超高密度的端口,譬如,在1U的空间内,接入Leaf可以提供48个千兆PoE接入端口和6个25GE上行端口,楼层Spine可以提供48个25GE接入端口和8个100GE上行端口,楼栋Spine则可以采用具备32个或者64个100GE端口的交换机,对于超大规模的园区,则可以采用具备128个甚至256个100GE端口的交换机作为园区Spine;
  • 超高转发性能:所有数据中心级交换机均支持多流水线、全线速转发,从而保障云化园区网络支持零阻塞、无收敛的性能,这一点在今天大规模的园区网络中非常有价值,能够确保大量的访问数据中心的流量(业务系统访问等)和终端之间的P2P流量(音视频交流、文件传送等)无损的传送,提升园区网络用户的使用体验;
  • 丰富的端口类型:25GE、100GE接口已经数据中心普遍使用,400GE接口也正在规模部署阶段,这些高速接口能够将网络传送每比特的成本降低至传统方案的20%~50%,并且能够有效地在未来五到八年之内保护用户的投资,因此,在云化园区网络中广泛部署此类高速接口将大幅度降低园区网络的TCO,更值得一提的是,在接入Leaf上支持Multi-Giga接口(2.5Gbps/5Gbps)可以为即将规模部署的Wi-Fi 6提前做好物理接入带宽的准备。

3. 开放的网络操作系统

开放的网络操作系统是开放网络架构的灵魂,它使得网络管理员能够以SDN(Software Defined Network,软件定义网络)、IBN(Intention-Based Network,基于意图的网络)和NetDevOps的方式运维开放的网络。

开放的网络操作系统

开放的网络操作系统

上图以星融元的开放网络操作系统AsterNOS为例,描述了一个基于SONiC的网络操作系统在整个云网络中的位置、功能以及与周边系统、角色的关系。可以类比的是,当我们将同样的操作系统引入到云化园区网络后,网络管理员将能够:

  • 通过图形化界面将网络部署、变更的意图提交给网络控制器,即可自动化完成对所有网络设备的配置,即避免了繁琐的逐设备的命令行配置,又能够有效避免人工操作引入的人为错误,从而提升网络的整体健壮性;
  • 网络管理员无需再在每台网络设备上维护纷繁复杂的配置文件,而是好像维护代码一样在服务器上完成对网络配置文件的变更管理、版本管理、模拟上线运行等工作,并且网络启动时配置文件自动完成加载,无需管理员手工干预;
  • 将日常运维网络的各种软件工具,以容器化的形式运行到开放网络操作系统中去,既提升了网络运维效率,又节省了网络运维的成本(不再需要部署软件工具的物理服务器);
  • 将开源世界中的各种软件集成到现有的网络运维体系中去,并且将它们与网络操作系统紧密的融合在一起,创造出前所未有的网络运维方法;
  • 甚至,网络管理员能够通过调用开放网络操作系统提供的各类API,在各种基础网络功能之上编制出符合自身业务需求的“新”网络功能/设备来,从而真正让“应用定义网络”;
  • 更为重要的是,当园区网络与数据中心网络使用同一个网络操作系统时,将对网络运维带来运维效率提升、运维人员减少、设备备件统一等诸多便利之处。

4. 一网多用

在同一张云网络的物理网络(Underlay)之上可以为不同的租户创建不同的虚拟网络(Overlay),从而实现“一张网络为多个租户服务、并且彼此隔离”的目的。在云化园区网络上,亦是如此,可以为不同的业务、不同的用户群创建彼此隔离的“逻辑网络”。

一网多用

一网多用

在上图中,三种不同的业务(办公系统、业务系统和物联网)承载在同一张云化园区网络之上,云化园区网络提供了三张彼此隔离的逻辑网络为不同的业务服务,每种业务都认为自己被承载在一张专用的网络之上,无需感知其他逻辑网络的存在。

在云化园区网络之上创建这些彼此隔离的逻辑网络时,可以采用以下不同的方法:

  • 完全复制云网络基于VXLAN(Virtual eXtensible Local Area Network,虚拟扩展局域网)的隔离方案,适用于超大规模、网络空间复杂且重叠的园区网络,是一种比较重的方案;
  • 如果园区网络是扁平的地址空间,但是对路由隔离的要求比较严格,则可以利用VRF(Virtual Routing and Forwarding,虚拟路由与转发)的隔离性,将不同的逻辑网络隔离到多个不同的VRF中;相较于VXLAN方案,多VRF方案复杂度较低、开销较小;
  • 如果园区网络是扁平的地址空间,并且规模较小、对隔离的要求仅限于对不同业务之间互通的访问控制,则可采用IP子网规划和ACL(Accessing Control List,访问控制列表)的组合,即可达成目标;相较于前两种方案,该方案基本不会带来额外的复杂度、开销约等于零,是最轻量的隔离方案。
  • 因此,云化园区网络对多业务的支持采用的是“从大到小、越来越轻”的设计思路,可以支持接入从几十万终端到几十个终端不同规模的网络,并且采用越来越简单的逻辑隔离方案,降低部署与维护的复杂度。

下一篇我们将从园区网络的建设层面(路由、网关、广播风暴、园区网络安全、高可靠部署、园区漫游……)来继续探讨。

借鉴云数据中心网络的发展经验,星融元Asterfusion创新性地提出了新一代精简高效的云化园区网络架构。其中,型号丰富的CX-M系列主要作为接入或汇聚交换机,而高速率、高密度的CX-N系列作为汇聚和核心交换机。

云化园区组网架构图

相关文章

干货 | 浅谈负载均衡的实现方式


关注星融元


负载均衡技术的产生背景

随着数据中心规模和网络行业的高速发展,大型网站的规模体量和存储数据呈现指数级上升。如何处理来自这些海量用户,海量数据的存储和访问需求,给客户提供一个高可用的访问环境,成为了广大厂商必须去思考的问题。

比如我们熟悉的支付宝红包活动,每年都有上亿人次的参与,背后都需要访问后端的业务服务器。业务服务器面临保证访问质量的极大压力。再如微博服务器经常出现爆炸宕机,其实就是在负载均衡方面没有做好。

服务器的性能不够时,可以有两种解决思路:

  • 垂直扩展-提升单机性能,比如扩展CPU、内存和磁盘大小,但单机性能是有瓶颈的,而且会受到厂商的限制,达到一定阈值后需要付出很高的成本投资
    横向扩展-通过构建服务器集群去分担客户端的访问流量
  • 而在横向扩展的情况下,我们又迎来了另一个挑战:如何保证来自客户端的请求能够以可靠的方式去分发到我们每个服务器集群中的各个节点?这里便会涉及到所谓的“负载均衡“技术了。

什么是负载均衡技术?

为了解决高可靠、高并发以及海量数据的存储和访问,负载均衡它起到的核心作用就是把来自客户端的请求合理地分配给后端服务器上的某个节点。具体到原理上就是在负载均衡器上去执行某种算法,根据某种算法把客户端的请求去按照算法分配的结果去响应到实际服务器,再由服务器把相应数据返回给客户端。

无论是用专用硬件设备,还是目前更为流行的软件处理方式,负载均衡方案其实都是要建立一种一对多的映射机制,把一个请求给它映射到多个处理请求的节点。

负载均衡方案其实都是要建立一种一对多的映射机制

以下是典型的客户端请求的流量转发流程。首先从网站上发起一个请求会先到 DNS 服务器上进行域名解析。域名解析完成之后会进入公网,经由一些网络设备执行转发,最后走到服务器端的安全处理安全模块。做完安全之后,我们今天要讲的重点内容了——会进行 4 层负载,之后是 7 层的负载,最后转发给后端服务器集群中的某个节点。而且到了服务器集群之后,其实还有一系列负载均衡机制。

典型的客户端请求的流量转发流程

按通信层次划分:四层负载均衡和七层负载均衡

七层负载均衡:作用于应用层,负载均衡器提供一个虚拟IP,根据访问用户的HTTP请求头、URL信息将请求转发到特定的主机。主要通过反向代理实现。
四层负载均衡:作用于传输层,负载均衡器提供一个虚拟IP,基于IP地址和端口号进行请求的转发。主要依靠修改IP地址+端口号实现。

按实现载体划分:硬件方案和软件方案

硬件负载均衡:一般是在定制的处理器上运行的独立负载均衡服务器。硬件负载均衡方案一般都支持全局负载均衡,并提供全面的、复杂的负载均衡算法,功能强大;并且基于专用的处理器,吞吐量也能做到很高,可以支持单机百万以上的并发。此外硬件负载均衡往往具备防火墙、防DDOS等安全功能。

软件负载均衡:软件负载均衡也是目前主流的互联网厂商所选择的方式。这些厂商他的体量非常大,面对海量的用户端请求处理的负载均衡需求,如果都去采购专用硬件厂商的设备,成本就会非常高。另外,像京东、阿里这类自身有云业务的公司,他们也想做到云管平台的统一灵活管控,这是难以做到的。

从软件层面实现负载均衡,一般可以在任何标准物理设备上运行。软件负载均衡基于软件的方式能够实现非常低的成本和良好的扩展性。目前主要产品有Nginx、HAProxy、LVS等。

另一种思路:P4+DPU的可编程开放硬件平台(需配合用户自研负载均衡软件)

基于算网融合硬件平台可以实现面向大规模云计算环境中的负载均衡系统,并且使其既具备软件vLB的开放性、灵活性,又具备硬件vLB的高性能。
型号为X312P-48Y-T的设备图
相关链接:P4可编程硬件平台

  • 对比单纯的基于硬件实现的负载均衡:通过算网融合平台的可编程能力和开放性使得管理平面、控制平面和数据平面可以全部与云管平台对接起来,让这一开放负载均衡系统集群具备了“软件vLB”的开放、灵活、弹性。
  • 对比软件实现的负载均衡:算网融合平台将可编程交换芯片的“高性能快路径”和智能业务处理单元的“智能慢路径”相结合,大幅提升整体性能、降低整体成本,使得开放负载均衡系统集群能够具备“硬件vLB”的高性能和低成本。
  • 在实际的负载均衡场景中往往有着非常定制化的开发需求。为大大缩短开发者的开发周期,X-T系列可编程硬件平台可搭载AsterNOS-Framework,它提供了一站式的综合开发环境,是一款针对开放、可编程网络构建的底层操作系统,以轻量化的SONiC为内核,将三种异构硬件单元(x86/ARM/P4 Switch ASIC)融合成一个完整的网络系统。

相关文章

遗憾,Tofino芯片止步于此?无妨,网络可编程的故事仍将续写!


关注星融元


假期刚刚过去
爆竹的余响还未消散
小编的行业群里又炸开了锅!

坊间流传许久的消息终于实锤
Intel对外宣告:
将停止Tofino交换芯片后续开发工作
一时之间舆论四起……

英特尔Tofino智能网络处理器的信件

“Tofino交换机这就没啥搞头了???”
“市面上最流行的P4交换芯片停止开发……是不是意味着方兴未艾的P4可编程快要凉了?”

对此各位真的不必过于焦虑
首先,P4“凉凉”这事一定是你想多了
P4给网络可编程带来的革新价值有目共睹
尤其是边界网关场景下
P4交换机已经有了不少工业界落地实践

另外,英特尔停止Tofino系列的后续开发
不等于全线停产
已发布的产品仍在正常销售和维护中

我们知道 越到核心骨干位置
越需要更高的吞吐量
对于业务灵活性的要求越低
在边界和网关场景
需要实现更为复杂的网络互连
P4所带来的业务灵活性更为关键
Tofino上有数T的性能就绰绰有余了
甚至没有必要用到TF3那样过大的带宽

Tofino的三代芯片规格

更何况——
开放网络的关键软件技术 诸如P4和SAI
并不依赖于具体的某款芯片
最终用户也无需关注底层芯片相关技术

因为一家优秀的开放网络设备商
有能力通过软件定义网络(SDN)技术
屏蔽不同芯片的差异
基于市面上现有的多种可编程芯片能力
为不同的场景构建最合适的产品和解决方案


作为开放网络的先行者
星融元已经在网络可编程领域积累了
成熟的软硬件产品和服务支持能力

我们以领先的开放网络软件技术
结合自研算网融合硬件平台
构建了可编程芯片+DPU的开放网络解决方案

P4可编程硬件平台产品开箱图

星融元X-T可编程硬件平台

P4 ASIC大规格芯片表项资源、多核ARM64 DPU智能处理模块

结合可编程ASIC提供的大表项资源和线速转发能力,以及可扩展的DPU业务处理模块(高性能处理器+大容量内存),该平台可灵活应对多场景下的网络业务功能需求,缩短定制化开发周期。

  • 数据中心互联的云边界网关
  • 分布式的带内网络遥测(INT)
  • NFV网关(如大容量的负载均衡/NAT等)
  • 大路由表项交换
  • 网络可视化(NPB)
  • ……

网络可视化举例:新一代网络可视化前端架构

基于可编程ASIC执行数据匹配、报文截短/修改等基本功能,灵活性和线速转发性能兼备;基于DPU模块来执行应用层协议匹配、特征码匹配、报文去重、SSL解密、头部输出等高级业务处理功能。

星融元网络可视化解决方案

星融元网络可视化解决方案

市场风云变幻
拥有过硬的技术支持和产品交付能力的公司
永远值得期待!

相关文章

开源网络操作系统“SONiC”,今年因何备受期待?


关注星融元


2023年,对于开源网络操作系统 SONiC 来说可能是非常重要的一年,SONiC不光得到了来自全球范围内许多颇具实力的初创公司的企业级支持,业界主流网络设备厂商对它的兴趣也越来越大。

SONiC最初由微软开发并开源,微软在去年的 4 月份将该项目移交给了Linux 基金会及其 450,000 名开发人员。同时,支持 SONiC 的供应商名单也在不断壮大,例如包括DELL、Arista、诺基亚、阿里巴巴、Marvell、Nvidia-Mellanox 和 VMware等等知名厂商,以星融元Asterfusion为代表的初创型企业里也迎来新的成员如Hedgehog、Aviz。

随着越来越多的企业将工作负载和应用程序跨越不同的云环境,网络支持团队在体验到云的操作后也开始尝试在本地基础设施中采用类似云的工作流和接口。我们可以预见,SONiC即将迎来更为广阔的市场空间。650 Group 的分析师 Alan Weckel 表示,“SONiC的采用将在未来几年内大大超过整个市场的增长速度”,该公司预测,到 2026 年全球 SONiC 收入将超过 50 亿美元。

01 数据中心网络场景,SONiC热度不减

当前我们可以确定的一点是,数据中心网络设备的“白盒化”趋势仍将持续。

CIMI Corp. 总裁Tom Nolle 认为,数据中心交换可能是未来开放网络模型或白盒网络元素的热点,因为“数据中心需要开放式交换架构来支持多厂商交换芯片”,并且业界已经有了一些方案,这包括 SONiC 以及P4可编程。其中,基于 Linux 的云中开放网络软件(SONiC)便是将网络软件与底层硬件分离,使其可以在来自多个供应商的数百个交换机和 ASIC 上运行,同时支持全套网络功能。

与此同时,网络也将继续扩展并增加其复杂性,这推动着运维支持团队不断延展其能力边界。SONiC的云原生特性非常有利于云中各类网络自动化工具的部署,并帮助实现对 NetDevOps 的AI支持 ,由此运维团队可以快速发现并解决网络问题,缩短排障时间,从而降低运营成本并缓解目前面临的人员短缺问题。

02 新的转变,对SONiC的支持和创新从云覆盖至大型企业

Dell’Oro 预测,到 2026 年,部署在企业网络中的交换机中会有将近 10% 运行 SONiC。

650 Group 的分析师 Alan Weckel 举例了两种 SONiC方案的实现路径,其中第一种是企业将 SONiC 与 Arista等品牌提供的硬件结合使用,尝试SONiC并从中受益,因为“SONiC 中有很多云的自动化部分,企业可以使用它们来补充现有供应商的短板”。第二种则更像是纯粹的 SONiC,它直接被安装在白盒交换机上,这一路径可被视为完全替代品牌供应商的基础设施。

当前全球已有不少初创型企业瞄准了高端大型企业,旨在解决将 SONiC 应用到生产环境中所必须应对的挑战,这其中就包括大部分客户所缺乏的自研 NOS的技术能力。Dell’Oro Group 园区和数据中心交换机以太网副总裁 Sameh Boujelbene 表示, “我们目睹了很多实际运营者为解决这类可支持性问题所做的多次尝试。然而,生态系统真正需要的是一个中立的实体来填补这一支持缺口。”

无论是哪种实现路径,随着SONiC方案逐步扩展到企业园区网络市场,对NOS的商业支持和创新能力都将成为这一赛道的竞争要素。

03 全面拥抱SONiC,星融元推出多场景下的开放网络解决方案

相较于上述提到的两种实现模式,星融元更像是“第三种”——相比第二种纯粹的“开源SONiC+白盒”,我们在自研白盒硬件的基础上提供了企业发行版的SONiC,为客户提供“软硬芯一体”的开放网络解决方案。

作为国内第一批SONiC社区成员,星融元围绕开放网络技术进行了长期、持续的投入,并结合各种典型应用场景做了足够的测试验证和缺陷修复,所提供的SONiC企业级发行版AsterNOS目前已可稳定兼容几乎所有主流商业交换芯片,构建的一系列有特色的硬件平台能够实现从数据中心到云化园区的跨场景使用。

截至2022年底,AsterNOS已针对社区原生版本的缺陷和不足完成了大量开发工作,并切实提升了软件的可靠性和易用性,这其中就包含了VXLAN、ARP Host Routing、BGP EVPN、VLAG、Monitor-link、STP/MSTP等网络功能补充和增强,以及对思科风格的CLI的支持。

为了更加充分地发挥开源开放的力量,AsterNOS还在SONiC云原生的架构之上提供了强大的SDK能力——用户可通过丰富的API(Rest API和系统级API)在网络设备上简单快速地开发第三方APP,以及与各种开源运维工具/平台无缝集成。

星融元AsterNOS的能力图

结合可编程交换芯片和其他创新的开放式白盒化硬件架构,我们可以很方便地扩展出丰富的应用场景,为客户构建出以业务为中心的新一代网络。从云数据中心内部到园区接入层,如果您在传统网络设备/方案使用过程中有感受到那么一些“束缚”和“不便”,不妨尝试一下我们所提供的更为开放灵活的解决方案。

一、面向数据中心高性能计算和分布式存储、高频交易场景,以SONiC+芯片级别的时延优化+分布式算法的超高性价比低时延全以太网络解决方案,用以替代专网专用的Infiniband;

二、面向云边缘的复杂场景,具有高度定制化能力的SONiC+P4可编程的智能网关系列产品(例如东西向网关、专线网关、公有服务网关、限速网关、对等体网关以及业务融合网关等等),助力各类创新应用的落地;

三、面向中大型企业园区,星融元的全三层的云化网络架构+全功能SONiC,带来了完备的园区网络特性和安全能力,轻松解决传统园区网络架构繁琐、运维复杂的难题,帮助广大企业构建高效、精简的园区网络。

相关文章

星融元:为开源新模式下的多赢构筑生态底座


关注星融元


说到“开源”的话题,一部分人将其理解为去中心化的开发模式,源代码公开可见,由社区成员共同维护;也有人认为开源更是一种商业模式——软件产品孵化于开源社区,整个生命周期都与社区保持紧密联动。

无论如何,争论的存在恰恰说明了一点:开源模式作为一种分布式的协作模式,早已不局限在软件开发层面,而是已经扩展到了商业化维度。

开源重塑世界

开源与开放的理念天然契合万物互联的数字时代发展要求。

过去的十年间,开源技术的应用势不可挡。正因为有了创新的开发者社区,开源已成为云计算,SaaS 服务,下一代数据库,移动设备,互联网甚至区块链的基础。根据信通院相关数据,截至2019年,国内已经应用了开源技术的企业占比超过八成,开源技术自主可控、节约成本、部署快捷的优势已经被广大企业普遍接受。

如今,一个开源项目甚至会衍生出一个全新的产业链生态,在生态内部逐渐形成了一种“开放式的供应链关系”。

开源与开放的理念天然契合万物互联的数字时代发展要求。

过去的十年间,开源技术的应用势不可挡。正因为有了创新的开发者社区,开源已成为云计算,SaaS 服务,下一代数据库,移动设备,互联网甚至区块链的基础。根据信通院相关数据,截至2019年,国内已经应用了开源技术的企业占比超过八成,开源技术自主可控、节约成本、部署快捷的优势已经被广大企业普遍接受。

如今,一个开源项目甚至会衍生出一个全新的产业链生态,在生态内部逐渐形成了一种“开放式的供应链关系”。

开源正在深刻影响商业交付模式

让我们以SONiC/SAI为中心的开源网络生态为例。

SONiC/SAI是由微软(Microsoft)主导的两个在开放云网络领域的开源项目,它们通过实现交换机的软硬件解耦,打破了从前主要由硬件设备供应商“承上启下”的单向产业链条,形成了更加开放的”多边交付模式”。

SONiC/SAI的多边交付模式

模式的悄然变化带来了两个转变:

第一,用户可以根据预算和业务需求更加自由地选择软硬件供应商,不必被单一厂商锁定,从而加快新技术和新产品在生产环境的应用;

第二,为了实现共同目标,最终用户,软硬件供应商,乃至上游芯片供应商之间都需要更加紧密合作。

我们知道,发生交互的角色数量一旦多起来,项目沟通协作的难度便会呈指数级上升。而云计算时代下,只会有越来越多的定制化需求,生态内各方参与者或多或少都会经历这般不得不面对的挑战。

说起来可能还是有点抽象,不如看看下面的案例:

A公司是一家平台日活用户过亿的互联网公司,也是这个故事中的最终用户。A公司内部研发能力很强,他们为自身业务量身打造了一款网络操作系统,打算应用在私有云里,但是市面上已经没有任何一家传统厂商能为他们实现这个业务构想了。

于是A公司找到一家老牌硬件厂商B提供白盒硬件,以及一家国际知名的ASIC厂商C共同参与到项目中,可事情远不如他们所预想的那么顺利……

开源通过生态实现多赢

开源生态所形成的新型商业交付模式下,我们开始需要一种新型的技术供应商,一个专业可靠的,服务全生态的合作伙伴,才能帮助项目顺利落地,实现多赢。

或许你已经猜到了,A公司的故事其实就是星融元曾经真实服务的案例之一。

你可能会好奇我们在其中究竟做了什么?在这里讲大段大段的技术细节肯定不现实,简单概括一下就是:我们的能力补上了客户和硬件/芯片供应商的技术短板,为项目落地扣上关键一环,将“自研软件+白盒硬件”的业务构想变为了现实。

这个难题之所以能在我们的参与下圆满解决,是因为我们是真正专注于开放网络的技术供应商。若要在一个领域内做到专业、可靠,背后的底气必然是长期实践中积累的深厚经验。

星融元是国内最早一批加入SONiC社区的成员,并且以此为发展引擎构建了“软硬芯一体化”的产品体系。自团队组建以来,我们一直是开源生态下活跃的使用者和服务者,也是积极贡献者。

星融元产品图

角色1:开源网络生态内的服务者

星融元在开源网络领域的积淀集中体现在这款企业级SONiC发行版:AsterNOS

区别于传统厂家的版本管理模型,AsterNOS采取的是社区化版本发行管理方法,充分吸纳合作伙伴和个人开发者的代码和缺陷修复成果,在领先社区的同时考虑后续版本的融合,每季度与社区版本和重大问题更新保持同步。

AsterNOS从功能特性、产品质量、组件维护等方面对社区版进行了改善,并结合各种典型应用场景做了足够的测试验证和缺陷修复。

早在2018年,我们先于社区支持REST API,并且完成了后续与社区mgmt- framework的融合。此外更是做了大量面向生产环境的增强(VXLAN、ARP Host Routing、BGP EVPN、VLAG…),还开发了原生SONiC目前不具备的功能(Monitor-link、STP/MSTP等),大幅提升了系统的整体可用性。

截至2022年,最新版本的AsterNOS已经稳定兼容几乎所有主流商业交换芯片,实现了一套网络操作系统在数据中心和云化园区跨场景使用。在最近的一次SONiC Plugfest中,AsterNOS完美通过第三方各项测试。

为了更加充分地发挥开源开放的力量,AsterNOS还在云原生的架构之上提供了强大的SDK能力——用户可通过丰富的API(Rest API和系统级API)在网络设备上简单快速地开发第三方APP,以及与各种开源运维工具/平台无缝集成。

AsterNOS的云原生架构

角色2:开源网络生态内的使用者

紧跟当前开源网络技术的发展趋势,我们一直在使用各种优质开源项目和工具的力量赋能产品的迭代升级。

  • Klish 命令行——用思科风格命令行来配置SONiC交换机,兼容传统网络工程师使用习惯
  • Jenkins + testbed——通过构建大量自动化测试脚本,实现在多用户环境中进行多分支并行测试,保证大规模软件团队开发的质量和效率
  • Github改库,优化编译时间
  • 提供DPDK/VPP开发套件——在ARM架构的平台上加速应用开发和跨平台移植……

角色3:开源网络生态内的贡献者

结合丰富的实践经历,我们也在持续提交缺陷修复和软件特性代码回馈社区,在企业级SONiC发行版厂商维度的社区贡献排名里星融元位居中国前三。

星融元在企业级SONiC发行版厂商维度的社区贡献排名

近年来我们与中国联通研究院、阿里、美团等单位和企业共同起草了《P4可编程应用案例技术白皮书》,《白盒交换机技术白皮书》等行业优质文档,并联合未来网络学院、紫金山实验室开办了国内首个“白盒交换机与SONiC实战训练营”,推动开源网络技术的传播和推广。国内外各大开放网络组织联盟处处有我们活跃的身影。

星融元:为开源网络技术应用构建“生态底座”

在充满创新和活力的开源模式下,星融元更大的愿景是作为“生态底座”帮助各方实现共赢。

对于最终用户,在星融元的AsterNOS平台之上,你甚至可以用Python/Golang语言在交换机上开发面向业务的各类“APP”,将大量开源项目和工具快速应用于生产环境,提高网络整体运营效率。

当然,在现阶段内,更多用户可能会更倾向于使用我们已经“打包”好的软硬一体化的整机产品和解决方案。毕竟,在超低时延计算/存储网络、可编程智能网关、园区接入等等场景下,我们所提供的功能特性已经可以满足绝大部分需求了,相比一些专用网络设备(例如IB交换机)会更有性价比优势。

对于硬件/芯片厂商,AsterNOS及其相关软件连接了商用可编程ASIC与各类定制化需求,用软件定义的方式充分发挥出特定场景中的芯片性能。另外,一套NOS便可兼容从数据中心核心网到园区接入网的几乎所有主流商业交换芯片,并可基于ARM平台做算力与网络的结合……我们在软件层面的优化和创新,也是在为硬件产品拓展更广阔的应用空间。

对于其他软件供应商,可以借助我们提供的开源底层开发套件,在星融元各类开放硬件平台之上(例如各类白盒交换机/网关平台、DPU网卡等)快速启动上层软件的开发、移植工作,而无需再考虑底层实现的细节,大大加速了产品化进程。

对于网络运营商而言,避免供应商锁定、增加技术选择的灵活性的需求驱动了网络设备白盒化,在这样的趋势之下,我们期待与运营商客户共同解决各类创新应用的落地问题。

相关文章

对星融元产品感兴趣?

立即联系!

返回顶部

© 星融元数据技术(苏州)有限公司 苏ICP备17070048号-2