ICNP‘2019 Congestion Control for Cross-Datacenter Networks论文阅读笔记

文章目录

  • Background
  • Gemini
  • Discussion

Background

现代的一些大规模在线服务会将他们的信息储存在不同地域的数据中心当中,并且这种分布以及变得越来越流行了。这意味着,有一些流会同时经过数据中心与广域网。(和Annulus中提到的是同一个问题)

实际上这两种网络环境差别是非常大的。
对于广域网,实现高网络利用率是重点,交换机具有深缓冲区,且RTT非常大。
对于DCN,延迟是最关心的指标。而且交换机的缓冲区更浅,RTT更小。

虽然有很多专门为专门为了DCN或者WAN的传输协议,但是没有专门为跨DC的网络设计的传输协议。

基于ECN的方案在跨DC的网络设计的传输协议时会遇到两个问题:
一方面,DC网络内部的RTT非常小,且缓冲区很浅,需要ECN的阈值比较低才能让RTT很小。而DC外部网络有很深的缓冲区,需要大ECN阈值来满足链路利用率。
另一方面,DC外部网络也不一定支持ECN配置。
ICNP‘2019 Congestion Control for Cross-Datacenter Networks论文阅读笔记_第1张图片

基于延迟的方法可以控制流端到端的飞行包大小。这里的延迟阈值同样非常不好设置。高阈值能够满足DC外部网络,低阈值能够满足DC网络。
ICNP‘2019 Congestion Control for Cross-Datacenter Networks论文阅读笔记_第2张图片

Gemini

那么,问题就转换成了:

  • 如何在异构网络中保持低延迟?
  • 如何在异构网络中保持高吞吐量?

论文提出的这样一种方法:将基于ECN的方案与基于Delay的方案相结合。在DCN中使用低阈值的ECN,保证DCN的低延迟。在此基础上加上RTT的测量,使用一个较大阈值的延迟测量,保证WAN的吞吐量不会下降。(WAN的延迟比数据中心延迟高得多)
具体如下图所示:
ICNP‘2019 Congestion Control for Cross-Datacenter Networks论文阅读笔记_第3张图片
具体来说,Gemini中ECN信号的产生与DCTCP完全相同。当瞬时排队超过标记阈值时,数据包被标记为经历拥塞。接收器将带有ECN- echo标志的ack回传给发送者。
而延迟信号有以下公式:

R T T m i n = R T T B a s e + T RTT_{min} = RTT_{Base}+T RTTmin=RTTBase+T

其中RTTmin是在上一个RTT中观测到最小的RTT。
RTTbase是长时间观察到的最小RTT,理论上应该就是RTT。
T是延迟阈值,一般设置为5ms。

当两个中的任意一个表示为拥塞时,就可以通过减少相应的拥塞窗口来对该信号作出反应。当ECN和延迟信号都表示拥塞时,对较重拥塞的信号作出反应。

C W N D = C W N D ( 1 − m a x ( f D C N , f E C N ) ) CWND=CWND(1-max(f_{DCN},f_{ECN})) CWND=CWND(1max(fDCN,fECN))

f D C N f_{DCN} fDCN f E C N f_{ECN} fECN的计算公式与参数选择如下所示:
ICNP‘2019 Congestion Control for Cross-Datacenter Networks论文阅读笔记_第4张图片

ICNP‘2019 Congestion Control for Cross-Datacenter Networks论文阅读笔记_第5张图片

Discussion

这篇文章和sigcomm2020年Annulus相关性非常强。可以看到Annulus对于这篇文章的参考是非常多的。

Gemini尝试解决异构网络的问题,但是留下了一个很大的漏洞:它不能解决RTT的不同所带来的对数据中心流的负担。

Annulus尝试解决这个问题,通过修改交换机增加一层近源控制回路,减少WAN流的RTT。但是这个方法也不能很好地解决这个问题,如果拥塞发生在远端,那么近源控制回路无法发挥作用。

问题很明显,但是尝试解决非常有难度。

你可能感兴趣的:(网络,交换机,算法)