开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第5天,点击查看活动详情
论文来源
主要参考老师给的关于流量工程的经典论文,这篇文章是NSDI(USENIX Symposium on Networked Systems Design and Implementation)2010收录的论文,NSDI是计算机网络方向CCF推荐A类会议,是USENIX组织开办的关于网络系统设计的著名会议。通常每届会议录用20多篇论文,录取率在25%左右,说明NSDI的投稿质量非常的高。这篇文章在2010年上荣获了“经历时间考验(Test of Time)”奖项。
论文研究背景
- 现在网络上的数据处理由两种方式:
- 通过快速建立庞大的数据中心
- 将计算,存储,操作等交给云服务提供者
- 数据中心网络设计的困难:
- 网络负载对网络设计者来说是提前未知的
- 需要在不改变软件和协议的情况下提供高带宽
- 数据中心网络和典型企业网络不同的原因:
- 数据中心上的路由和转发协议是为特殊设定而设计的
- 典型的企业网络上,交流模式是可预测的
- 数据中心的设计依赖于多路径实现主机横向扩展
作者主要观点和要解决的问题
- 关键挑战:
沿路径同时动态的转发流,以最小化/减少链路超额,并提供可接受的聚合带宽
- 现存问题:
现有的网络转发协议被优化为在没有故障的情况下为每个源/目的地选择一条路径,此类的静态但路径转发可能会严重利用任何fanout多根树。即使采用最先进的转发使用ECMP(等价多路径)来使用流散列在可用路径上的静态条带流。这种流量到路径的静态映射不考虑当前的网络利用率或流量大小,由此导致的冲突超过了交换机缓冲区,降低了交换机的整体利用率。
- 解决方案:提出Hedera,多层交换机拓扑动态流调度系统
- 通过全面了解路由和流量需求,调度系统能够看到本地交换机无法实现的瓶颈
- 从连续的路由器中收集,为流计算没有冲突的路径,以此命令交换机重新路由
- 目标是最大程度地提高网络总利用率(对等带宽),并以最小的调度程序开销或对活动流的影响来实现目标
关键技术
随着建立包含数万台极其的大型数据中心的推动,最近的的研究提倡横向拓展而非纵向拓展数据中心网络,网络中不再使用昂贵的具有更高速度和端口密度的核心路由器,而是利用任何给定 源边缘交换机 和 目标边缘交换机之间的大量并行路径,如下图(多根层次结构树)所示。
但是问题在于使用多根层次的网络设计有可能在所有通信主机之间提供完整的二等分带宽,但没有有效的协议来转发网络内的数据或调度程序以将流量适当分配给路径。因此Hedera的体系结构,利用数据中心拓扑中的路径分集来为各种流量模式提供近乎理想的对等带宽。
实验方法
- Hedera三个步骤:
- 在边界交换机上探测大流量
- 评估大流量的自然需求,使用替代算法计算好的路径
- 将路径安装进交换机
- 实验过程:
用IP地址的前缀初始化核心交换机,当新的流开始的时候,默认的交换机行为是根据哈希转发, 路径会被用至阈值 ,Hedera会动态计算适当的位置, 直到所有的流都比较小。
- 模型:
- 只要流持续了一段时间并且超出了限制我们就用调度算法分配路径
- 根据选择的路径,调度程序将流条目插入到该流的源容器的边缘和聚合开关中。这些条目在新选择的路径上重定向流。
- 流终止后,流将在超时后过期。
- 调度程序维护的状态仅为软状态,无需与任何副本同步即可处理故障
- 对比两种调度算法
全局第一拟合:一个流被贪婪地分配了可以容纳它的第一个路径。当网络负载很轻时,在许多可能的路径中找到这样的路径可能很容易;然而,随着网络负载的增加和链接变得饱和,全局第一拟合并不能保证所有的流都能被容纳,但该算法在实践中表现得相对较好
模拟退化算法:我们描述了模拟退火调度器,它执行一个概率搜索来有效地计算流的路径。我们的方法的关键见解是为每个目标主机分配一个核心交换机,而不是为每个流分配一个核心交换机。一个函数E定义了当前状态下的能量。在每次迭代中,我们根据当前和邻近状态的能量以及当前温度T,移动到一个具有一定的接受概率P的邻近状态。模拟退火算法的每次迭代都会降低温度,当温度为零时,我们就会停止迭代。允许解决方案移动到一个更高的能量状态,可以让我们避免局部最小值。
其他研究方法比较:
- VL2和Monsoon提出使用每流的英勇负载平衡,这可能会导致长期碰撞造成的带宽损失。
- SEATTLE提出了一个单一的层2域,带有一个一跳开关DHT用于MAC地址解析,但不处理多路径。
未来发展方向
这篇文章已经演示了构建的可行性工作原型的多根树,并表明,模拟退火几乎总是优于全球第一拟合和能够提供接近最优二分带宽广泛的通信模式在我们的物理测试平台和模拟数据中心网络组成的成千上万的节点。鉴于我们的流放置算法的低计算和延迟开销,大量投资与数据中心相关的网络基础设施(数百万美元),和Hedera的部署的增量成本(例如,一个或两个服务器),我们表明,动态流调度有潜力以适度的额外成本提供大量的带宽收益。