POPPUR爱换

标题: 这几张图是否说明Win7会优先使用8框超线程中的4个原生线程呢? [打印本页]

作者: i387dx    时间: 2012-9-24 23:19
标题: 这几张图是否说明Win7会优先使用8框超线程中的4个原生线程呢?
这几张图是否说明Win7/64会优先使用8框超线程中的4个原生线程呢?
[attach]2035301[/attach]

[attach]2035302[/attach]
[attach]2035304[/attach]

[attach]2035303[/attach]

感觉,Win7/64的线程调度确实很智能的说……



作者: Elwin    时间: 2012-9-24 23:48
你才知道,i3跟奔腾,有无超线程天差地别,i5跟i7就那啥了
作者: kinno    时间: 2012-9-25 00:21
对于超线程,没有原生线程之说啦,都是平等地位
作者: i387dx    时间: 2012-9-25 00:39
kinno 发表于 2012-9-25 00:21
对于超线程,没有原生线程之说啦,都是平等地位

这个确实如此,看最后一个截图2、4、6、7满载而不是2、4、6、8满载就可以证明你的观点。
但是,低负载时Win7优先启动4个线程,而不是让8个线程平均起来工作,应该是有它的道理的。如果8线程的U只使用四个的话,那就接近于不启用超线程的状态了,Win7在非满载的情况下酌情启动8个线程当中的4个,而让另外4个线程接近0负载,应该就是为了避免超线程拖累系统效能的情况发生。因此,Win7确实为超线程做了一定的优化,至少,在一定程度上努力的去避免超线程带来的负面影响了,这一点要比早期的XP系统还是强很多的……

作者: fish2fish    时间: 2012-9-25 06:59
应该说是系统会优先使用分属不同物理核心的线程,同一个物理核心里的两个线程是平行平等的,01表示第一个物理核心的线程,至于系统优先用0还是1那是系统随机决定的,而且win7系统会在同一个物理核心的2个线程之间随机切换,win8就不会
作者: kakaku.bj.cn    时间: 2012-9-25 07:32
i387dx 发表于 2012-9-25 00:39
这个确实如此,看最后一个截图2、4、6、7满载而不是2、4、6、8满载就可以证明你的观点。
但是,低负载时 ...

你就算开8个线程,8个“核心”也不可能平等



作者: i387dx    时间: 2012-9-25 07:52
kakaku.bj.cn 发表于 2012-9-25 07:32  你就算开8个线程,8个“核心”也不可能平等

个人理解,kinno朋友说的平等是地位或者机会均等的意思。就是说,让0号逻辑CPU满载和让1号逻辑CPU满载得到的计算能力相当,并不是说0号就比1号强。同理,如果系统需要让四个逻辑U满载,可能会随机在0246和1357四对中挑四个出来,结果都是一样的。
作者: kinno    时间: 2012-9-25 08:36
i387dx 发表于 2012-9-25 00:39
这个确实如此,看最后一个截图2、4、6、7满载而不是2、4、6、8满载就可以证明你的观点。
但是,低负载时 ...

同意,线程调度在4线程需要工作时,应该是优先安排4个核心的4个线程来工作,避免任务过度集中于一个核心的情况

作者: kakaku.bj.cn    时间: 2012-9-26 09:43
本帖最后由 kakaku.bj.cn 于 2012-9-26 09:47 编辑
i387dx 发表于 2012-9-25 07:52
个人理解,kinno朋友说的平等是地位或者机会均等的意思。就是说,让0号逻辑CPU满载和让1号逻辑CPU满载得到 ...

总之,闲置状态下0和1有相同的能力
但是在0满载的时候,1的能力就非常有限了,甚至什么也做不了


作者: i387dx    时间: 2012-9-26 13:23
kakaku.bj.cn 发表于 2012-9-26 09:43
总之,闲置状态下0和1有相同的能力
但是在0满载的时候,1的能力就非常有限了,甚至什么也做不了

对,这就叫机会均等,既它们都有同样的机会来调用这些同样的资源。但是资源总量是有限的,谁先把资源占了,另一个就没辙了……
但是,实际上,即使抢先的那个把资源全占了,另一个仍然还能调出30%左右的资源来,原因就是标准的冯诺依曼式计算机受其运行方式的限制,单一线程即使完全满载也无法用尽全部的计算资源,还有一部分浪费掉了,而超线程技术就是把这些额外的资源利用起来的技术……

作者: kakaku.bj.cn    时间: 2012-9-26 13:51
i387dx 发表于 2012-9-26 13:23
对,这就叫机会均等,既它们都有同样的机会来调用这些同样的资源。但是资源总量是有限的,谁先把资源占了 ...

。。。这和冯若依曼有啥关系你在扯啥。。。
30%只是个统计值,ht能分出来的只有流水线,大致上在很好地支持多线程的程序里,平均能达到30%左右的提升就已经符合ht的设计初衷了,30%是这么来的。
如果碰到不友好的程序,提升0%很正常,即ht核心资源瓶颈无法运行


作者: i387dx    时间: 2012-9-26 14:03
kakaku.bj.cn 发表于 2012-9-26 13:51
。。。这和冯若依曼有啥关系你在扯啥。。。
30%只是个统计值,ht能分出来的只有流水线,大致上在很好地支 ...

我的意思是说,现在的CPU在仅有一个线程且按照标准的存储程序工作原理来工作时,多少总有一些流水线不能完全被利用。而超线程技术是为了把那一部分实用率不高的流水线利用起来而开发的技术。不知道我这样说是不是在扯,呵呵,如果你还是认为我在扯,那我就没话说了……
作者: bugbear    时间: 2012-9-26 14:18
ibt(linpack),这个在ht上有30%的性能下降,比如4c8t的,你跑8t、4t测试性能都很差,关闭ht,跑4t就很高。差距能有30%。

这是开ht跑8t、4t的不同,可见8t是100%占用,4t是50%。但是4t的核心分配是不同的(或许切换频繁造成性能下降)。

[attach]2037212[/attach]
[attach]2037213[/attach]

作者: i387dx    时间: 2012-9-26 14:38
bugbear 发表于 2012-9-26 14:18
ibt(linpack),这个在ht上有30%的性能下降,比如4c8t的,你跑8t、4t测试性能都很差,关闭ht,跑4t就很高。 ...

个人感觉这个应该就是频繁切换造成的性能下降。个人猜测在Win7下跑同样测试,性能下降的程度可能会低一些;在Win8下跑性能下降的程度会更轻一些。Win7的CPU调度器比XP的要智能一点儿,知道优先满足物理核心的需要;而Win8的更智能,同一物理核心的两个逻辑U之间的切换更少……
作者: bugbear    时间: 2012-9-26 14:41
i387dx 发表于 2012-9-26 14:38
个人感觉这个应该就是频繁切换造成的性能下降。个人猜测在Win7下跑同样测试,性能下降的程度可能会低一些 ...

我是在win7 x64下跑的


作者: kakaku.bj.cn    时间: 2012-9-26 15:44
bugbear 发表于 2012-9-26 14:41
我是在win7 x64下跑的

理论上ht不提升性能很正常,但性能会下降是一种可以修正的bug,只是理论上



作者: i387dx    时间: 2012-9-26 16:38
bugbear 发表于 2012-9-26 14:41
我是在win7 x64下跑的

个人感觉,操作系统的CPU调度器对超线程的优化程度也是很重要的。Win7下,低负载应用时,CPU调度器会尽量把负载匀给4个物理核,也就是说,经常会看到其中4个逻辑U干活而另外4个逻辑U闲着的情况,这样就在一定程度上避免了来回切换或者一个核心上的两个逻辑U争抢造成的性能损失。而XP下面,基本上是8个逻辑CPU都有负载的,这样肯定会增加线程切换和资源争抢造成的性能损失的。另外,据说Win8的CPU调度器对超线程做了进一步优化,而且对按摩店的推推机所用的那种蛋疼的“8核4模块”结构也做了优化,呵呵,过几天装个Win8试试,尝尝新鲜的说……

作者: bugbear    时间: 2012-9-26 17:04
kakaku.bj.cn 发表于 2012-9-26 15:44
理论上ht不提升性能很正常,但性能会下降是一种可以修正的bug,只是理论上

ibt(linpack)在4c8t上跑8t性能下降30%充分说明了ht的弱点

理论上8t都可以工作,不过因为linpack浮点数负载太大,结果8t互相绊脚了。

作者: bugbear    时间: 2012-9-26 17:06
i387dx 发表于 2012-9-26 16:38
个人感觉,操作系统的CPU调度器对超线程的优化程度也是很重要的。Win7下,低负载应用时,CPU调度器会尽量 ...

不管是多线程还是ht(超线程),最后还得靠本身软件优化才行。光靠操作系统是不行的。

比如老版软件在新系统上也不会有性能提升...

你看到的4t在4c8t上分配四个核心工作而不是集中在2个核心除了性能考虑,另外就是温度(平衡)、功耗的考虑了。

作者: darkangel308    时间: 2012-9-27 00:18
bugbear 发表于 2012-9-26 14:18
ibt(linpack),这个在ht上有30%的性能下降,比如4c8t的,你跑8t、4t测试性能都很差,关闭ht,跑4t就很高。 ...

Linpack在Win8下4t,8t差距比较小了,只有8%左右
[attach]2037996[/attach] [attach]2037995[/attach]





作者: bugbear    时间: 2012-9-27 08:46
darkangel308 发表于 2012-9-27 00:18
Linpack在Win8下4t,8t差距比较小了,只有8%左右

你是关掉ht跑4t么?

不关ht,4t和8t差不多(4t误差更大)

作者: darkangel308    时间: 2012-9-27 09:14
bugbear 发表于 2012-9-27 08:46
你是关掉ht跑4t么?

不关ht,4t和8t差不多(4t误差更大)

哦,你是说跟关掉HT比啊,那我晚上回去再试试

作者: darkangel308    时间: 2012-10-9 11:08
bugbear 发表于 2012-9-27 08:46
你是关掉ht跑4t么?

不关ht,4t和8t差不多(4t误差更大)

开关HT下4线程和8线程的成绩

[attach]2049659[/attach]    [attach]2049657[/attach]

[attach]2049660[/attach]    [attach]2049658[/attach]

作者: bugbear    时间: 2012-10-9 11:34
darkangel308 发表于 2012-10-9 11:08
开关HT下4线程和8线程的成绩

ht在高压下就是悲剧
作者: bugbear    时间: 2012-10-9 11:36
darkangel308 发表于 2012-10-9 11:08
开关HT下4线程和8线程的成绩

你什么处理器?
3770?

我2500k oc 4.6g能有118-120的成绩(4t)
换成3770+4后,还是差不少,ht哪怕关了感觉也有点负面影响。

作者: darkangel308    时间: 2012-10-9 11:43
bugbear 发表于 2012-10-9 11:34
ht在高压下就是悲剧

类似linpack这样能让CPU执行单元满负荷运行的应用还是很少的,日常使用基本碰不到,E3和i5之争也是基于i5能通过4倍频和超频获取频率优势来抗衡超线程的,本身这个技术还是挺不错的

作者: darkangel308    时间: 2012-10-9 11:44
bugbear 发表于 2012-10-9 11:36
你什么处理器?
3770?

e3-1230 v2

作者: eGenius    时间: 2012-10-9 13:39
等待Haswell对超线程性能的改进
作者: NG6    时间: 2012-10-9 21:43
darkangel308 发表于 2012-9-27 00:18
Linpack在Win8下4t,8t差距比较小了,只有8%左右

win8真是太丑了。。。。
作者: Tempestglen    时间: 2012-10-10 08:20
提示: 作者被禁止或删除 内容自动屏蔽
作者: bugbear    时间: 2012-10-10 09:10
Tempestglen 发表于 2012-10-10 08:20
有人企图用带超线程的atom Z2580和同频Arm pk跑分软件,看来他们在linpack这个跑分软件上天然不利呀,就怕 ...

我看好intel下代工艺,arm现在多核功耗也上去了,而电池容量基本不变,结果就是智能手机还是一天一冲...
作者: Tempestglen    时间: 2012-10-10 09:13
提示: 作者被禁止或删除 内容自动屏蔽
作者: darkangel308    时间: 2012-10-10 09:42
Tempestglen 发表于 2012-10-10 08:20
有人企图用带超线程的atom Z2580和同频Arm pk跑分软件,看来他们在linpack这个跑分软件上天然不利呀,就怕 ...

以linpack作为参照物的话,现在arm跟主流x86性能那差了几个数量级啊,一个是GFLOPS,一个是MFLOPS


作者: Tempestglen    时间: 2012-10-10 10:45
提示: 作者被禁止或删除 内容自动屏蔽
作者: 顽皮的灰兔    时间: 2012-10-10 10:57
或许是HT本身就拒绝跑满呢?本身就要留出余地作线程调度?linpack硬性跑满的话无异于“冲突“?
作者: darkangel308    时间: 2012-10-10 11:04
本帖最后由 darkangel308 于 2012-10-10 11:11 编辑
Tempestglen 发表于 2012-10-10 10:45
既然你堆linpack比较熟悉,能否研究一下。linpack貌似版本很多,android手机版是java写的?跑在虚拟机上吗 ...

我可不熟悉linpack,就是跑跑分而已,不过目前安卓手机用的linpack测试软件是可以选择单线程和多线程的,一般测试的时候不都会给出单线程和多线程成绩么,按网上的介绍安卓的linpack测试软件应该是基于java的,对效率是有影响的,但是即便如此,成绩上的差距应该也还是能说明一些问题的,另外你提供的x86 CPU的成绩很有意思,跟Intel Burn Test的结果不是差一点两点啊,不知道到底是哪个的结果有问题,或者说是优化的差异造成的
作者: Tempestglen    时间: 2012-10-10 11:26
提示: 作者被禁止或删除 内容自动屏蔽
作者: darkangel308    时间: 2012-10-10 11:46
本帖最后由 darkangel308 于 2012-10-10 11:46 编辑
Tempestglen 发表于 2012-10-10 11:26
Latest conversions are varieties to run on Android tablets and phones on ARM CPUs. Most use a Java ...

IVB单核1G的成绩按照96/4/3.5=6.85G,你最后的表里也有安卓单线程和多线程成绩,1.5G A9的ARM是50M,折算到1G大概是34M,相差了206倍,当然,代码不同确实不好比较,如果有完全相同的代码,没有针对性优化的成绩可能更能说明问题

作者: Tempestglen    时间: 2012-10-10 13:37
提示: 作者被禁止或删除 内容自动屏蔽
作者: darkangel308    时间: 2012-10-10 14:13
本帖最后由 darkangel308 于 2012-10-10 14:15 编辑
Tempestglen 发表于 2012-10-10 13:37
core2 duo  1Ghz单核貌似是0.63Ghz,和ivb有十倍差距?肯定有问题。照这么算,core2也就是A6的2倍性能@同 ...

这里有Atom的成绩,1.6G的Atom N270只有0.3075G,看来atom和桌面x86 cpu的效率确实差距非常大啊
http://www.techpowerup.com/forums/showthread.php?t=94721



作者: Tempestglen    时间: 2012-10-10 15:35
提示: 作者被禁止或删除 内容自动屏蔽
作者: darkangel308    时间: 2012-10-10 16:45
Tempestglen 发表于 2012-10-10 15:35
我也找到这个表格了。GFlops Per GHz,atom只有0.2Gflop。这个表格只是说每Ghz多少Gflop,是指N个核心 ...

苹果那个测试软件感觉不靠谱,软件测试的是处理器的浮点运算能力,没道理会随着软件设置而变化

作者: s4e    时间: 2012-10-10 17:03
LZ的图貌似不大对。超线程不是 01 23 45 67 这4对。而是04 15 26 37这4对。LZ的图里面只有2个核心在工作。
作者: Tempestglen    时间: 2012-10-10 17:14
提示: 作者被禁止或删除 内容自动屏蔽
作者: darkangel308    时间: 2012-10-10 17:57
Tempestglen 发表于 2012-10-10 17:14
你去看看linpack的定义,有三种,一种是100行矩阵,不允许优化,还有1000行矩阵的,好像是1000,记不清楚 ...

Linpack是通过计算量除以时间得到性能,不同的参数配置只是为了让最后的结果更为准确而已,不应该产生大幅波动
作者: Tempestglen    时间: 2012-10-10 19:20
提示: 作者被禁止或删除 内容自动屏蔽
作者: Tempestglen    时间: 2012-10-10 19:41
提示: 作者被禁止或删除 内容自动屏蔽
作者: overair    时间: 2012-10-10 20:05
s4e 发表于 2012-10-10 17:03
LZ的图貌似不大对。超线程不是 01 23 45 67 这4对。而是04 15 26 37这4对。LZ的图里面只有2个核心在工作。

应该是这样的,双物理核心及此两核心附带的超线程工作

现在的程序逐步向双核优化靠拢,4核也在增多,双核4线程有时也能冒充4核。

4心八箭用的机会非常渺茫,非常特定应用环境,非常特定的人才能用到,

没有软件的支持,再强的硬件也得丢,宝马到了机耕道,不如两轮摩托,想修路?投入的钱够买上百个宝马了





欢迎光临 POPPUR爱换 (https://we.poppur.com/) Powered by Discuz! X3.4