静园5号院科研讲座 | 哈佛大学俞敏岚副教授谈传输协议优化问题
关键词:DETER, HPCC
编者按
2019年8月19日,哈佛大学俞敏岚副教授受邀访问北京大学前沿计算研究中心,并在静园五院做了题为“Optimizing Transport Protocols for Modern Data Center Networks“的主题报告,介绍了其课题组近期在这方面的两篇工作。报告由中心执行主任陈宝权教授主持,听众包括来自北京大学信息科学技术学院、中科院计算所等单位的师生。
俞敏岚副教授报告现场
俞教授首先介绍了她们发表在 NSDI2019 上的一篇工作:DETER: Deterministic TCP Replay for Performance Diagnosis。DETER 是一个TCP的诊断工具。在当今分布式计算日益发展、对传输效率的要求越来越高的情况下,传统的 TCP 诊断工具如 TCPdump 不能适应大数据的要求。TCP 诊断工具设计之复杂,关键在于 TCP 协议的复杂性,其中涉及到许多模块之间的交互,且参数众多。以 Linux 的 TCP 为例,有63个参数,且在18年7、8月间,发现了16个 bug。目前已有的诊断工具如 TCPdump 和 TCPprobe,虽然能够提供很多细节,但是也带来了很高的 overhead。而 TCPcounters,ebpf 等工具虽然 overhead 不高,却错失了很多细节。相比之下,DETER 做到了在控制 overhead 的基础上,还原大量细节等结果。
DETER 的核心在于 lightweight record 和 deterministic replay。通过记录 sockets,确定性地还原当时的情况,从而达到诊断的目的。但是,想要做到确定性是比较困难的:首先,一些细微的误差,由于传输中的闭环结构,可能在 replay 的时候造成完全不同的结果,类似蝴蝶效应。闭环结构指从 TCP 协议带来的误差经过交换机(switch)被放大,带入到 TCP 协议中。解决方案是剪开这个环:记录每次进入 TCP 协议时的状态,通过 replay 还原经过 switch 的结果。replay 的结果不会用于下一次 replay,而是使用记录的状态。具体来说,就是 record and replay packet stream mutations。而记录这些异常(mutation)带来的 overhead 很小,且只需要在 host 上记录这些信息。解决了闭环带来的不确定性,并不能保证 determinitic replay,因为内核运行本身也是不确定的。这就需要我记录内核的一些状态,比如 thread scheduling,lock acqusition 等等。
DETER 在 Linux 4.4 上对内核的修改只有139行代码,测试时 CPU 的占用率只增加了<1.49%。课题组还在 Spark上做了一些 large-scale 的实验,这里不一一介绍。
俞敏岚副教授报告中
俞教授接下来介绍了 SIGCOMM2019上的一篇工作:HPCC: High Precision Congestion Control。理想的高速网络应当有 ultra-low latency,high bandwidth 和 stability。这背后主要依靠的是拥塞控制的算法(congestion control)。但当今的拥塞控制算法存在几个问题:第一,收敛缓慢。由于缺乏准确的反馈,算法不能迅速收敛到最优的速率。第二,排队不可避免。大多数算法的 feedback 都有延迟。当收到 feedback 时,往往等待队列已经比较长了,大大增加了传输的延迟。第三,目前的拥塞控制算法大多是启发式的,这意味着需要复杂的调参。
课题组取得突破的一个重要原因是硬件上(switch)的升级:通过利用 in-network telemetry(INT),可以得到准确的 feedback,从而精准地控制,迅速收敛,充分利用带宽,基本上达到 zero-queue 的状态。相比于之前的算法如 DCQCN 和 TIMELY,减少了95%的收敛时间,且在 large-scale 的实验上表现优异。
HPCC 的研究中有两个重要的挑战:其一,是 INT 信息的延迟;其二,是对 INT 信息的过度反应。INT 信息是附在包上的,所以同样有延迟的问题。HPCC 的解决方案是限制整个 inflight bytes 的量。即使 feedback 有延迟,发送方也不会发送过多的数据。过度反应是指,由于每个包上都有 INT 的信息,如果对于每个 ACK 的信息都做出相应的调整,往往会过度。为了防止这一情况,HPCC 采用 per-ACK 和 per-RTT 结合的方式。
这两篇工作都是偏向于工程,以上只是一些 high-level 的 idea,具体细节请参考相关论文。
陈宝权教授与俞敏岚副教授合影
图文 | 吴子航
往 期 报 告
— 版权声明 —
本微信公众号所有内容,由北京大学前沿计算研究中心微信自身创作、收集的文字、图片和音视频资料,版权属北京大学前沿计算研究中心微信所有;从公开渠道收集、整理及授权转载的文字、图片和音视频资料,版权属原作者。本公众号内容原作者如不愿意在本号刊登内容,请及时通知本号,予以删除。
点“阅读原文”看报告概要等信息