University of Wisconsin–Madison

Using the Clusters

Cluster layout

Like many supercomputer facilities, our clusters each have a single head node and many compute nodes. The head node hosts the shared HOME directories, runs the job scheduling software, and provides login access to the cluster. The compute nodes provide the CPUs, GPUs, memory, and disk space for running jobs. Jobs are submitted to specific queues that are managed by the scheduler. More specific requirements, such as number of CPU cores and amount of RAM, are also specified when submitting a job to any of the queues.

Queues

Kestrel has a single queue which accepts all research-related jobs.

Starling has the following queues available for research jobs:

  • gpudefault queue → All regular jobs.
  • specific group queue → Some research groups have reserved-access queues.

Owl has a single queue which accepts all classroom-related jobs.

Software Available

Please see the list of software installed for general availability.

You are also encouraged to install software you wish to run on the cluster to your home directory.

Submitting jobs

Guidelines, Policies, and Limits

Queue limits

Per-user simultaneous core usage limits are displayed when you connect to each of the clusters via ssh. This is typically 200-400 cores. Clusters other than owl, which has a 96 hour time limit for classroom jobs submitted, do not have a time limit.

Disk quotas

On kestrel each user is limited to 1TB of disk space in /home. Home directories should primarily be used for job submission preparation and temporary result storage. It is not a permanent repository for completed research.

Scratch space usage

While your HOME directory is identical across all the nodes, scratch space (/scratch) is unique on each node. Using your HOME directory as scratch space for a job will slow your jobs and may slow the jobs of others or make the head node unstable. DO NOT USE YOUR HOME DIRECTORY FOR SCRATCH. If you are not using the predefined submission scripts please make proper use of /scratch for intermediate file creation during job runs.

Other useful information

Copying files from one cluster to another

Use the scp command to copy files from one cluster system to another.
Usage for the scp command:

scp [options] file_or_folder_name destination_cluster:location

When copying directories, you must add “-r” to the [options] part of the command to recursively copy the directory contents.

Examples: (These are copying files and folders to kestrel, so the command is run from your home directory on the remote system)

scp -r myfolder/ kestrel:/home/username
scp myfile kestrel:/home/username/project/notes
Backups

Due to the constantly ever-changing content of the /home filesystem, no global backups of the HOME directories are made. All cluster filesystems use fault-tolerant disk arrays so the likelihood of data loss due to mechanical failure is very low. You are responsible for backing up your own data. Files cannot be restored if you delete or overwrite your own files.

Understanding your PATH

Your PATH is an environmental variable in that tells the system which directories to search for executable files in response to commands you issue.

If you want to run a program that is not in your PATH you must call it using its full location, like /share/apps/myprograms/myprogram instead of just myprogram. You can also modify your PATH to search other locations not included in your default PATH. Some commands:

Display your PATH:

echo $PATH

Add /my/dir to your PATH:

export PATH=$PATH:/my/dir

 

Other computing resources available

You can request allocations on other HPC/HTC resources available on campus and around the world. Here are a few: