Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Magic 200MHz

Author: Eugene Nalimov

Date: 20:06:05 05/21/03

Go up one level in this thread


Simplest explanation is that *some* (less critical) resources are split 50-50,
and *some* are not. Somewhere I read (sorry, don't remember where) that P4 has 8
write buffers. When HT is on, each thread is getting 4 of those, and in rare
cases that can slow thing down even when 2nd thread is absolutely idle. OTOH
L1/L2 cache is shared.

I assume that Intel split the resources when (1) it simplifies hardware design,
and (2) it would not slow down HT-enabled CPU too much in common cases.

Thanks,
Eugene

On May 21, 2003 at 22:20:57, Robert Hyatt wrote:

>On May 21, 2003 at 15:48:46, Tom Kerrigan wrote:
>
>>On May 21, 2003 at 13:46:26, Robert Hyatt wrote:
>>
>>>On May 20, 2003 at 13:52:01, Tom Kerrigan wrote:
>>>
>>>>On May 20, 2003 at 00:26:49, Robert Hyatt wrote:
>>>>
>>>>>Actually it _does_ surprise me.  The basic idea is that HT provides improved
>>>>>resource utilization within the CPU.  IE would you prefer to have a dual 600mhz
>>>>>or a single 1000mhz machine?  I'd generally prefer the dual 600, although for
>>>>
>>>>You're oversimplifying HT. When HT is running two threads, each thread only gets
>>>>half of the core's resources. So instead of your 1GHz vs. dual 600MHz situation,
>>>>what you have is more like a 1GHz Pentium 4 vs. a dual 1GHz Pentium. The dual
>>>>will usually be faster, but in many cases it will be slower, sometimes by a wide
>>>>margin.
>>>
>>>Not quite.  Otherwise how do you explain my NPS _increase_ when using a second
>>>thread on a single physical cpu?
>>>
>>>The issue is that now things can be overlapped and more of the CPU core
>>>gets utilized for a greater percent of the total run-time...
>>>
>>>If it were just 50-50 then there would be _zero_ improvement for perfect
>>>algorithms, and a negative improvement for any algorithm with any overhead
>>>whatsoever...
>>>
>>>And the 50-50 doesn't even hold true for all cases, as my test results have
>>>shown, even though I have yet to find any reason for what is going on...
>>
>>Think a little bit before posting, Bob. I said that the chip's execution
>>resources were evenly split, I didn't say that the chip's performance is evently
>>split. That's just stupid. You have to figure in how those execution resources
>>are utilized and understand that adding more of these resources gives you
>>diminishing returns.
>>
>>-Tom
>
>
>You shold follow your own advice.  If resources are split "50-50" then how
>can _my_ program produce a 70-30 split on occasion?
>
>It simply is _not_ possible.
>
>There is more to this than a simple explanation offers...



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.