question about Intel P4 versus Alphas
scheinin at crs4.it
Mon Jan 13 00:19:45 PST 2003
In a previous message, Mikhail Kuzminksy spoke about multithreading
and hyperthreading, and also superscalar microprocessors. I would like
to add a few remarks for the sake of greater precision. Superscalar
and out-of-order execution has a high hardware cost because of the
large amount of logic needed to organize the execution steps dynamically.
The primary motivation for the Itanium was that this organizing of
the work at a fine-grained level would be done by the compiler.
Multithreading means that the processors gives time slices to various
threads. The state of the CPU for each thread is switched between
thread. Hyperthreading has several threads executing at the same time,
so exceptions and condition codes may be for one or another thread
at the same time.
For clusters, parallel execution generally uses message passing
so the user does not write the code as a multithreaded program.
As a consequence the application program would not be using hyperthreading.
More information about the Beowulf