[CALUG] CPU/core/threads

Jim Bauer jfbauer at comcast.net
Sun Feb 27 14:58:02 EST 2011


On 02/27/2011 11:51 AM, Walt Smith wrote:
>
> A 15 minute review of ark.intel.com shows a column for cores/threads.
> For most newer hi-end processors, the numbers seems to be
> 2C/2T which is open to interpretation.
>
> However, the lower-end cheaper ( and probably much older) processors
> show 1C/2T.
>
> This tells me that the lower end use hyperthreading and that the
> processors want to handle some of a second thread.
 >
> The higher end interpretation I suggest is that each core does one
> thread ( two cores would do 2 threads) (DOH !!)  and hence there's no
> hyperthreading built in.  The basic conclusion is simply that each core
> does exactly one thread.
> ( I would like to hear dissenting view, if any ).

Looking at other entries, I see 4C/8T and 6C/12T.  So I would assume 
that the one you found (2C/2T) does not have hyperthreading.  i.e the 
thread count given is to total for the physical CPU, not for each core.


> I haven't any idea what "turbo-boost" is... and a lot of them say no.
> I merely note that fact and am not particularly interested in that.
>
> It still begs a question: Since software can be written as processes,
> and can include threads, can the Linux kernel on it's own effectively
> dispatch threads to the hyperthread and/or separate cores, or does
> it only distribute processes ?  I understand Windows will automatically
> distribute out threads of one process to various cores.

Now keep in mind the the threads Intel is talking about here are more 
like virtual CPUs or virtual cores.  There are a completely different 
concept from threads in the pthreads, user-threads, or kernel-threads 
senses.

For the most part 1 CPU with 1 core and hyperthreading (2 threads) looks 
a lot like a plain old dual CPU system (1 core each, not hyperthreaded). 
  The kernel (and userspace) can see tell if the CPU cores have 
hyperthreadig enabled.  The scheduler is (I think) using this knowledge, 
but most of the kernel just thinks there are more CPUs available.  Linux 
exposes this info in /proc/cpuinfo.  See
http://www.brandonhutchinson.com/Understanding_proc_cpuinfo.html

BTW, if you think you have a CPU with hyperthreading but the info in 
/proc/cpuinfo doesn't seem to agree hyperthreading might be disabled in 
the BIOS.





More information about the CALUG mailing list