Using hyperthreading on 2 Proc Xeon cluster nodes

Patrick Geoffray patrick at myri.com
Sat Jun 8 17:11:24 PDT 2002


Hi Bill,

Bill Broadley wrote:
>>BTW, the 2 virtual processors share the same FPU, so not interesting for 
>>HPC.

> In the case of the P4 I'd agree, in general even with a shared FPU
> I could see hyperthreading being very useful.  Keep in mind even a single
> flop per cycle is often a big improvement over real world performance.
> If thread A blocks, and thread B can get some work done without having
> the expense of a context switch, getting work done during a cache miss 
> without the expense of a context switch can be a big win.

I am not sure that the 2 threads can swap the usage of the FPU that fast 
(save the FP pointer for example), but I didn't look carefully the 
implementation.

In a general context, I agree. However, for many HPC applications, the 
computation core is highly optimized, like the BLAS used by HPL for 
example. ATLAS is tuned at the cycle level and it is quite close to the 
peak.

Hyperthreading reminds me about co-scheduling, when it makes sense only 
when there is several codes running at the same time: the total time of 
execution of all of the codes is reduced but not the execution time of 
each code individually.
It was a great idea, but it never really came into the production world, 
mainly because HPC metrics are looking for single application 
performance and because users are selfish :-))

Patrick

----------------------------------------------------------
|   Patrick Geoffray, Ph.D.      patrick at myri.com
|   Myricom, Inc.                http://www.myri.com
|   Cell:  865-389-8852          685 Emory Valley Rd (B)
|   Phone: 865-425-0978          Oak Ridge, TN 37830
----------------------------------------------------------




More information about the Beowulf mailing list