软件开发架构师

改进TCP,阿里提出高速云网络拥塞控制协议HPCC

运维 50 2019-06-07 02:20

TCP 是最基础的网络传输层通信协议,其拥塞控制算法是为 Internet 这种相对低速、高延迟的网络环境设计的。在新一代的高速云网络中,TCP 的拥塞控制算法无法充分发挥底层网络能力,而现有高速网络拥塞控制算法(如:RDMA 协议中的拥塞控制算法 DCQCN)又存在严重的稳定性风险。阿里巴巴的技术人员研发了新一代高速云网络拥塞控制协议 HPCC (High Precision Congestion Control),旨在同时实现高速云网络的极致性能和超高稳定性。目前这一成果已被计算机网络方向世界顶级学术会议 ACM SIGCOMM 2019 收录,引起了国内外广泛关注。

改进TCP,阿里提出高速云网络拥塞控制协议HPCC-1

根据 IETF 的 RFC 793 定义,TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议。在过去的几十年中,TCP 相关的基本操作未做太大改动,但其拥塞控制算法经历了几代学者和工程师的迭代更新,比如 RFC2581《TCP 的拥塞控制》、加州理工学院研发的 FAST TCP 以及目前在数据中心网络中被广泛使用的 DCTCP 等。

然而,在过去几十年中发生变化的不仅仅是算法本身,网络环境也发生了巨大变化,尤其是云计算出现之后,云租户和应用对网络带宽、延迟以及稳定性的要求比过去的互联网用户提升了一到两个数量级,这导致传统 TCP 协议开始难以适用于云网络(数据中心网络)的高速、低延迟环境。虽然 RDMA 等新一代技术摒弃了传统 TCP 中的一些做法,以换取网络性能的大幅提升,但是 RDMA 拥塞控制算法本身蕴含着相当高的不稳定性风险,阻碍其在大规模网络中得到广泛应用。阿里巴巴的一群工程师近期成功研发出新一代、超高性能云网络环境下对传统 TCP 和 RDMA 拥塞控制算法的替代方案–HPCC,InfoQ 第一时间对 HPCC 团队成员阿里云智能研究员张铭、阿里云智能高级技术专家刘洪强进行了独家专访,探究 HPCC 的研发背景及实际意义。

HPCC (High Precision Congestion Control- 高精度拥塞控制)

随着云计算的迅猛发展,传统 PC 时代的小型机房的网络架构已逐渐退出历史舞台,取而代之的是以数据中心为核心的超大规模、云网络架构。在这样的环境下,目前主流的 TCP 和 RDMA 拥塞控制算法(例如 DCTCP,DCQCN)要么无法充分发挥云网络低延时、高带宽的优势,要么无法在大规模网络环境下保持稳定。这给包括阿里巴巴在内的大型云计算服务商们带来了严峻的运营和技术挑战。

HPCC 是在高性能的云网络环境下,对现有的拥塞控制的一种替代方案。它可让数据中心网络中的报文稳定的、以微秒级的延迟传输。当前主流的拥塞控制算法主要依赖于端的信息(例如丢包信息,延迟信息),以及极为有限的设备反馈信息(如 1 个比特的 ECN)做拥塞控制,而 HPCC 则创新性地运用了最新网络设备提供的细粒度负载信息而全新设计了拥塞控制算法。在 HPCC 的帮助下,主流的云应用,比如分布式存储、大规模机器学习,高性能计算等性能会得到几倍到几十倍不等的提升;云租户相应地将会感受到延迟显著降低,效率和性价比大幅提升。

核心:拥塞控制

无论是 TCP、RDMA 还是其各种改进版本,其核心都在围绕拥塞控制算法进行,这也是高性能云网络中必须解决的痛点,而 HPCC 的核心就是重新定义下一代拥塞控制机制。张铭表示,HPCC 的思路和框架同样可以用于改进 TCP 或者 RDMA 等其他传输层协议。

在计算机网络里,传统的拥塞控制算法主要通过在端上调节流量,以维持网络最佳平衡状态。发送方根据网络承载情况控制发送速率,以获取高性能并避免拥塞崩溃(congestion collapse)导致网络性能下降几个数量级,并在多个数据流之间产生近似最大化最小流的公平分配。发送方与接收方确认包、包丢失以及定时器情况,估计网络拥塞状态,从而调节数据流的发送速率,这被称为网络拥塞控制。

HPCC 的核心理念是利用精确链路负载信息直接计算合适的发送速率,而不是像现有的 TCP 和 RDMA 拥塞控制算法那样迭代探索合适的速率;HPCC 速率更新由数据包的 ACK 驱动,而不是像 DCQCN 那样靠定时器驱动。

在整个研发过程中,刘洪强提到,最难的其实是思想和理念上的突破,拥塞控制算法已经被研究了数十年,只有突破传统的思维方式才可能得到新的收获;其次,完成这项研究需要同时聚齐懂理论、懂工程实践、懂硬件和懂运维的人,这本身就实属不易。最后,还需要攻克各种工程难关,将算法付诸实践。

当然,真正实现 HPCC 的大规模、商业化落地还需要一段时间,但阿里内部已经在模拟真实网络的实验环境下进行了多方面验证,其效果与设想高度一致。

经过各种软硬件的精巧设计,阿里工程团队已完整和高效地实现了 HPCC 的软硬件协议栈。实验表明,HPCC 在拥塞条件下可以将延迟降低一到两个数量级,且收敛速度极快;一旦出现空闲带宽,立刻会被充分利用,整体网络利用率维持在相当高的水平,而延迟则接近于理想值。张铭强调,在无拥塞的情况下,数据流的传输速度都很快;而一旦发生拥塞,受影响的数据流从不稳定状态恢复到稳定状态的时间需要越短越好,HPCC 的收敛速度和稳定性都要远优于目前的主流算法。

研究价值

目前业内对网络传输协议的选择基本分为两大类:一类是以 TCP 为主,持续探索如何将 TCP 的性能调至更优的状态;另一类则希望研究可以取代 TCP 的新传输协议。张铭解释道,HPCC 的出现为下一代拥塞控制开拓了一个全新的方向,无论是 TCP, 还是 RDMA,抑或是某种新的传输层协议,都可以直接使用 HPCC,或是在其基础上构建适用于高性能云网络的拥塞控制机制。

对云上租户而言,HPCC 的价值在于可以让其享受高速的网络服务,而不需要担心稳定性问题;网络资源利用率提升的同时会带来云使用成本的降低;而对性能要求极高的用户(如 HPC), 则更是至关重要。

结束语

对基础科学的投入和支持不能只停留在理论层面,还需要紧密联合一线工程师与应用场景,也许这正是阿里巴巴成立达摩院支持基础研究的原因。正如阿里云智能总裁,达摩院院长张建锋在 2019 年阿里云峰会上所说:

阿里巴巴的科研力量将融会贯通。达摩院的能力将与云全面结合。未来还将加大研发投入,扩大云的技术代差优势。

目前,该项研究的学术论文《HPCC: High Precision Congestion Control》已经被网络顶级学术会议SIGCOMM 2019录取,该论文详细介绍了阿里巴巴自研的新一代高速网络拥塞控制协议。

“现代数据中心中数以万计的处理器相互之间的通信如何被组织在一起来避免他们之间通信通道的拥塞呢?这是我在杭州初次遇到这一群阿里巴巴专家时,他们正在尝试解决的问题。… 我相信我们在这个领域已经做出了非常重要的进展,而且我们非常高兴我们的阶段性工作已经被 SIGCOMM 2019 接收”–HPCC 论文的合作作者,英国皇家科学院院士,剑桥大学Frank Kelly教授表示。

关于 SIGCOMM

SIGCOMM 是 ACM 组织在网络领域的旗舰型会议,也是目前国际网络领域的顶尖会议。几十年以来,多项经典研究成果都出自 SIGCOMM 大会,比如《Development of the Domain Name System 》(SIGCOMM 1988),阐述了互联网域名管理系统(DNS),这套系统已经被使用几十年,贯穿了互联网的发展史;《Congestion Control in IP/TCP Internetworks 》(SIGCOMM 1987) 和《Congestion Avoidance and Control 》(SIGCOMM 1988),奠定了互联网 TCP 拥塞控制的基础,其算法设计思想一致沿用至今; 《Ethan: Taking Control of the Enterprise 》(SIGCOMM 2007),软件定义网络 (SDN) 思想的开山之作,SDN 使得大规模网络虚拟化成为可能,让“云网络”的概念落地。

文章评论