>On Sun, 14 Aug 2005, Ken Fuchs wrote:

>> I still think a cluster is what you need.  There are several Linux 
>> cluster distributions that are available on Live CDs that are easy to 
>> setup.  They should also have hard drive install options.

>> How well a cluster will work depends on how fast the interconnect is and 
>> how much information must flow between nodes?  These same issues will be 
>> need to be addressed in a single system with several multi-core CPUs, 
>> although the interconnect is bound to be much faster in a single 
>> (non-cluster) system.

Mike Miller wrote:

>Why do I need a cluster?  I don't fully understand how clusters can work 
>for me, but I am very interested.  In fact, I have been thinking that I 
>would expand the system in the future to include other machines in a 
>cluster configuration, but right now I think one might be enough.

I meant to say that I believe a cluster could meet your needs.  The fact
that you are considering adding machines in the future to form a small
cluster suggests that you might find it worthwhile to temporarily
convert a computer lab of networked x86 machines (any OS) into a Linux
cluster as an experiment to see how well it may suit your application.
Here are just a handful of Linux Cluster Live CD distributions:

http://clusterix.livecd.net/

http://bofh.be/clusterknoppix/

http://pareto.uab.es/mcreel/ParallelKnoppix/

The last one may be the easiest to setup.

>If I have a single machine with multiple sockets/cores, the OS will 
>transparently handle the multiple jobs and level the load across the 
>cores.  So the single-machine-multiple-core setup is easy to work with. 
>I'm not as confident about the cluster setup.

Clearly, if you have enough money to buy a single system to meet your
needs and your application doesn't translate to a cluster efficiently, a
cluster is not the right solution.

>In case someone on this list has some experience or knowledge in this 
>area, here are some questions:
>
>(1) How are jobs handled in a Linux cluster?  Obviously, someone logs into 
>one machine and jobs are sent to that machine or to other machines, but 
>how does the system decide where to send a job?  To submit a job, does the 
>user have to specify any parameters to determine where/how it will run?
>
>(2) If different nodes in the cluster have different amounts of RAM 
>available, how does the system decide where the more memory-intensive jobs 
>will run?  If it does this automatically, ignoring memory requirements, is 
>it possible to request that a certain job go to a certain node?
>
>In general, I need to understand job control in the cluster system to 
>understand how that system can be used for the kind of work I do.

You might consider just devoting a handful of networked machines
(preferably via 1Gbit Ethernet or faster) and run a Live CD cluster on
it to see how it works first hand.

Sincerely,

Ken Fuchs <kfuchs at winternet.com>