《并行计算》 并行计算机系统互连与基本通信操作

并行计算机互连网络

系统互连和网络拓扑

看看一些网络架构和网络带宽的关系图,一般网络带宽越高,并行计算机的互连通信消耗的时间越少,当然还要综合考虑其他多方面因素!
在这里插入图片描述
一般系统互连可采用静态网络互连或动态网络互连。他们有各自的特点!

对静态网络来说:

  • 处理单元之间有着固定的连接
  • 在程序执行期间,这种点到点的连接保持不变
  • 典型的静态网络有:一维线性阵列、二维网孔、树连接、超立方网络、立方环、洗牌交换网、蝶形网络等

对动态网络来说:

  • 用开关单元构成
  • 可按应用程序的要求动态地改变连接组态
  • 一般用到总线、交叉开关和多级互连网络等

静态互连网络

得先了解几个概念:

  • 节点度:射入和射出一个节点的边数
  • 网络直径:网络中任何两个节点之间的最长距离,注意这里隐含了最大的最小值这个比较拗口的概念
  • 对剖宽度:对分网络各半所必须移除的最少边数
  • 网络对称:从任意节点观看网络都一样

计算机网络的架构,在并行网络架构面前就是个弟弟qaq:
普通计算机网络架构图
但也是并行网络的根基,下面我们就开始学习几个静态互连网络:
一维线性阵列
这是最简单的网络,特点如下:

  • 每个节点只与其左右近邻相连,也叫二近邻相连
  • N个节点用N-1条边串接
    • 内节点度为2
    • 直径为N-1
    • 对剖宽度为1
  • 当首、尾节点相连时可构成循环移位器,在拓扑结构上等同于环
    • 单向的或双向
    • 节点度恒为2
    • 直径或为⌊𝑁/2⌋(双向环)或为N-1(单向环)
    • 对剖宽度为2
      二维网孔
      网孔有多种类型,简单介绍一下:
  • 每个节点只与其上、下、左、右的近邻相连(边界节点除外)
    • 节点度为4,网络直径为2(√𝑁-1) ,对剖宽度为√𝑁
  • 在垂直方向上带环绕,水平方向呈蛇状,就变成Illiac网孔
    • 节点度恒为4,网络直径为√𝑁-1,对剖宽度为2√𝑁
  • 垂直和水平方向均带环绕,则变成了2-D环绕
    • 节点度恒为4,网络直径为2⌊√𝑁/2⌋ ,对剖宽度为2√𝑁

在这里插入图片描述


树也有几种类型:

  • 二叉树
    • 除了根、叶节点,每个内节点只与其父节点和两个子节点相连
    • 节点度为3,网络直径为2(⌈log⁡〖 (𝑁+1)〗 ⌉-1),对剖宽度为1
    • 根易成为通信瓶颈
  • 星形网络
    • 节点度为N-1 ,网络直径为2,对剖宽度为⌊𝑁/2⌋
  • 胖树
    • 节点间的通路自叶向根逐渐变宽

在这里插入图片描述

超立方

  • 一个n-立方由N=2n个顶点组成
    • 节点度为n,网络直径为n,对剖宽度为N/2

除了超立方,还有立方环,这是要玩出花样。。。

  • 3-立方环
    • 将3-立方的每个顶点代之以一个环
    • 节点度为3

在这里插入图片描述

嵌入
所谓嵌入,知道是将将网络中的各节点映射到另一个网络中去,应该就可以了!

超立方网可完美嵌入到2-D环绕网中

下面比较各种静态互联网络的特性:

在这里插入图片描述

动态互连网络

总线

总线仲裁、中断处理、协议转换、快速同步、缓存一致性协议、总线桥接、层次总线的扩展

在这里插入图片描述
交叉开关

  • 可由程序控制动态设置其处于“开”或“关”状态
  • 能在 (源, 目的)对之间建立动态连接
  • 可为每个端口提供更高的带宽
  • 交叉开关的使用方式
    • 用于处理器之间的通信
    • 用于处理器和存储模块之间的通信

在这里插入图片描述

多级互连网络

  • 由单级交叉开关级联起来形成
  • 开关单元
  • 级间连接方式
    • 均匀洗牌、蝶式、纵横交叉

在这里插入图片描述
在这里插入图片描述
下面比较一下动态互连网络的特性:

在这里插入图片描述

标准互连网络

光纤分布式数据接口(FDDI )

  • 采用双向光纤令牌环
  • 提供100~200Mbps数据传输速率
  • 能够互连大量的设备
  • 适用于LAN和MAN
  • 价格较贵

快速以太网
在这里插入图片描述
Myrinet

  • 由Myricom公司设计的千兆位包交换网络
  • 其目的是互连商用产品以构筑计算机群
  • 定义在数据链路层,包的长度可变
  • 在每条链路上施行流控和差错控制
  • 2002年12月的TOP500中有140个使用Myrinet,TOP100中有15个使用Myrinet

可扩放一致性接口(SCI)

  • ANSI/IEEE 1992年批准的一个高速互连标准
  • 可用于共享存储多计算机或消息传递并行计算机
  • 其目的在于构建一个具有良好扩放性的系统互连架构
  • 完全分布式和可扩放的
  • 允许数据以500MHz的速度传输,传输速率达到1GBps

Infiniband

  • 集合了整个业界的努力而开发出来的能够替代PCI总线的新标准
  • 其特性主要包括
    • 分层结构
    • 基于信息包的通信机制
    • 三种连接速度1X、4X和12X
    • 支持PCB、铜缆、光纤互连
    • 子结构管理协议
    • 远程DMA支持
    • 支持多播以及广播
    • 可靠的传输方法—消息队列机制
    • 通信流控—链路层及终端到终端

选路方法与开关技术

选路方法

所谓选路,就是消息从发源地到达目的地所取的走法,即行进的方法。一般有如下的分类:

  • 最短法和非最短法(贪心法/随机法)
    • 前者总在源和目的之间试图选择最短的路径
  • 确定和自适应的
    • 前者在源和目的之间确定一条唯一的路径

X-Y选路法

X-Y选路法其实挺简单的,下面是二维网孔上的X-Y选路算法。

输入:待选路的信包处于源处理器中

输出:将各信包送至各自目的地中

流程:

  • 沿x维将信包向左或向右选路并送至目的处理器所在的列
  • 沿y维将信包向上或向下选路并送至目的处理器所在的行

下面是一个例子,其实也就是遵照着曼哈顿方式寻址就行:
在这里插入图片描述

E-立方选路法

令源节点的二进制编码为S=sn-1…s1s0,目的节点的二进制编码为D=dn-1…d1d0,注意到在超立方中,相邻节点的编码只有一位的不同。其选路方法为:
在这里插入图片描述

算法伪代码为:

Begin
	for i=1 to n do
		r[i] = s[i-1] ^ d[i-1]
	endfor
	i = 1, V = S
	while i ≤ n do
		if ri=1 then 从当前节点V选路到节点V^(1<<(i-1)) endif
		i = i+1
	endwhile
End

例如下面的这个图,源节点为0110,目的节点为1101,
在这里插入图片描述
源节点和目的节点异或的结果为1011,则按照前面的法则,选路为:0110 - 0111 - 0101 - 1101

开关技术

消息格式

  • 消息:节点之间通信的逻辑单位,通常由一些定长的信包组成
  • 信包:带有选路信息的基本通信单位,可分成一些定长的数据片,其中选路信息和顺序号作为包头,其余都是数据
  • 片:长度固定,一般为8位

在这里插入图片描述

信包传输性能参数

  • 启动时间 ts
    包括打包、执行选路算法和建立通信界面的时间
  • 节点延迟时间 th
    包头穿越网络中两直接相连
  • 字传输时间 tw
    传输每个字的时间,是带宽的倒数
  • 链路长度 l
  • 信包长度 m

存储转发(SF)选路

SF选路的特点为:

  • 信包是基本的传输单位
  • 传输中,中间节点必须收齐且存储在缓冲器中,它才可能传向下一个节点,用下面这图来表示,有点像非流水线的方式?
    在这里插入图片描述
  • 总通信时间:
    在这里插入图片描述

切通(CT)选路

CT选路的特点为:

  • 将信包进一步分成更小的片进行传输

  • 传输中,中间节点只备有很小的片缓冲器,一旦收到包头就传至下一节点

  • 同一信包中的所有片一同以流水线方式穿越网络,用一个图来表示:
    在这里插入图片描述

  • 传输时间:
    在这里插入图片描述

单一信包一到一传输

l的计算
在这里插入图片描述

SF网络传输时间上界
在这里插入图片描述

CT网络传输时间
在这里插入图片描述

一到多播送

使用SF进行一到多播送

  • 约定环是双向的,且每个处理器一次只能够发送一条信包
  • 通信时间:
    在这里插入图片描述
    8个处理器的环上以SF方式播送过程

环绕网孔

  • 先完成一行中的播送
  • 再同时进行各列中的播送
  • 通信时间:
    在这里插入图片描述
    16个处理器的环绕网孔上以SF方式播送过程

超立方

  • 从低维到高维,依次进行播送
  • 通信时间:
    在这里插入图片描述
    8个处理器的超立方上以SF方式播送过程

使用CT进行一到多播送

将超立方上的播送算法直接映射到环上

  • 首先发送信包至p/2远的处理器
  • 其次已收到信包的处理器将它发送至p/4远的处理器
  • 通信时间
    在这里插入图片描述
  • 注意上面p/2到p/4不可以反着来,如果反着来会有通信串扰

8个处理器环上以CT方式播送过程

网孔

步骤

  • 先完成一行中√𝑝个处理器间的播送
  • 再同时进行各列中√𝑝个处理器间的播送
  • 通信时间
    在这里插入图片描述
    4×4网孔上以CT方式播送过程

超立方

在这里插入图片描述

多对多播送

使用SF进行多到多播送

  • 一系列以流水线方式工作的p个处理器将各自的信包依次同向传递
  • 通信时间
    在这里插入图片描述
    8个处理器的环上用SF方式多到多播送过程

环绕网孔

步骤

  • 先按行进行多到多播送
  • 再进列进行多到多播送
  • 通信时间
    在这里插入图片描述
    3×3环绕网孔上用SF方式进行多到多播送

超立方

  • 按超立方的维成对处理器交换数据
  • 各处理器中的信包大小每次加倍
  • 通信时间
    在这里插入图片描述

8个处理器的超立方上以SF方式进行多到多播送

使用CT进行多到多播送

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值