Sigcomm2017 Credit-Scheduled Delay-Bounded Congestion Control for Datacenters 论文阅读

这是一篇sigcomm2017年的文章,提出了一种在数据中心上的基于信用的拥塞控制算法。

现在在数据中心网络中有四个需求分别是低延迟,高带宽,浅缓存和大规模。而解决拥塞在数据中心中是最大的挑战。

这里介绍一下incast问题,也是这篇论文想要解决的问题。当有很多不同的流存在,并且一起发送数据报文的时候,交换机上的缓冲队列就会开始堆积,严重影响效率。

并且论文从实验中得出结论,当使用DCTCP等基于速率的控制算法的时候,缓冲队列会随着流的数量的增加而线性增加。但是credit-base的拥塞控制算法不会,流数增加以后它的缓冲队列基本保持不变。下面来解释流控机制的具体设计以及,流数增加以后它的缓冲队列基本保持不变的原因:

这个论文设计的流控机制叫做expresspass,它是一种基于信用的端到端的拥塞控制。

首先介绍终端主机发送方和接收方的行为:在最开始,发送方发送Credit Request给接收方,当接收方接收到Credit Request信号之后,开始以线速向发送方发送credit包。而发送方每接受到一次credit包,就会发送一个数据包给接收方,它们是一一对应的关系。当没有更多的数据包需要发送时,sender向Receiver发送Credit Stop信号,一旦接受方接收到了credit stop信号,接受方停止发送credit,这也代表着一个流程的结束。

目前为止介绍了终端主机在单个流的情况下的行为。这里展示两个发送发和两个接受方在共享瓶颈的情况。在expresspass中,将credit queue和data queue在switch中分割开来,credits packets占总流量的5%,剩余的95%用于处理data packets。这里要注意,对于反回的data packets,它和credit通过相同的链路但是方向相反,也就是说不同的流的credits包是不同的。在这个例子中,由于有两个不同流的存在,当两个不同流的credit都开始用线速开始发送时,在switch中,会有一半的credits packets会被丢弃掉,从而达到控制流速的目的。

所以在这种情况下,带宽被均匀地分配到了不同的流上,缓冲队列的处理速度和总的流的发送速度是很接近的,所以不管流的数量如何增加,缓冲区的队列长度也不会出现明显变化。

这里是一些性能测试。可以看到相比于DCTCP它拥有更快的收敛速度。平均每条流的完成时间也相当优秀。

所以这里进行总结:论文中设计的流控机制拥有更加短的队列,更加快而稳定的收敛速度和更短的完成时间。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值