Dual Xeon Clusters
hahn at physics.mcmaster.ca
Thu Apr 18 11:07:55 PDT 2002
> I am building a dual Xeon 4-node cluster; My understanding of
> hyperthreading leaves me to conclusion that it depends largely on the
> code to benefit from it.
I think that's an ambiguous way to put it. yes, the benefit depends
very much on what your code does. but no, you code doesn't have to
do anything special: HT simply turns one cpu into a pair of "virtual"
cpus which compete for the same fixed set of resources.
so you don't necessarily have to use threads to see HT benefit,
since the virtualization is not visible at the programmer level.
but you will certainly not see any HT benefit if your program
somehow manages to keep every functional unit (including cache and
ram) busy all the time.
> Otherwise in many cases the performance can
> become worse than before using a hyperthreaded Xeon processors. My
well, first, you don't have to turn on HT at all, so a prestonia
can be expected to behave like a northwood. but I would expect most
system resources to deteriorate linearly, except for cache, which
is highly nonlinear when working set size is near cache size.
so if you run two threads/procs on an HT chip, and a small working
set (both seeing high cache hit rates) they should get along just fine,
with half the speed each. or very large working sets (where cache is
hmm, maybe that's too verbose to be clear. in short:
1. if you normally have some idle resources, HT may let
you achieve higher efficiency through interleaving.
2. some physical resources will deteriorate fairly linearly,
so two procs see half the throughput.
3. several resources can behave nonlinearly, so two procs
could interfere badly when interleaved.
4. most of these issues are the same for traditional timesliced
multiprocessing, except that HT interleaves much finer.
> If not what other way can i find the
> performance of Xeon processors in a clustered env.
I don't know why clustering would change anything.
More information about the Beowulf