http://www.linux-mag.com/2002-06/extreme_01.html "Parallel computing can solve large problems more quickly because it focuses the processing power of many computers working in tandem (called a cluster) on a single task. A master node in the cluster breaks the problem into discrete parts, and passes tasks and computational data to slave nodes. The master node receives results from the slave nodes and generates a final answer. Coordination of the entire process is controlled with message-passing APIs.
"However, these message-passing APIs have some significant drawbacks. Most algorithms require considerable design and modifications to optimize them for parallel computing. And different processor speeds of various nodes in the cluster can also make it difficult to re-code an algorithm: if the slowest node causes others to wait for it to complete its portion of an algorithm, then the cluster is not being optimally utilized. "Fortunately, there's another way to allocate tasks in a cluster of disparate processors that does not require you to rethink your algorithms. It's called MOSIX (http://www.mosix.com/), the Multicomputer Operating System for UnIX. It was developed by Professor Amnon Barak and collaborators at the Hebrew University of Jerusalem in Israel..." (continued in article)