互联网络设计
并行机中的互连网络将信息从任何源节点传输到任何所需的目标节点。此任务应以尽可能小的延迟完成。它应该允许大量此类传输同时进行。此外,与机器其余部分的成本相比,它应该便宜。
网络由链路和交换机组成,有助于将信息从源节点发送到目的节点。网络由其拓扑、路由算法、交换策略和流量控制机制指定。
组织架构
互连网络由以下三个基本组件组成 -
链路- 链路是一根或多根光纤或电线的电缆,每一端都有一个连接器连接到交换机或网络接口端口。这样,一端发送模拟信号,另一端接收模拟信号,得到原始的数字信息流。
开关- 开关由一组输入和输出端口、连接所有输入到所有输出的内部“交叉开关”、内部缓冲和控制逻辑组成,以在每个时间点实现输入-输出连接。通常,输入端口的数量等于输出端口的数量。
网络接口- 网络接口的Behave与交换机节点完全不同,并且可以通过特殊链路进行连接。网络接口格式化数据包并构建路由和控制信息。与开关相比,它可能具有输入和输出缓冲。它可以执行端到端错误检查和流量控制。因此,其成本受到处理复杂性、存储容量和端口数量的影响。
互联网络
互连网络由交换元件组成。拓扑是将各个交换机连接到其他元件(例如处理器、存储器和其他交换机)的模式。网络允许并行系统中的处理器之间交换数据。
直接连接网络- 直接网络在相邻节点之间具有点对点连接。这些网络是静态的,这意味着点对点连接是固定的。直接网络的一些例子是环、网和立方体。
间接连接网络- 间接网络没有固定的邻居。通信拓扑可以根据应用需求动态改变。间接网络可以细分为三部分:总线网络、多级网络和交叉开关。
总线网络- 总线网络由许多连接了许多资源的位线组成。当总线对数据和地址使用相同的物理线时,数据线和地址线是时间复用的。当总线上连接有多个总线主控器时,需要仲裁器。
多级网络- 多级网络由多级交换机组成。它由“axb”开关组成,这些开关使用特定的级间连接模式(ISC)进行连接。小型 2x2 开关元件是许多多级网络的常见选择。阶段的数量决定了网络的延迟。通过选择不同的级间连接模式,可以创建各种类型的多级网络。
纵横开关- 纵横开关包含简单开关元件的矩阵,可以打开和关闭以创建或断开连接。打开矩阵中的开关元件,可以在处理器和存储器之间建立连接。交叉开关是非阻塞的,即所有通信排列都可以无阻塞地执行。
评估网络拓扑中的设计权衡
如果主要关心的是布线距离,则必须最大化尺寸并制作超立方体。在存储转发路由中,假设交换度和链路数量不是重要的成本因素,并且链路数量或交换度是主要成本,则必须最小化维度并采用网格建造的。
在每个网络的最坏情况流量模式下,最好拥有所有路径都很短的高维网络。在每个节点仅与一个或两个附近邻居进行通信的模式中,最好使用低维网络,因为实际上只使用了其中的几个维度。
路由
网络的路由算法确定从源到目的地的哪些可能路径被用作路由以及如何确定每个特定数据包所遵循的路由。维度顺序路由限制合法路径集,以便从每个源到每个目的地只有一条路由。首先在高阶维度中行进正确的距离,然后在下一个维度上行进,依此类推。
路由机制
算术、基于源的端口选择和查表是高速交换机根据数据包标头中的信息确定输出通道的三种机制。所有这些机制都比传统 LAN 和 WAN 路由器中实现的一般路由计算更简单。在并行计算机网络中,交换机需要在每个周期中对其所有输入做出路由决策,因此该机制需要简单且快速。
确定性路由
如果消息所采用的路由完全由其源和目的地确定,而不是由网络中的其他流量确定,则路由算法是确定性的。如果路由算法仅选择到达目的地的最短路径,则它是最小路径,否则它是非最小路径。
僵局自由
死锁可能发生在多种情况下。当两个节点尝试向彼此发送数据并且每个节点在任一节点接收之前开始发送时,可能会发生“正面”死锁。当网络中存在多个消息竞争资源时,就会发生另一种死锁情况。
证明网络无死锁的基本技术是清除由于消息在网络中移动而导致通道之间可能发生的依赖关系,并表明整个通道依赖关系图中不存在循环;因此,不存在可能导致死锁的流量模式。这样做的常见方法是对信道资源进行编号,使得所有路由都遵循特定的递增或递减序列,从而不会出现依赖循环。
开关设计
网络的设计取决于交换机的设计以及交换机如何连接在一起。交换机的程度、其内部路由机制及其内部缓冲决定了可以支持什么拓扑以及可以实现什么路由算法。与计算机系统的任何其他硬件组件一样,网络交换机包含数据路径、控制和存储。
港口
引脚总数实际上是输入和输出端口总数乘以通道宽度。由于芯片周长与面积相比增长缓慢,开关往往受到引脚限制。
内部数据路径
数据路径是每个输入端口组和每个输出端口之间的连接。一般称为内横杆。非阻塞交叉开关是指每个输入端口可以同时以任何排列连接到不同输出的交叉开关。
通道缓冲器
交换机内缓冲存储器的组织对交换机性能有重要影响。传统的路由器和交换机往往在交换机结构外部配备大型 SRAM 或 DRAM 缓冲区,而在 VLSI 交换机中,缓冲区位于交换机内部,并且与数据路径和控制部分采用相同的芯片预算。随着芯片尺寸和密度的增加,可以使用更多的缓冲,网络设计人员也有更多的选择,但缓冲空间仍然是首选,其组织也很重要。
流量控制
当网络中的多个数据流尝试同时使用相同的共享网络资源时,必须采取某种操作来控制这些流。如果我们不想丢失任何数据,则必须阻止某些流量,而其他流量则继续进行。
流量控制问题出现在所有网络和许多级别。但并行计算机网络与局域网和广域网有本质上的不同。在并行计算机中,网络流量需要与总线上的流量一样准确地传递,并且在非常小的时间尺度上存在大量并行流。