Linux Kernel Network Subsystem Patching

Lennart Sorensen lsorense-1wCw9BSqJbv44Nm34jS7GywD8/FfD2ys at public.gmane.org
Tue Jan 21 22:42:07 UTC 2014


On Tue, Jan 21, 2014 at 04:26:24PM -0500, Bob Jonkman wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> Is there a difference between hyperthreading and multithreading?
> 
> (Not a snark -- I really don't know, and would like to...)

Hyperthreading is one way to give you multiple hardware threads.
Actual seperate cores is another way.  To software there is no
difference between a CPU core and a CPU thread.  Every core has at
least one hardware thread.  Hyperthreading gives each core 2 threads
(in all current implementations).  power6 has 2 threads per core of SMT,
and power7 has 4 threads per core.  power8 is likely to have 8 threads
per core.

Multithreading is multiple threads in a process.  Every process has
at least one thread (if it has more than the first one, then it is a
multithreaded program).  The system runs one thread on one CPU at any
given time, so a multithreaded program could be using multiple cores at
once, or at least multiple hardware threads on a core.

The hardware threads share some resources, such as execution units,
but do not share CPU registers.  Each CPU core on the other hand is
independant (in general.  AMD's newer chips is starting the share the
FPU between two cores in interesting ways, without sharing anything else).

-- 
Len Sorensen
--
The Toronto Linux Users Group.      Meetings: http://gtalug.org/
TLUG requests: Linux topics, No HTML, wrap text below 80 columns
How to UNSUBSCRIBE: http://gtalug.org/wiki/Mailing_lists





More information about the Legacy mailing list