On Mon, 2014-05-05 at 09:25 -0700, Carruth, Rusty wrote:
> In my past experience, I had noticed that the BOGOMIPS reported on
> (each of the) hyperthreading enabled CPUs was half that of the same
> CPU with hyperthreading turned off. Which made me believe that the 2
> CPUs were effectively half the speed of the single one. (That is, if
> single is 2 bogomips, then hyperthreaded it was 1 bogomips on each
> CPU).
The answer is "it's complicated." But in general processor designs have
gone through a history of optimizing what is called "Instruction Level
Parallelism." Basically this means if you have two instructions that are
next to each other, one is an addition and the other a multiplication,
and they don't need each other's value the processor will do them at the
same time. This is pretty cool because more of the processor gets used
at once. Then people realized you could put two multiplication units on
and if there were two multiplies next to each other, both of those could
be done at the same time and overall things were faster. But, the case
quickly arose where there weren't two multiplications next to each other
so you had part of the processor sitting idle. So, again trying to use
the full CPU engineers looked to "Thread Level Parallelism" to try and
find the additional multiply. Basically this means the CPU is aware of
the second process and starts looking to fill the empty area of the
processor's execution units with instructions from that second process.
Is it faster? The answer is: "it depends." If you have two processes
that are both constantly using the multiplication unit, no, you still
run out of multiplication units. But if one is doing addition and the
other multiplication then you'd have a processor that looked twice as
fast! Reality is somewhere in between, but it depends on workload.
Estimates I've seen have put it at a 20% speedup, but YMMV.
Ted
---------------------------------------------------
PLUG-discuss mailing list -
PLUG-discuss@lists.phxlinux.org
To subscribe, unsubscribe, or to change your mail settings:
http://lists.phxlinux.org/mailman/listinfo/plug-discuss