不知道我的理解是不是正确。
便宜的网卡是不是只提供个插口,运算工作都转给了 CPU ?而贵的网卡是自己有专用计算芯片,不仅能减轻 CPU 负担,而且专用芯片处理速度比通用 CPU 更快?
1
CEBBCAT 2019-10-11 05:30:09 +08:00 via Android
要不先定义一下便宜?常见的 RTL8111 可以搜来数据表格,应该就有答案了
|
2
CEBBCAT 2019-10-11 05:45:26 +08:00 via Android
@CEBBCAT 搜是搜到了,就是我英语太差了。。。
https://www.recomb-omsk.ru/published/SC/html/scripts/doc/A01-RTL8111EVL-F(RTL8111E-VL-CG_Datasheet_1%201.pdf 根据我看懂的那一点,我想还是有不弱的计算能力的。专用芯片( ASIC ?)除非是骗经费不然怎么想都要比通用芯片来得快 --- 楼主这个问题倒是奇怪,我预感楼主说明白问题的来源后大家应该都将有啼笑皆非的感觉 |
4
lihongming OP @CEBBCAT 我就是想知道十几块钱的网卡和几百块钱的网卡到底有什么区别
|
5
zhjits 2019-10-11 08:37:51 +08:00
差不多是这样吧,比如 ConnectX-5 这种网卡,常见的负载都能 offload,很省 CPU 的
|
6
cubecube 2019-10-11 09:45:42 +08:00 via Android
@lihongming 有线同速率没啥区别。有的网卡性能强点,延迟低一些而已。无线网卡的话,因为无线频率差别,差距比较大
|
7
ungrown 2019-10-11 12:33:16 +08:00
cpu 负责跑驱动程序,其他的都是硬件完成。
你以为网卡应该很贵吗? |
8
iwtbauh 2019-10-11 13:04:29 +08:00
然而并不一定会更快,不要迷信 offload
使用专用芯片 offload 是会损失可用性的,而且在链路层设备上访问上层数据是很肮脏且(有可能会)违反网络中立性原则的。这可能导致性能反而下降! 比如 Intel(R) Ethernet 10 Gigabit PCI Express Family of Adapters 的驱动程序手册中的警告信息显示:使用 IP 转发或桥接时,如果不禁用 LRO,可能导致吞吐量很低甚至内核恐慌( https://downloadmirror.intel.com/14687/eng/readme.txt ) 而且 offload 会大大降低可用性。例如,如果你的网卡仅支持 IPv4 Checksuming Offload,你怎么办?为了 IPv6,你只你禁用此项 offload。 对于无线网卡这种标准和新策略变化更快的设备上,这种效应就更明显了。Full-MAC 设备性能可能通常情况下更好,但一旦新的机制出现,可能能解决的办法只有更换硬件(当没有高质量 Soft-MAC 驱动程序时)。使用 Soft-MAC 友好的无线网卡,就可以通过软件在旧硬件上实施 WPA3 新的、更强的加密协议,MESH 网状网络等等而无需更换硬件。 计算机网络为何分层设计,打破分层获得一时的速度是否真的值得。而且现代的 CPU 已经非常强大,这点消耗其实并不大。 这也是对”机制“和”策略“分离的考虑。将机制和策略分离损失一些性能获得更高的可用性,还是糅合在一起获得最大性能但一旦需要对策略的改变都将动摇机制。 |
9
jedihy 2019-10-11 14:44:58 +08:00 via iPhone
@iwtbauh 虽然我也讨厌 offload,但速度的提升是很大的,你平时用 1G/10G 的感觉没区别。我们用的 40G/100G LSO 开不开影响非常大,数量级的差距。
V4 checksum 跟 V6 有什么关系?这个 capability 本身就是区分 V4 和 V6 的。V6 没有 offload,IP 层就会自己算 checksum。 |
10
ryd994 2019-10-11 15:02:20 +08:00 via Android
@iwtbauh
公有云三大头的 TCP 吞吐性能 单线程 Azure>AWS>GCE 多线程 AWS>Azure>GCE 原因在于,Azure 用 FPGA 处理 SDN,即使单线程也能跑满线速。AWS 用 ASIC+SoC,所以单线程能力有限 多线程可以 RSS 到多个核,所以总带宽够高。GCE 纯软件处理,所以无论带宽还是延迟都不行,不过人家卖点也不在于网络吞吐性能。 你举的例子是硬件还不够好而已。超大带宽的服务器网卡都是可以刷固件的。有 bug 刷固件就好了。钱给够的话,别说修 bug,加 feature 都可以。 CPU 包转发能力单核极限在 10G 左右,如果还要带各种 SDN 策略的话能有两三 G 就算不错了。不靠硬件加速你拿什么去顶大带宽? 100G 就 100 个核么? |
11
lihongming OP 呃!看你们讨论的这么高大上,都是服务器的需求。看来家用十几块钱的就够了。
|