Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: 3.06 Xeon Test Results

Author: Tom Kerrigan

Date: 17:17:32 04/10/03

Go up one level in this thread


On April 10, 2003 at 11:12:24, Robert Hyatt wrote:

>>My understanding of SMT is as follows.  The processor divides its resources
>>(issue queue, functional units, cache, etc) among two threads.  Now, I *think*
>>that said threads are equal, that is, that they both get 50% of the CPU.
>>Otherwise, special OS code would have to be written to support SMT.
>
>Correct so far, although in reality both threads get considerably less than 50%
>each
>as much of the time finds both threads waiting for something from memory or
>cache,
>or waiting on a result from a previous instruction.

You could say the same thing about a single thread on a single processor, it's
not getting "100%" of the CPU's power because it's waiting for memory, cache,
previous instructions, blah blah blah. This is completely irrelevant.

>But I don't buy the 50% stuff, the cpu is not that simple internally.  One
>thread will run at
>nearly full speed and the other gets slipped into the gaps, which is what I see
>(at least) when
>running Crafty.  And, when you get down to it, this is what should be expected
>because of
>how the threads get intermixed.   A single thread almost _never_ runs at "full
>speed".  In fact,
>most run well below 50% of max cpu speed, for obvious reasons.  SMT simply moves
>that
>up a bit...

We're talking about millions of "gaps" per second and equal numbers of gaps per
thread (because it's the same software doing basically the same thing), so sure,
on a nanosecond scale, the threads aren't getting 50% each, but on any
reasonable scale they are.

-Tom



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.