DCQCN

here for paper

  • Author: Yibo Zhu (Microsoft ByteDance)
  • Congestion Control,Data Center Transport


总述

这篇文章提出了一种流量控制算法DCQCN,此算法(相比之前的PFC)更适配于RDMA以及数据中心的需求,真正将RDMA这一技术落地,运用到了数据中心中,是RDMA领域的不得不读的经典作品。

下面将按照文章脉络详细为大家介绍这篇文章的内容。


摘要

在摘要(abstract)部分:作者概述为什么提出DCQCN。现代数据中心应用需要高吞吐量(40Gbps)和超低延迟(<10us),并且需要尽可能降低CPU开销。TCP/IP不能很好地满足这一要求,而远程直接内存访问,即RDMA技术可以做到这一点。在IP路由数据中心网络上,使用RoCEv2协议部署RDMA,该协议依赖基于优先级的流量控制算法PFC来实现无丢包网络。然而作者观察到PFC带来的一些列问题,包括“head-of-line blocking”以及“unfairness”(下称头部链路拥塞,不公平问题)。为了解决这些问题,作者提出了DCQCN,这是一种基于RoCEv2协议的端到端的拥塞控制方案。为了优化DCQCN性能,作者还建模了一个fluid model(流模型)来提供最合适的交换机缓冲区阈值和其他参数。使用3层Clos网络平台进行测试,DCQCN显著提高了RoCEv2的RDMA流量吞吐量和公平性。DCQCN已经在Mellanox的NIC中部署,并且在Microsoft的数据中心部署。


##引入
在引入(introduction)部分:大型数据中心需要更高带宽>40Gbps以满足用户日益增加的需求,例如分布式内存缓存和大规模机器学习应用,然而传统的TCP/IP协议不能以这样的速度运行,因为会具有非常高的CPU开销。CPU过高的使用率,会降低数据中心的经济效益。使用RDMA技术可以使CPU开销非常低。但是,为了简化RDMA的设计和实现,实现RDMA的协议采用无损网络结构。虽然RDMA在HPC(高性能领域)长期被使用,但在现代IP-routed的数据中心网络中部署RDMA存在诸多挑战,其中最为显著的问题就是需要设计一种拥塞控制协议,该协议可以在高速无损环境中高效运行,并且可以在NIC上实现。因此,作者开发了DCQCN,该协议建立在RoCEv2的协议之上,在Mellanox的NIC中实现,并且在Microsoft的数据中心部署。

然后,作者具体阐述了DCQCN的需求,因为最早RDMA的部署使用的是IB(InfiniBand)技术。然而IB网络堆栈无法轻松部署在现代数据中心。现代数据中心采用IP和以太网(Ethernet)技术构建,IB堆栈与这些技术不兼容。为了在以太网和IP网络上启用RDMA,已经定义了RDMA over Converged Ethernet(RoCE)标准及其第二版RoCEv2 。为了实现高效操作,IB和RoCEv2都需要在无损链路层上部署。为此,大部分都使用基于优先级的流量控制(PFC)部署RoCE。 PFC允许以太网交换机通过强制暂停数据传输来避免缓冲区溢出。但是,PFC是一种粗粒度机制。它在端口级别运行,对flow不进行区分。这可能导致拥挤扩散,性能不佳。

PFC限制的根本解决方案是针对Flow的拥塞控制协议。在DC环境中,协议必须满足以下三个要求

  • 1.无损,支持L3数据中心网络?
  • 2.终端主机上要求低CPU开销
  • 3.提供超快速(hyper-fast)启动

目前,没有DC网络拥塞控制协议能同时满足所有上述要求。例如,QCN 不支持L3网络;DCTCP 和iWarp包括慢启动阶段,这会导致突发网络负载情况下表现不佳;DCTCP和TCP-Bolt可能具有高CPU开销。

由于目前的方案均未达成所有要求,因此作者设计了DCQCN。 DCQCN是RoCEv2的端到端拥塞控制协议,用在大型IP路由数据中心网络中部署RDMA。 DCQCN仅需要数据中心交换机的标准RED和ECN 支持。其余功能都可在NIC上实现。 DCQCN提供快速收敛到公平的带宽共享路径,实现高链路利用率,确保较低的队列堆积和振荡。


DCQCN的好处

下边用实验证明这一算法的好处,通过提供针对流的拥塞控制,DCQCN减轻了PFC的限制,为了说明这一点,重复先前3层拓扑结构的简单实验,但这次启用DCQCN。下图8表明,DCQCN解决了图3中的带宽不公平问题,所有四个流都获得了瓶颈带宽的相等份额,并且基本保持稳定,因为带宽的最小值,中值和最大值基本都重合。下图9显示DCQCN解决了图4中描述的受害者流问题。使用DCQCN,(VS->VR)流的吞吐量不会随着T3添加发送者而改变。