【论文阅读】互连网络的负载平衡路由算法 (RLB RLBth)

  • 前言
  • Oblivious Load Balancing 不经意路由负载平衡
    • 1. oblivious routing 不经意/无关路由的背景知识
      • 1. oblivious routing, adaptive routing & minimal/non-minimal routing algorithms
    • 2. Balancing a 1-Dimensional ring: RLB and RLBth 一维 ring 的 RLB and RLBth
      • 1. Motivation of Balancing load 平衡负载的动机
      • 2. 一维 ring 的 RLB and RLBth
  • References

前言

A. Singh. Load-Balanced Routing in Interconnection Networks.PhD thesis, Stanford University, 2005.

总结自 A. Singh 的博士毕业论文 —— Load-Balanced Routing in Interconnection Networks

Oblivious Load Balancing 不经意路由负载平衡

文章提出了用于 torus 网络的随机、非最小、不经意路由算法——RLB和RLBth

1. oblivious routing 不经意/无关路由的背景知识

不经意算法仅使用源节点和目标节点的身份来选择从源到目标的路径。换句话说,路由决策是“忽略”网络状态的。不经意的算法可能会使用随机化来在可能的路径之间进行选择。根据路线的长度,它们也可以被分类为最小或非最小。

1. oblivious routing, adaptive routing & minimal/non-minimal routing algorithms

  • 不经意路由算法(oblivious routing algorithms)仅根据消息源和目的地的身份在这些路径之间进行选择,而自适应算法(adaptive algorithms)则可以根据网络状态(拥塞信息)做出决策。

  • 不经意的算法和自适应算法都可以使用**随机化(Randomization)**来在替代路径中进行选择。

  • 最小算法(Minimal algorithms)沿着从源到目的地的最短路径路由所有数据包,而非最小算法(non-minimal)可能沿着更长的路径路由数据包,即进行了绕远如 VAL 路由算法。

  • 常见的不经意算法 oblivious routing 包括——DOR、VAL 和 ROMM

    • 维序路由(DOR),有时称为 e-cube routing,首先由 Sullivan 和 Bashkow 在A LARGE SCALE, HOMOGENOUS, FULLY DISTRIBUTED PARALLEL MACHINE, II 一文中首次提出[1]。**在 DOR 算法中,每个数据包首先只在一个维度上传递,只有当该维度的坐标一致后,再进入下一个维度进行传输。**由于其简单性,它已被大量用于互连网络中。但 DOR 在对抗性流量(adversarial traffic)模式上的糟糕表现引出了自适应路由方面的大量工作。
    • Valiant 首先提出了如何使用随机化为任意流量模式提供有保证的吞吐量[2]。即将**路由分为两个阶段,第一阶段从源节点路由至全局中随机选择的中间节点(intermediate node),第二阶段从中间节点路由至目标节点。两个阶段的具体路由算法都使用 DOR。**虽然 VAL 路由算法能够进行负载的平衡,在最坏模式下保证一定的性能,但是其破坏了局部性(locality),在本地流量甚至平均流量上性能较差。
    • 为了在获得随机化优势的同时保留局部性,Nesson 和 Johnson 提出了 ROMM 路由算法[3],即随机、不经意、多阶段最小路由(Randomized, Oblivious, Multi-phase Minimal routing)。**与 VAL 一样需要两个阶段,但 ROMM 通过从最小象限(minimal quadrant)(即源节点和目标节点坐标所构成的象限)中随机选择的中间节点路由每个数据包,确保生成的路径严格最小。**虽然[31]报告了一些排列的良好结果,但 ROMM 实际上比 DOR 具有更低的最坏情况吞吐量。问题在于使用最小路由(minimal routing),不可能在对抗模式上实现良好的负载平衡。

2. Balancing a 1-Dimensional ring: RLB and RLBth 一维 ring 的 RLB and RLBth

1. Motivation of Balancing load 平衡负载的动机

下图 1.4 显示了8 node的 ring 的简化版本。对于良性流量模式,如最近邻居 (NN),来自节点的所有流量均等分配到其相邻节点之间(一半到节点 i+1,一半到节点 i-1,模8/模k)。由于每个单向通道具有带宽b,因此如果流量只是沿着最小路径路由,则每个节点都可以以最佳速率2b (吞吐量, 2b) 注入流量。我们称这种流量为良性(benign),因为如果使用最小路由来路由数据包,所有通道自然会实现负载平衡

在这里插入图片描述

而对于对抗流量模式,我们考虑 ring 的 MR 的最坏情况流量(worst-case traffic)、龙卷风(TOR)流量。在 TOR 中,来自节点 i 的所有流量几乎绕环的一半发送到节点 i+3(i + k/2 - 1)。图 1.5 显示了最小路由 TOR 导致顺时针通道上的高负载,保持逆时针通道完全空闲。这会导致相当大的负载不平衡,吞吐量较差(单向通道带宽为b,每个顺时针通道需要维持3条不同数据流,故吞吐量为b/3)。

在这里插入图片描述

如果要在 TOR 等对抗模式上获得良好的性能,需要非最小路由(绕环的长距离)路由一些流量以平衡负载。先按照 Valiant 的建议,通过完全随机化路由 (VAL) 来平衡 TOR 流量,从节点 i 发送到随机中间节点 j,然后从 j 发送到 i+3。这两个阶段中的每一个阶段都是完全随机的路由,因此每个阶段平均使用 2 个 links,故整个路由使用 4 个 links。而最小路由是 3 个 links。即使 VAL 平均比最小路由多遍历一个链路 link,VAL 的每节点吞吐量在 TOR 上更高,为b/2(其使用了双向的channels,且每条 link 上平均有两条数据流)。纯随机路由的问题在于它破坏了局部性。对于 NN 流量模式,吞吐量仍然为 b/2,而 MR 为 2b。文章提出的路由算法,努力在不牺牲良性流量固有的局部性的情况下实现良好的最坏情况性能

2. 一维 ring 的 RLB and RLBth

**在对抗性流量中,最小路由算 MIN 无法均衡负载,使得一个 8 node ring 的吞吐量降低至 b/3。**任何 k-ary n-cube 的网络容量为 2B/N = 8b/k(用 UR 流量的理想吞吐量作为网络容量,将吞吐量和提供的负载归一化为网络容量,Bw 为对分带宽,一般为双向带宽,B/N 为一个单向通道的带宽,故网络容量为 2B/N)。

所以一个 8 node ring 在最小路由和 TOR 流量模式下的吞吐量为 b/3 即 0.33b,33.3%的网络容量。一般而言,最小路由 MIN 的吞吐量会逐渐降低到 25% 的容量,这意味着最坏情况下的性能非常差。即 b/(k/2-1) / (8b/k) = k/8 / (k/2-1),当对于较大的 k 时,吞吐量小于 0.25。

未完待续…

References

[1] L. G. Valiant and G. J. Brebner, “Universal schemes for parallel communication,” in Proceedings of the thirteenth annual ACM symposium on Theory of computing - STOC ’81, Milwaukee, Wisconsin, United States: ACM Press, 1981, pp. 263–277. doi: 10.1145/800076.802479.
[2] H. Sullivan, S. Associates, T. R. Bashkow, and D. Klappholz, “A LARGE SCALE, HOMOGENOUS, FULLY DISTRIBUTED PARALLEL MACHINE, II”.
[3] T. Nesson and S. L. Johnsson, “ROMM routing on mesh and torus networks,” in Proceedings of the seventh annual ACM symposium on Parallel algorithms and architectures - SPAA ’95, Santa Barbara, California, United States: ACM Press, 1995, pp. 275–287. doi: 10.1145/215399.215455.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/828214.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何设计一个安全的系统架构?

本文转自 公众号 ByteByteGo,如有侵权,请联系,立即删除 如何设计一个安全的系统架构? 如何设计安全的系统?我们总结了 12 条原则供架构师们参考。 设计安全的系统非常重要,原因有很多,从保护敏…

SpringCloud系列(13)--Eureka服务名称修改和服务IP显示

前言:在上一章节中我们把服务提供者做成了集群,而本章节则是一些关于服务信息的配置,这部分知识对集群整体影响不大,不过最好还是掌握,毕竟万一有用到的地方呢 1、修改服务的名称 有时候我们想要修改服务的名称&#…

JavaSE学习文档(上)

JavaSE学习文档 第一章 Java概述1.2 计算机编程语言1.3 Java语言版本概述1.4 Java语言分类1.5 JDK,JRE,JVM的关系1.6 JDK安装1.7 DOS命令1.8 Java程序执行过程1.9 编写HelloWorld1.10 常见错误1.11 编写程序时要注意的点 第二章 Java基础语法2.1 Java中的注释文档注释 2.2 关键…

武汉星起航:亚马逊全球资源赋能中国卖家,跨境电商助力品牌国际化

亚马逊全球开店业务于2015年正式进驻中国,为中国卖家打开了通往全球市场的便捷之门。这一举措不仅为中国卖家提供了与全球消费者直接交流的机会,更借助亚马逊的丰富资源和先进技术,帮助卖家将优质的中国商品推向世界舞台。亚马逊平台以其高效…

Ant Design Vue + js 表格计算合计

1.需要计算的数量固定&#xff08;如表1&#xff0c;已知需要计算的金额为&#xff1a;装修履约保证金 装修垃圾清运费出入证工本费 出入证押金 这四项相加&#xff0c;可以写成固定的算法&#xff09;&#xff1a; 表格样式&#xff1a; <h4 style"margin: 0 0 8px…

Bayes判别示例数据:鸢尾花数据集

使用Bayes判别的R语言实例通常涉及使用朴素贝叶斯分类器。朴素贝叶斯分类器是一种简单的概率分类器&#xff0c;基于贝叶斯定理和特征之间的独立性假设。在R中&#xff0c;我们可以使用e1071包中的naiveBayes函数来实现这一算法。下面&#xff0c;我将通过一个简单的示例展示如…

《生成式AI导论》学习笔记

1.课程定位 2.什么是生成式人工智慧&#xff1f; 3. 今日的生成式人工智慧厉害在哪里&#xff1f; 4.训练不了人工智慧&#xff1f;那我训练自己 5.训练不了人工智慧&#xff1f;你可以训练你自己&#xff08;中&#xff09;——拆解问题使用工具 6.大语言模型修炼史——第一阶…

微信小程序使用echarts组件实现饼状统计图功能

微信小程序使用echarts组件实现饼状统计图功能 使用echarts实现在微信小程序中统计图的功能&#xff0c;具体的实现步骤思路可进我主页查看我的另一篇博文https://blog.csdn.net/weixin_45465881/article/details/138171153进行查看&#xff0c;本篇文章主要使用echarts组件实…

Redis(六) Set集合类型

文章目录 前言命令SADDSMEMBERSSISMEMBERSCARDSPOPSMOVESREM集合间操作SINTERSINTERSTORESUNIONSUNIONSTORESDIFFSDIFFSTORE 命令小结 内部编码使用场景 前言 集合类型也是保存多个字符串类型的元素的&#xff0c;和列表类型不同的是&#xff0c;set集合类型中的元素是无序的且…

java 抽象类(abstract)

1 由abstract修饰的类叫做抽象类 也可以修饰抽象方法 2 abstract修饰的抽象方法不可以在抽象类当中实现 但一定要在子类当中重写 并实现 public abstract class p1 { public abstract void work(); public void run() { System.out.println("run"); } } class prog…

基于springboot+vue的民法普及系统的设计与实现

1、系统演示视频&#xff08;演示视频&#xff09; 2、需要请联系

2. 多机多卡运行nccl-tests对比分析

系列文章 第2章 多机多卡nccl-tests 对比分析 目录 系列文章前言一、本地环境1. 网卡接口2. RDMA3. TOPO信息pcie信息nvidia-smi topo -m 二、nccl-test对比分析1. 相关环境变量2. 不同情况的对比3. 总结与分析 前言 NCCL&#xff08;NVIDIA Collective Communications Libra…

javaWeb项目-房屋房租租赁系统功能介绍

项目关键技术 开发工具&#xff1a;IDEA 、Eclipse 编程语言: Java 数据库: MySQL5.7 框架&#xff1a;ssm、Springboot 前端&#xff1a;Vue、ElementUI 关键技术&#xff1a;springboot、SSM、vue、MYSQL、MAVEN 数据库工具&#xff1a;Navicat、SQLyog 1、JSP技术 JSP(Jav…

实战技巧:Android 14适配从挂号到出院

公众号「稀有猿诉」 原文链接 实战技巧&#xff1a;Android 14适配从挂号到出院 啥&#xff1f;这都4202年了&#xff0c;你的应用还没有升级到targetSDK 34&#xff1f;莫慌&#xff0c;本文就带着你全面的了解升级targetSDK 34的方法以及避坑指南。 注意&#xff0c;A…

毫米波雷达模块在高精度人体姿态识别的应用

人体姿态识别是计算机视觉领域中的重要问题之一&#xff0c;具有广泛的应用前景&#xff0c;如智能安防、虚拟现实、医疗辅助等。毫米波雷达技术作为一种无需直接接触目标就能实现高精度探测的感知技术&#xff0c;在人体姿态识别领域具有独特的优势。本文将探讨毫米波雷达模块…

Linux系统IO

Linux系统中的IO函数主要包括两大类&#xff1a;标准C库中的函数和Linux系统调用。这些函数可以用于文件操作、网络通信、设备控制等多种IO任务。以下是Linux系统中常用的IO函数和系统调用的概述&#xff1a; 标准C库IO函数 这些函数是高级的、封装好的&#xff0c;并且与操作…

二叉搜索树的众数(力扣501)

题目如下&#xff1a; 给你一个含重复值的二叉搜索树&#xff08;BST&#xff09;的根节点 root &#xff0c;找出并返回 BST 中的所有 众数&#xff08;即&#xff0c;出现频率最高的元素&#xff09;。 如果树中有不止一个众数&#xff0c;可以按 任意顺序 返回。 假定 BS…

Modbus转Profinet网关接电表与工控机通讯

Modbus转Profinet网关&#xff08;XD-MDPN100/300&#xff09;的主要功能是实现Modbus协议和Profinet协议之间的转换和通信。Modbus转Profinet网关集成了Modbus和Profinet两种协议&#xff0c;支持Modbus RTU主站/从站&#xff0c;并可以与RS485接口的设备&#xff0c;如变频器…

德国激荡50年的荆棘之路

财通证券表示&#xff0c;过去50年见证了德国如何走出财政泥沼、以保守的货币政策稳步前行&#xff0c;见证了“专精特新”带来的全球竞争力&#xff0c;也见证了产业转型缓慢导致的增长动能缺失。 过去50年&#xff0c;德国经济经历了一段跌宕起伏的发展史&#xff0c;这辆曾…

面向对象三大特征(python)

目录 1. 封装 为什么使用封装&#xff1f; 如何实现封装&#xff1f; 一个简单的封装示例 二.继承 为什么使用继承&#xff1f; 如何实现继承&#xff1f; 一个简单的继承示例 使用继承的好处 三.多态 为什么使用多态&#xff1f; 如何实现多态&#xff1f; 一个简…