互联网结构
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
7.3.1 几种单级互联网
7.3.2 基本的循环互联网和多级互联网
7.3.3 互联网络的设计特性
7.3.4 网络拓扑结构
7.3.5 互联网其他分类
7.3 互联网结构
利用上述的基本互联函数,可以构成单级互联网、多级互联网和计算机系统互联网。
7.3.1 几种单级互联网
在计算机中,单级互联网不论哪一种,都可以表示为一个普通模型。
图7.3.1为单级互联网的一个普遍模型。
图中IS代表输入端选择器,OS代表输出端选择器,二者配合能实现N个入端和N个出端之间的各种连接。
由于SIMD互联网往往是用一些基本的单级互联网经过多次通过或多级连接而成。
因此下面以N=8为例介绍常用的三个单级互联网,即立方体网,PM2I和混洗交换单级网。
1.立方体单级网
立方体单级网各结点间互联关系实现的是立方置换。
其结构为一个立方体,立方体的每个顶点表示一个结点,共有8个结点,用ZYX三位二进制代码予以标号,它所能实现的入、出端连接如同立方体各顶点间能实现的互联一样,即每个结点只能直接连到其二进制标号的某一位取反的其他3个结点上。
如010只能连到011,000,110上,分别对应010节点的右起第0位,第1位,第2位变
反。
但不能直接连到对角线上的001,100,101, 111上,所以,三维的立方
体单级网络有3种互联函数:Cube
0,Cube
1
和Cube
2
,这里Cube
i
函数下标数宁0
(1或2)表示右起第0位,(第1位或第2位)变反,它们分别对应节点坐标在X,Y,2轴上的连接,其连接方式如图7.3.2来表示,单级立方体网的最大距离为3,若反复使用应用该立方体单级网,最多3次可实现任意一对结点连接。
立方体单级网循环表示为:
Cube
:(0 1) (2 3) (4 5) (6 7)
Cube
1
:(0 2) (1 3) (4 6) (5 7)
Cube
2
:(0 4) (1 5) (2 6) (3 7)
推广到n维的情形。
立方体网共有n=Log
2
N种互联函数,即为:
其中X
k
为输入端标号的第k位二进制代号,且0≤k≤n-1
显然,这里单级立方体网的最大距离为n,若反复使用单级立方体网,最多n次可实现任意一对结点连接。
2.PM2I单级互联网
PM2I单级网结点间的互联函数关系为加减2i置换,对于N=8 PM2I单级网共有2×3=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)
比较而言,立方体单级网络中的一个入端只有3个出端可与之直接相连,如0可直接连到1,2或4,而PM2I中0却可以直接连到1,2,4,6,7上(实现加减2i置换),比立方体网更灵活,就更一般的普遍情况来说,PM2I网络总
存在有PM2
+(n-1)=PM2
-(n-1)
,所以实际PM2I 互联网络只有2n-1种不同的互联函数。
图7.3.3为三维的PM2I网的互联网连接图,对于其余PM2I,0≤i≤n-2等互联函数,连接的箭头相反。
PM2I单级网络的最大距离为[n/2],从上面N=8的三维PM2I互联网络的例子就可以看出,最多只要二次使用,即可实现任意一对入、出端号之间的连接。
3.混洗交换单级互联网络
混洗交换单级互联网络,它包含了两个互联函数,一个是全混洗(Perfect shuffle),另一个是交换(Exchange)。
当各站点间按均匀洗牌置换的互联函数关系相连,每混洗一次,其二进制编码循环左移一位,当全混洗总次数为n时,全部N个处理器便又恢复到最初的排列次序,由此可以发现,在多次全混的过程中,除了编号为全“0”和全“1”的处理器外,各个处理器都遇到了与其他多个处理器连接的机会。
单纯的全混互联网络增加交换互联函数(它就是Cube
),便可实现二进制
编号为全“0”和全“1”的处理器与其他处理器的任何连接,即全混交换单级网络如图7.3.4所示。
其中实线表示交换,虚线表示全混。
从图中也可以看到,全混3次以后,入端标号恰好回到了原来的位置。
在混洗交换网络中,最远的两个入、出端号是全“0”和全“1”,它们的连接,需要n次交换和n-1次混洗,所以其最大距离为2n-1。
7.3.2 基本的循环互联网和多级互联网
单级互联网络只能实现有限几种基本连接,并不能实现任意处理器之间的互联,为实现任意处理器之间的互联,可以对单级互联网采取下面两种基本方法实现。
一种是将同一套单级互联网循环使用,组成循环互联网络;另一种是将多套单级互联网串联使用,组成多级互联网。
在此基础上还可以将多级互联网循环使用。
循环互联网络的模型如图7.3.5所示。
入端传送寄存器DTR
i
和出端传送寄
存器DTR
0除了各自与处理器PE
~PE
N-l
相连,分别接收和送出数据外,在不同
的循环中还可以通过多路MUX向单级互联网络送入DTR
i
数据,或送入在上一循
环中的DTR
,以便作为下一次循环的输入。
这种循环互联网络与多级互联网络相比,节省了重复的设备,但加长了通过时间,并对网络控制部分提出了较高的要求。
多级互联网络与循环互联网络相比,虽然增加了设备和成本,但因缩短了通过时间而提高了速度。
而且,还可以利用上述各种单级互联网络进行不同的组合,产生具有各种特性和连接模式的多级互联网络,所以灵活性好。
目前由于器件价格已有了明显下降,在绝大多数并行处理机系统中都采用多级互联网络。
最基本的多级互联网络就是与上述3 种单级互联网络相对应组成的多级立方体互联网络,多级混洗交换网络和PM21网络。
先讨论8个入端和8个出端情
况,级数为3,然后再扩大讨论N个入端,N个出端,级数为n=log
2
N的情况,形成更多级的互联网络。
实现各种多级互联网络的区别就在于所用开关模块、控制方式和拓扑结构(级间连接模式)三个因素不同。
开关模块是交叉开关网络和多级交换网的基本构件,最简单的开关模块是
2×2开关。
图7.3.6介绍这种2×2开关的功能。
这种交叉开关可以有2个入
端, 2个出端。
它可以有2种连接模式:直连和交叉,也可以有四种连接模式:直连、交叉、上播和下播,图中画出了2×2交叉开关的连接模式。
这种开关模块每一个输入可与一个或两个输出相连,当有两个输入而只有一个输出是不允许的。
进一步扩大有一个a×b开关模块,它有a个输入和b个输出,理论上a 和b不一定要相等,实际a和b经常为2的整数次幂。
即有a=b=2k,K≥1。
如有2×2,4×4等,同样,这种开关模块每一个输入可与一个或多个输出相连,当有多个输入而有一个输出是不允许,的。
因为输出端必须避免冲突。
控制方式是对各个开关模块进行控制的方式,它可以有3种:级控制——每一级的所有开关只用一个控制信号控制,同时只能处于同一种状态:单元控制——每一个开关都有自己单独的控制信号控制,可各自处于不同的状态;部分级控制——第i级的所有开关分别用i+1个信号控制,0≤i≤n-1,n为级数。
拓扑结构是指各级之间出端和入端相互连接的规则或连接模式,也就是,在(P262 7.3.1)中描述的单级互联网的那些连接模式都可以被利用来进行不同组合,构成多种不同的连接特性的多级互联网。
下面介绍常用的多级互联网
(1) 多级立方体网。
它是由多个单级立方体网组成,下面仍以8个处理器为例进行说明,多级立方体网基本结构如图7.3.7所示。
它的特点是第i级(0≤i≤n-1),交换单元控制信号为“1”时,处于交换状态时,实现的是Cube
i 互联函数,当该信号为“0”时,相应单元处于直连状态代码不变,它们都采用两个功能(直接、交换)的交换单元,常用的多级立方体网有STARAN网,间接二进制n方体网等。
两者差别在于控制方式不同,STARAN网采用级控和部分级控方式,而间接n方体网用单元控制,从而有更大灵活连接特性。
在STARAN网中,当控制信号为001时,意味着(末位)第0级,所有交换开关处于交换状态,出端号在入端号第0位变反,
入端排列:01::23::45::67:
出端排列:10::32::54::76:
当控制信号为111时,实现全交换又称镜像交换,完成对8个处理器的一组8元交换,变换图像:
入端排列:0 1 2 3 4 5 6 7
出端排列:7 6 5 4 3 2 1 0
在间接二进制n方体网中控制方式为单元控制,如实现1→5时则A直连F 直连J交换即可完成这个操作。
STARAN网络用在STARAN相联处理机的多维访问存储器与处理部件之间,对存储器中杂错存放的数据在读出后和写入前进行重新排列,以适应处理部件对数据正常位序的需要。
利用STARAN网络的交换和移数两种基本功能,加上对数据位进行屏蔽,还能实现全混、展开、压缩等多种数据交换函数。
(2) 多级混洗交换网络又称Omega网络,由n级相同的网络组成,每一级都包含一个全混拓扑和随后一列2n-1个四功能交换单元,(直连、交换、上播、下播),采用单元控制方式。
图7.3.8给出了N=8的多级混洗网结构图,比较图7.3.7和图7.3.8我们可看出,Omega网络的入端和出端对调,它就等同于二进制n方体网,如也采用二功能交换开关,那么由于数据入出流向相反,Omega 网络就成了二进制n方体网的逆网络。
对基本互联网可以实现任意一个入端与任意一个出端的连接,但要实现两对或多对的入出端的连接,就可能发生连接路径上的冲突。
在多级混洗交换网中如实现1→5,则交换开关单元B交叉,H直连,K直连,就可实现。
但不能同时实现1→5和5→4的连接。
Omega网络由于采用四功能交换开关,多级混洗网还可以实现一个处理器和多个处理器相连接的广播形式。
如实现2号输入, 0~7全部8个输出时,则开关单元控制为C下播,E,F上播,I,J,K,L为下播。
这是多级立方体网不可能办到的。
上述交叉开关在处理机多时比较复杂,可以采用改进的方法,就是把多个较小规模交叉开关“串联”和“并联”,组成多级交叉开关网络。
(3) 多级PM2I互联网。
多级PM2I互联网又称之为数据交换网,图7.3.9
给出了三级PM2I互联网的连接情况。
其中N=8,n=log2N=3各级中的处理单元按PM2I互联函数关系连接起来。
其中对第i级来说(0≤i≤n-1)每个输入端j
都有三根连接线分别连到j,j+2i (mod N),j-2i (mod N)。
第0级完成的是PM2I,第一级完成的是PM2I,第二级完成的是PM2I。
由于单级PM2I互联网的网络直径为[n/2],但组成多级网时用了n级。
网络中提供了冗余通路,提高了可靠性。
7.3.3 互联网络的设计特性
在计算机中,衡量互联网络性能好坏的主要因素是它的连接度、延时性、带宽、可靠性和成本。
连接度是指一个结点与其他结点的连接程度。
如果一个结点直接连接的其他结点数越多,连接度就越高,表明连接性越好。
延时性是指从一个结点传送信息到任何另一个结点所需的时间。
通常可用结点间最大距离加以表示,这在7.1.1中已经介绍过。
在设计多处理机互联网络时应考虑以下的四个特征:
(1) 通信工作方式。
通信工作方式可分为同步和异步两种。
在同步方式中,不论是各个PE对数据进行并行操作还是由控制器向处理单元广播命令,都由统一的时钟来加以同步。
SIMD并行机都采用这种方式。
异步方式则不用统一时钟加以同步,各个处理单元根据需要相互建立动态连接。
(2) 控制策略。
控制策略分为集中和分散两种。
集中式控制由一个统一控制器对各个互联开关状态加以控制,而分散式控制则由各个互联开关自身实行管理。
一般的SIMD并行机都采用集中控制。
(3) 交换方式。
交换方式分为线路交换和分组交换两种。
线路交换是在整个交换过程中,在源和目标结点之间建立固定的物理通路,适用于成批数据传送。
分组交换则把要传送的一个信息分成多个分组,分别送入互联网络。
这些分可以通过不同的路由到达目标结点。
因此,较适合于短数据报文的传送。
SIMD并行机一般采用线路交换,因为处理单元间的连接比较紧密。
MIMD多机系统则往往采用分组交换方式。
(4) 网络拓扑。
网络拓扑分为静态和动态两种。
这里的拓扑是指互联网络中的各个结点间连接关系,通常用图来描述。
静态拓扑是指在各结点间有专用的连接通路,且在运行中不能改变。
动态拓扑则因设置有源开关,因而可根据需要借助控制信号对连接通路加以重新组合。
计算机系统互联网可分为静态互联网和动态互联网两大类。
7.3.4 网络拓扑结构
1.静态互联网络
静态网络常用来实现集中式系统的多系统之间或分布式系统的多个计算机结点间固定连接。
它一旦构成后就固定不变。
这种网络比较适合于构造通信模式时预测或可用静态连接实现的计算机系统,多计算机系统的互联网络通常采用静态拓扑结构,异步工作,用分组交换方法进行通信。
计算机互联网络的研究目标就是要在设计的系统中使网络拓扑中的度数和直径能够取得良好的平衡。
常见的静态网有线性阵列结构,二维的有环形、星形、树形、网格形等,三维的有立方体等,三维以上的有超立方体等。
图7.3.10
中示出了一些常用的互联网络结构。
其中N表示网络中总的结点数。
动态拓扑主要有单级循环网络和各种多级互联网络等。
多处理机的几种静态互联网络拓扑结构如图7.3.10所示。
以上几种结构可使用维数来分类,所谓维数就是它们画在几维空间上时才能使各条链路不会相交。
图7.3.10中(a)是一维拓扑,(b)、(c)、 (d)、(e)为二维拓扑结构,(g)为多维的拓扑结构。
这些结构中(a)、(b)、(d)、(e)、(f)都属于对称拓扑结构,在对称拓扑中,所有节点在网络中的样子都一样,这种对称拓扑的优点是在链路和节点上的负载量的分布可以比较均匀。
图7.3.10(a)为一维拓扑结构,其中N个结点用N-1个链路连成一行,内部结点度为2,端结点度为1,直径为N-1,N较大时,直径就比较大,线性阵列是连接最简单的拓扑结构,一般用于流水线系统,当 N很小时,可以使用这种线性排列,由于直径随线性增大,因此当N比较大时,通信效率很低。
图7.3.10(b)是环形拓扑结构,用一条附加链路将线性阵列的两个端点连接起来即可得到,环可以单向工作,也可以双向工作,它是对称的,结点度是常数,为2,双向环的直径为N/2,单向环的直径是N。
图7.3.10(c)是树形拓扑结构,一般来说,一棵K层完全平衡的二叉树应有N=2k-1个结点,最大结点度为3,直径是2(k-1),由于结点度是常数,因此二叉树是一种可扩展的系统结构,但其直径相当长。
图7.3.10(d)星形可看成是一种两层树,结点度数较高为d=N-1,直径较小,是一个常数2,星形结构已用于有集中监督结点的系统中。
图7.3.10(e)是网格拓扑结构,这种结构比较灵活,可有许多种变体形式,通常,N=n k 结点的k维网格的内部结点度为2k,网格直径为 k(n-1),必须指出图中所示的纯网格型不是对称的,其边结点和角结点的结点度为3或2。
图7.3.l0(f)是最复杂的拓扑结构,属于全连接网络,其每个节点同其他所有节点都连接,直径为1,度数是(N-1)。
图7.3.10(g)是三维立方体结构,在很多系统中都已实现,通常,一个n-方体由N=2n个结点组成,它们分布在n维上,每维有两个结点。
2.动态互联网
为了达到多用或通用的目的,经常要采用动态连接网络,它能根据程序要求实现所有的通信模式。
通常紧耦合多处理机系统的互联网络采用这种动态拓扑结构,它不用固定连接,而是沿着连接通路使用开关于仲裁器以提供动态连接特性,实现所要求的通信模式。
按照价格和性能增加的顺序,动态连接网络分为总线系统、多端口存储器、交叉开关和多处理机的多级网络等。
这些网络的价格都与所需的导线、开关、仲裁器和连接器的成本有关。
性能可用网络带宽、数据传输速率、网络延时和所用的通信模式来说明。
具体在7.5节中介绍。
7.3.5 互联网其他分类
互联网又称为网络或通信子网。
在通信中,通常包含:计算机端点,硬件和软件接口,与互联网络相连,互联网络,节点又称为终端系统或宿主机。
(1) 根据节点及其性能或距离,可将互联网络分成几种类型:
①大规模并行处理机(MPP)网络:这种互联网络可以连接成千上万个节点,其最远距离不少于25m,这些节点可以以阵列形式排列。
②局域网(LAN):这种连接有上百个节点计算机,距离可达几千米,与MPP 网络不同,LAN可以通过一个基础建筑,进行分布连接,其传输方式是多对1(n:1),例如客户机(Client)与服务器(Server)之间就是如此,而MPP经常是所有节点之间的互联。
③广域网(WAN):也称为远程传输网络,WAN包含成千上万个计算机,最远可达几千千米。
这三种互联网络由三种不同的标准设计和支持——MPP,工作站和电信通信,并且每一种都有自己的语言和适合的接口。
(2) 互联网络也可以如图7.3.11那样分类。
①共享介质网络:这种网络包含总线形和环形两类,它们在同一时间都只允许一个设备进行存取。
其中总线包括底板总线、争用总线(以太网Ethernet)和令牌总线(ARC-net)。
底板总线又包括了单总线(SGI POWER path-2,DECLSB)和双总线(SUNXD Bus)。
主要的环形有FDDI环和IBM令牌环。
②非阻塞网络:这种网络可以被认为是逻辑的交叉开关网络。
除非存在不同的输入端口同时向同一个输出端口发送消息,否则消息通信将不会阻塞。
交叉开关的带宽和寻径性能最好,又由于设计的空间复杂性,因此无阻塞网络主要用于构筑小规模的高性能互联网络,一般从4个端口到32端口。
这些小规模的无阻塞网络还可以用作构筑更大规模的无阻塞网络的基本部件。
③直接网络:是指网络中的处理器是点到点连接的,也被称作静态网络,或称作基于寻径器的网络,因为所有的结点都有一个寻径器用来处理结点间的消息通信。
网格、环形网和超立方体是典型的直接网络的拓扑结构。
直接网络可以分为三类:网格、环形网和超立方体。
其中网格分为2维网格(Intel Paragon)和3维网络(MIT J machine)。
环形网分为双向环形网和单向的环形网,其中双向的环形网有2维的(Intel/CMU iWARP)和3维的(Cray T3D)。
采用超立方体典型的机器有Intel iPSC 和nCUBE。
④间接网络:也称为基于开关的网络,是另一类适于大规模互联网络的网络拓扑结构。
这类网络中结点不是通过直接相连的通道进行消息通信,而是通过网络的开关机构进行的。
每一个结点有一个网络适配器连接到网络的开关上。
这些互联方式决定了网络的拓扑。
大多数网络采用的是各种规则的多级互联网络的拓扑结构。
⑤混合网络:指一个互联网络中混合了多种以上的网络。
例如,一个互联网络有一个超立方体的主干网络,同时每个结点是一个网格网络。
在Convex
Exemplar中,每个结点是8个处理器的交叉开关网络,而这些结点用4个重复的单向环相连。