Maybe I'm missing something here but full load is NOT 4 processes with
hyperthreading.
Hyperthreading is a mixed bag, and while great for Desktop use, for
compute & memory bandwidth intensive jobs, can be a real drain, because
both processes are computing for the same cache. Most science apps most
tend to be memory bandwidth intensive, and gain from larger cache.
Thus, despite the grandiose claims of Intel, hyperthreading is a
problem here.
In fact, the actual throughput (i.e. in condor sense) of total Mops
with & without hyperthreading is often lower with hyperthreading on ...
the need to schedule to the processes on the same core often causes
bottlenecks that slow down the processing. Thus we often have limited
our system to running 1 process per CPU. However, there are
times/applications where we would benefit from having hyperthreading
enabled, and need to have that as an option, without rebooting the
whole cluster.
I.e. "full load" in the load average reporting sense is in reality
dependent on the application, not on whether the OS reports 1 or 2
processors. Thus it would be quite useful to make this configurable in
just a small way.
In addition the ganglia web frontend reports the cluster as having 2N
Xeon 3.0 GHz physical CPUs, which is twice as many physical CPUs as we
really have. This is plainly wrong, with or without the arguments about
hyperthreading + load average.
My argument is as follows: for most OS's on P4/Xeon, it is fairly easy
to determine if HT is enabled. Thus one could report that in gmond as a
capability of the processor, and add a configuration value to the
appropriate config file to treat a CPU+HT as 1 or two processors,
whether in gmetad or the web frontend. For those OS's that don't have
that capability, you ignore the option. This is what the OSC patch did
for 2.5.x, and it seems like a very useful and easy option to include.
So .... I take it that there is no such option (my original
question), since the entire discussion has been about whether I really
should want this or not, and not whether it is possible! :->
cheers,
rob
On Feb 16, 2005, at 8:42 AM, Sean Dilda wrote:
Robert E. Parrott wrote:
Is there a way to make ganglia hyperthread - aware in v3.0?
We have a cluster of dual Xeons with hyperthreading, which ganglia
reports as 4 processes. This is annoying when using the web frontend,
since full load appears to only be 1/2 load, and people think there
are twice as many CPUs available.
I'm a little confused as to why you want this. If you have dual
processors with HT enabled, then a full load is four processes
running, which would give you a load average of 4.0. And since
ganglia will indicate that a load of 4.0 is 'full load', then it
currently does the right thing.
So I guess my question is, how is 4 processes running on a dual proc
machine with HT not full load? And if you want full load to be 2
processes running, why are you using HT?
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real
users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
Ganglia-general mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ganglia-general