免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12345下一页
最近访问板块 发新帖
查看: 6949 | 回复: 45
打印 上一主题 下一主题

尝试IA架构下的网络处理极限 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-03-11 01:41 |只看该作者 |倒序浏览
花了三周时间改进了 BSD 的内核 ,用 SMB 测了一下,双向流,76/64字节包各 50%,转发速率 119万 pps,转发率 >40%
操作系统:FreeBSD 5.4
硬件平台:2 * Xeon 3.2G,2 * 82545EM,PCI-X 133
系统CPU:50%
由于启用了 HT,因此 CPU 最高消耗是 50%,这是一个临时性版本,估计还能再提高,对 IA 架构系统而言,119万次流入和流出,负载估计已经接近极限。请教过一些做硬件的朋友,PCI-X 的输入/输出应该是共享式总线,也就是说同一时刻只能进行读或者写中的一种操作,是单工模式,而 PCI-E 据说是双工的,相对而言可能好一些。
不过这个结果的实际意义不大,因为增加任何一点处理,系统性能可能会大幅下降。

还有另一个优化版本,CPU 消耗 26%,转发率是 95万 pps,在其他板子上好像见过 99万 pps 的测试结果,测过单 CPU 的,好像也能到 90w 以上,这个版本可能比较靠谱。

以上结果都是运行在 ULE 模式下。
关于 ULE 还有个问题请教,不启用 PREEMPTION,无论系统有几个线程在跑,CPU 使用率只能在 50% 左右,难道是 ULE 模式的固有缺陷?

论坛徽章:
2
亥猪
日期:2014-03-19 16:36:35午马
日期:2014-11-23 23:48:46
2 [报告]
发表于 2006-03-11 10:43 |只看该作者
包如何流入/流出?
假设你的网络流速率是1G Bps = 1000M Bps,很不错了吧。
处理器的处理速率是3.2。
同时假设处理器处理网络流时没有停顿,也就是说不用等待网络,硬件等的I/O操作,数据全速进入处理器,
并且不计算转发开销,也就是数据单纯的“流过”处理器。
那么也只用了1Gps的能力,还有2.2Gps就空闲了。
算算利用率?1/3.2=31%,同时注意到你有两块处理器,那么理论上最优利用率在31%/2 = 15%左右。算上比如网络延迟,网络卡I/O,包转发等7788的开销, 不是和你的优化版本“还有另一个优化版本,CPU 消耗 26%”比较接近吗?

[ 本帖最后由 gvim 于 2006-3-11 11:11 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2006-03-11 11:45 |只看该作者
原帖由 gvim 于 2006-3-11 10:43 发表
包如何流入/流出?
假设你的网络流速率是1G Bps = 1000M Bps,很不错了吧。
处理器的处理速率是3.2。
同时假设处理器处理网络流时没有停顿,也就是说不用等待网络,硬件等的I/O操作,数据全速进入处理器,
并 ...


你可能还是没理解我的意思,网络处理不是一个 bit 就会占用 1 个 CPU 指令周期,就跟在内存复制数据一样,复制 1Mbytes 数据不会占用 1M 个指令周期。在网络处理性能上,做到双向 1Gbps 转发不难,注意:双向 1Gbps 意味着 2G 进加 2G 出,对系统而言也就是 4Gbps。吞吐的瓶颈在 PCI-133 总线,133Mhzx64bit = 8Gbps,对于 4G bps 的吞吐肯定够用。另外一个瓶颈就是报文尺寸,都是 2Gbps,512 字节需要36万次处理,64 字节则需要 288 万次处理,而每次处理过程都需要申请 mbuf、DMA 操作、IO 操作、数据处理等一系列指令,如果 3.2G CPU 每秒处理 288 万次请求,那每个请求占用的指令周期也就只能控制在 1000 左右,而 DMA 操作占用的指令周期估计已经超过这个限制了,所以在 IA 架构下实现 288 万次处理估计不太可能。做到 119 万次已经非常不容易了,同类网卡,Linux 下据说能到 40万 ,优化后好像接近 75 万,用 82571 Server PCI-E dual server adapter 可以达到 148万,没见过 PCIE 的网卡,期待中。
不过 148万的转发意义不大,系统根本处理不过来,除非将来双核普及。不过双核会引发另一个问题,系统总线成为瓶颈。

论坛徽章:
2
亥猪
日期:2014-03-19 16:36:35午马
日期:2014-11-23 23:48:46
4 [报告]
发表于 2006-03-11 12:07 |只看该作者
我说的是Bps中的是Byte不是bit(因为处理器可以处理的最低单位是Byte,这样做免去了一些单位上的换算,同时可以满足实际限定 4Gbps<8Gbps)
B=8*b
而且,我只是说计算理论最优利用率。我也说明了,Byte在处理器中只是简单的"流过" ,不计你需要的xxx次请求处理时间。这是你的实际26%和理论15%的差距的缘由。
另外,千兆网卡需要连接到北桥上,PCI-133是不行地(这个不要问我为什么,Douglas Comer说地)。

[ 本帖最后由 gvim 于 2006-3-11 12:15 编辑 ]

论坛徽章:
0
5 [报告]
发表于 2006-03-11 13:48 |只看该作者
原帖由 gvim 于 2006-3-11 12:07 发表
我说的是Bps中的是Byte不是bit(因为处理器可以处理的最低单位是Byte,这样做免去了一些单位上的换算,同时可以满足实际限定 4Gbps<8Gbps)
B=8*b
而且,我只是说计算理论最优利用率。我也说明了,Byte在处理 ...


我感觉DMA/内存的数据复制应该不直接通过处理器,通过总线直接完成就可以了,CPU 也许需要等待操作结束。另外,吞吐量不是瓶颈,512字节下,我们可以轻松做到双向 1G 线速转发(也就是 4G 吞吐)。
南北桥你说的对,PCI-X 好像是通过南桥完成的,北桥主要用来处理 AGP 这些更高负载的设备。

论坛徽章:
0
6 [报告]
发表于 2006-03-11 19:32 |只看该作者
IA架构是安腾的服务器??

论坛徽章:
0
7 [报告]
发表于 2006-03-11 21:43 |只看该作者
原帖由 jk0wg 于 2006-3-11 19:32 发表
IA架构是安腾的服务器??


Intel Arch ,就是 Intel 的 PC/服务器,不是指安腾

论坛徽章:
2
亥猪
日期:2014-03-19 16:36:35午马
日期:2014-11-23 23:48:46
8 [报告]
发表于 2006-03-12 00:57 |只看该作者
原帖由 liangyi571 于 2006-3-11 13:48 发表


我感觉DMA/内存的数据复制应该不直接通过处理器,通过总线直接完成就可以了,CPU 也许需要等待操作结束。另外,吞吐量不是瓶颈,512字节下,我们可以轻松做到双向 1G 线速转发(也就是 4G 吞吐)。
南北桥你 ...


是的,哪一家的服务器没有智能I/O?数据的流动当然不需要经过处理器。
我说数据流,只是一个简单信号变换的类似,1GB进来,变换,xG出去。当我不清楚你的具体处理乳“申请 mbuf、DMA 操作、IO 操作、数据处理等一系列指令”时,中间的过程对我们不知情的人来说不过是个输入参数的函数
我觉得26%的利用率是比较优化的,对于50%的利用率。相对于优化过的处理,处理器花费在系统自身的时间就占了大多数,有效利用率为26%/50%,仅有占到了50%。
因此最硬件给定的情况下,
对于系统,非要用ULE的话,可以考虑增加处理器亲和度,或者适当锁定线程在某处理器上等等操作减少系统开销。
对于算法,寻找并行算法替代串行算法。部分的数值算法可以寻找替代的高效算法。

当然,只是我瞎掰的,还需要根据你的实际情况调整。

[ 本帖最后由 gvim 于 2006-3-12 00:59 编辑 ]

论坛徽章:
0
9 [报告]
发表于 2006-03-12 20:16 |只看该作者

回复 3楼 liangyi571 的帖子

请问一下,你说的linux下的75wpps转发率,是不是linux下的极限呢?freebsd下的可以到119wpps以上,是不是说freebsd的相关性能好得多?

论坛徽章:
0
10 [报告]
发表于 2006-03-13 00:14 |只看该作者
原帖由 gvim 于 2006-3-12 00:57 发表


是的,哪一家的服务器没有智能I/O?数据的流动当然不需要经过处理器。
我说数据流,只是一个简单信号变换的类似,1GB进来,变换,xG出去。当我不清楚你的具体处理乳“申请 mbuf、DMA 操作、IO 操作、数据处理 ...

呵呵,你的建议狠不错,我也在想如何能提高处理器的亲和度,改进并行算法。不过感觉 ULE 还不是狠稳定,不知是不是观望一下好。另外,提高处理器的亲和度也不容易,因为CPU间还是有锁需要同步,因此不可能完全独立。计划尝试中。
欢迎所有技术讨论,谢谢大家的关注。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP