免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: mordorwww
打印 上一主题 下一主题

[网络子系统] 很疑惑: 内核协议栈为何不采用多核无锁设计? [复制链接]

论坛徽章:
9
程序设计版块每日发帖之星
日期:2016-02-13 06:20:00数据库技术版块每日发帖之星
日期:2016-06-15 06:20:00数据库技术版块每日发帖之星
日期:2016-06-16 06:20:00数据库技术版块每日发帖之星
日期:2016-06-18 06:20:00程序设计版块每日发帖之星
日期:2016-06-27 06:20:00程序设计版块每日发帖之星
日期:2016-07-09 06:20:00IT运维版块每日发帖之星
日期:2016-07-15 06:20:00IT运维版块每日发帖之星
日期:2016-07-27 06:20:00程序设计版块每日发帖之星
日期:2016-08-18 06:20:00
11 [报告]
发表于 2013-02-26 09:15 |只看该作者
chishanmingshen 发表于 2013-02-25 19:01
各个会话直接会有联系,不能仅仅根据简单的方法去分发!
回复 3# mordorwww


你说得有道理,内核用了锁,虽然麻烦些,但是从你这个意义上讲,要灵活些。
不过对于非OS 内核这类通用的东西,有可能的话,还是定制成无锁。以前在用户态玩,多核多线程从来就不用锁(当然除了消息队列)。现在玩内核,到底用不用锁,得权衡下。

论坛徽章:
0
12 [报告]
发表于 2013-02-26 10:58 |只看该作者
回复 10# 瀚海书香

1. 高端防火墙有很多是linux+FPGA实现的(40G小包限速)
------------ 是由FPGA不假。但是现在的防火墙都是要做到应用层,FPGA不会处理这么复杂的逻辑。

2. 多核应该是必须的,但不一定无锁。
------------ 要尽可能的避免无锁

3. 锁对性能的确有影响,但合理的规划锁的力度,应该问题不大。
------------ 锁的竞争不仅带来性能的下降。同时由于资源的共享性,会导致不同的CPU的cache冲突,这也带来了性能的下降。

论坛徽章:
6
金牛座
日期:2013-10-08 10:19:10技术图书徽章
日期:2013-10-14 16:24:09CU十二周年纪念徽章
日期:2013-10-24 15:41:34狮子座
日期:2013-11-24 19:26:19未羊
日期:2014-01-23 15:50:002015年亚洲杯之阿联酋
日期:2015-05-09 14:36:15
13 [报告]
发表于 2013-02-26 11:49 |只看该作者
回复 12# GFree_Wind
可以把复杂的逻辑放到cpu上,处理完了后把结果标记到FPGA上,实现流控、封堵等功能。

现在的linux内核已经在大量在使用per_cpu了,不过有些锁还是没法避免的。

关于多核共享资源,的确可能导致缓存被其他的处理器标记为S,然后变为M,导致cache失效。

   

论坛徽章:
0
14 [报告]
发表于 2013-02-26 12:08 |只看该作者
回复 13# 瀚海书香


可以把复杂的逻辑放到cpu上,处理完了后把结果标记到FPGA上,实现流控、封堵等功能。
——部分功能是可以这么做的。但是有的功能是需要解析每一个7层数据包。这个只能cpu做。

现在的linux内核已经在大量在使用per_cpu了,不过有些锁还是没法避免的。
——毕竟linux是通用的内核。而网络设备,则可以对linux进行定制,大量使用per cpu。


论坛徽章:
0
15 [报告]
发表于 2013-02-26 14:43 |只看该作者
现在有很多人已经这样做了,详见弯曲上面的讨论……

就Netfilter来讲,最大的挑战在于,需要把同一个会话,放在同一个CPU上,才有可能实现每个cpu一个无锁的会话表。

论坛徽章:
0
16 [报告]
发表于 2013-02-26 14:47 |只看该作者
不用FPGA ,纯X86  双路E5 ,100G 的性能,去看看A10 的最新产品吧

论坛徽章:
0
17 [报告]
发表于 2013-02-27 14:48 |只看该作者
回复 10# 瀚海书香


    没错,加锁解锁还好,就害怕使用不合理,导致大面积的等锁,这个对性能的影响就大了。

论坛徽章:
0
18 [报告]
发表于 2013-03-08 23:28 |只看该作者
今天又看了A10 的资料,他确实是每个CPU 1个回话表
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP