Beowulf Clusters

What is the Gauss computational cluster

The gauss cluster is Beowulf cluster consisting of 16 dual-processor computers with Pentium Xeon 2.4GHz processors. One computer is the master or front-end node which handles file storage and job management. The other 15 nodes are called slave nodes and are used to solve problems. The master has 6GB of RAM. The slave nodes have 2GB of RAM each.

Who may use it

The Gauss cluster is available for use by any faculty member or graduate student in the Department of Mathematics. Faculty members may request an account by contacting Mark Hamrick The faculty advisor for a graduate student must submit a request to Mark Hamrick on behalf of the graduate student in order for a graduate student account to be created.

Dr. Janusz Kawczak must approve any special requests for accounts.

How to access it

In order to access the gauss cluster, you must use the ssh protocol. several ssh clients exist on Windows, Unix, and Macintosh platforms.

There is an excellent Windows client available here. Save the link to disk and execute it.

The hostname for the gauss cluster is "gauss.uncc.edu".

FTP to the gauss cluster is not allowed for security reasons. You may login to gauss and use the ftp program to retreive files from remote systems.

In order to transfer files to and from the cluster using windows, use winscp. Download the instalable package and run it to install the program.

How to run programs

The Gauss cluster uses the PBS job management software along with the MAUI scheduler. These software packages manage jobs on the cluster to provide for the best use of resources.

Each program that is run on the cluster is called a job. In order to run a job on the cluster, you must submit the job to the PBS software. The PBS software choose which computer(s) to run the job on.

In order to run a job on one node, use the following command: qsub myjob myjob can be the name of the program that you want to run or it can be the name of a PBS script to execute. It is recommend that you use a PBS script. In a PBS script, job parameters may be specified and command arguments may be given. qsub may take a listing of resource from thecommand line of from the PBS script. Here is a short listing of commonly used resources:

Resource Description

 

cput The maximum amount of cpu time that the job needs.
For example:
"cput=1:02:03" means 1 day, 2 hours, and 3 minutes. 
mem The amount of memory (RAM) needed by the job. For example: "mem=100mb" or "mem=1gb"
nodes Warning: you should not use anything besides "nodes=1" unless you have written your program spefically for parallel execution. 
nodes The number of nodes that is needed by the job. Please note that unless you are using the MPI or PVM parallel computing enviroments, then your job will only run on one node.
For example: "nodes=2" requests two nodes. "nodes=2:ppn=2" requests two nodes with two processors each for a total of 4 processors.
walltime The maximum amount of actual time that is needed as measure by a regular clock.

 

Here is an example qsub command that submits "myjob" and requests 1 node, 1 hour of cpu time, and 100 megabytes of memory: qsub -l nodes=1,cput=0:01:00,mem=100mb myjob

Here is a sample qsub script.

You may run the "qstat" command to see the status of all the jobs running on the cluster.
Use the "qstat -n" command to view the listing of jobs and which nodes that each job is running on.
Currently, thirty non-parallel programs may be run simultaneously on the cluster if the memory requirement allow.
In order to get more information on job management commands, please refer to the following man pages: qsub, qstat, qdel, pbs_resources

Installed software

There are several software packages install on the gauss cluster. Here is a brief list of the software that is available:

Compilers/Debuggers

  • Intel C++ Compiler - documentation is available here.
  • Intel Fortran 90 compiler
  • Intel debugger
  • Intel VTUNE performance analyzer
  • Intel Math Kernel
  • gcc 2.96
  • gcc 3.3

Mathematical software

gcc 2.96 and gcc 3.3 are both installed.

gcc 2.96 is the default. In order to chose gcc 3.3, type the following command: switcher gcc --add-attr default gcc-3.3 logout and log back in. gcc 3.3 should then be your default compiler.

In order to switch back to gcc 2.96, type the following: switcher gcc --rm-attr default Logout and log back into gauss. This will change your default compiler back to gcc-2.96