什么是Dragonfly自适应路由

在这里插入图片描述
在这里插入图片描述


Dragonfly自适应路由是一种根据网络拓扑和流量负载变化,进行动态路由决策的技术。通过主动感知链路拥塞状态,优选路径短、不拥塞的报文转发路径,达到提升网络吞吐和韧性、降低网络延迟的效果。当前Dragonfly自适应路由与直连拓扑网络配合应用于大型超算中心。


为什么需要Dragonfly自适应路由

建设大型超算中心需要实现大规模计算节点互联,但集群规模的扩大导致网络时延增加、部署成本提高,无法满足算力需求和部署要求。直连拓扑网络兼具接入规模大、网络直径小的优势,Dragonfly自适应路由与其配合使用,当链路畅通时,优先选择最短路径转发报文;当最短路径发生拥塞时,选择其他不拥塞的非最短路径转发报文,充分利用网络链路,提升带宽利用率,在支持大规模组网的同时,满足高吞吐、低时延、低成本的要求。

在这里插入图片描述

直连拓扑网络Dragonfly自适应路由示意图

什么是Dragonfly直连拓扑网络

直连拓扑网络中的每个网络节点均有计算节点与之直接相连,没有专门用于网络节点间互连的网络设备,即网络中的设备均为Leaf设备,没有传统组网中的Spine设备。Dragonfly组网是当前应用最广泛的直连拓扑网络,由多个Group(也称为组)组成,在Group间和Group内均建立全连接(Full-mesh)关系,即:每对Group间使用1条或多条链路连接,Group内的每个网络节点都与Group内其他网络节点直接互连,且可以同时连接到其他Group和计算节点。

每个网络节点可以同时接入如下链路:

  • global link:又称为inter-group link,用于连接属于不同Group的节点。接入global link的节点端口称为global port。
  • local link:又称为intra-group link,用于连接属于同一Group的节点。接入local link的节点端口称为local port。
  • access link:用于连接网络节点和计算节点。接入access link的节点端口称为access port。

在这里插入图片描述

Dragonfly自适应路由组网与拓扑结构对照示意图

Dragonfly组网中,每个网络节点与同Group中其他网络节点相连的带宽和为a,与计算节点相连的带宽和为p,与其他Group相连的带宽和为h。为了实现更好的负载均衡,推荐取值a=2p=2h,如果选择其他取值,需满足a>=2h且2p>=2h。为保证更好的网络性能,建议充分使用设备接口,对于不同规模组网的链路规划建议如下:

  • 小型组网:Group内每个网络节点与其他所有Group通过多条平行链路互连。
  • 中型组网:Group内每个网络节点与其他所有Group通过一条链路互连。
  • 大型组网:每对Group间通过一条链路互连。

在这里插入图片描述
Dragonfly组网场景

Dragonfly自适应路由是如何工作的

组网中每个节点都有多条转发路径可供选择,但仅在Ingress节点(报文的入口网络节点)上执行Dragonfly自适应路由算法,选择报文的最优转发路径,后续非Ingress节点直接通过查找路由表转发报文即可,不需要再重新选路 。

这种实现方案建立在每个网络节点维护有3张路由表的基础上,分别是公网路由表(维护最短路径的路由信息)、Non-min VPN实例的路由表(维护非最短路径的路由信息)、Mix VPN实例的路由表(维护最短路径和非最短路径的路由信息)。对于从access port接收的报文,需要根据Dragonfly自适应路由算法选择最短路径或非最短路径,因此需要在Mix VPN实例的路由表中查找路由信息;对于从global port或者local port的min子接口接收的报文,需要在公网路由表中查找最短路径的路由信息;对于从local port的non-min子接口接收的报文,需要从Non-min VPN实例的路由表中查找非最短路径的路由信息。

报文的转发流程可以分为2个阶段:

  1. Ingress节点通过查找best path表选择报文的最优转发路径,确定报文在本设备的出接口。
  2. 非Ingress节点根据报文入接口信息,查找对应路由表,确定报文在本设备的出接口。

Ingress节点如何选择最优路径

基于节点的路由信息和链路的拥塞状态,每个网络节点都维护一张best path表,用于存放最优转发路径信息。以发往某个目的IP地址为例,如果最短路径不拥塞,则best path表中存放发往该IP地址的最短路径信息;如果最短路径发生拥塞,则best path表中存放发往该IP地址的非最短路径信息。

组内互通场景下的Ingress节点选路

在组内互通场景中,以计算节点S向计算节点D发送报文为例,切换组内最短路径与非最短路径的过程如下图所示。

在这里插入图片描述
组内最短路径与非最短路径切换示意图

  1. 计算节点S向计算节点D发送报文的组内最短路径是S->1->3->D,该最短路径在Ingress节点1的出接口interface1未发生拥塞,因此,当Ingress节点1收到节点S发往节点D的报文时,查找best path表得到最优转发路径为组内最短路径,出接口为interface1,依照best path表信息将报文经Interface1向非Ingress节点发送。
  2. Ingress节点1的接口interface1发生拥塞(接口带宽利用率级别和队列深度级别的加权和高于它们的高水线之和),此时,best path表中经过interface1的组内最短路径被删除,替换为组内非最短路径。因此,当Ingress节点1收到节点S发往节点D的报文时,查找best path表得到最优转发路径为组内非最短路径,出接口为interface2,依照best path表信息将报文经Interface2向非Ingress节点发送。
  3. 接口interface1的接口带宽利用率级别和队列深度级别下降,两者的加权和下降到低于高水线之和,此时,best path表中存放的最优转发路径仍为组内非最短路径。因此,当Ingress节点1收到节点S发往节点D的报文时,查找best path表得到最优转发路径为组内非最短路径,出接口为interface2,依照best path表信息将报文经Interface2向非Ingress节点发送。
  4. 接口interface1的接口带宽利用率级别和队列深度级别继续下降,两者的加权和下降到低于低水线之和,此时,best path表中存放的最优转发路径修改为组内最短路径。因此,当Ingress节点1收到节点S发往节点D的报文时,查找best path表得到最优转发路径为组内最短路径,出接口为interface1,依照best path表信息将报文经Interface1向非Ingress节点发送。

组间互通场景下的Ingress节点选路

在组间互通场景中,以计算节点S向计算节点D发送报文为例,切换组间最短路径与非最短路径的过程如下图所示。

在这里插入图片描述
组间最短路径与非最短路径切换示意图

  1. 计算节点S向计算节点D发送报文的组间最短路径是从Source Group经Edge节点3的interface3发送报文到Destination Group,interface3未发生拥塞,因此,当Ingress节点1收到节点S发往节点D的报文时,查找best path表得到最优转发路径为组间最短路径,出接口为interface1,依照best path表信息将报文经Interface1向非Ingress节点发送。
  2. Edge节点3的interface3发生拥塞(接口带宽利用率级别和队列深度级别的加权和高于它们的高水线之和),此时,Edge节点3向同Group内其他网络节点发送ARN拥塞报文,节点1收到ARN拥塞报文后,将best path表中经过interface3的组间最短路径删除,替换为组间非最短路径。因此,当Ingress节点1收到节点S发往节点D的报文时,查找best path表得到最优转发路径为组间非最短路径,出接口为interface2,依照best path表信息将报文经Interface2向非Ingress节点发送。
  3. 接口interface3的接口带宽利用率级别和队列深度级别下降,两者的加权和下降到低于高水线之和,此时,Edge节点3停止向同Group内其他网络节点发送ARN拥塞报文,但节点1的best path表中存放的最优转发路径仍为组间非最短路径。因此,当Ingress节点1收到节点S发往节点D的报文时,查找best path表得到最优转发路径为组间非最短路径,出接口为interface2,依照best path表信息将报文经Interface2向非Ingress节点发送。
  4. 接口interface3的接口带宽利用率级别和队列深度级别继续下降,两者的加权和下降到低于低水线之和,此时,Edge节点3向同Group内其他网络节点发送ARN解除拥塞报文,节点1收到ARN解除拥塞报文后,将best path表中目的IP地址为节点D的最优路径修改为组间最短路径。因此,当Ingress节点1收到节点S发往节点D的报文时,查找best path表得到最优转发路径为组间最短路径,出接口为interface1,依照best path表信息将报文经Interface1向非Ingress节点发送。

非Ingress节点如何转发报文

非Ingress节点的报文转发方案依赖于组网中每个网络节点维护的路由表,且每个local port下存在2个三层子接口,分别是min子接口和non-min子接口,min子接口用于转发最短路径的报文,non-min子接口用于转发非最短路径的报文。

非Ingress节点上的报文转发规则如下:

  • 从global port接收报文:查找公网路由表进行转发。
  • 从local port的min子接口接收报文:查找公网路由表进行转发。
  • 从local port的non-min子接口接收报文:查找Non-min VPN实例的路由表进行转发。

在这里插入图片描述

(Kriging_NSGA2)克里金模型结合多目标遗传算法求最优因变量及对应的最佳自变量组合研究(Matlab代码实现)内容概要:本文介绍了克里金模型(Kriging)与多目标遗传算法NSGA-II相结合的方法,用于求解最优因变量及其对应的最佳自变量组合,并提供了完整的Matlab代码实现。该方法首先利用克里金模型构建高精度的代理模型,逼近复杂的非线性系统响应,减少计算成本;随后结合NSGA-II算法进行多目标优化,搜索帕累托前沿解集,从而获得多个最优折衷方案。文中详细阐述了代理模型构建、算法集成流程及参数设置,适用于工程设计、参数反演等复杂优化问题。此外,文档还展示了该方法在SCI一区论文中的复现应用,体现了其科学性与实用性。; 适合人群:具备一定Matlab编程基础,熟悉优化算法和数值建模的研究生、科研人员及工程技术人员,尤其适合从事仿真优化、实验设计、代理模型研究的相关领域工作者。; 使用场景及目标:①解决高计算成本的多目标优化问题,通过代理模型降低仿真次数;②在无法解析求导或函数高度非线性的情况下寻找最优变量组合;③复现SCI高水平论文中的优化方法,提升科研可信度与效率;④应用于工程设计、能源系统调度、智能制造等需参数优化的实际场景。; 阅读建议:建议读者结合提供的Matlab代码逐段理解算法实现过程,重点关注克里金模型的构建步骤与NSGA-II的集成方式,建议自行调整测试函数或实际案例验证算法性能,并配合YALMIP等工具包扩展优化求解能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

RZer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值