§2 SIMD计算机的互连网络 互连网络是一种由开关元件按照一定的拓扑结构和控制方式构成的网络,用于实现计算机系统内部多个处理机或多个功能部件之间的相互连接。
在 SIMD 计算机中,处理单元与处理单元或存储分体之间要通过互连网络进行信息交换。
磁盘
SM1 SM2 SMm
IPMN
……
Cn
PnLM
C1
P1LM
IPCN
……
……
……
……
PIO
N
磁带打印机终端
网络
…
( 共享存储器 )
( 共享 I/O 与外设 )
具有本地存储器、私有高速缓存、共享存储器和共享外围设备的一般处理机系统的互连结构
互连网络的特性 互连网络通常是用有向边或无向边连接有限个结点的
组成 互连网络的主要特性有:
网络规模:网络中结点的个数 结点度:与结点相连接的边数称为结点度。包括入度和出度。
进入结点的边数叫入度,从结点出来的边数则叫出度 距离:两个结点之间相连的最少边数 网络直径:网络中任意两个结点间距离的最大值。用结点间
的连接边数表示 结点间的线长:两个结点间连线的长度。用米、公里等表示 对称性:从任何结点看到拓扑结构都是一样的网络称为对称
网络。对称网络比较易实现,编程也较容易。
互连网络在传输方面的主要性能参数 频带宽度 (Bandwidth) :互连网络传输信息的最大速率。 传输时间 (Transmission time) :等于消息长度除以频宽。 飞行时间 (Time of flight) :第一位信息到达接收方所花费的时
间。 传输时延 (Transport latency) :等于飞行时间与传输时间之和。 发送方开销 (Sender overhead) :处理器把消息放到互连网络
的时间。 接收方开销 (Receiver overhead) :处理器把消息从网络取出
来的时间。 一个消息的总时延可以用下面公式表示: 总时延=发送方开销+飞行时间+消息长度 / 频宽+接收方开销
例 7.1 :
假设一个网络的频宽为 10Mb/S ,发送方开销为 230us ,接收方开销为 270us 。如果两台机器相距 100 米,现在要发送一个 1000 字节的消息给另一台机器,试计算总时延。如果两台机器相距 1000 公里,那么总时延为多大?
解:光的速度为 299792.5KM/S ,信号在导体中传递速度大约是光速的 50 %,相距 100 米时总时延为:
相距 1000 公里时的总时延为:
sssss
ssKm
Kms
T
130127080067.0230
270/10
81000
/5.2997925.0
1.0230
秒兆位位
接收方开销频宽
消息长度飞行时间发送方开销
sssss
ssssT
7971= 2708006671230=
27010
81000
5.2997925.0
101000230
6
互连网络的设计目标 结构不要复杂,降低成本; 互连灵活,满足算法和应用的需要; 处理单元间信息交换所需最大传送步数要尽量少,提高速度;
互连网络采用规整单一的基本构件组成;模块化,可扩充性;
互连网络的标准化
互连网络的分类(续) 交换方法:线路交换、包交换、线路交换 / 包交换 线路交换,建立实际通路,适合大批量数据传输,常采用。
包交换,建立虚电路,适合于短数据传送,常用于多处理机系统和计算机网络
网络上通常采用分组交换
互连网络的分类(续) 拓扑结构:互连网络入、出端可以实现连接的模式。 静态:连接固定。灵活性、适应性差。少使用。
一维线形 二维环形、星形、树形、胖树形、网格形、脉动阵列形
三维旋环形、立方体形、环立方体 动态
环形网 采用移数函数。使用不同的移数函数,可以构成多种环形网。
单向环行网:右环网,采用 PM2+0 函数。左环网,采用 PM2-0 函数。
双向环行网:又称为一维邻居网,采用 {PM2+0, PM2-0} 函数。
环行网是对称的,结点度是常数 2 。双向环网的直径为 N/2 ,单向环形网的直径是 N
如果将结点度由 2 提高至 3 ,可得到弦环网。增加的弦愈多,则结点度愈高,网络直径愈小。
树形和星形网 一棵 k层二叉树有 N = 2k- 1 个结点,结点度是 3 ,直径是 2(k-1) 。
星形是一种特殊的 2层树,结点度很高,为 d=N-1 ,直径是 2 。
二叉胖树的结点度从叶子结点往根结点逐渐增加。胖树缓解了一般二叉树根结点通信速度高的矛盾。
网格形网 是一种比较流行的网络结构,有各种变体形式。在 Illi
ac IV 、 MPP 、 DAP 、 CM-2 和 Inetl Paragon 中得到了实现。
一般网格网, N = nk 结点的 k维网格的结点度为 2k ,直径为 k(n-1) 。
环网形网格网沿阵列每行每列都有环形连接。一个 n×n二元环网的结点度为 4 。环网是一种对称的拓扑结构。
Illiac IV 的 8×8 Illiac 网格,其结点度为 4 ,直径为 7 。一个 n×n Illiac 网格的直径为 d=n-1 ,为纯网格直径的一半
互连网络的分类(续) 动态网络:
单级:只有有限几种连接,循环网络。 多级:多个单级网络串联组合而成。
多级互连网络与循环互连网络相比 前者增加设备与成本,缩短通过时间、提高速度 前者利用单级网络组合,灵活性好 常采用多级互连网络和多级循环互连网络
静态互连网络:连接通路是固定的,一般静态互连网络不能实现任意结点到结点之间的互连。
循环互连网络:通过多次重复使用同一个单级互连网络以实现任意结点到结点之间的互连。
多级互连网络:将多套相同的单级互连网络连接起来,实现任意结点到结点之间的互连。
全排列互连网络:不仅能够实现任意结点到结点之间的互连,而且能够同时实现任意结点到结点之间的互连
全交叉开关网络:除了能够同时实现任意结点到结点之间的互连之外,还能够实现广播和多播。
互联函数的表示方式 互连函数表示
例: N=8,n=3 (000),(001),(010),(011)…
),,,,()(
),,,,()(
...2*2*),,,,(
log
021
1032
02
21
1021
2
bbbjf
bbbbjf
bbbbbbj
NnN
nn
nnn
nn
nnnn
例如:
为节点数,设
互联函数的表示方式(续) 循环表示
例: N=8 (0,1,2,3,4,5,6,7)
012110
110
)(,)(,,,)(,)(
),,,,,(:)(
jjfjjfjjfjjf
jjjjjf
xxx
xx
立方体单级网络
共有 个互连函数; 最大距离为 n ; 任意两个节点之间至少有 n条不同的路径,容错性强;
n>3超立方体( Hyper-Cube)
011011 ,,,,,,,),,,,,,,(
,
ppppppppCube
iCube
inini
i
位互为反码。第互连函数:
Nn 2log
Y
X
Z
011
000
010
110 111
101100
001
011010
110 111
101100
001
Cube1
011010
110 111
101100
001
Cube0
011010
110 111
101100
001
Cube2
PM2I 单级网络 共有 2n 个互连函数: PM2+i(j)=j+2i mod N PM2-i(j)=j-2i mod N 说明
普遍有: PM2+(n-1)(j) = PM2-(n-1)(j) 最大距离为 / 2n
PM2I 单级网络(续) 当N=8 时,有 n=log2N,2n=6 个互联函数 PM2+0: (0 1 2 3 4 5 6 7) PM2-0: (7 6 5 4 3 2 1 0) PM2+1: (0 2 4 6)(1 3 5 7) PM2-1: (6 4 2 0)(7 5 3 1) PM2+2: (0 4)(1 5)(2 6)(3 7) PM2-2: (4 0)(5 1)(6 2)(7 3)
混洗交换单级网络 包含两个函数:混洗、交换 shuffle(pn-1 pn-2,,, p1 p0)= pn-2,,, p1 p0 pn-1 说明:
不是可逆函数 特性:作 n次后,恢复到原来 ---〉多次混洗后,每个处理器都会遇到与其他处理器连接的机会(除全 0 和全1);
增加交换函数,得到全混交换单级网络; 全混连接与立方体连接存在对应关系 ,此性质便于构成多级连接,并与立方体具有相似的关系;
最大距离为 2n-1
7
6
5
4
3
2
1
0
7
6
5
4
3
2
1
0000
001
010
011
100
101
110
111
000
001
010
011
100
101
110
1117
6
5
4
3
2
1
0
7
6
5
4
3
2
1
0000
001
010
011
100
101
110
111
000
001
010
011
100
101
110
111
一次混洗 二次混洗
总结 单级互连网络特性
任一单级互连网络均可表示成 N 入、N 出的过程。 任一单级互连网络可实现部分结点 (一对或几对 )间的连接,不能实现任意多对结点间的同时连接。
单级互连网络含义:某些连接方法或拓扑结构。 单级互连网络应用
利用单级互连网络的特性作为实际 IN 的拓扑结构; 通过交换开关作为 IN 的可变因素; 通过交换开关多次控制实现 IN 的结点间任意互连。
基本多级互联网络 能够实现结点到结点之间的任意互连是互连网络的一种基本功能。
多级互连网络采用多个相同的或不同的互连网络直接连接起来。属于组合逻辑线路,一个时钟周期就能够实现任意结点到结点之间的互连。
多级互连网络采用的关键技术: 交换开关 交换开关之间的拓扑连接 对交换开关的不同控制方式
交换开关 一个 a×b 交换开关有 a 个输入和 b 个输出。 最常用的二元开关: a=b=2 。 每个输入可与一个或多个输出相连,但是在输出端必须避免发生冲突。一对一和一对多映射是容许的;但不容许有多对一映射。
只容许一对一映射时称为置换连接,称这种开关为 n×n 交叉开关。
具有直通和交换两种功能的交换开关称为二功能开关,或交换开关。用一位控制信号控制。
具有所有四种功能的交换开关称为四功能开关,用两位控制信号控制。
拓扑结构 前一级交换开关的输出端与后一级交换开关的输入端之间的连接模式称为拓扑结构。
通常采用前面介绍的互连函数实现拓扑结构
实际上,从结点的输出到第一级交换开关的输入,以及从最后一级交换开关的输出到结点的输入也可以采用拓扑结构连接。
控制方式 在多级互连网络中有多级交换开关,每一级又有多个交换开关。
通常有三种控制方式 级控制:同一级交换开关使用同一个控制信号控制。 单元级控制:每个交换开关分别控制。 部分级控制:例如,第 i 级使用 i+1 个控制信号控制 (0 i n-1) 。
同一个多级互连网络分别常用三种不同的控制方式,可以构成三种不同的互连网络。
基本多级互连网络 多级立方网络 (Single Stored Cube Net
work) 多级换洗交换网络 多级 PM2I 网络 (Plus-minus 2i) 基准网络 多级交叉开关网络 多级碟式网络
多级立方体网络 采用二功能开关。 采用交换函数构成拓扑结构,各级分别采用 E0、
E1、… En-1交换函数。 当所有开关都直通时,实现恒等变换。 当 A 、 B 、 C 、 D四个开关交换,其余直通时实现 E0 互连函数。
当 E 、 F 、 G 、 H四个开关交换,其余直通时实现 E1 互连函数。
当 I 、 J 、 K 、 L四个开关交换,其余直通时实现 E2 互连函数。
多级立方体网络(续) 第 I 级交换单元处于交换状态时,实现的是 Cu
bei互连函数。 采用三种不同的控制方式,可以构成三种不同的互连网络。 采用级控制可以构成 STARAN 交换网。 采用部分级控制,可以构成 STARAN移数网。 采用单元控制可以构成间接二进制 n 方体网。
交换功能级控制信号( k2k1k0)
000 001 010 011 100 101 110 111
入
端
0 0 1 2 3 4 5 6 71 1 0 3 2 5 4 7 62 2 3 0 1 6 7 4 53 3 2 1 0 7 6 5 44 4 5 6 7 0 1 2 35 5 4 7 6 1 0 3 26 6 7 4 5 2 3 0 17 7 6 5 4 3 2 1 0
功能
i Cube0
Cube1
Cube0
+Cube1
Cube2
Cube0
+Cube
2
Cube1
+Cube2
Cube0
+Cube1
+Cube2
移位功能
2 级 K,L 0 0 1 0 0 0 0J 0 1 1 0 0 0 0I 1 1 1 0 0 0 0
1 级 F,H 0 1 0 0 1 0 0E,G 1 1 0 1 1 0 0
0 级 A,B,C,D 1 0 0 1 0 1 0功 能 移 1
Mod 8移 2
Mod 8移 4
Mod 8移 1
Mod 4移 2
Mod 4移 1
Mod 2不移衡等
多级 PM2I 网络 (Plus-minus 2i) 包含 n 级单元间连接,每一级都是把前后两列各 N=2n个单元按 PM2I 拓扑相互连接起来。
可转化为强化数据交换网络( Augmented Data Manipulator) 控制线多,成本较高
两级 64 64 的蝶式网络
88
88
88
0 ...
788
88
88
第 1 级第 0 级
8 ...
15
56 ...
63
.
.
.
.
.
.
.
.
.
0
7
8
15
56
63
.
.
.
.
.
.
.
.
....
.
.
....
.
.
....
多级网络比较 灵活性 ( 低→高 ) : STARAN 、间接二进制 n 方体、 Omega(ω) 、
ADM(混洗四功能 ) 成本 ( 低→高 ) :同上 用途: STARAN 、 Omega PE←→M 间接二进制 n 方体 PE
→PE 功能:只能实现同时部分多对多功能。
Top Related