- 主题:win10 的调度还是太差子
win10 经常把任务调度到超线程上面去。所以在任务管理器上面看,前面几个核心的使用比较高,而后面几个核心的使用率比较低。
这显然是错的。应该优先调度到每个物理核心的一个线程上。等所有物理核心都用完一个线程,再调度到使用率最低的那个物理核心上。
连最简单的超线程都调度不对还搞大小核,win10 是不是太自信了?
--
FROM 47.243.39.*
有人能把这个超线程的调度先弄对吗?
包括以前推土机其实也是,应该优化分配到每个物理核心一个线程,满了再分配另外一个线程才对。
【 在 poocp 的大作中提到: 】
: 有人写了自定义的大小核调度器,win10的。[upload=1][/upload]
--
FROM 47.243.39.*
这种思路显然是错的。
缓存命中率再高,也没有多余的资源来跑线程。
举个例子,超线程提升算 30% 吧,很理想的情况了。原本只有一个线程时,这个线程按 100% 的效率运行。调度新线程进入同一物理核心后,两个线程变成只有原来 130% / 2 = 65% 的效率。这明显不对。
最优的方案是调度到另外的物理核心。先把 CPU 里面所有的物理核心吃满,再来吃超线程核心。就算命中率再差,两个线程也能达到接近 100% 的效率。
【 在 kettle 的大作中提到: 】
: 超线程任务调度需要考虑缓存命中率,所以会尽量把同进程的不同线程放到同一个核上去跑,结果就是你说的这个情况
: 发自「今日水木 on iPhone 8 Plus」
--
FROM 47.243.39.*
睿频关了,让处理器总是跑在睿频?这算超频了。
牙膏厂 CPU 现在的基频都特别低。特别是那些不带 K,TDP 标 65w 的 i5,基频我看就 2.1GHz 左右。想要稳定跑在睿频,主板供电至少得安排 200w.
【 在 kettle 的大作中提到: 】
: 我也关了超线程,睿频为啥要关?
: 发自「今日水木 on iPhone 8 Plus」
--
FROM 47.243.39.*
你可以看一下任务管理器,看看频率有没有变化。
有时候关了睿频后仍然会自动提升频率。不知道是怎么做到的。
【 在 mjx 的大作中提到: 】
: 我是tdp 65w的 10900, 2.5GHz,关不关睿频没感觉到区别
--
FROM 47.243.39.*
我还是感觉这样没有为最高性能优化啊。反正我所有的机器都关闭了超线程了。
【 在 zli07 的大作中提到: 】
: 这样可以让部分核心维持高频,其他核心降频运行,相比均匀调度更省电而且突发性能会更高
--
FROM 47.243.39.*
不是。你再仔细看看。我的最佳性能也是指家用场景下的。
优先保证单核性能。实在物理核心不够用了,再去调度超线程核心。
但现在的操作系统采用的是优先调度超线程核心。所以经常出现前几个核心忙死。后几个核心没事干的情况。
【 在 DeltaIII 的大作中提到: 】
: 别人的“最高性能”通常指的是单核睿频,适用于家用台式机和笔记本
: 你的“最高性能”指的最高算力吞吐量,更适用于工作站和服务器
: 定义都没有对齐的前提下,自然是不会有任何共识。。。
: ...................
--
FROM 59.61.198.*
这个应该是牙膏厂的 BUG 啊。只有一两个核心的时候能够跑比较高的睿频,核心一多,就全员降频。牙膏厂全核跑的时候有时候就 2.5GHz 左右我记得 i5 的一些型号。
不过两个超线程分一个物理核心的话,每个超线程的性能只有单核的 70% 不到这也得考虑啊。
放心吧,我的思路肯定不是追求吞吐。我对各种领域的低延迟算法非常感兴趣。
【 在 DeltaIII 的大作中提到: 】
: PC用户带来体感提升的是低载核尽可能节能,给高载核留出余量来实现更高睿频
: 而特意构造“前几个核心忙死。后几个核心没事干”恰恰是能达成更高睿频的必要条件
: 均摊负载,实现标称频率下“性能总和最优”,这明显是追求算力的工作站服务器场景
: ...................
--
FROM 59.61.198.*
台式机采用这样的方案就很奇怪了。
像 ryzen 5700g 这种 CPU,打开 PBO 的时候就应该尽量分配到物理核心上面。而不是像现在 win10 分配到超线程。
【 在 zli07 的大作中提到: 】
: 功率和TDP受限啊
: 比如说65W的六核CPU,如果全核最高睿频,肯定远超65W了
: 那怎么办,只让一两颗核心处于最高睿频,让它们跑满。
: ...................
--
FROM 59.61.198.*