免费注册 查看新帖 |

Chinaunix

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

关于linux对非对称多CPU核支持的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-10-09 17:53 |只看该作者 |倒序浏览
本帖最后由 tobeychen 于 2011-10-10 09:39 编辑

看了linux的源码,有很多smp的代码,请问smp是指对称处理器吗?

那么如果是的话,linux内核能够支持非对称多处理器吗?非对称多处理器的英文简称是什么呢?以前还看到过UP,好像也是跟多核有关的,糊涂了。

很菜,请高手们启蒙。。。

论坛徽章:
0
2 [报告]
发表于 2011-10-09 18:51 |只看该作者
没有人回答,百度了一下,非对称处理器架构叫amp,但是linux支持amp吗?

论坛徽章:
0
3 [报告]
发表于 2011-10-10 10:58 |只看该作者
别沉了,等你回答

论坛徽章:
0
4 [报告]
发表于 2011-10-10 14:08 |只看该作者
amp是架构,不过这种架构的处理方式一般来说是使用TLP(线程级并发处理:Thread-Level Parallelism)方式。或者说是使用Multitask的处理方式,把处理单元认为是多个(而非像smp一样认为是一个整体)。

论坛徽章:
0
5 [报告]
发表于 2011-10-10 16:55 |只看该作者
linux本身仅提供的是SMP, but 你实际使用过程中,可以AMP方式来使用,但是内核要修改很多地方代码。

论坛徽章:
0
6 [报告]
发表于 2011-10-10 17:16 |只看该作者
回复 4# cgl_lgs


    谢谢,但可以说详细一点吗?

    我理解的smp,应该也是tlp方式啊,线程同样要和具体的cpu对应。

    amp和smp最大的区别是不是只是在于amp时,应用要具体区别该在那个cpu上运行?比如处理低速IO和input设备响应的线程,交给放到性能低的cpu处理好了,这样可以省去不少电力。

论坛徽章:
0
7 [报告]
发表于 2011-10-10 17:37 |只看该作者
回复 5# tuibo


    谢谢。

    理论上可行,还是有这样的成功的案例呢?

    目前想到的是应该需要把process_functions有关部分修改。

    还有就是进程迁移部分也需要修改, 如果可行的话,弱化低速cpu上的调度,让他干一些纯粹的是事情就好了,它的调度也由高速cpu来负责。

论坛徽章:
0
8 [报告]
发表于 2011-10-10 18:49 |只看该作者
看看我的博客里面有一篇文章

论坛徽章:
0
9 [报告]
发表于 2011-10-12 11:05 |只看该作者
smp和amp个人认为主要的区别是在于指令级并行,而线程级别的则可以都用上。
一种方法:
你用gcc编译一个带openmp的程序,然后执行它看看在3核cpu上的执行便可:)

论坛徽章:
0
10 [报告]
发表于 2011-10-12 20:57 |只看该作者
支持amp,不需要特别修改linux吧,amp是每个核单独运行独立的操作系统或者核心实例,amp反而利于原来单核程序的运行或者继承,为老程序的移植提供了相当大的便利性(比如很多程序在多核上运行不是很理想的)。但是由于一个核心就要一个操作系统核心实例,比较耗资源。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP