Beowulf User's Guide

Getting an account
To gain access to either of the clusters, email the [mailto:bw-root@stolaf.edu Beowulf Administrators].

Logging in
From any ssh-equipped machine on campus, type the following at the command line:

to access the development cluster, or type

to access the production cluster. Then, enter your password when prompted.

Compiling MPI Applications
When compiling using the gcc suite, the traditional commands include gcc, g++, and so forth. Replace each of these commands with one of the equivalent following:


 * mpic++
 * mpicc
 * mpiCC
 * mpicxx
 * mpif77
 * mpif90

All these commands do is pass on some additional flags to the gcc executables so that they know where to find the mpi headers and libraries.

Distributing Custom Application to Nodes

 * 1) Place your application in /home/username/bin/

Note that you should replace username with your username on the cluster.

Custom applications
With your application fully distributed on the cluster, you can now execute it.

where  stands for the number of processes you want to run, and /home/myusername/bin/myexecutable is the path to your executable. Note that you should have had your application distributed to all of the nodes before you run this command.

BLAST
You will need to create the file .ncbirc in your home folder to get this to work. The .ncbirc file should contain the following:

[NCBI] Data=/usr/local/ncbi/data

[BLAST] BLASTDB=/data/mpiblast/database BLASTMAT=/usr/local/ncbi/data

[mpiBLAST] Shared=/data/mpiblast/database Local=/data/mpiblast/database


 * 1) Enter your database information into CCT. This will allow your database to automatically update whenever updates to your database come out. Instructions can be found in the CCT manual.
 * 2) Wait one day so that CCT can fetch this database.
 * 3) Place your sequence file somewhere in /home/username/. You can pick what subdirectory you want. Propagate this to the nodes.
 * 4) Execute mpiBLAST: sudo -u pheidippides mpirun -hostfile hostfile -np # mpiblast -d DATABASE -i SEQUENCEFILE -p BLASTTYPE where # is the number of nodes currently up + 2, DATABASE is the ID of the database you uploaded [you can find this information out in the CCT databases interface page, it will be a number], SEQUENCEFILE is the location of your sequence file [as placed in the previous step, and BLASTTYPE is the type of BLAST search you are running [blastp, tblastn, et cetera].

Or you could just let CCT do all of this work for you. It is much easier, I assure you.

R
Not currently supported

MPI

 * MPI:Documentation, Documentation for laml and MPI. THIS INFORMATION IS DEPRECATED; WE USE OPENMPI NOW!

BLAST

 * BLAST:Documentation, Documentation for BLAST, mpiBLAST, and wwwBLAST

ATLAST

 * ATLAS:Documentation, Documentation for ATLAS.

R

 * R:Documentation, Documentation for R and related packages.

BLACS

 * BLACS:Documentation, Documentation for BLACS

CCT v2.0

 * CCT v2.0 Documentation
 * CCT 2.0

distcc
distcc speeds up the compilation of C and C++ code. Using distcc is straightforward: First, set the environment variable DISTCC_HOSTS to hosts you want the compilation to run on, then set appropriate environment variables, and then compile!

Since the power of distcc comes from when you are compiling larger projects, the use of a makefile is desirable. Set the appropriate environment variables [CC, CXX] and then run ./configure.

Migrating from one cluster to the next
If you develop your software on the development cluster and eventually get approved to run the software on the production cluster, you will need to migrate your source code over to the production cluster. To do this:

Copy all of the files you want to migrate into a folder

Compress your files

Transfer your files over to the production cluster

Log in to the production cluster

Uncompress your files

Reporting problems
Take these steps to report a problem:


 * 1) Search the wiki that you are on now to make sure the problem has not already been documented and fixed
 * 2) Search the blog to make sure the problem is not already being worked on
 * 3) Send an email to beowulf@stolaf.edu
 * 4) Contact a current administrator if you hear no response.

Accessing the Cluster via XWindows Forwarding

 * 1) Download and install XMing: http://sourceforge.net/projects/xming. Choose all default installation options. Additionally, you may want to install the additional fonts package.
 * 2) Download Putty: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
 * 3) Run XMing.
 * 4) Run Putty.
 * 5) * On the left side of the application, select Connection -> SSH -> X11.
 * 6) ** Check "Enable X11 Forwarding"
 * 7) ** Under X Display Location, type "localhost:0:0"
 * 8) * Now on the left side select Session
 * 9) ** Type "helios.public.stolaf.edu" under the 'Host Name.'
 * 10) ** Type "helios" under the 'Saved Sessions'
 * 11) ** Double click on "helios" in the future to open a putty window with the X Forwarding settings.