系统结构第九章 | 互连网络

  1.  互连网络是一种由开关元件按照一定的拓扑结构和控制方式构成的网络,用来实现计算机系统中结点之间的相互连接。节点定义为处理器、存储模块或其它设备,它们在拓扑上,互连网络为输入结点到输出结点之间的一组互连或映像。

  2. 互连网络的三大要素为互连结构、开关元件、控制方式。

  3. 互连网络是输入结点到输出结点之间的一组互连,互连函数用来表示这种互连,假设互连网络由N个输入端和N个输出端,分别用0,1...,N-1来表示,则互连函数表示了输入端号和输出端号的连接关系。

  4. 互连函数通过数学表达式建立了输入端号与输出端号的连接关系,就像一个映射一样,有时也称为置换函数或排列函数。

  5. 互联函数的循环表示法:

    outside_default.png

    有一点类似于下标和数组元素的映射关系。

  6. n=log2(N),可以使用n位二进制来表示N个输入输出端的二进制地址f(xn-1xn-2...x1x0)。也可以用连线图表示,表示互连函数有多种方式。

    outside_default.png

几种基本的互连函数

恒等函数:实现同号输入端和输出端之间的连接。

outside_default.png

交换函数(立方体函数):实现二进制地址编码中第k位互反的输入端与输出端之间的连接。

outside_default.png

x是一串二进制,取反第k位。

可以用于构造立方体互连网络和超立方体互连网络。

它共有n=log2(N)种互连函数,因为每次只能对一个位取反。

outside_default.png

可以举个例子来方便理解,000按位取反分别为001、010、100,然后对各个点都做按位取反操作后,就构成了一个立方体:

outside_default.png

上图左边为二进制转为10进制数后的交换结果cube0修改第0位,修改的结果是每次改变距离为1,cube1修改第1位,修改的结果是每次改变距离为2,第i级修改距离就是2^i;

均匀洗牌函数:将输入端分成数目相等的两半,前一半和后一半按类似均匀混洗扑克牌的方式交叉连接到输出端,也称混洗函数(置换)

outside_default.png

0循环左移依旧为0,1循环左移为2,...,以此类推。

outside_default.png

由图a,0123为前一半均匀地插到了0246,4567后一半均匀插为1357。

就像均匀地洗牌了。对于均与洗牌函数还可以定义子函数,如上图b为k=2的子函数,它表示把输入端的二进制编号中的低k位循环左移一位,可以发现b图中的2是写在下面的,定义超函数如图c,是写在上面的,是指把输入端二进制编号中的高k位循环左移一位,如图d可以定义逆函数,将输入端二进制编号循环右移一位,它与图a互为镜像。

均匀洗牌和逆均匀洗牌是十分有用的互连函数,用它们和交换开关多级组合可以构成omega网络和逆omega网络。

蝶式函数:把输入端二进制编号的最高位和最低位互换。

类似的定义子函数:只对低k位观察

超函数:只对高k位观察

蝶式变换与交换变换的多级组合可以构成方体多级网络的基础。

outside_default.png

反位序函数:将输入端二进制编号位序颠倒。

子函数和超函数类似。

图为上图ρ,(N=8,n=3)时的特殊情况。

移数函数:将个输入端都错开一定位置(模N)。

outside_default.png

outside_default.png

PM2I函数:plus minus 2^i,就是加减2的i次方函数:

outside_default.png

outside_default.png

单级互连网络(ICN)

单级ICN只使用一级开关,开关组合方式可用一个互连函数表示:

outside_default.png

N为节点数,n为可以表示的二进制位数也称维数=log2(N),x为结点为一串二进制编码位数为n,互连函数族的组成必须使网络成为连通图。

outside_default.png

具体一些网络看书或者ppt

互连网络的结构参数

互连网络通常是用有向边或无向边连接有限个结点的图来表示,主要特性参数有:

网络规模N:互连网络中结点的个数。

结点度n:也就是离散数学概念的入度和出度。

结点距离:两结点的最短距离。

网络直径D:任意两个结点的最大距离(网络直径应当尽可能小)。

等分宽度b:把由N个结点构成的网络切成结点数相同的两半,在各种切法中沿切口边数的最小值(离散数学中也有对应概念好像)。

线等分宽度B=b*w(通道宽度)

对称性:从任何结点看到的拓扑结构都是相同的网络,这种网络在实现和编程上都比较容易。

互连网络的性能指标:

通信时延:软件开销、通道时延、选路时延、竞争时延

网络时延:通道时延和选路时延的和 称为网络时延

端口带宽:单位时间内从该端口传送到其他端口的最大信息量。在对称网络中端口带宽与端口位置无关,网络的端口带宽与各端口的端口带宽相同。非对称网络的端口带宽则是指所有端口带宽的最小值。

聚集带宽:网络从一半结点到另一半结点单位时间内能传送的最大信息量。

等分带宽:与等分宽度对应的切平面中所有边合起来单位时间所能传送的最大信息量。(网络流概念)

互连网络可以被分为静态互连网络和动态互连网络。见ppt或书(来不及了)。

Illiac网络是将网格形网络每一列每一行再串行首尾相连形成的各个结点度都为4的对称网络。

如果是各行也首尾相连,那就形成了环网形网络。

outside_default.png

在书写互连函数的时候要注意双向还是单向,如果是双向就都要写出来,不能遗漏。

动态互连网络通过设置有源开关,能够根据需要借助控制信号对连接通路加以重新组合,实现所要求的通信模式。例如计算机的总线网络。

outside_default.png

axb开关表示a个输入b个输出。

outside_default.png

各种多级互连网络的区别在于所用开关模块、控制方式和级间互连模式不同。

outside_default.png

outside_default.png

这个多级立方体网络每一级的开关如果处于“交叉”状态就代表cubei函数被激活,只不过我们需要注意它的连接方式才能实现正确的交换,这个可以做一些推导,第一级只会改变步长为1,第二级改变步长为2,以此类推,所以我们每一级输入的一定是能够被改变的两组,因为开关并不是非门,不是说1进去就变成了0,而是仅仅对上下进行交换,这是需要注意的。

outside_default.png

对8个元素的组具有多种基本交换图形:

outside_default.png

STARAN网络。我们可以像数字逻辑中的译码器一样,采用一组控制信号来控制输出什么东西。如果只能实现级控制:

outside_default.png

每一行实现的功能还可以从控制信号为其反码的一行中实现的功能加上一组8元变换等效来获得。两个控制信号的异或运算是所实现功能的叠加,如001异或010得到011,会进行2次4组2元交换抵消,最终相当于执行2组4元交换。

如果采用部分级控制,第0级使用1个控制信号,第一级2个第二级3个,那么:

outside_default.png

可以实现移位的功能。

Omega网络:每级采用均匀洗牌的方式连接。

看目的地址,从高位开始看,011对应它走的路就是上下下!!不需控制信号实现的功能仅仅是均匀洗牌。

outside_default.png

或者采用另一种路由算法:

outside_default.png

先取异或,异或结果为1置为交换,为0置为直连。

可以看到要实现omega网络,需要采用单元控制方式。

所以要实现动态互连网络,总线互连复杂性最低,成本也最低,但每台处理机可以使用的带宽较窄,交叉开关(点点图)方式较昂贵,硬件复杂性成平方上升成本高,但带宽和寻径能力最好,多级互连网络采用多个开关的方式,复杂度和带宽介于总线和交叉开关之间,采用模块化基金二狗可拓展性较好,不过时延随着网络级数的增加而上升,硬件复杂度比总线高很多成本也不算低。

outside_default.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值