文章目录
Sigcomm 2015年的论文“Congestion Control for Large-Scale RDMA”开启了RDMA中的拥塞控制算法的学习。虽然这篇论文提出的拥塞控制机制DCQCN总是被后来的论文拿出来鞭尸,但是作为第一个吃螃蟹论文还是非常值得深入一读的。
背景
RDMA(Remote Direct Memory Access)技术是一种直接在内存和内存之间进行数据互传的技术,在数据传输的过程中完全实现了Kernel Bypass,CPU不需要参与操作,这也是RDMA在降低CPU消耗的同时,还能带来低时延的原因。

TCP占用CPU资源多。使用RDMA以后吞吐量大,cpu消耗低,延迟低。深究原因,一般收发数据,要经过操作系统内核处理封装,然后再通过网卡发送。这个过程会产生中断,并且消耗cpu资源,在相同的吞吐量下,流越小那么造成的中断次数就越多,cpu消耗越大。rdma就是数据直接在内存和网卡之间交流,不用走内核了,节约cpu资源。

RDMA必须要部署在无损网络之上,而无损网络的实现就要启用PFC机制。
优先级流控制(PFC)
PFC通过监控ingress queue以及向上一跳发送PAUSE帧的方式避免交换机缓冲区和NIC缓冲区出现缓存溢出,从而避免丢包。
优先级流控制(PFC)的局限性
部署在大规模网络上需要用到的PFC机制会产生以下问题:
Unfairness
我们可以看到流f1使用In


1255

被折叠的 条评论
为什么被折叠?



