linux内核如何支持多核cpu,现在的多核CPU,Linux操作系统是否能够实现单个进程(多线程)的多核调度(跨CPU核心调度)?...

Linux操作系统允许多线程在多核CPU上进行调度,以提升性能。但一个线程无法在多个CPU核心间有效同步执行,因为CPU的寄存器和缓存可能导致效率低下。当前技术下,多线程协同计算是提高多核效率的主要方式,通过优化算法和设置线程亲和性来分配计算任务。irqbalance服务和pthread库的函数可以辅助实现线程在不同核心上的分配。
摘要由CSDN通过智能技术生成

现在的多核CPU,Linux操作系统是否能够实现单个进程(多线程)的多核调度(跨CPU核心调度)?

关注:106  答案:2  mip版

解决时间 2021-02-02 01:11

e6cb1a03ad541b3098697807b7bf1798.png

提问者你說、你愛我

2021-02-01 10:18

如果能,那么线程之间的同步怎么样实现?怎么样保证指令的同步。如果不能,那么多核的意义何在,只是提高单个机器上能够运行的进程总数吗?那么对于进程而言,多核与单核有什么区别呢,求大神?

最佳答案

e6cb1a03ad541b3098697807b7bf1798.png

二级知识专家那年仲夏

2021-02-01 11:56

现在的技术,还是一个线程只能运行在一个 CPU 上。多核心,必须用多线程/进程来运行才能实现最大化。当然,你可以单个线程不停的在所有的 CPU 上来回跳。但是效率会很低很低。

因为 CPU 有寄存器和缓存的问题。如果你切换 CPU 运行,所有的数据都要进行一次传递。非常浪费时钟(在 CPU 上,程序执行不是一个时钟马上就能任意执行一个指令,而是流水线作业,一个指令需要很多个时钟才能处理完&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值