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


Reply via email to