第三章:Topology Basics
第三章:拓扑基础
网络拓扑是指互连网络中通道和节点的静态排列,即数据包传输的道路。选择网络拓扑是设计网络的第一步,因为路由策略和流量控制方法很大程度上取决于拓扑。
拓扑优劣主要从两个角度衡量:成本(cost)、性能(performance)
进一步对性能量化,引入:bisection bandwidth、channel load、path delay等
在解决问题时尽量不要针对问题设计不规则拓扑,如上图c中。尽量选择成熟的通用拓扑,如a、b所示。
术语
通道与节点(channel and node)
直接与间接网络(Direct and Indirect Networks)
直接网络:数据包在终端节点之间直接转发,不需要交换机,如上图a
间接网络:节点要么是终端,要么是交换机,数据包通过交换节点间接转发,如上图b。
随机网络:如上图c
每个直接网络都可以通过将节点拆为终端和交换节点重构成间接网络
切割和等分(Cuts and Bisections)
cut:指定一组通道channels将所有节点化为不相交的两个集合N1和N2。C(N1,N2)表示一个通道,源在N1,目的地在N2。
bisection:将网络络切分为相等数量(或数量相差为一)结点的两部分的 Cut。
Channel Bisection:在所有等分中,channel 数量最少的那一组。
Bisection Bandwidth:在所有等分中,channel 带宽最小的那一组。
路径(path)
path:从源端到目的端的一组channel的集合
对称性(Symmetry)
顶点对称性(Vertex Symmetric):从每一个node的角度来看,网络的拓扑都是一样的。这可以简化路由的计算。
边对称性(Edge Symmetric):任意一条channel都可以自动的映射到其它某条channel上。这有利于channels之间的负载均衡。
交通模式(tracffic pattern)
随机流量(random traffic):每一个源 terminal 发送给其他 任意一个 terminal 的概率是相等的。这种 traffic 模式能够均衡不同channel的负载,即使遇上很差的拓扑以及路由策略,在这种traffic 场景下通常也能表现得不错。
置换流量(permutation traffic):每一个源 terminal 只会给另一个固定的目的 terminal 通信。这种方式能够给予拓扑和路由策略更大的压力,更好测试拓扑及路由算法均衡负载的能力。参考置换矩阵,每行每列只有一个1,其他位置为0。
性能(performance)
吞吐量和最大通道负载能力(Throughput and Maximum Channel Load)
网络的吞吐量指网络接收 input 的数据速率(bit/s)。
吞吐量是网络全局的一种属性。他取决于拓扑、路由、流控制等因素。在同一个拓扑架构上,我们希望可以选择最好的路由和流控制策略,来达到吞吐量的最大化。
在某种 traffic 场景下,当网络全局的吞吐量达到最大化,是因为有某些瓶颈位置处channel 数据达到了饱和。
延迟(Latency)
网络的延迟是指 packet 从 header 到达 input 端口开始, 一直到 packet 全部到达 output 端口所花费的时间。
一个包的延迟可以分为两部分:head latency、serialization latency
Th为包头遍历网络所需要的时间
serialization latency 是指通过带宽 b 的 channel 发送长度为 L 的 packet 所需的时间,即L/b。
head latency 是指消息头从源节点到目的节点花费的时间。可以进一步分为两部分:router delay、time of flight。分别指路由所花费的时间和在链路上所花费的时间。
路径多样性(Path Diversity)
从一个源端到目的端,如果有多条路径可走,网络的鲁棒性以及均衡负载的能力便会大大增强。
封装成本(packaging cost)
案例;SGI Origin 2000
R为路由器,N为节点。