Originally posted by: wacki
Also, why are we going to have to construct metrics and algorythms based on hardware capabilities? Isn't there a job queue and one job runs until it's done, then another job takes it's place?
Actually your probably right.
My understanding of the actual cluster and it's functionality is realy limited. If your applications are able to adjust for the different speeds of the computer their shouldn't be any problem anyways.
What may happen is that you get the faster machines getting done with their calculations much faster then the slower machines, so that if your application(s) has to wait for all the threads to get finished you can end up with a situation were you have the fast machines sitting idle while the slower ones finished.
All I realy know is from things like
from here
Q: I read your cluster series. Can I mix different CPU speeds and vendors (Intel and AMD) in a cluster? Is a dedicated subnet really necessary?
A: Although the ideal Beowulf cluster has identical hardware with identical configurations. Still, for most purposes, mixes hardware and configurations is fine. Dedicated subnets will make machine-to-machine communications more efficient, especially with high-power workstations, but it is not a necessity. I run a cluster from a network 10/100 switch with no problems.
Multithreaded applications are still completely over my head....
I think it would have mostly to do with the applications, and how well their multithreaded... If your doing multithreaded stuff, that is.
However one thing that I saw somewere is that it's normal to combine different types of clusters, so that if you end up having issues with machines remaining idle because of drastic speed differences you can use stuff like Mosix/OpenMosix to migrate threads around to make load balancing easier (although you then run into problems with different archatectures. I don't know if 32bit-mode Opteron is enough to cause issues with Althon. Since Mosix is running in kernel this can be more of a issue...).
I suppose one way to find out is to setup a test cluster and mix in slow computers with fast computers and see how well everything works.