• 沒有找到結果。

 

 =( N ) 种组合,小于n N!,必然有一些连接会被阻塞。多级交叉开关动态互联网络 要实现无阻塞,就需要增加交叉开关的总数。

3.5 互联网络的消息传递

在多处理机系统中通过互联网络进行消息传递时需要专门的硬件和软件支持,互联网络 的拓扑结构的选择与系统策略有关,不同拓扑结构的寻径策略是不一样的。例如,拓扑结构在 很大程度上决定了各类不同寻径方案的可用性及是否可以采用自适应寻径。

3.5.1 消息传递的格式与方式 3.5.1.1 消息传递的格式

消息是结点间数据交换或通信的逻辑单位,但它所包含的数据量或消息的长度是可变的。

消息传递的典型格式是将消息分组,每一组称为一个消息包。显然,消息是由任意数目的长度 固定的消息包组成,如图 3-43 所示。

图 3-43 消息传递的信息单位:消息、包和片的格式

消息包是包含寻径目的地址的基本单位,是消息传送的最小单位。由于不同的消息包可 能异步地达到目的结点,因此每个包需要一个序号,以便把传送的消息重新装配起来。另外。

可以进一步把消息包分成长度固定的信息片,传递信息的目的地址和序号形成报头片,其余的 信息片是数据片。信息包的长度取决于传递方式和网络的实现方法,典型信息包的长度为 64~

512 位。包和片的大小还与通道频宽、寻径器设计以及网络密度等有关。

3.5.1.2 消息传递的方式

消息传递方式可以分为两大类:线路交换和包交换,其中包交换又包括存储转发、虚拟 直通和虫蚀 3 种。

1.线路交换(Circuit Switch)传递

线路交换传递是指在传送一个消息之前,先建立一条从源结点到目的结点的物理通路,

消息

R:导径信息 S:顺序号 D:数据片

D D D D D D S R

然后再传送消息,如图 3-44 所示。因此,线路交换传递方式需要提前预订整个路径及其所需 要的开关端口,路径和端口一旦预订成功,消息包就可全速地由源结点流向目的结点。线路交 换传递的传输时延包括路径建立时间和数据交换时间,即有:

TCS=(Lt×D + L)/B

式中:Lt为建立路径所需的小信息包的长度,L 为信息包的长度,D 为源和目的之间的距离(经 过的中间结点数),B 为线路频宽。

图 3-44 线路交换传递的时空图

线路交换方式的优点是在包传递过程中,能实现无竞争、无干扰地全速传递。其缺点是 需要提前预留资源,使用效率低。在多处理机中,往往需要频繁地传递小信息包,则需要频繁 地建立源结点到目的结点的物理通路,导致开销很大。

2.存储转发(Store and Forward)传递

存储转发传递是指在网络中,当一个包到达一个中间结点时,先被存入结点的包缓冲区,

当所要求的输出通道和接收结点的包缓冲区可使用时,再将它传送给下一个结点,如图 3-45 所示。显然,包是信息流的基本单位,每个结点有一个包缓冲区,包从源结点经过一系列中间 结点到达目的结点。存储转发传递的传输时延是每个存储转发结点所花费时间的和,即有:

TCS= (D + 1)×(Td + L/B)

式中:Td为每个存储转发结点因处理和排队等待所造成的时延。若 Td=0,则最小的存储转发 传递的的传输时延为:

TCS= (D + 1)×L/B

图 3-45 存储转发传递的时空图

存储转发传递不需要提前预留资源,链路的使用效率高。其缺点是传输时延与源和目的 之间的距离成正比,传输时延大;另外,为避免多个消息包向同一个结点传递时造成包丢失,

每个结点需要较大的包缓冲区。

3.虚拟直通(Virtual Cut Through)传递

虚拟直通传递方式是为减少存储转发传递的时延,没有必要等到整个消息包全部到达缓 冲后再作路由选择,只要包含路由选择的头片到达后即可判断,如图 3-46 所示。虚拟直通传 递的传输时延也是头片在每个存储转发结点所花费时间总时间与数据交换时间的和,即有:

N1

N2 N3

N4

TCS

D

N1 N2 N3 N4

D

时间 TCS

T = L/B+(Lh /B+Td )×(D + 1)

式中:Lh是消息包中消息头片的长度。一般有 L>>Lh×(D+1),则最小的虚拟直通传递的传输 时延为:

T = L/B + Td(D+1) 可以看出:在 Td=0 时,传输时延与结点数无关。

图 3-46 虚拟直通传递的时空图

虚拟直通传递的前提是链路通畅不阻塞,最理想的情况是每个结点都如同结点 1 处,这时 传输时延最小。当出现结点阻塞时,虚拟直通传递的数据片也需要存储,因此,虚拟直通传递 时,每个结点仍需要包缓冲区。最坏的情况是每个结点都如同结点 3 处,这时传输时延最大,

与存储转发传递一样。

目前有一些计算机系统采用虚拟直通传递方式。

4.虫蚀(Wormhole)传递

虫蚀传递是把消息包进一步分成更小的片,与结点相连的硬件寻径器中有片缓冲区,消 息从源结点传送到目的结点要经过一系列寻径器,同一个消息包中所有的片以流水方式在各寻 径器中顺序地传送,如图 5-47 所示。由于只有消息包中的头片含有目的地址,用头片直接建 立一条从源结点到目的结点的路径,则所有数据片必须紧跟头片。因此,不同的消息包可以交 替地传送,但不同消息包的片不能交叉,否则它们可能被送到错误的目的地。

图 3-47 虫蚀传递的时空图

用消息包的头片开辟出一条从输入链路到输出链路的路径,消息包中的片按头片开辟的 路径以流水方式在网络中向前“蠕动”。整个消息包就如同一条蠕虫,每个片相当于虫的一个

“节”,“蠕动”是以“节”为单位顺序地向前爬行的。当消息包的头片到达一个 A 结点后,A 结点寻径器根据头片的传递消息立即作出路由选择。如果所选择的通道空闲且所选择的结点 B 的片缓冲区可用,那么这个头片就不必等待,直接通过结点 A 传向下一个结点 B,随后的其 他数据片会跟着相应地向前“蠕动”一步。当消息的尾片向前“蠕动”一步之后,它刚才所占 有的结点就被放弃了。如果所选择的通道忙或结点的片缓冲区不可用,那么头片就必须在该结 点的片缓冲区中等待,直到两者都可用为止,其他数据片也在原来的结点上等待。此时,被阻 塞的消息不从网络中移去,片也不放弃它占有的结点和链路。虫蚀传递的传输时延为:

N1 N2 N3

N4

Tcs

D

时间 理想处

最坏处

N1

N2

N3 N4

TCS

D

时间 理想处

最坏处

T = L/B+Lh(D + 1)/B+Td

一般有 L>>Lh×(D+1),则最小的虫蚀传递的传输时延为:

T=L/B+Td

可以看出:Td是否为 0,传输时延都与结点数无关。

虫蚀传递的优点是:一是各结点不需要大的包缓冲区,只需要很小的片缓冲区;二是消息 包中的片以流水方式传送,利用时间并行性减少每个结点因处理和排队等待所造成的时延,传 输距离对传输时延影响很小,在最理想的情况下虚拟直通传递与虫蚀传递的传输时延虽然相等 为 L/B,但虫蚀传递与实际更为接近;三是链路的共享性好、利用率高,新链路建立与旧链路 的释放是同时进行的,即一旦建立了一条新的链路,另一条旧的链路就释放;四是允许寻径器 复制消息包的片并从多个输出链路输出,容易实现选播与广播。因此,新型的多计算机系统很 多采用虫蚀传递方式。

虫蚀传递的缺点是当消息包的一个片被阻塞在某一结点时,整个消息包的所有片都将被 阻塞,而且要占用结点资源。

3.5.2 路由选择及其方法 3.5.2.1 什么是路由选择

互联网络的基本功能就是要在多处理机或多计算机或功能部件的各个结点间实现高效率 的通信,当结点间没有直接的链路相连接时,信息就要通过中间结点进行传递。这时可能存在 多条路径,为了充分利用互联网络的可用带宽,尽量减少传送延迟和避免死锁,就要选择一条 合适的路径。

路由选择即是通路选择或路径选择,它是指用来实现选择经中间结点传递信息功能的通 信方法或算法,有时简称寻径。路由选择的基本操作就是监控输入端口进来的信息包,并为每 个信息包选择一个输出端口

3.5.2.2 路由选择的方法

在互联网络中的两个结点之间往往有多条物理通路,当两结点要通信时,希望通过的路 径最短最合理地满足互联网络要求。另外,也可能发生几对结点间传递信息时都要通过某一个 或某几个中间结点的情况,即路径选择冲突。这就是路由选择要解决的问题,解决的方法有两 种:确定性方法和自适应方法。

1.确定性方法

确定性方法是指路由完全由源地址和目的地址决定,即一对源地址和目的地址只有一条 通路可选。显然这条通路的路径最短但不一定最合理地满足互联网络要求。该方法的算法简 单、实现方便,但当发生冲突或路径有故障时,无法改变通路。对于系统内的互联网络,由 于每隔几个时钟周期,交叉开关就要为所有输入的信息包进行选路,因此,路由选择算法要 尽可能简单和快速。自适应路由选择的算法很复杂,在系统内的互联网络中通常不使用。目 前,交叉开关一般采用的是确定性方法。确定性方法主要有 3 种,即算术选路法、源选路法 和查表选路法。对于确定性选路,无论选路路径上是否有链路出现阻塞,消息包都将沿着确定 的选择的路径进行传输。

算术选路法是指如果所有消息的选路路径由消息的源地址和目的地址完全确定,与网络 当前负载情况无关。例如维序选路就是算术选路法的最短选路法。

源选路法是指源结点为消息建立一个头部,其中包含选路路径上经过的所有交叉开关的

相關文件