文章目录

  • Non-Blocking 的基本概念
  • Crossbar Switch
  • Clos Network
    • 网络基本结构
    • Unicast Routing on Strictly Non-Blocking Clos
    • Unicast Routing on Rearrangeable Clos Networks

Non-Blocking 的基本概念

电路交换网络(Circuit-Switched Network):不同于包交换网络(packet-switched)的共享资源,电路交换网络在传输数据之前,会建立一条从 source 到 destination 专用的连接,数据会连续地通过这条连接传输,数据传输完成后断开连接。

非阻塞网络(Non-Blocking Network)与 阻塞网络(Blocking-Network):Non-Blocking 与 Blocking 是 Circuit-Swtiched 网络的一种分类方式。

  • Non-Blocking 网络可以同时为所有由 input 到 output 的数据传输请求建立连接。即在同一时刻,所有的 input 到它所选择的 output 之间的连接不会产生冲突(共享一条channel)。

  • Blocking 网络不能同时处理由所有 input 发出的向 output 建立连接的请求。

非阻塞网络(Non-Blocking Network)的分类

  • Strictly Non-Blocking:连接可以递增地建立。在建立新的连接时,不必改变之前已建立的连接的路由路径。
  • Rearrangeably Non-Blocking:在建立新的连接时,可能需要将之前已建立的其他连接重新设置路由路径。

通常对于以上概念,我们都只考虑 unicast traffic 的场景,即一个 input 最多只和一个 output 建立连接,每个 output 也只和一个 input 建立连接。

Crossbar Switch

Crossbar 是经典的 Non-Blocking 网络,最早的电话网络大多使用 crossbar 实现。

在数字逻辑电路上,对于 n 个 input,m 个 output 的 crossbar 网络,需要 m 个 n:1 的多选器来实现。

Crossbar 最大的缺陷在于它的面积与开销。随着 input 和 output 规模的增大,电路规模会以 n x n 的量级扩大,而后面将介绍的其他 Non-Blocking 网络规模增长的量级仅为 n x logn。

Clos Network

网络基本结构

经典的 Clos 结构是一个三阶段的网络,每一阶段由若干数量的 crossbar swtich 组成。通常使用三元组(m, n, r)来表示一个 Clos 的参数:

  • m 是中间阶段 switch 的数量。
  • n 是每个input/output swtich 的端口数量。
  • r 是 input、output 阶段 switch 的数量。
  • 每个 middle switch 会和所有的 input swtich 和 output swtich 相连。

第一阶段的 r 个 input swtich 是 n x m 的 crossbar,每个 swtich 将各自 n 个输入端口连接到 m 个 middle swtich 上。

第二阶段的 m 个 middle switch 是 r x r 的 crossbar,每个 switch 将 r 个 input swtich 与 r 个 output swtich 相连。

第三阶段的 r 个 output switch 是 m x n 的 crossbar,每个 switch 将 m 个 middle switch 与 n 个输出端口相连。

Unicast Routing on Strictly Non-Blocking Clos

在 Clos 的路由选择上,唯一可以进行选择的地方在 input switch。只要 input switch 到 middle switch 的 channel 没有被占用,input switch 就可以选择该 middle switch 作为建立连接的中间节点。一旦 middle switch 被选定,剩下的路径也就被唯一确定了(或者路径繁忙路由失败)。

定理: 如果对于一个 Clos, m>=2n−1m >= 2n - 1m>=2n−1,那么它是 strictly non-blocking。

证明: 由 input switch A.i 向 input switch B.j 建立连接。

若 A 的 n-1 个端口和 B 的 n-1 个端口均已建立连接。A 已建立的连接选择前 n-1 个middle switch,B已建立的连接用到后 n-1 个 middle switch。

这时还再需要一个可用的 middle swtich,才能完成 A.i 向 B.j 的连接。

共计是 m=2n−1m = 2n -1m=2n−1 个 middle switch,能够作为 strictly non-blocking 的充分条件。

路由算法: 根据上面推导的证明过程,可以得到路由选择算法,即只要有能用的 middle switch,双边要用到的 channel 均空闲,就可以选择。

strictly non-blocking 的路由算法非常简单,然而它的花销较大。它所需 middle switch 的数量是 rearrangeable network 的 2n−1n\frac{2n-1}{n}n2n−1​ 倍。

Unicast Routing on Rearrangeable Clos Networks

定理: 如果对于一个 Clos, m>=nm >= nm>=n,那么它是 rearrangeable non-blocking。

路由算法: 从 input swtich a 向 output swtich b 建立连接。

1、如果有可用的 middle switch,a、b 两端均为空闲,则选择该 middle swtich。

2、如果没有可用的 middle swtich,则选择 a 端空闲的 middle switch,建立连接。

3、之前的 switch c 通过该 middle switch 与 swtich b 的连接断开。重新为 input switch c 到 output switch b 尝试建立连接。

4、如此循环迭代。回到步1。

定理:上述算法的循环,最多经过 2r−22r-22r−2 次的迭代,可以最终完成全部 arrangement。

NoC(Network on Chip)基础 (4):Non-Blocking(Circuit Switch)Network——Crossbar 和 Clos相关推荐

  1. NoC (Network on chip) 基础 (1) : 片上网络的简介

    本系列的文章是我在学习NoC经典书籍:Principles and Practices of Interconnection Networks 以及相关的论文过程中所作的总结和归纳.在敦促自己建立更全 ...

  2. NoC(Network on Chip)基础 (3):网络拓扑结构 Butterfly、Torus、Mesh

    上一篇:NoC (Network on chip) 基础知识 (2) :片上网络的拓扑结构(Topology) 介绍了网络拓扑中的常见概念. 本篇文章将重点介绍 Butterfly 和 Torus 网 ...

  3. NoC(Network on Chip)基础 (6):Oblivious Routing 和 Adaptive Routing

    上一篇:NoC(Network on Chip)基础知识 (5):网络路由(Routing)介绍了 NoC 中路由的基础概念并列举了确定性路由的例子. 本篇文章将介绍 Oblivious Routin ...

  4. VXLAN 隧道 基础介绍 Virtual eXtensible Local Area Network,虚拟可扩展局域网

    一.概述 VXLAN(Virtual eXtensible Local Area Network,虚拟可扩展局域网),是一种虚拟化隧道通信技术.它是一种 Overlay(覆盖网络)技术,通过三层的网络 ...

  5. nin神经网络_深度学习基础(三)NIN_Network In Network

    该论文提出了一种新颖的深度网络结构,称为"Network In Network"(NIN),以增强模型对感受野内local patches的辨别能力.与传统的CNNs相比,NIN主 ...

  6. 【Network】网络基础扫盲

    网络基础扫盲 正文开始@小边小边不秃头 hi~ 宝子们,好久好久不见,从今往后,我的文章会较为随意(因为我懒得维持文章严谨的逻辑了,写文章只不过已经变成了习惯,也就是说我只是抱着"学习&qu ...

  7. php switch 函数,PHP丨PHP基础知识之条件语SWITCH判断「理论篇」

    Switch在一些计算机语言中是保留字,其作用大多情况下是进行判断选择.以PHP来说,switch(开关语句)常和case break default一起使用 典型结构 switch($control ...

  8. LSA类型讲解——LSA-2(第二类LSA——Network LSA)、LSA-3(第三类LSA——Network Summary LSA)详解

    目录 一.LSA-2 (1)--简介: (2)--头部信息: (3)--数据部分: (4)--作用: (5)如何查看: 二.LSA-3 (1)--简介: (2)--头部信息: (3)--数据部分: ( ...

  9. java基础面试题之:switch的参数类型

    1.参数类型 基础数据类型: (整数):byte,short,int (字符):char 非基础数据类型:String和枚举类 2.跟break有关的事情: 源代码: for(int x=0;x< ...

最新文章

  1. 安装JDK1.8+环境配置
  2. 网站优化只需五步技巧分享推广无界限
  3. Flutter ListView解决底部或顶部留白问题
  4. wsl2 Ubuntu 18.04 安装 ROS
  5. 标记 (TAG) 您的 k8s 集群资源
  6. hadoop日常维护之问题解决01
  7. iOS中关于文件操作
  8. Linux二进制保护(文末福利)
  9. Servlet容器和IOC容器
  10. 什么事IPC(Inter-Process Communication,进程间通信)
  11. mysql 多字段,多条件查找
  12. 一般总账科目 调整 为统驭科目时报错:只以本位币计的统驭科目余额未定义
  13. 博弈论-多智能体强化学习基础
  14. Win10 平台下, LightGBM GPU 版本的安装
  15. 【x86架构】x86上的那些不明觉厉的功能
  16. WorkFlow一:WorkFlow基础配置
  17. WIN10自带的录屏软件Xbox Game Bar的启动相关问题
  18. K3 WISE 12.3 中间层在虚拟机中注册
  19. 终端python版本管理切换
  20. [Swift]LeetCode832. 翻转图像 | Flipping an Image

热门文章

  1. Cocos Creator游戏开发教程 学习笔记
  2. 《数字图像处理》冈萨雷斯版 读书笔记(二)
  3. 11种主要神经网络结构图解
  4. 【51Nod1679】连通率
  5. 已知序列1,2,3,5,8,...,求第20项的值( C 语言)
  6. 国科大图数据管理与分析课程项目gStore实验报告
  7. 「小猪佩奇」:成功儿童IP背后的商业逻辑和方法论
  8. 50种响应式web设计的奇妙工具
  9. 蓝奏云PHP解析接口,蓝奏云下载地址解析API[直链]
  10. 蓝奏云 php 协议,蓝奏云网盘最新协议完整版附一套网络验证