jellyfish(HotCloud 2012)

here for Presentation

  • Author: Ankit Singla (UIUC)
  • Datacenter , Network Topologgy


Jellyfish 核心:

提出了一种新的DC-network topology,达成两个目标,1是更高的带宽(防止瓶颈链路),2是增量扩张(添加服务器)

网络拓扑结构有三:

  1. Torus Network
  2. Hyper Cube Network
  3. SIGCOMM fat-tree

K层的fat-tree必须包含5k^2/4的交换机
Jellyfish搭建的好处在于没有任何的拓扑网络结构。

怎么建立Jellyfish?
每个交换机有3个端口,4个连接到交换机,随机选择一个端口加一条边。

量化可扩展性:

这个值越高,性价比越好,最少的钱可以达到最高的带宽。
对比jellyfish 和 Fat-Tree的带宽
6跳的距离内,FAT-TREE能达到3个server,而在JELLYFISH结构中,可以达到11个SERVER

根据对比Degree-diameter bounded graoph 和 jellyfish
d-d graph 有很高的throughput
jellyfish 只有9%

实际操作问题:

  1. 路由routing 以及 拥塞控制CC
  2. Cabling

Routing 里面采取了ECMP ,K shortest path 两种

CC 里面采取了TCP 和Multipaht TCP

Cabling 采取了 Switch to switch cables

最重要的复现指标。


我们使用MPTCP作者为jellyfish和fat-tree开发的模拟器。对于路由,我们测试:

  • (a)ECMP(等价多路径路由;我们使用8路ECMP,但64路ECMP表现不好,见图9),这是一种在最短路径上分配流量的标准策略
  • (b)k-最短路径路由,这可能对jellyfish有用,因为它可以利用长于最短的路径。对于k-最短路径,我们使用Yen的无环路径排序算法[2,46],其中k = 8路径。对于拥塞控制,我们使用8个MPTCP子流的推荐值测试标准TCP(每个服务器对1或8个流)和最近提出的多路径TCP(MPTCP)[44]。

表1显示了平均每个服务器的带宽,在不同路由和负载平衡方案下,Jellyfish和fat-tree的每个服务器的带宽占服务器网卡的比率。我们观察到以下两点:

  • (1)对于jellyfish,ECMP表现很差,因为提供的路径多样性不够多。对于随机置换的流,图9显示了大约55%的路径,在ECMP算法的情况下最多会使用两次;然而对于8-shortest path 这种路径算法,这个数字是6%。因此我们使用k-shortest路径。
  • (2)一旦我们使用了k-shortest paths,fat-tree和jellyfish使用任何一种拥塞控制协议,效果将一样好

表1的结果基于网络的级别。在这篇文章中,我们企图匹配fat-tree的性能,基于路由和拥塞控制的低效。

我们发现,与之前使用理想化路由相比,Jellyfish的优势在这方面略有下降。与相同设备的fat-tree相比(686台服务器),我们现在用TCP可以支持780台服务器,并且性能有所提升,至少保持不变MPTCP可以支持805台服务器。在理想的路由和拥塞控制下,jellyfish可以支持874台服务器。

而且随着jellyfish的规模越来越大,性能的优化将越来越明显。