跳转至

The Need for DCQCN

TL; DR

这部分内容非常有意义:

  1. 回顾RDMA演化过程
  2. 科普相关机制为什么不行
  3. 我们为什么不喜欢PFC
  4. 如何设计 microbenchmark

有些观点特别特别重要,我按照顺序依次复盘:

  1. 云服务需要 “不用于实际服务的CPU开销” 尽可能减少
  2. TCP远远不行了,我们要用RDMA
  3. RDMA
    1. 2000年左右: 基于 Infiniband, 这是一套完整的拓扑体系
      • IB link layer (L2) uses hop-by-hop, credit-based flow control to prevent packet drops due to buffer overflow
      • lossless L2 allows the IB transport protocol (L4) to be simple and highly efficient
    2. 2010年左右: 基于Ethernet, 同时也要兼备IP Route的功能
      • RoCE (L2) vs. RoCEv2 (L3, 有IP)
      • RoCEv2
        • L4传输层: 保留Infiniband的L4
        • L3网络层: IP and UDP encapsulation
        • L2数据链路层: Ethernet Frame (而不是Infiniband的)
      • 保留IP: 为了路由
      • 保留UDP encapsulation: 为了ECMP
  4. 相关机制:
    • QCN: 不支持L3, 它只支持在L2层面的流控 (src/dst IP + flow id)
    • DCTCP && iWARP: 有slow start, 不好
    • DCTCP && TCP-Bolt: 基于软件层, 没法减少CPU开销

Conventional TCP stacks perform poorly

记住这个观点就行, TCP已经远远out了

PFC has limitations

重点关注:

  1. PFC导致问题的原因
  2. 如何设计实验 (拓扑; 打流方式)

alt text

alt text

Existing proposals are inadequate

alt text

alt text