麦克雷 Mavom.cn
标题:
用了一段时间big sur,确实在cpu调度上win没法比
[打印本页]
作者:
qingyu701025
时间:
2021-11-10 17:51
标题:
用了一段时间big sur,确实在cpu调度上win没法比
虽然我也发了不少手动调教win调度的帖子,但是有一点感触却越来越明显,就是windows依旧采用的是一个“基于负载”的调度哲学,即使是intel在硬件上使用的speedshift,基本原理上也是如此。在过去我对ios的研究过程中,发现苹果系统同时实现了四种调度方式:(1)基于cpu的负载的传统策略,是从服务端资源利用率的角度出发的;(2)基于线程代码的特征。这里又分为两种,一个是区分了线程是cpu密集型还是io密集型,这个是通过线程在运行过程中真正在使用cpu的时间占它自己全部运行时间的比重来判断的,使用的指标是“平均停驻时间”。另一个是区分了线程代码本身的指令并行度的高低,使用的指标是我之前的帖子里面发现的一些内核变量,比如“cpu-int-density-ipc”之类的,这里可以看出系统甚至还区分了整数、浮点和存储三种不同类型指令的并行度来决定调度;(3)基于app自身对线程的标记。允许app标记自己的线程为某一种类的线程,比如前台交互线程、后台服务线程、后台耗时线程之类的,如果有这样的标记一般都会优先按照标记来调度。(4)基于能耗水平的考量。系统自己定义了大小核心在不同频率下的典型功耗值,然后通过统计线程的预计运行时间,可以得到线程在大小核分别运行下的预计能耗,然后通过“cpu-efficiency-target”这样的指标来决定大小核调度。因此总的来说,线程要调度到大核,系统会考虑:(1)是cpu密集型吗?因为io密集型就算扔到大核上也加速不了多少,反而更加耗电。(2)有很高的指令并行度吗?如果指令并行度很差,那么即使是cpu密集型,扔到大核上也不能很好地利用大核的多发射能力,同样浪费能耗。(3)app是否指定了大核运行。(4)是否符合能耗要求。
可以看到苹果系统在cpu调度手段上比windows丰富的多,先进的多。我觉得即使intel 12代出来后,如果windows的调度机制无法完善的话,大小核的意义也不会很大。
作者:
l55778786
时间:
2021-11-10 17:52
由于Windows内核缘故,alderlake只能集群迁移,不能大小核全开是真的吗?
作者:
气猫的鱼
时间:
2021-11-10 17:53
顶
(, 下载次数: 0)
上传
点击文件名下载附件
作者:
r50963568
时间:
2021-11-10 17:53
顶
(, 下载次数: 0)
上传
点击文件名下载附件
作者:
wishing0416
时间:
2021-11-10 17:54
(, 下载次数: 0)
上传
点击文件名下载附件
作者:
b55810575
时间:
2021-11-10 17:54
(, 下载次数: 0)
上传
点击文件名下载附件
作者:
Vaubguk
时间:
2021-11-10 17:55
苹果是把iOS优秀的电源管理策略移植到了Macos上了吗
(, 下载次数: 0)
上传
点击文件名下载附件
作者:
actor
时间:
2021-11-10 17:55
大佬 顶
(, 下载次数: 0)
上传
点击文件名下载附件
作者:
艾的民
时间:
2021-11-10 17:56
太长不看,macOS支持大小核,Windows不支持
Intel激将凉透
作者:
iumvr
时间:
2021-11-10 17:56
提示:
作者被禁止或删除 内容自动屏蔽
作者:
cccccccccccccc
时间:
2021-11-10 17:57
NT内核上次底层大更新还是2006年的Vista,你让它支持那么多特性也是难为它了,elderlake那种大小核在NT中是按非对称双路CPU处理的,用过骁龙的win本子就知道。实际上要不是xorg的架构过于老旧,wayland又不成熟,桌面用Linux都比win流畅
作者:
lenusikEn
时间:
2021-11-10 17:58
用过黑苹果就明白了,确实爽
(, 下载次数: 0)
上传
点击文件名下载附件
作者:
BrendaMl
时间:
2021-11-10 17:59
大神现在还是这种看法吗 或者有什么新的看法和展望对win平台
欢迎光临 麦克雷 Mavom.cn (http://www.mavom.cn/)
Powered by Discuz! X3.5