Getting Started

Beowulf Accounts
System Use
Allowed Use of Nodes
Environment, Filesystems, and Home Directories
Compiling and Running a Simple MPI Program
Submitting an MPI Program via PBS
Submitting a Sequential Job
Return to Beowulf Home Page
 

Beowulf Accounts

All math users have an account on beowulf, but must request a home directory before any computing can be done with the cluster, send email to trouble@math.cudenver.edu. If you do not have a math account, write trouble@math.cudenver.edu to request one. The account and password policies of  CCM apply.
 

System Use

Connect to the cluster by ssh beowulf.cudenver.edu . This will protect your session from network sniffing and also set your X windows authorization correctly. You have the same password on math and Beowulf. You will be logged into the master node. Use ssh or rsh to go to other nodes. If you run the ssh_pass command in your home directory on math, you can log in to the cluster without  being prompted for a password.

Use of the cluster relies on cooperation of users so that we do not interfere with each other. Please follow the guidelines for use of nodes and running programs below. The cluster is an experimental creature and system configuration is in progress, so the cluster may go down or become inaccessible with little or no notice. Availability to meet any kind of deadlines cannot be guaranteed.
 

Allowed Use of Nodes

1. master: compilation, editing. No computations.
2. node1 and node2: manually started jobs, including debugging
3. node3 -- node35: jobs submitted to PBS only. No manually started jobs.
 

Environment, Filesystems, and Home Directories

1. These instructions are written for 'bash' shell. .

2. User home directories for the Beowulf cluster are located in the /data/home directory and it is shared between all the nodes ( /home is a soft link to /data/home.) The directory /data/home is now on a redundant disk array, but it is still recommended that users keep copies of important files elsewhere, since nothing is regularly backed up. The directory /data is shared by all nodes.

3.The filesystems on Beowulf are separate from the math server (users home directories will differ from their math home directory.) The math home directories are not mounted on the Beowulf master node. Users can only copy files from a Beowulf directory to their math home directory with sftp, scp, rsync etc. For example:
rsync -av -e ssh </data/home/input> math:<destination directory>

Compiling and Running a Simple MPI Program

The best way to learn MPI is to refer to Using MPI - 2nd Edition : Portable Parallel Programming with the Message Passing Interface by William Gropp, Ewing Lusk, Anthony Skjellum.
In a parallel program each cpu has its own memory and runs its own code. The standard libraries of a sequential language like C do not have any capability for passing messages between the many cpu's working during the execution of a parallel program. Therefore an additional interface is needed to handle the send/receive messages between computers. This interface, called the Message Passing Interface (MPI), is a library of functions that can be linked to an executable during compilation. The following example gives step by step instructions for compiling and executing a simple C program that uses the MPI library.

Example 1 (this example uses "mpich2" mpi implementation residing at /data/mpich2)

See the file /data/mpich2/README for more details on mpich2

Submitting an MPI Program via PBS

PBS holds a job until the required number of nodes are available and determines which of the available nodes will handle a particular job. It is important to use PBS because it prevents concurrent jobs from interfering with performance results and from bogging down any one node of the cluster. The previous example ran the executable a.out manually, to run on more nodes of the cluster one must use PBS.  The following example demonstrates how to submit "cpi" to the cluster via PBS.

Example 2



Additional Notes:
(former motd)

All tcp/ip connections between nodes will use the high speed SCI interconnect
if the user environment includes LD_PRELOAD with value /opt/DIS/lib/libkscisock.so

If in the bash this can be set using:
export LD_PRELOAD=/opt/DIS/lib/libkscisock.so

Under tcsh use:
setenv LD_PRELOAD /opt/DIS/lib/libkscisock.so

if /usr/local/bin is in your PATH you can try some benchmarks using:

noscitestscript nodex

then try:

scitestscript nodex

where x is the number of the node you want to test in communication with the master node. 
x can range from 1 to 35.

also see: /opt/DIS/doc/README_KSOCKET.txt

Russ Boice
trouble@math.cudenver.edu