浅谈交换原理(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.hqwc.cn/news/456482.html

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

相关文章

2024年对于Windows电脑,有类似的清理软件推荐吗?

对于Windows电脑,有很多类似的清理软件可以选择。以下是一些推荐的清理软件: CCleaner:这是一款非常受欢迎的Windows清理软件,它可以清理系统垃圾文件、浏览器缓存、无效注册表项等,还可以优化系统性能。CCleaner具有简…

【Qt学习笔记】(三)常用控件(持续更新)

Qt 常用控件 1 控件概述2 QWidget 控件核心属性2.1 enabled2.2 geometry2.3 window frame 的影响2.4 windowTitle2.5 window Icon2.6 windowOpacity2.7 cursor2.8 font2.9 toolTip2.10 focusPolicy2.11 stylesheet 1 控件概述 Widget是Qt中的核心概念英文原义是"小部件&q…

并发容器【ConcurentHashMap、CopyOnWriteArrayList、阻塞队列、ArrayBlockingQueue】

并发容器 什么是并发容器?同步容器:并发容器: ConcurrentHashMap结构图JDK1.7结构图JDK1.8结构图 CopyOnWriteArrayList实现原理 并发队列阻塞队列ArrayBlockingQueue 转自极客时间 什么是并发容器? 在JUC包中,有一大部分是关于并发容器的,如Concurr…

go语言每日一练——链表篇(六)

传送门 牛客面试必刷101题—— 判断链表中是否有环 牛客面试必刷101题—— 链表中环的入口结点 题目及解析 题目一 代码 package mainimport . "nc_tools"/** type ListNode struct{* Val int* Next *ListNode* }*//**** param head ListNode类* return bool…

亚信安慧AntDB构建繁荣生态的数据库管理系统

亚信安慧AntDB是一款数据库管理系统,它采用全球影响力大、社区繁荣、开放度高、生态增长迅速的PG内核。这款系统具有卓越的性能和稳定性,在全球范围内备受用户青睐。与此同时,AntDB的社区也是充满活力的,用户可以在社区中交流经验…

浅析一款非驱动考试网关程序(一)

前言 监考程序需要对网络流量进行过滤,不允许除了考试网站以外的其他网站的访问。其实就是实现了一个小型的网关程序,一般地有驱动实现和非驱动实现两种方式。本文只针对一款简易的非驱动实现的监考程序进行分析。 注意:本文通过对某考试监…

程序员要不要考PMP

程序员要不要考PMP,我的建议是NO。 当然了,公司需要的除外。 考证的目不外乎两个:学东西,拿证书。 这里有一个证书和PMP证书很有对比性:软考 对比如下: 1. 学东西 pmp 和软考内容基本是重合的。 2. 证书…

c#cad 创建-点(六)

运行环境 vs2022 c# cad2016 调试成功 一、代码说明 创建一个点的命令方法。代码的主要功能是在当前活动文档中创建一个点,并将其添加到模型空间块表记录中。 代码的主要步骤如下: 获取当前活动文档、数据库和编辑器对象。使用事务开始创建点的过程…

Docker进阶篇-CIG重量级监控系统

一、简介 通过docker stats命令可以很方便的查看当前宿主机上所有容器的CPU、内存、网络流量等数 据,可以满足一些小型应用。 但是docker stats统计结果只能是当前宿主机的全部容器,数据资料是实时的,没有地方存储、 没有健康指标过线预警…

Redis(十二)Bigkey

文章目录 游标案例生成100万测试数据key生产上限制keys */flushdb/flushall等危险命令不使用keys *&#xff1a;scan Biigkey案例多大算大发现bigkey渐进式删除生产调优示例问题 游标案例 生成100万测试数据key shell: for((i1;i<100*10000;i)); do echo "set k$i v…

基于CNN+LSTM深度学习网络的时间序列预测matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1 卷积神经网络&#xff08;CNN&#xff09; 4.2 长短时记忆网络&#xff08;LSTM&#xff09; 4.3 CNNLSTM网络结构 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 MA…

【pikachu csrf】

cxrf 个人理解getPOST 个人理解 当被攻击用户登陆访问网站时&#xff0c;在保持登陆状态时点击小黑子&#xff08;黑客&#xff09;搭建的恶意链接而导致用户受到攻击。 举个例子 我去攻击网站&#xff0c;但是我找不到漏洞&#xff0c;这个时候我注册一个账号&#xff0c;发现…