是Bug:测试WinXP遇双核心超线程问题 |
---|
http://www.sina.com.cn 2005年03月10日 11:24 PCPOP-电脑时尚 |
文/横竖横 我们知道,Intel即将推出Smithfield双核心的P4 EE处理器,同时这个处理器是支持超线程的,所以我们会在系统中看到一共4个处理器。我们还记得当Intel刚刚推出超线程技术那会,在Windows 2000系统中,它的表现十分糟糕,有很多应用中打开超线程甚至比关闭超线程性能要差不少,当时我们把这个现象归结于系统的调度不利。那么我们理所当然想到,在Window XP系统中,双核心处理器打开超线程之后到底会有怎么的表现?今天我们来预先看看。为了模拟这个结果,我们使用双Xeon处理器来模拟双物理处理器(4个逻辑处理器)的情况,因为这种配置在服务器里面是非常常见的配置,而我们今天是要看在桌面系统中的表现。具体的配置是两块3.0GHz的Xeon,1GB的DDR 400内存,E7210芯片组的主板,操作系统是Windows XP SP2。我们使用视频编码程序来检验系统的程序调度对这种4个逻辑处理器的指挥效果。因为在我们的经验中,超线程对视频编码是很有好处的。 上图是Windows Media Encoder 9的测试结果,我们可以看到,当只有一个处理器时,打开超线程后,可以提高系统性能达20%。而使用双处理器,关闭超线程,系统性能相对单处理器提高了65%。但是当我们打开两个处理器上的超线程之后,性能竟然降低了3.5%,为了证实这个结果,我们还做了VirtualDub 1.6.3的测试。 图为:单处理器打开超线程对性能有较大好处 结果再一次表明,单处理器打开超线程对性能有较大好处,但是双处理器打开超线程反而导致性能下降。这是为什么呢?下图是一张双处理器(4个逻辑处理器)的示意图。 图为:4个逻辑处理器 对于双处理器,操作系统的分配工作机制应当是:如果第一个线程由上图中的CPU#1完成,第二个线程必须由另外一个物理处理器中的一个逻辑处理器(CPU#3或者CPU#4)完成,而不能由CPU#2完成。因为系统会尽量使用两个物理处理器,否则不就变成单处理器系统了?只有先使用两个不同物理处理器,而不是一个物理处理器中的两个逻辑处理器,才会充分发挥双处理器的性能。我们来看一下下面一个测试的结果,它可以反映出使用不同逻辑处理器对性能的影响。
|