59
§2 SIMD 计计计计计计计计 计计计计计计计计计计计计计 计计计计计计计计计计计计计 一一 计计计 计计计计计计计计计计计计计计计计计计计计计计计计计 计计计计计 计 SIMD 计计计计 计计计计计计计计计计计计计计 计计计 ,体 计计计计计计计计计计计计

§2 SIMD 计算机的互连网络

  • Upload
    kita

  • View
    380

  • Download
    0

Embed Size (px)

DESCRIPTION

§2 SIMD 计算机的互连网络. 互连网络 是一种由开关元件按照一定的拓扑结构和控制方式构成的网络,用于实现计算机系统内部多个处理机或多个功能部件之间的相互连接。 在 SIMD 计算机中,处理单元与处理单元或存储分体之间要通过互连网络进行信息交换。. 互连网络的作用. 用来实现 计算机系统内部 多个处理机或多个功能部件之间的相互连接。 互连网络已成为并行处理系统的核心组成部分。 互连网络对整个计算机系统的性能价格比有着决定性的影响。. ……. SM 1. SM 2. SM m. ( 共享存储器 ). IPMN. ……. ( 共享 I/O 与外设 ). C n. - PowerPoint PPT Presentation

Citation preview

§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

目录 互连网络的设计目标及互连函数 互连网络应抉择的几个问题 基本的单级互连网络 基本的多级互连网络 全排列网络

互连网络的设计目标 结构不要复杂,降低成本; 互连灵活,满足算法和应用的需要; 处理单元间信息交换所需最大传送步数要尽量少,提高速度;

互连网络采用规整单一的基本构件组成;模块化,可扩充性;

互连网络的标准化

互连网络应抉择的几个问题 操作方式 控制策略 交换方法 网络的拓扑结构

互连网络的分类 操作方式:同步、异步、同步 \异步

阵列处理机采用同步方式 多处理机采用异步、同步 \异步组合方式

控制方式:集中、分布 多数采用集中

互连网络的分类(续) 交换方法:线路交换、包交换、线路交换 / 包交换 线路交换,建立实际通路,适合大批量数据传输,常采用。

包交换,建立虚电路,适合于短数据传送,常用于多处理机系统和计算机网络

网络上通常采用分组交换

线路交换:无冲突,独享,资源浪费

报文(包)交换:有冲突,有缓冲,路由

Stored and Forward(存储转发)

Buffer

Buffer

Buffer

分组交换:有冲突,有缓冲,分片,路由

Stored and Forward(存储转发)

Buffer

Buffer

Buffer

互连网络的分类(续) 拓扑结构:互连网络入、出端可以实现连接的模式。 静态:连接固定。灵活性、适应性差。少使用。

一维线形 二维环形、星形、树形、胖树形、网格形、脉动阵列形

三维旋环形、立方体形、环立方体 动态

环形网 采用移数函数。使用不同的移数函数,可以构成多种环形网。

单向环行网:右环网,采用 PM2+0 函数。左环网,采用 PM2-0 函数。

双向环行网:又称为一维邻居网,采用 {PM2+0, PM2-0} 函数。

环行网是对称的,结点度是常数 2 。双向环网的直径为 N/2 ,单向环形网的直径是 N

如果将结点度由 2 提高至 3 ,可得到弦环网。增加的弦愈多,则结点度愈高,网络直径愈小。

102

345

7

6

循环移数网10

2

345

7

6

度为 3 的弦环网

102

345

7

6

环形网

树形和星形网 一棵 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

基本的单级互连网络 立方体单级网络 PM2I 单级网络 换洗交换单级网络 蝶性单级网络

立方体单级网络

共有 个互连函数; 最大距离为 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)

PM2I 单级网络(续)

1 2 3 4 5 6 70PM2+0 PM2-0

1 2 3 4 5 6 70

1 2 3 4 5 6 70

PM2-1PM2+1

PM2-2PM2+2

混洗交换单级网络 包含两个函数:混洗、交换 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=8 时全混交换互连网络连接图

1 2 3 4 5 6 70

蝶形单级网络 互连函数 Butterfly(pn-1 pn-2,,, p1 p0)= p0 pn-2,,, p1 pn-1

即将二进制的最高位和最低位相互交换位置。

000001010011100101110111

000001010011100101110111

0 1 2 3 4 5 6 7

7

6

5

4

3

2

1

0

7

6

5

4

3

2

1

0

总结 单级互连网络特性

任一单级互连网络均可表示成 N 入、N 出的过程。 任一单级互连网络可实现部分结点 (一对或几对 )间的连接,不能实现任意多对结点间的同时连接。

单级互连网络含义:某些连接方法或拓扑结构。 单级互连网络应用

利用单级互连网络的特性作为实际 IN 的拓扑结构; 通过交换开关作为 IN 的可变因素; 通过交换开关多次控制实现 IN 的结点间任意互连。

基本多级互联网络 能够实现结点到结点之间的任意互连是互连网络的一种基本功能。

多级互连网络采用多个相同的或不同的互连网络直接连接起来。属于组合逻辑线路,一个时钟周期就能够实现任意结点到结点之间的互连。

多级互连网络采用的关键技术: 交换开关 交换开关之间的拓扑连接 对交换开关的不同控制方式

交换开关 一个 a×b 交换开关有 a 个输入和 b 个输出。 最常用的二元开关: a=b=2 。 每个输入可与一个或多个输出相连,但是在输出端必须避免发生冲突。一对一和一对多映射是容许的;但不容许有多对一映射。

只容许一对一映射时称为置换连接,称这种开关为 n×n 交叉开关。

具有直通和交换两种功能的交换开关称为二功能开关,或交换开关。用一位控制信号控制。

具有所有四种功能的交换开关称为四功能开关,用两位控制信号控制。

直连 交换 上播 下播

模块大小 合法状态 交换连接2×2 4 2

4×4 256 24

8×8 16777216 40320

n×n nn 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 方体网。

A

B

C

D

E

F

G

H

I

J

K

L

01

23

45

67

01

23

45

67

k = 0 k = 1 k = 2

交换功能级控制信号( 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不移衡等

多级混洗交换网络 又称 omega 网络 交换开关:四功能(允许实现一对多的连接) 拓扑结构:不同级相同,均为全混洗结构; 控制方式:级控制、部分级控制、单元控制 连接图:第 n-1 级靠近入端;

A

B

C

D

E

F

G

H

I

J

K

L

01

23

4

5

6

7

01

23

4

5

6

7级 2 1 0

输入

多级 PM2I 网络 (Plus-minus 2i) 包含 n 级单元间连接,每一级都是把前后两列各 N=2n个单元按 PM2I 拓扑相互连接起来。

可转化为强化数据交换网络( Augmented Data Manipulator) 控制线多,成本较高

基准网络 与二进制立方体网络的逆网络相似 采用单元控制 作为中间介质,模拟一种网络的拓扑和功能

多级交叉开关网络 非阻塞式网络

多级蝶式网络 蝶式网络的开关不允许广播功能,它实际上是 Omega 网的一个子集。

两级 64 64 的蝶式网络如下图所示:它采用 16 个 8 8 交叉开关构成,两级间采用 8路洗牌连接。

两级 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 功能:只能实现同时部分多对多功能。

全排列网络 定义:所有入端、出端的连接均不发生冲突的网络,又称非阻塞型网络,即: N 入→ N 出有 N!种排列。

互连网络要求:全排列网络 (非阻塞型网络 ) 。 非阻塞型网络( Non-Blocking Network)

灵活性好,连线多,控制复杂,成本高

STARAN 等网络属于阻塞型网络。 阻塞型网络( Blocking Network):同时实现两对或

多对入端与出端之间连接时,都有可能因争用数据传送路径而发生冲突。