【Interconnection Networks 互连网络】Dragonfly Topology 蜻蜓网络拓扑

  • [蜻蜓拓扑 Dragonfly Topology](#蜻蜓拓扑 Dragonfly Topology)
    • [1. 拓扑参数](#1. 拓扑参数)
    • [2. Topology Description 拓扑描述](#2. Topology Description 拓扑描述)
    • [3. Topology Variations 拓扑变体](#3. Topology Variations 拓扑变体)

蜻蜓拓扑 Dragonfly Topology

1. 拓扑参数

Dragonfly拓扑参数:

  • N N N: 网络中终端(terminal)的总数量
  • p p p: 连接到每个路由器的终端数量
  • a a a: 每组(group)中的路由器数量
  • k k k: 路由器的基数(端口数量)
  • k ′ k' k′: 组(或虚拟路由器(组内所有路由器组成))的有效基数
  • h h h: 每个路由器用于连接到其他组的通道数
  • g g g: 网络系统中的组数
  • q q q: 输出端口的队列深度
  • q v c q_{vc} qvc: 单个输出 VC 的队列深度
  • H H H: 跳数
  • O u t i Out_{i} Outi: 路由器输出端口 i i i

2. Topology Description 拓扑描述

Dragonfly 蜻蜓拓扑具有三层的分层网络,从小到大分别是路由器(router),组(group)和网络系统。

如图3所示。从底层的每个路由器出发,每个路由器连接到 p 个终端(terminal),连接到a − 1 个本地通道(local channel)(和组中每一个路由器相连),也拥有h个全局通道(global channel)去连接到其他组中的路由器。因此,每个路由器的基数radix(或度数degree)为 k = p + a + h − 1。

而对于中间层次组(group),每个组都通过组内路由器通过本地通道形成的组内互连网络组成(图 3(a))。每个组的路由器数量为 a ,都有到终端的 ap 个连接和到全局通道的 ah 个连接,并且组中的所有路由器共同充当基数为 k′ = a(p + h) 的虚拟路由器(virtual router)。

虚拟路由器的高基数 k′ >> k 使系统级网络(图 3(b))以非常低的全局直径实现。整个网络最多可以连接 g = ah + 1 个组(则整体网络的终端总数量为 N = ap(ah +1)),全局直径为 1。相比之下,直接使用基数 k 路由器构建的系统级网络将需要更大的全局直径。在最大尺寸 (N = ap(ah +1)) 蜻蜓中,每对组之间只有一个连接,在较小的蜻蜓中,每个群体的全局联系比其他群体更多。这些额外的全局连接分布在每对组上,每对组通过至少(\left\lfloor \frac{ah+1}{g}\right\rfloor )个通道连接。

蜻蜓参数 a、p 和 h 可以具有任意值。然而,为了平衡负载平衡流量上的信道负载,网络应该具有a=2p=2h。因为每个数据包沿其路由经过两个本地通道(全局通道的每一端各一个),一个全局通道和一个终端通道,因此这一比率保持平衡。由于全局通道价格昂贵,因此应配置更多的本地和终端通道的方式,以便使昂贵的全局通道保持充分利用。也就是说,网络平衡应使a≥2h,2p≥2h。

在确定了 p,a,h,g 四个参数之后我们就可以确定一个dragonfly的拓扑,因此一个Dragonfly的拓扑可以用 dfly(p,a,h,g) 来表示。g为网络中组的个数。

平衡蜻蜓的可扩展性如图 4 所示。通过增加有效基数(virtual router radix),蜻蜓拓扑具有高度可扩展性 - 使用 radix-64 路由器,拓扑可扩展到超过 256k 个节点,网络直径仅为三跳。任意网络可用于图 3 中的组内和组间网络。这两个网络一般都使用一维扁平蝶形或完全连接的拓扑。图 5 显示了一个简单的蜻蜓示例,其中 p = h = 2,a = 4,可扩展至 N = 72(最多网络中有9组,即N = 9x8 = 72),其中 k = 7 个路由器。通过使用虚拟路由器,有效基数从k=7增加到k′=16。

3. Topology Variations 拓扑变体

全局基数k'可以通过使用更高维的拓扑结构 来进一步增加。还可以利用组内封装局部性(packaging locality)

封装局部性(packaging locality)指的是在网络拓扑结构中,相邻节点之间具有更高的通信带宽或更低的延迟。这种局部性在通信模式中是很常见的,因为许多应用程序倾向于在节点之间进行频繁的通信,并且通常是在相邻的节点之间进行。通过利用封装局部性,网络设计可以优化通信性能,从而提高整体的网络效率和吞吐量。在高性能计算系统和数据中心网络中,封装局部性的利用对于减少通信延迟和提高通信效率至关重要。

例如,图6(a)中显示了一个二维扁平蝴蝶结构,它与图5中显示的组具有相同的 k',但通过利用封装局部性为本地路由器提供更多带宽。图6(b)中使用了一个三维扁平蝴蝶结构,增加了组内的路由器数量 a,将有效基数从 k'=16 增加到 k'=32------允许使用与图3中相同的 k=7 路由器扩展到 N=272(17x16)。

为了增加高基数网络(如Dragonfly结构)的终端带宽,可以采用通道切片(channel slicing)。与其使通道变宽(这会减少路由器基数),不如将多个网络并联连接以增加容量。类似地,Dragonfly结构也可以利用并联网络来增加网络容量。此外,到目前为止描述的Dragonfly网络假设网络中所有节点具有统一带宽。然而,如果不需要这种统一带宽,可以通过移除某些组之间的组间通道来实现带宽递减。

References:

[1] W. J. Dally, "Performance analysis of k-ary n-cube interconnection networks," IEEE Trans. Comput., vol. 39, no. 6, pp. 775--785, Jun. 1990, doi: 10.1109/12.53599.

[2] http://blog.sysu.tech/网络/Dragonfly拓扑简介/

相关推荐
嵌入式悦翔园9 分钟前
嵌入式设备的功能安全和信息安全?
网络·安全·php
喝养乐多长不高1 小时前
HTTPS加密原理详解
网络·网络协议·http·https·证书·非对称加密·对称加密
D-river2 小时前
【Academy】HTTP 请求走私 ------ HTTP request smuggling
网络·网络协议·安全·web安全·http·网络安全
只做开心事3 小时前
Linux网络之数据链路层协议
linux·服务器·网络
AI学IT3 小时前
(安全防御)旁挂组网双机热备负载分担实验
运维·服务器·网络
挣扎与觉醒中的技术人4 小时前
【技术干货】三大常见网络攻击类型详解:DDoS/XSS/中间人攻击,原理、危害及防御方案
前端·网络·ddos·xss
AWS官方合作商5 小时前
AWS AppStream 2.0:开启云端应用交付新范式(实战解决方案剖析)
系统架构·云计算·aws
anguruanjian6 小时前
安固软件指南:确保外发文件安全的全面策略
服务器·网络·安全·企业微信·安固软件
esmember6 小时前
电路研究9.3.1——合宙Air780EP中的AT开发指南:TCP 使用 SSL 示例
网络·at指令·tcp 使用 ssl 示例
自由鬼6 小时前
免费开源抓包工具Wireshark介绍
运维·服务器·网络·测试工具·网络安全·wireshark