浅谈交换原理(3)——交换网络

一、基本概念

        交换网络是由若干个交换单元按照一定的拓扑结构和控制方式构成的网络。交换网络的三个基本要素是:交换单元、不同交换单元间的拓扑连接和控制方式。

1.1 单机交换网络与多级交换网络

        交换网络按拓扑连接方式可分为:单级交换网络和多级交换网络

        单级交换网络是由一个或者多个位于同一级的交换单元所构成的交换网络,即需要交换的信息从交换网络入线到交换网络出线只经过一个交换单元,并且当同一级有多个交换单元构成时,不同交换单元的入线与出线之间可建立连接。

        如果一个交换网络中的交换单元可以分为K级,顺序命名为第1,2,…,K级,并且满足:所有入线都只与第1级交换单元连接;所有第1级交换单元都只与入线和第2级交换单元连接;所有第2级交换单元都只与第1级和第3级交换单元连接;依此类推,所有第K级交换单元都只与第K-1级和出线连接;则称这样的交换网络为多级交换网络,或K级交换网络。

1.2 有阻塞交换网络和无阻塞交换网络

        交换网络的阻塞是指从交换网络不同输入端来的信息在交换网络中交换时发生了对同一公共资源争抢的情况,这时在竞争资源中失败的信息就会被阻塞,直到这个公共资源被释放。阻塞一般可以分成2种情况:内部竞争和出线竞争。

        对于无阻塞网络,还可以细分成严格无阻塞网络、可重排无阻塞网络和广义无阻塞网络。

  • 严格无阻塞网络:不管网络处于何种状态,任何时刻都可以在交换网络中建立一个连接,只要这个连接的起点、终点是空闲的,而不会影响网络中已建立起来的连接。
  • 可重排无阻塞网络:不管网络处于何种状态,任何时刻都可以在交换网络中直接或对已有的连接重选路由来建立一个连接,只要这个连接的起点、终点是空闲的,而不会影响网络中已建立起来的连接。
  • 广义无阻塞网络:指一个给定的网络存在着固有的阻塞可能,但又可能存在着一种精巧的选路方法,使得所有的阻塞均可避免,而不必重新安排网络中已建立起来的连接。

1.3 单通路交换网络和多通路交换网络

二、CLOS网络 

        假设我们要构造一个100×100的交换网络,最简单的思路就是采用100×100的交换单元,这样的方式需要用到10000个开关。

        10000个开关显然是稍微多了一点,我们想办法优化以下,我们可以考虑采用多个10 X 10 交换单元(单通路),这样的话,我们就只需要用到2*10*10*10=2000个开关。

        当然,也可以考虑采用多通路的方式,采用多个10 X 10 交换单元,这样的话,我们需要用到3*10*10*10=3000个开关。

        但是以上的优化方式都容易造成阻塞的问题,为了减少交叉点总数而同时具有严格的无阻塞特性,CLOS C.很早就提出一种多级结构,推出了严格无阻塞的条件,这就是著名的CLOS网络。 其中3 级 CLOS 网络应用广泛,除特别说明,一般 CLOS 网络也指 3 级 CLOS 网络。

        这里我们就考虑一种比较简单的情况,即输入线和输出线的数量是一致的,都为N,则其CLOS网络结构如下:

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

  • m 是中间阶段 switch 的数量。
  • n 是每个input/output switch 的端口数量。
  • r 是 input、output 阶段 switch 的数量。

每个中间级的switch 会和所有的 input switch 和 output switch 相连。

  • 第一阶段的 r 个 input switch 是 n x m 的 crossbar,每个 switch 将各自 n 个输入端口连接到 m 个 middle switch 上。
  • 第二阶段的 m 个 middle switch 是 r x r 的 crossbar,每个 switch 将 r 个 input switch 与 r 个 output switch 相连。
  • 第三阶段的 r 个 output switch 是 m x n 的 crossbar,每个 switch 将 m 个 middle switch 与 n 个输出端口相连。

        在 CLOS 的路由选择上,唯一可以进行选择的地方在 input switch。只要 input switch 到 middle switch 的 channel 没有被占用,input switch 就可以选择该 middle switch 作为建立连接的中间节点。一旦 middle switch 被选定,剩下的路径也就被唯一确定了(或者路径繁忙路由失败)。根据定理可知:如果对于一个CLOS, m≥2n-1,则他就可以做到严格无阻塞(任意入线到任意出线在任何情况下都可连接)。如果m≥n,那么它还满足是可重排无阻塞的(只要对已有连接进行重排, 就能保证任意入线到任意出线可连接)。

        因此,其路由算法可以归纳如下:

从 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。

三、TST网络

        TST网络是电话交换系统中经常使用的一种3级网络,由两级T接线器与一级S接线器组合而成。T接线器:时分,采用PCM;S接线器:空分。

        它具有32条双向时分复用线,且每条时分复用线上由32个时隙,编号相同的入线和出线共同组成一条双向时分复用线。TST交换网络的第1级有32个T接线器,第2级为一个32 x 32的S接线器,第3级由32个T接线器组成,分别连在每一条输出线上。第1级T接线器采用的是输出控制方式,第3级T接线器采用的是输入控制方式(当然第1和第3级的控制方式也可以调换),而对于第2级S接线器采用何种方式均可。

        其主要特点是:每一条PCM线路连接到一个T接线器,有多少条输入或输出PCM线路,就有多少个T接线器;S级的出入线数决定于两侧T接线器的数量,即等于输入输出线数。

 四、Banyan 网络

        Banyan 网络的基本结构如下:

  • L级banyan(任何输入到任何输出之间的通路都经过L级)
  • 规则banyan(各个交换单元是相同)
  • 不规则banyan (各个交换单元不相同)
  • 矩形banyan(每个交换单元的入线数等于出线数)

        Banyan网络是一种常用的并行计算机网络拓扑结构,它被广泛应用于高性能计算和分布式系统中。Banyan网络的拓扑结构类似于一棵二叉树,每个节点都有两个输入端口和两个输出端口。

        在Banyan网络中,数据通过节点之间的连接进行传输。每个节点都有一个控制器,用于决定输入端口的数据应该通过哪个输出端口发送。这种控制方式使得Banyan网络具有高度的并行性和可扩展性。

        Banyan网络的主要特点包括:

  1. 低延迟:由于节点之间的连接是直接的延迟较低。
  2. 高带宽:每个节点都多个输入和输出端口,可以同时传输多个数据。
  3. 可扩展性:Banyan通过增加节点和连接来扩展系统的规模。
  4. 容性:Banyan网络可以通过冗余路径来提高系统的错性。

        Banyan网络在并行计算和分布式系统中有广泛的应用,例如在超级计算机、云计算中心和数据中心等场景中。它能够提供高性能的数据传输和处理能力,满足大规模计算和通信的需求。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

第三篇:跨平台QT开发-正则表达式和文件处理

正则表达式 正则表达式即一个文本匹配字符串的一种模式,Qt 中 QRegExp 类实现使用正则表达式 进行模式匹配,且完全支持 Unicode,主要应用:字符串验证、搜索、查找替换、分割。 正则表达式中字符及字符集 元素含义 c 匹配字符本…

mac电脑快捷指令实现拼图

mac访达,搜索输入‘快捷指令’,找到‘快捷指令’, 点击快捷指令,进入快捷指令中心,搜索‘拼图’ ,选中‘照片拼图’, 点击‘添加快捷指令’, 在‘所有快捷键指令’中可以看到添加的快…

C++ || 模板初阶 | 函数模板 | 类模板

泛型编程 泛型编程,编写与类型无关的通用代码,是代码复用的一种手段。模板是泛型编程的基础。 可以理解为活字印刷术类似的方式。 函数模板 函数模板概念 函数模板,代表一个函数家族,该函数模板与类型无关,在使用…

Python调用matlab程序

matlab官网:https://ww2.mathworks.cn/?s_tidgn_logo matlab外部语言和库接口,包括 Python、Java、C、C、.NET 和 Web 服务。 matlab和python的版本 安装依赖配置 安装matlab的engine 找到matlab的安装目录:“xxx\ extern\engines\python…

Linux的进程信号

注意:首先需要提醒一个事情,本节提及的进程信号和下节的信号量没有任何关系,请您区分对待。 1.信号概念 1.1.生活中的信号 我们在生活中通过体验现实,记忆了一些信号和对应的处理动作,这意味着信号有以下相关的特点&…

重生奇迹mu仙踪林npc

工匠尤达 NPC工匠尤达位于仙踪林的坐标为(87, 134),他可以给玩家制作装备和强化装备。 精灵安吉拉 NPC精灵安吉拉位于仙踪林的坐标为(29, 196),她可以给玩家提供补血、补魔服务,同时也能提供提高属性点数的服务。 仓库使者塞维特 NPC仓库…

SpringCloud-创建多模块项目

在微服务架构中,项目的组织结构对于代码的维护和团队的协作至关重要。Spring Cloud作为一个强大的微服务框架,提供了丰富的功能和组件,同时也支持多模块项目的创建,使得代码结构更加清晰、易于管理。本文将介绍如何使用 Spring Cl…

NModbus的NuGet包使用样例

首先仿真软件ModbusSlave简单配置3条数据: 连接配置: VS中安装NuGet包:NModbus4 简单获取湿度 SerialPort serialPort new SerialPort("COM1", 9600, Parity.None, 8, StopBits.One);serialPort.Open();Modbus.Device.ModbusSer…

端口扫描神器:御剑 保姆级教程(附链接)

一、介绍 御剑(YooScan)是一款网络安全工具,主要用于进行端口扫描。它具有直观的用户界面,方便用户进行端口扫描和信息收集。以下是御剑端口扫描工具的一些主要特点和功能: 图形用户界面: 御剑提供直观的图…

第 123 场 LeetCode 双周赛题解

A 三角形类型 II 三条边能构成三角形的充要条件是任意一边都小于其余两边之和&#xff0c;枚举各边判断能否构成三角形&#xff0c;若能再判断是否存在边想等 class Solution { public:string triangleType(vector<int> &nums) {int s accumulate(nums.begin(), num…

工厂方法模式(Factory Method Pattern)

原文地址:https://jaune162.blog/design-pattern/factory-method-pattern/ 概述 工厂方法模式(Factory Method Pattern)是一个对象创建型模式。 定义一个用于创建对象的接口,让子类决定实例化哪一个类。 Factory Method使一个类的实例化延迟到其子类。 – 《设计模式:可复…

灵活应对:策略模式在软件设计中的应用

策略模式是一种行为型设计模式&#xff0c;它允许定义一系列算法&#xff0c;并将每个算法封装起来&#xff0c;使它们可以互换使用。策略模式让算法的变化独立于使用算法的客户端&#xff0c;使得在不修改原有代码的情况下切换或扩展新的算法成为可能。 使用策略模式的场景包…

《合成孔径雷达成像算法与实现》Figure6.9

clc clear close all参数设置 距离向参数设置 R_eta_c 20e3; % 景中心斜距 Tr 2.5e-6; % 发射脉冲时宽 Kr 20e12; % 距离向调频率 alpha_os_r 1.2; % 距离过采样率 Nrg 320; % 距离线采样数 距离向…

java 基础 (1)简介-程序基础-流程控制-数组操作

学习教程 java入门 JavaEE JavaSe JavaMe 简单来说&#xff0c;Java SE就是标准版&#xff0c;包含标准的JVM和标准库&#xff0c;而Java EE是企业版&#xff0c;它只是在Java SE的基础上加上了大量的API和库&#xff0c;以便方便开发Web应用、数据库、消息服务等&#xff0c;…

运维必会篇-主从复制

主从复制 概述 主从复制是指将主数据库的 DDL 和 DML 操作通过二进制日志传到从库服务器中&#xff0c;然后在从库上对这 些日志重新执行&#xff08;也叫重做&#xff09;&#xff0c;从而使得从库和主库的数据保持同步。 MySQL支持一台主库同时向多台从库进行复制&#xf…

进程间通信(3):共享内存

多个进程共享同一片内存空间&#xff0c;不需要进行数据的拷贝&#xff0c;效率最高&#xff1b;但存在资源竞争问题。 函数&#xff1a;shmget(搭配ftok)、shmat、shmdt、shmctl 实现流程&#xff1a; 1、创建共享内存IPC对象 shmget(ftok) 2、内存映射 shmat 3、通信 sca…

JVM Java虚拟机入门指南

文章目录 为什么学习JVMJVM的执行流程JVM的组成部分类加载运行时数据区本地方法接口执行引擎 垃圾回收什么样的对象是垃圾呢内存溢出和内存泄漏定位垃圾的方法对象的finalization机制垃圾回收算法分代回收垃圾回收器 JVM调优参数JVM调优工具Java内存泄漏排查思路CPU飙高排查方案…

Vue3快速上手(二)VSCode官方推荐插件安装及配置

一、VSCode官方插件安装&#xff0c;如下图2款插件 在用vite创建的程序里&#xff0c;提示提安装推荐的插件了&#xff0c;如下图&#xff1a; 二、配置 在设置-扩展里找到Volar插件&#xff0c;将Dot Value勾选上。这样在ref()修改变量时&#xff0c;会自动填充.value,无需…

Windows权限维持

注册表类&#xff1a; 普通注册表后门 在一般用户权限下&#xff0c;通常是将要执行的后门程序或脚本路径填写到如下注册表的键值中HKCU\Software\Microsoft\Windows\CurrentVersion\Run&#xff0c;键名任意。普通权限即可运行 cmd下操作&#xff1a; reg add "HKEY_…

Linux虚拟文件系统(VFS)

虚拟地址空间通常是与进程密切相关的概念&#xff0c;而不是文件系统。虚拟地址空间是为了提供进程对内存的抽象和隔离而设计的。 文件系统不使用页表&#xff0c;直接使用物理地址。 虚拟文件系统是linux内核的一个核心子系统。、 虚拟文件系统的目的&#xff1a;通过一个抽…