(me@ram.org)
This document describes how I set up my Linux computing clusters for high-performance computing which I need for my research.
Use the information below at your own risk. I disclaim all responsibility for anything you may do after reading this HOWTO. The latest version of this HOWTO will always be available at http://www.ram.org/computing/linux/linux_cluster.html.
Unlike other documentation that talks about setting up clusters in a general way, this is a specific description of how our lab is setup and includes not only details the compute aspects, but also the desktop, laptop, and public server aspects. This is done mainly for local use, but I figure I might as well put it up on the web and perhaps someone else will find it useful. The main use as it stands is that it's a report on what kind of hardware works well with Linux and what kind of hardware doesn't.
This section covers the hardware choices I've made. Unless noted, assume that everything works really well.
32 machines have the following setup each:
1 external server with the following setup:
4 desktops with the following setup:
2 desktops with the following setup:
2 desktops with the following setup:
Backup:
Monitors:
We use KVM switches with a cheap monitor to connect up and "look" at all the machines:
Networking is important.
Our vendor is Hard Drives Northwest ( http://www.hdnw.com). For each compute node in our cluster (containing two processors), we paid about $1500, including taxes. Generally, our goal is to keep each node to below $2000.00 (which is what our desktop machines cost).
Specfically we use 2.2.17-14 kernel based on the KRUD 7.0 distribution. We use our own software for parallising applications but have experimented with PVM and MPI. In my view, the overhead for these pre-packaged programs is too high.
Linux is freely copiable.
This section describes disk partitioning strategies.
desktops (without windows):
hda1 - swap (2 * RAM)
hda2 - / (4 GB)
hda3 - /home (remaining disk space)
hdb1 - /maxa (total disk)
hdd1 - /maxb (total disk)
desktops (with windows):
hda1 - /win (total disk)
hdb1 - swap (2 * RAM)
hdb2 - / (4 GB)
hdb3 - /home (remaining disk space)
hdd1 - /maxa (total disk)
laptops (single disk):
hda1 - /win (half the total disk size)
hda2 - swap (2 * RAM)
hda3 - / (4 GB)
hda4 - /home (remaining disk space)
farm machines:
hda1 - swap (2 * RAM)
hda2 - / (remaining disk space)
hdb1 - /maxa (total disk)
Install a minimal set of packages for the farm. Users are allowed to configure desktops as they wish.
The following people have been helpful in getting this HOWTO done:
The following documents may prove useful to you---they are links to sources that make use of high-performance computing clusters: