Introduction to Slurm on Bert: SFTP

Key Points

HPC Introduction
  • A cluster is a group of computers connected together to act as one.

  • Clusters are formed of nodes, each usually has several processors and 10s or hundreds of gigabytes of RAM.

Logging in to Bert
  • ssh bert.ibers.aber.ac.uk to log in to the system

  • sinfo shows partitions and how busy they are.

Filesystems and Storage
  • The home directory is the default place to store data.

  • The scratch directory is a larger space for temporary files.

  • Quotas on home are much smaller than scratch.

  • The SSD scratch is faster than regular scratch, but smaller.

Running Jobs with Slurm
  • Interactive jobs let you test out the behaviour of a command, but aren’t pratical for running lots of jobs

  • Batch jobs are suited for submitting a job to run without user interaction.

  • Job arrays are useful to submit lots of jobs.

  • Slurm lets you set parameters about how many processors or nodes are allocated, how much memory or how long the job can run.

  • Slurm can email you when a job starts or finishes.

Working with Modules and Installing Software
  • A lot of software is only available by loading extra modules. This helps prevent problems where two packages are incompatible.

  • Python 3 is one such package.

  • If you want to install pip packages use the --user option to store the packages in your home directory.

What next?
  • Remember that HPCs are shared systems and try avoid allocating resources which you don’t use

  • Don’t make millions of files

  • Make use of the Research Software Engineers to help you use the system effectively

Optimising for Parallel Processing
  • GNU Parallel lets a single Slurm job start multiple subprocesses

  • This helps to use all the CPUs on a node effectively.

Running on GPUs
  • Use --partition=gpu to submit to a partition with GPUs

  • Use --gres=gpu:1 (or similar) to specify the number of GPUs you need.

SFTP

If you want to use SFTP from the command line instead of with Filezilla then these commands might be helpful.

SFTP takes the argument of the username followed by an @ symbol and then the hostname. Optionally you can specify what directory to start in by putting a : symbol after this and adding the directory name. The command below will start in /home/s.jane.doe/data, if no directory is specified then sftp defaults to your home directory.

Running SFTP

sftp s.jane.doe@sunbird.swansea.ac.uk:/home/s.jane.doe/data
s.jane.doe@sunbird.swansea.ac.uk's password:
Connected to sunbird.swansea.ac.uk.
Changing to: /home/s.jane.doe/data
sftp> ls

SFTP commands

command Purpose
ls list files
pwd curret directory on server
!pwd current directory on local system
get copy a file from the server
put copy a file to the server
lcd change local directory
cd change remote directory

Useful Links