HPC presentation

Using the High Performance
Computing Cluster at TSL
Graham Etherington
TSL Bioinformatics Support Officer
What is the HPC Cluster?
• Like a large collection high-memory computers.
• Controlled by management software (LSF) which
allocates tasks to each computer (node).
Access node
Hard disk storage
HPC Node Resources
• Shared with TGAC
• Currently:
– 29 x 128Gb nodes
– 4 x 256Gb nodes
• Planned:
– 88 x 128Gb nodes
– 9 x 256Gb nodes
What does the HPC allow us to do?
• Send computing tasks somewhere else
– leave your PC free for other tasks.
• Carry out memory-intensive jobs
– 4GB RAM on PC, up to 256GB RAM on cluster.
• Install programs once, use by everyone.
Logging in to the HPC
• Open a terminal window and type:
$ ssh hpc.tsl.ac.uk
• You’ll be asked for your password
– enter your current NBI password. When your NBI
password changes, it will also change on the
• The first time you log-in your account will be
The log-in screen
Displays information for:
The number of jobs you have running.
The number of jobs you have queued.
The total number of jobs running on
the cluster.
The total number of jobs queued on
the cluster.
Task 1
• Start up your computers
• Log on using the username on the yellow tag
on your computer
• Password – “Learning26”
• Complete Task 1 in the tutorial.
Where stuff is
• Your home-directory
shortcut: ~
• Data for everyone (blastdbs, indexes, reference
sequences, external read sets, genome
• Programs
Task 2
• Complete Task 2 in the tutorial
Submitting jobs
$ bsub -q TSL-Test128 -We 5 "echo hello”
• Breaking it down:
bsub = submit the following job
-q = use the following queue on the cluster
-We = estimated run time of the job (in minutes)
“echo hello” – the task we want to run (in quotes)
• What queues are available?
Submitting jobs
• How do I run my own script?
$ bsub -q TSL-Test128 -We 5 "source perl-5.16.3; perl SqrtTwoNumbers.pl 1 2”
• ‘source’? What’s that about?
– stipulate which version of a program to run (e.g.
“source bwa-0.7.3”, “source bwa-0.7.4”, etc.)
– often only one choice, but you still need to source
Submitting jobs
• Programs are always installed in the ‘Testing’
• /tsl/software/testing/
• Strict directory-naming scheme
• /tsl/software/testing/<program_name>/<version>
– e.g.
• /tsl/software/testing/bwa/0.7.3/
• /tsl/software/testing/bwa/0.7.4/
Submitting jobs
• How do I run an installed program?
bsub -q TSL-Test128 -We 5 "source <program>-<version>; <program> [opts]”
$ bsub -q TSL-Test128 -We 5 "source bwa-0.7.4; bwa index ref.fa”
• Some things to note
– hyphen between program and version
– semi-colon after source
Task 3
• Complete Task 3 in the tutorial.
Submitting jobs
$ bsub –q TSL-Test128 –We 10 “source bwa-0.7.4; bwa mem -t 4 -c 5000 -O 5 -P -B 5 -U 10 ref.fa left.fq right.fq > map.sam”
• Make life easier by using a bash script
– store the commands and parameters for commonly used programs
#! /bin/bash
source bwa-0.7.4;
bwa mem -t 4 -c 5000 -O 5 -P -B 5 -U 10 $1 $2 $3 > $4;
$ bsub –q TSL-Test128 –We 10 “./run_bwa.sh ref.fa left.fq right.fq map.sam”
• Edit the bash script to change the parameters.
Task 4
• Complete Task 4 in the tutorial.
Installing software
• Remember: Strict directory-naming scheme
– /tsl/software/testing/<program_name>/<version>
• Inside each <version> there will be two subdirectories ‘src’ and ‘x86_64/bin/’
• ‘src’ is for source code and ‘x86_64/bin/’ for
binaries (the actual executables).
• After installation, a wrapper needs to be created.
$ create-software-testing-wrapper <program_name>-<version>
Which queue?
• Testing
– newly installed software.
– a script you’re developing or running for the first
• Production
– ‘Stable’ software and scripts.
Task 5
• Complete Task 5 in the tutorial

similar documents