Pantheon🌞

here for paper

  • Author:Francis Y.Yan(Stanford University) Prof. Keith Winstein

  • congestion control, evaluation, testbed


摘要

这篇文章提出了Pantheon,一个系统通过提供training ground,为传输协议和拥塞控制提供帮助。这是一个共享的评测CC的平台。它的实现主要分成四部分:

  • Software Library: 内含各种CC协议,每一种都提供了相同的界面来开启一个full-throttle的流
  • Diverse testbed: pantheon的remote测试节点遍布全世界,cellular network包括斯坦福,墨西哥,巴西,哥伦比亚,印第安,中国。wired network 包括伦敦,东京,悉尼。
  • Collection of network emulators ,仿真器可以模拟网络任意两个节点及其链路。
  • Continuous-testing systems, 在线持续测试系统,实时比较各种CC的好坏。

引入

30年过去了,网络拥塞控制的问题仍旧是cornerstone problem基石问题,初衷是去除网络catastrophic灾难性的问题。但今天面临更多的挑战。流行的传输协议和拥塞控制体系需要评测,但当今网络更难统一。

大部分拥塞控制的研究多是在小规模的网络上,而且很难重现。大多数研究者会建立自己的testbed。为了证明算法的优势,会和之前的算法做对比。为了做到公平比较,会有很多额外的工作。尽管比较了,算法也不会部署到真实的internet网上。比如sprout,PCC,verus.

这篇paper中描述了Pantheon,一个分布式的,综合的系统,专门为了评测端到端的网络,比如拥塞控制,传输协议和网路仿真器。

pantheon 解决了科研者在开发网络协议的时候面临的现实性和复现性权衡的问题。不是关注是否有jitter, packet loss, reordering, pantheon的关注指标是throughoput,delay和loss rate,

借鉴了ImageNet在计算机视觉领域取得成功的推动下,我们相信可运行benchmark,连续的实验,将有助于更快的创新和更有效,可复现的研究。

实验结果总结:

  • 通过对Pantheon超过一年的测量结果分析,我们发现传输协议的表现十分多 变,通常随着网络路径,网络瓶颈和时间的变化而变化,没有任何一种协议在所有环境下效果都最优。

  • 在自然和合成交叉流量的情况下,我们发现一些网络仿真器参数可以重现很大部分的传输协议的性能。这一结果与先前结果相悖,某些人专注于构建详细的网络仿真器。

  • 我们讨论了三种使用pantheon作为共享评估测试平台的拥塞控制新方法,是在USENIX NSDI 2018上发表的Copa 和Vivace。我们还描述了用于拥塞控制的数据驱动设计,它基于神经网络,可以在pantheon的仿真器集合上进行训练,从而在真实的互联网路径上实现良好的性能。

设计思路:

  • 对各种CC算法的收集,每个都拥有相同的界面。

    每个CC的interface是一个full-throttle flow,它会持续进行,直到sender端被killed。pantheon 通过写不同CC的wrapper来实现这种统一的interface,但是也限制了evaluation的种类。

  • Instrumenting network paths

    Pantheon 仪表器 instrumentation追踪了大小,发送的时间和接受的时间。Pantheon创建了一个endpoint之间的VPN(virtual private network),被称为Pantheon-tunnel. UDP的datagram中UID每个包都分配一个。

  • interesting network上的testbed节点

    和公司合作的LTE service 是一个经济和实际的方法。

一次实验后,path两端重复测量clock的offset对于一个common NTP server 并用这些来计算one-way delay.

标准仿真:

仿真器是为了控制实验环境,这样比较不同的CC会更方便。但是过去的仿真器认为,参数越多仿真器做得越好。这个paper里,我们提出了一个新标准。我们认为仿真器和真实的路径越类似,这个仿真器越好。我们的指标是emulator测出的结果与真实real internet中的结果。more-parameterized network models 不一定就越好。

5-parameter network model就足够来模拟一个复杂的真实路径,这五个参数如下:

  • bottleneck link rate
  • constant propogation delay
  • DropTail queue的阈值 threshold
  • stochastic loss rate
  • one Bit decides whether link runs isochronously 或者poisson过程

总结:

继续研究代码