- 主题:对普通人来说,cpu多线程其实没啥用吧
是超线程不是多线程。
你说的是对的。对于普通用户,直接来 8 个物理线程最简单有效。
超线程原本是牙膏厂对付农企的一个宣传手段,以前农企总说自己有八核四核,牙膏厂做不来,就把服务器用的超线程拿来应付。除了跑分多提一些分数,在真正的多任务桌面系统里面超线程表现都很差。随便跑几个 360 的流氓软件,CPU 看起来还是 30% 的使用率,其实已经 60% 了。
当然,对于程序员,因为有虚拟机、编译等任务,超线程还是非常有用的。
【 在 futurehost 的大作中提到: 】
: 我看了一下,多线程是用单核模拟两个线程
: 跑单线程应用,只能用一个核一个线程,跑分算100分的话
: 跑双线程应用,用单核双线程, 跑分也就120到130分,还有调度的问题存在
: ...................
--
修改:hgoldfish FROM 47.243.39.*
FROM 47.243.39.*
你讲的是总是性能。但对于普通桌面最重要的单线程性能并没有提升。反而因为使用了超线程以后,原本独占 CPU 的那个线程,现在却随时可能被分走计算资源,导致计算时长更长了。
举个例子,你现在有三个高优先级的任务,五个低优先级的任务,他们都被唤醒了。你的 CPU 是双核四线程。如果没有超线程,操作系统就会只调度三个高优先级的任务,剩下五个低优先级的会等这三个执行完才被调度到。但使用了超线程以后,剩下五个高优先级任务也会被调度。此时可以观察到三个高优先级任务的性能被影响了。
不过楼主现在大可不必担心这个问题了。主流已经是 8 核 16 线程,或者 6 大 4 小核的配置。不需要再考虑这个问题了。超线程在高核心的 CPU 里面,大抵有利无害。
【 在 yangtou 的大作中提到: 】
: HT就是利用多线程发掘单核的IPC,填满流水线,充分利用已有的功能单元。总得性能也就高个15~20%,对响应性或者多任务多线程应用有加速的,比如桌面的界面响应性,浏览器多页面,多线程的服务端应用等。不过现在这玩意有漏洞,系统加补丁后说不定性能还下降了。老cpu要么关掉
: HT,要么不要打补丁。
: --来自微微水木3.5.12
: ...................
--
FROM 47.243.39.*
但大多数都在 IO 睡眠中。等待接收远程连接什么的。
【 在 Oriphia 的大作中提到: 】
: 正常来说,打开桌面都不止这么少,开个桌面啥都不干应该已经500线程了,或者你打开任务管理器看看常驻线程有多少。
: [upload=1][/upload]
--
FROM 110.81.0.*
推土机确实也是超线程。但是推土机只是砍了一半的浮点单元啊。当时的分析是软件里面的浮点指令不多。结果碰到跑分软件就凉凉了。只有一半浮点单元的核心,理论性能可比真超线程强多了。当时牙膏厂的超线程不过能够提速 15% 左右而已,一直到 zen1 出来,zen1 才把超线程的加速能够提升到 30%.
推土机最大的失败是就算他给的核多,但是单核的性能实在不怎么样,得超频,像我就是买回 3.2G 超到 4.2G 使用,功耗爆了表。这个失败并不代表着超线程的成功。如果超线程是成功的,当时为啥玩游戏的都买 i5,而不是 i3 ?
你再加过头去用用当时的 i3,开超线程的时候,只要系统负载到 60%,鼠标都会飘。而关了超线程以后,系统负载到 100%. 只要 IO 没问题,系统反应都会很快哦。就是因为超线程会把低优先级的任务扔到 CPU 里面去阻碍高优先级任务的执行。这个可不是各种 micro benchmark 可以测试出来的。我当时很奇怪这个现象。想出是这个原因。
【 在 lvsoft 的大作中提到: 】
: 你这个就是胡说八道啊,
: 推土机时代核心多是因为核心被裁减成半残了,靠2个核心共享原本一个核心的配置,这其实也跟ht类似。
: 具体来说,推土机的物理核心大致介于ht的虚拟核和物理核的中间状态。
: ...................
--
FROM 110.81.0.*
你要考虑线程不一定在同一个程序里面。
不过这个事情就不用考虑了。现在的物理核心已经是四核起。很少会碰到我说的问题。
【 在 yangtou 的大作中提到: 】
: 你说的和我的矛盾吗?
: 如果你的程序优化很好,系统负载也满了,自然同一核上的两个HT线程会争强资源,但是并没有降低总体性能,因为显然功能单元处于更忙的状态流水线更满了
: HT能加速的是两个使用不同功能单元的线程的情况,假如两个线程都算浮点或者都在load/store那显然难以被加速。这是程序设计的问题,应该尽量把线程拆成使用不同功能单元的,而不是让他们为争强功能单元打架。
: ...................
--
FROM 36.249.99.*