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.