100 Gbps 网卡的 TCP 困境

现在 DCN 都在上 100 Gbps 网卡,最近也是不断有这种关于 TCP 100Gbps 的咨询,我的结论是:TCP 很难跑满 100Gbps,除非你的 CPU 内存带宽远超 100Gbps。

Why?还是排队论。

100Gbps 网络带宽都赶上内存带宽了,这意味着你要完全 pacing rate,才能二者匹配,否则就要套排队论泊松到达公式,当到达率和服务率一样时,等待时间无限长。悲剧吧?确实。
你可以去查一下 DDRx 内存的带宽,然后和 100Gbps 比较一下。TCP 是到达方,内存 CPU 是服务方。作为统计复用的现代操作系统,比如 Linux,什么样的调度系统能完美匹配到达和服务。

一旦加入统计突发,延时是必然增加的。

要么不要用 TCP,要么专门腾出 CPU 专门处理 TCP,比如 DPDK 这般。否则 TCP 几乎不可能使用 CPU 跑满 100Gbps 带宽,大概也就 60~80Gbps 吧,同一个 TOR 下,最多 90Gbps。

TCP 的标准和实现存在很多问题,比如双工问题,比如 CPU 串行化问题,这里就不再赘述了。

浙江温州皮鞋湿,下雨进水不会胖。

  • 2
    点赞
  • 2
    收藏
  • 打赏
    打赏
  • 1
    评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:编程工作室 设计师:CSDN官方博客 返回首页
评论 1

打赏作者

dog250

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值