前言
A. Singh. Load-Balanced Routing in Interconnection Networks.PhD thesis, Stanford University, 2005.
总结自 A. Singh 的博士毕业论文 —— Load-Balanced Routing in Interconnection Networks
GOAL Load Balancing
RLB 路由算法为高维 torus 网络拓扑在最坏情况流量上实现高保证性能与保留局部性以在平均流量或邻居流量上保持良好性能之间取得平衡。但是最坏情况路由(worst-case)仍然是次优,为了提高最坏情况下的性能,将自适应(adaptivity)纳入 RLB 算法。因此需要纳入现实的流量控制,而不是 RLB 算法中默认的理想情况。当缓冲区已满时,会对前面的缓冲区进行反压,从而传播拥塞信息。结合 RLB 的全局负载平衡和自适应方法的局部平衡,得到全局不经意自适应本地路由 Globally Oblivious Adaptive Locally (GOAL)[1]。
GOAL 与 RLB 一样,不经意地选择每个维度的行进方向,使短方向的权重大于长方向,从而在全局平衡信道负载的同时保留某些局部性。一旦选择了方向,数据包就会自适应地路由到结果象限中的目的地。这种自适应路由避免了对抗模式造成的局部不平衡。数据包会根据拥塞信息远离拥塞链路,从而将吞吐量达到0.5。
1. GOAL 路由算法
在1 维的tori拓扑下,GOAL 和 RLB 等同(注意:不是RLBth)。在更高维度的 tori 中,GOAL 通过不经意地选择在每个维度中行进的方向来精确平衡通道负载(这也和 RLB 算法所做的一样),将数据包从源节点 s={s1,s2,…,sn} 路由到目标节点 d = {d1,d2,…,dn}。但一旦选择了象限,数据包就会在象限内自适应地路由,从 s 到 d。这点和 RLB 路由算法不同。如果当前节点在 i 维度下的坐标 si 不同于 di,则维度 i 被称为有效维度(productive dimension)。因此,在该维度中移动是高效的,因为数据包尚未到达目的地坐标。在每一跳,路由器都会在具有最短输出队列(shortest output queue)的有效维度中传输数据包。
重新审视下图中 s = (0.0) 到 d = (2,3)的路由。假设 GOAL obviously 选中了最小象限1,(+1,+1)。数据包的可能路由路径为图4.1所示。在第一跳上有效维度向量是 p = (1,1),这两个维度都有效。假设维度 x 中的队列更短,所以数据包前进到节点(1,0)。此时有效维度向量不变,仍为p = (1,1),此次假定 y 维度中的队列更短,故数据包到达节点(1,1)。然后有效维度向量不变,仍为p = (1,1),假设此次到达(2,1),由于唯一有效的维度是 x,p=(0,1) ,因此无论队列长度如何,剩余的路径都会在该维度中进行。

2. GOAL 路由算法的VC和死锁问题
不同于RLB路由中使用的理想的路由器架构,在GOAL中使用有限的缓冲区,并结合虚拟通道流量控制[2]来避免网络中的死锁。GOAL 实现在每个单向物理通道 (Physical Channel, PC) 上采用虚拟通道 (VC)。
具体方案采用 * -channels 算法[3]的扩展,即每个物理通道包含两种类型的虚拟通道:* 和 non-。 通道即为逃逸通道,每个物理通道有两条 * 通道 *0 和 *1。 *1( *0) 通道分别用于数据包已经(尚未)穿过当前维度中的环绕边缘。 non- *通道是完全自适应的,可以随时使用。通过这些约束,可以证明与 GOAL 相关联的通道的通道依赖图 CDG 是非循环的。此外,任何通道都不能参与死锁循环。因此,每个尚未到达目的地的数据包在虚拟通道集中总是有一个通道,它可以用来向前推进到其目的地。因此,如果公平分配VC,就永远不会出现死锁。
3. GOAL 路由算法中的活锁
GOAL 与 RLB 一样,虽然不是最小路由算法,但提供了免于活锁的确定性自由。一旦为数据包选择了路由,数据包就会沿着该路由单调前进,从而减少每一步到目的地的跳数。由于不存在增量错误路由,因此所有数据包都会在预定的有限跳数后到达目的地,不存在活锁问题。
4. 总结
介绍了一种用于网络 torus 的负载平衡、非最小自适应路由算法 GOAL,该算法在对抗流量模式上实现高吞吐量,同时保留良性模式的局部性。 GOAL 匹配或超过 Valiant 算法在对抗模式上的吞吐量,并与 CHAOS、RLB 和最小路由的最坏情况性能相比提升 40%。与 RLB 一样,GOAL 利用局部性来提供比 Valiant 在本地流量上的更好的吞吐量,以及比 Valiant 在 uniform 流量上更低的零负载延迟。
GOAL 通过不经意地选择每个维度的行进方向来全局平衡网络负载,实际上是随机选择一个象限来传输数据包。方向的随机选择是使用基于距离的权重来实现的,该权重精确地平衡了每个维度的负载。一旦选择了象限,GOAL 就会通过在该象限内自适应路由来本地平衡负载。 GOAL 采用基于 *-channels 方法(用于最小路由)扩展的新算法来消除死锁,以处理非最小情况。这可以通过每个物理通道仅三个虚拟通道来消除死锁。与 CHAOS 不同,GOAL 是确定性的无活锁的,因为在选定的象限内,到目的地的距离随着每一跳单调减少。
GOAL 在四种对抗模式以及随机排列的平均和最坏情况下提供了七种算法中最高的吞吐量。但这种最坏情况下的高吞吐量的代价是本地流量(NN, UR)的下降。
由于 oblivious 错误路由(非最小路由),GOAL 在随机流量上的延迟也比最小算法更高;然而它的延迟比 VAL 低。最后分析了超出饱和吞吐量的网络性能,并首次表明,由于公平性问题,CHAOS 在这种情况下对于某些排列是不稳定的。对于任何类型的不经意的错误路由来说,良性流量的次优(sub-optimal)性能仍然是个问题。
References
[1] A. Singh, W. Dally, A. Gupta, and B. Towles, “GOAL: A Load-Balanced Adaptive Routing Algorithm for Torus Networks”.
[2] W. J. Dally, “Virtual-channel flow control,” in [1990] Proceedings. The 17th Annual International Symposium on Computer Architecture, Seattle, WA, USA: IEEE Comput. Soc. Press, 1990, pp. 60–68. doi: 10.1109/ISCA.1990.134508.
[3] L. Gravano, G. D. Pifarre, P. E. Berman, and J. L. C. Sanz, “Adaptive deadlock- and livelock-free routing with all minimal paths in torus networks,” IEEE Trans. Parallel Distrib. Syst., vol. 5, no. 12, pp. 1233–1251, Dec. 1994, doi: 10.1109/71.334898.
[4] A. Singh, “LOAD-BALANCED ROUTING IN INTERCONNECTION NETWORKS”.

本文介绍了GOAL路由算法,一种在Torus网络中实现全局负载平衡和局部自适应的路由策略,通过虚拟通道机制解决死锁问题,同时讨论了活锁和在网络性能方面的表现。算法在对抗流量模式中有高吞吐量,但在局部流量上有所牺牲。
1万+

被折叠的 条评论
为什么被折叠?



