Astrophysics Group Computing Guidelines
This page is intended as an easily absorbed list of do and don't items
for using the Astrophysics Group computing facilities.
Connecting to Other Machines
If you want a terminal on a remote machine, eg aquila, use ssh to
connect to that machine and run your program. If you are connecting
from windows, you can use the putty program
from here
or
the MobaXterm
program if you want to display graphics. From a Mac or another Linux
machines you can use the ssh command to connect, ssh -XY
username@aquila.star.bris.ac.uk (linux) or
ssh -CXY username@aquila.star.bris.ac.uk from a Mac. You can omit the
-XY and -CXY if your program does not require displaying graphics. If
you want a full remote desktop, consider the x2go program.
Running your Program
If your program is going to be quick, just ssh to your desktop or a
group server, see our servers
page here,
and run it. If your program is going to take a long time, you have
several options.
- Use the screen program to run your code, disconnect and log off
the server. Come back later when the code is finished and reconnect
to your session.
- To run your program at a specific time, use the at command
and ensure your program writes output to a logfile.
- Run your program in the background capturing all output, log out
of the server and check the output file from another machine. An
example would be my_program > logfile &
- We can also submit self-contained jobs on the Particle Physics
DICE cluster. Ask Rhys for instructions how to do this.
Desktop Machines
Don't run CPU intensive screensavers, consider not using a screen
saver, the screen blanker uses no CPU.
Enable power saving features so that your monitor switches off if it
is not used for a while (see your system manager for help with this).
Log out of, or quit, programs that you are not using such as browsers
or email clients.
Check what your machine is running using the top command, eg if you
hear the fans churning away, there may be a rogue program running, use
the kill command to stop it.
File Storage and Backups
Your home directory should be used for things that need nightly
backups, this could be work in progress, a thesis, papers, programs,
scripts and so on. Data should be stored on one of the data disks, you
can run a nightly rsync job to make a copy of your data disk on one of
our scratch disks, see the page on rsync
in http://www.star.bris.ac.uk/local
for instructions on how to do this.
Things to Check Before Running your Programs
Whenever you do anything on a computer, the main resources that you use are
CPU, memory (RAM) and disk space. Here some guidelines you should bear in mind.
Before running a job, check the busyness of the machine using the "w" command,
as shown below:
/home/rahm/[pol]rahm: w
2:39pm up 13 days, 23:58, 1 user, load average: 1.04, 1.05, 0.93
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
rahm tty1 - 22Apr 1 13days 5:09m 0.01s startx
/home/rahm/[pol]rahm:
The load average shows you the load level of the machine, over the
last 1, 5 and 15 minutes. If the level is around 1 as shown above, the
machine is already busy running a job. Don't run more than one job per
thread, we have hyperthreading enabled on all our machines, so each
physical CPU can run two programs. See our servers page
to see the maximum loads our servers can take.
If someone else is using a desktop computer interactively, and you
want to run a program on that machine, use the "nice" command to set
your process priority at a level that will not interfere with the
interactive user. It would also be polite to ask the interactive
user's permission before using their machine as well. See below for an
example of using the nice command to lower the priority of a program:
home/rahm/sims_new[pol]rahm: nice myprogram &
[1] 23520
/home/rahm[pol]rahm:
- You can check how many threads a machine has using
the lscpu command, confusingly this is the same as the CPU(s)
number from lscpu.
- When programming, don't allocate huge amounts of memory in arrays you
don't use.
- Use the top program to check your CPU usage.
- If you are running a job on a machine, try to use local disks on that machine,
this avoids wasteful traffic across our ethernet network and your
program will be faster by a factor of up to 10!
- If you are planning to run C or Fortran programs that take a long time
to complete, make sure you compile them with optimisation. Ask the
system manager if you don't know how to do this.
Memory Usage
The Random Access Memory (RAM) in our machines varies from 8gb in
older desktop to 1Tb for typhon. Be aware of this when deciding where
to run your jobs. Running the top will show the installed and
available memory.
Printing
Always print on both sides of the paper (duplex mode). Contrary to
urban rumour, theses and reports do not have to be single sided.
Don't submit large jobs that take 20 minutes or more to print, to the
printer during the day (9am to 5pm), save them for evening, or
possibly lunchtimes.
Rhys
Morris
Last modified: Wednesday, 09 June 2021