知识广场

Knowledge square

应用分享 | 软件定义数据中心L1层全光交换解决方案

2023-05-12
人工智能计算领域的领导者NVIDIA公司,在OFC 2023会议上发表的“Software-defined, programmable L1 dataplane: demonstration of fabric hardware resilience using optical switches”论文中,介绍了其最新的工作成果,提出了一种用于数据中心网络的可编程光纤结构设计,利用HUBER+SUHNER Polatis矩阵光开关将SDN扩展到L1。并在其HPC/ML测试台上进行了实验,利用可编程网络自动从硬件或软件故障中进行故障切换。

文章概述

软件定义的控制平面彻底改变了网络。应用程序可以按需求配置网络,即使需要与其他负载共享网络资源。如今,网络基础设施的深度编程可深入到第2层(L2),例如InfiniBand(IB)子网管理器(SM)是软件定义控制器的最低级别。这意味着网络的可编程性无法作用于物理基础设施布线,通常来讲物理基础设施在部署后是固定的。我们通过引入一种工作流程,即将软件定义的控制能力扩展到L1,来消除这一限制。软件定义的物理层将网络布线从刚性基础设施转换为可编程资源,允许在网络运行时进行物理拓扑更改。这为各种过去不可行的、新的网络操作奠定了基础,但同时带来了新的影响:需要在网络堆栈的更高级别处理。

基于光开关的实现的在网络运行时的L1可编程性使得几个新应用得以实现。第一个也是我们当前评估的重点,是针对网络结构(交换机、收发器和/或服务器)中的硬件故障和软件故障提供弹性。失效对计算集群的利用率和效率的影响在整个行业都很明显,这使创建弹性网络变得非常重要。业务关键型应用程序需要保证持续可用性:停机意味着收入损失、客户流失以及公司声誉受损。L1可编程性的另一个潜在应用是根据应用程序需求修改网络的物理拓扑,例如在胖树的叶交换机之间创建环面/网格,以减少对延迟敏感的应用程序的通信时间。或在超额订阅的网络中,根据需要将带宽分配给网络的各个部分,以根据物理拓扑提供不同的QoS。L1可编程性还可以在物理层中应用隔离,断开多个租户之间的网元,或隔离已被识别为潜在威胁的主机。我们的PoC基于IB架构,但同样适用于NVLINK和以太网。

由于无法更改物理连接,当前的故障恢复解决方案侧重于通过调整转发配置来尽可能排除故障路径。例如在IB网络中的软件特性有SHIELD和利用替代路径的自适应路由。这些协议有两个显著的局限性。首先,它们只能在存在替代路径的情况下使用;叶交换机上的故障(将断开服务器与网络的连接)或服务器上的故障无法通过这种方式缓解。其次,他们无法恢复集群的全部性能。另一种增强弹性的方法是添加冗余硬件来备份整个或部分网络(例如,Dual ToR)。这种方法的缺点是需要更多的硬件,资源未得到充分利用。

弹性系统的可重构结构

我们利用光开关来实现L1可编程数据平面。光开关可对光路进行重定位,光路的I/O排列由电接口定义控制。如图1a所示,通过在给定网络拓扑的交换层之间引入光开关,实现了点对点光纤连接排列的可编程更改。图1a显示了针对小规模二级(叶脊架构)胖树中的弹性应用的网络架构。在网络中增加了冗余交换机(RS–冗余脊交换机和RL–冗余叶交换机)和冗余服务器。冗余设备与主网络元件一并连接到光开关的可用端口。当检测到设备故障时,对应的光开关会执行修正配置:断开故障设备与网络的连接,用冗余设备替换。该设计允许可编程的弹性程度(主设备和冗余设备的比率)根据系统要求而变化。此外,该体系结构可以隔离安全威胁,最大限度地减少维护期间的停机时间,同时作为通用的可编程数据平面。

我们设计并实现了相应的控制平面软件,可以看作L1数据平面控制的SDN堆栈扩展。设计了图形化后端来反映物理网络拓扑结构(包括光交换部件),为控制器逻辑提供所需的系统建模支持。随后,引入了一组概念和算法,允许SDN L1控制器识别给定部署的不同拓扑可能性,执行物理拓扑变化,并向L2层控制器发出信号以适应物理网络的变化。图1(b和c)显示了系统控制回路,紫色的SDN L1(光纤结构管理器-OFM)是执行物理更改并向L2(在IB的情况下是子网管理器)发送通知的软件。同样地,可以扩展L2来请求物理拓扑更改。故障检测机制(超出当前工作范围)通知OFM需要更换设备。OFM计算并强制执行相应的光学连接,例如,在Leaf交换机故障的情况下,图1a中的RL1将其替换。随后,网络控制器将RL1囊括在网络中。该工作流程能够在几秒钟内将网络容量恢复到100%。此外,如本文下几节所讨论,我们正在进行防止设备故障导致的应用程序崩溃的工作。

图1:  a)弹性体系结构概述 b)控制回路流程图和 c)软件概述

试验台说明

为了验证网络弹性,所有小规模POD连接中都配置了一个光开关,并在叶层和脊层各添加了一个冗余的IB交换机,以替换失效的叶交换机或脊交换机。测试台由4台DGX服务器和14台IB量子交换机组成:其中8台作为叶交换机,4台作为脊交换机。两个额外的IB交换机作为冗余设备:一个冗余叶交换机(RL,如图1a所示)和一个冗余脊交换机(RS)。我们使用现成的L1光开关【POLATIS】。光链路则选择了200 Gb/s CWDM可插拔光模块,其显著减少了所需的光开关端口,且有足够的链路预算来支持光开关的损耗。DGX具有8个IB接口(8个通道),每个通道连接到不同的Leaf交换机。叶交换机与脊交换机完全连接,即没有超额负载。所有连接都接入光开关,以进行各种实验;当前评估重点关注IB交换机的更换。

实验程序和结果

我们进行了交换机失效模拟,触发SDN L1控制器搜索物理拓扑以减轻故障。冗余交换机接管了物理拓扑中故障交换机的角色,IB子网管理器接收到拓扑更改通知,该通知指示其修复L2网络配置。通过适当地处理IB传输超时,运行中的应用程序可以在网络更改后恢复运行。

图2显示了我们对UCX和NCCL集体通信库的测试结果。在该测试场景中,进行了IB交换机故障模拟。图表显示了实验中涉及的一个DGX的IB界面上的带宽(y轴)随时间(x轴)的变化,对于all-to-all和all-reduce的微基准测试。基准测试在4个DGX之间和接口之间产生相同的流量。我们运行微基准测试,模拟故障,并监控随着时间的推移应用程序的性能和状态。在Spine故障期间,由于活动链路的减少,系统的容量会降低,但应用程序有可替代路径可用,不会崩溃。启用弹性方案后,可以在几秒钟内恢复群集的全部性能(Spine故障切换)。在Leaf层发生故障(Leaf failover)的情况下,应用程序崩溃,受影响的IB接口将保持离线状态,直到问题解决。启用弹性方案后,应用程序在中断几秒钟(目前约为7秒,但有待优化)仍能继续运行,系统的全部容量也能够恢复。

图2:在启用弹性解决方案的情况下,演示微基准的BW恢复:a)在左侧OSU上,全部到全部,b)在右侧NCCL上,全部减少。显示所有链路随时间变化的带宽:黄色部分显示Tx带宽,而紫色部分显示Rx带宽。一个DGX的所有链路的图都重叠。

结论

我们提出了一个系统设计和工作流程,结合起来实现了L1的可编程性。构建了一个HPC/ML测试台,并通过模拟交换机故障场景来评估弹性应用。通过添加光交换网络和冗余设备,可在几秒钟内自动恢复全部容量;此外,可以避免在叶级故障期间发生的应用程序崩溃。在未来的工作中,我们计划提供成本分析和其他实验的详细结果,包括其他应用。

凌云光自2001年起即关注光交换技术、产品与应用的推广,2015年正式与全球光交换厂家HUBER+SUHNER Polatis公司建立战略合作伙伴关系,共同开创光交换应用的新时代。

HUBER+SUHNER Polatis 提供低损耗的全光交换解决方案,用于远程光纤层配置、保护、监控、重新配置和测试。基于可靠的、经过现场验证的 DirectLight™ 光学矩阵开关技术,Polatis 动态光纤交叉连接可从8x8扩展到 576x576端口,并实现完全透明的连接,具有低损耗和无背反射,完全独立于波长、功率或数据速率。动态光交叉连接是实现软件定义的光网络基础设施自动化和虚拟化的关键要素。Polatis 支持RESTCONF和NETCONF,可轻松与 OpenDaylight 等流行的 SDN 控制器集成,还与前沿的传输 SDN 供应商合作,以支持新兴标准并确保我们的客户受益于可靠的 SDN 解决方案。