On 2/11/12, Mathieu Bouchard matju@artengine.ca wrote:
Le 2012-01-26 à 14:45:00, Charles Henry a écrit :
When talking about cluster computing, I had someone once ask: "Is that a case where the whole is greater than the sum of its parts?" "It's less. Always less."
Depends on how you count it. You may also see it as a bunch of computers in which 0 computer can do task T in time N, but they can join together to form 1 (or more) computer(s) that can do task T in time N or less. In that sense, it's infinitely more powerful. This way of seeing it is much more important in realtime apps than in batch-compute-over-the-weekend apps.
It's like how one ninja turtle alone can't beat a certain evil monster, but with teamwork, they can. ;)
You just always lose on efficiency whenever you use several threads or multiple nodes. Best case is "less than or equal" to the sum of its parts, and equal only when all the things you want to do are independent.
It's easy to see that potential for doing fast calculations building a cluster... and then get disappointed to see how much of it gets wasted. Look at that: a user just put 64 threads on one node and it spends all its time switching contexts. erm... the /home filesystem is where one user was just trying to write 500 output files at once, and no one has been able to login for hours.
I'll go back to wasting my time, and see if I can make it parallel ;)