This section contains more advanced information as well as tips and tricks for users who know their way around. Make sure you know what a command found here does before running it. If you are curious about something and want to know if it can be applied to your situation or research, contact us.
Hyperthreading is currently disabled on the thin nodes, giving us 12 cores and 24GB RAM, 2GB RAM per core.
Fat nodes total 48 cores and 512GB RAM, ~10.67GB RAM per core.
login.hpc.qmul.ac.ukcurrently points to frontend8.
A "set free" fat node that SBCS users can ssh directly into. The GPFS file system is mounted and it should work like any other part of Apocrita, just that the Sun Grid Engine doesn't schedule jobs here so that it is free for users to handle themselves. Check whether or not the machine is free (top, htop) before you start something, and maybe use a nice value. To log in, just type
ssh sm11 when logged into a frontend. You can also make an ssh shortcut in your config file, explained below.
This machine is not connected to Apocrita. It runs Ubuntu 14.04 and is administrated by SBCS users. A user has to be created for anyone who wants to use this hardware, see below for contact details.
Contact: email@example.com, firstname.lastname@example.org, email@example.com
These two identical machines are similar to sm11 but are running newer hardware. For this reason, these two machines are slightly more powerful than sm11. The only difference between the machines is that frontend5 has hyperthreading (HT) turned on and frontend6 has it turned off. If you are aware of your tools running better on HT on/off, you can use the appropriate machine. Please feel free to use the /tmp catalogue on these machines for your temporary analysis files, but remember to move off it as soon as you are done as your files may be deleted during reboots etc.
There are no GPUs on Apocrita, if you need this for your analysis you should talk to your PI about acquisition. ITSR have been looking into the interest of such a purchase.
You can set up a pair of SSH keys for a more secure as well as password-less login to Apocrita. This is done by having a private key on your local machine, and a matching public key on the remote server, when you try to log in these two match up and let you in without having to type the user password. The private key should never be shared with anyone as it will allow that person access to your login. This is why you should always protect your private key with a passphrase.
ssh-keygenand hit enter
Enter file in which to save the key (/home/username/.ssh/id_rsa):on the screen. Just hit enter here which will save the keys in their default location.
To connect to the Hive archive from Apocrita you need to create a key pair on Apocrita. You need to do this while logged in to Apocrita:
Enter file in which to save the key (/data/home/btw000/.ssh/id_rsa):on the screen. Just hit enter here which will save the keys in their default location.
less ~/.ssh/id_rsa.pub. Don't touch the private key!
The process is different depending on which operating system you are using.
Here it's very simple, open a terminal (or MobaXterm window) and type in
using your own username. That's it. Now try your connection
ssh -X firstname.lastname@example.org
If you have Homebrew installed on your Mac you can use it to install
ssh-copy-idand go from there.
One of the few times having a mac will make you suffer extra work. If you do not have Homebrew, you should install it, but if you do not want to do that, you will have to manually copy your public key to a file located in your home directory on Apocrita.
scpto copy the public key to Apocrita with this command
scp .ssh/id_rsa.pub email@example.com:~/
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
Another convenience tip is to add shorthand names for your ssh logins. The address to the Apocrita head node is quite long and arguably tedious to write. So, this being computer science, of course there is a setup that will allow you to simply type something like
ssh apocrita on the command line to connect.
Host apocrita Hostname login.hpc.qmul.ac.uk IdentityFile ~/.ssh/id_rsa User btw000 ServerAliveInterval 300 ForwardX11 yes
chmod 600 ~/.ssh/config
Another example, using apocrita (our newly created shortcut to frontend1) as a proxy to connect to sm11. This way all you need to connect to sm11 is
Host sm11 Hostname sm11 User btw000 ProxyCommand ssh apocrita nc %h %p ForwardX11 yes
You probably want X11 forwarding (-X option in ssh) and there are other options.
These are instructions to set up your shell with some useful
zsh settings like better auto completion and history etc. It also contains a small set of useful aliases.
These files control settings which should be set up as you log in. They are located in your home directory and control bash and zsh repsectively (You may not have a
.zshrc file if you haven't tried that shell before). You will need to remove them in order for this to work, but it is highly recommended that you save them in case you want to go back. If you are controlling bash through a
.bashrc file, it will not be changed during this process. You might still want to make a backup of that one and remove it in order to have a clean setup to begin with.
cd mv .bash_profile .bash_profile.BAK # this file runs every time you log in with bash mv .bashrc .bashrc.BAK # this file is a complement to .bash_profile mv .zshrc .zshrc.BAK # this file runs every time you log in with zsh
You should find yourself in a helpful shell. Have fun.
What happened was that a new
.bash_profile was created which launches
zsh. This in turn reads a new
.zshrc file. You may have had some settings set in your old
.bash_profile, if you want to keep those settings just copy it all to the end of the newly created
zsh will show you an abbreviated version of the full path to where you are, giving you better sense of the file system.
/data/scratch/btw000/folder1 # pwd - this is the directory [btw000@frontend1 folder1]$ # prompt with default bash settings btw000@frontend1 /d/s/b/folder1> # here is how it looks with the new settings
Case insensitive tab completion and you can tab between the different options.
btw977@frontend1 ~> cd /data/sbcs # pressing TAB twice sbcs/ SBCS-ClareLab/ SBCS-EizaguirreLab/ SBCS-GreyLab/ SBCS-LeitchLab/ SBCS-OsmanLab/ SBCS-BessantLab/ SBCS-ClaytonLab/ SBCS-ElphickLab/ SBCS-HirstLab/ SBCS-MarinakisLab/ SBCS-RossiterLab/ SBCS-BuggsLab/ SBCS-CrespoOtero/ SBCS-EvansLab/ SBCS-HurdLab/ SBCS-McElligottLab/ SBCS-RubanLab/ SBCS-ChassLab/ SBCS-DiTommasoLab/ SBCS-ForniliLab/ SBCS-Irys/ SBCS-MSc-BioInf/ SBCS-StollewerkLab/ SBCS-ChittkaLab/ SBCS-DuffyLab/ SBCS-GoldupLab/ SBCS-LeComberLab/ SBCS-NicholsLab/ SBCS-WurmLab/
The default version of zsh that every SBCS user has (unless explicitly changed) is version 4.3.10 which doesn't contain all the functionality used here. Because of that a check is made when logging in and if the version of
zsh isn't 5.0.7, it is loaded.
Oh My Zsh is a large package of settings, plugins and themes for zsh which is used as foundation for these defaults. It has a ton of options but it is kept fairly simple here, including the theme. It does allow for much more customisation which you can do for yourself.
This plugin is enabled to give you a command line history that is specific to the directory you are in. That way when you go back to the folder where you carried out your analysis all those months ago you can just press the up-arrow on your keyboard and it will go through what last happened in this particular directory (instead of the failed installation of that python package you were wrestling with yesterday.) Please keep in mind that this is not retroactive!
Perhaps you want some more fancy features than what is provided here? There are a multitude of themes that change appearance of your shell, or maybe it's syntax highlighting you crave. The setup followed above inserted a sourcing of our general
.zshrc file in your local version. That file is located in your home directory.
If you are adding things like
module load commands, aliases, changing your $PATH variable or something similar, the easiest way is to just add it to the end of your new
.zshrc file which is in your home.
You can also copy all the contents of the general SBCS-zshrc (/data/SBCS-Informatics/SBCS-zshrc) to your own
.zshrc. That way you can change anything you like! Add plugins, try the random theme, or even build your own functions. You can of course write your own .zshrc and use other packages.
There are other shells available as well.
fish for example, which claims to be "Finally, a command line shell for the 90s". However,
fish does have slightly different syntax than
zsh, the two of which are very similar. Feel free to keep looking, there are other more obscure things out there.
To return to your previous settings, remove the two new files
.zshrc and rename your backed up files to their original names.
cd rm .bash_profile # remove the new bash config rm .zshrc # remove the new zsh config mv .bash_profile.BAK .bash_profile # reinstate your old bash profile mv .bashrc.BAK .bashrc # if you were using bashrc mv .zshrc.BAK .zshrc # if you were using zshrc
ldapsearch -x cn=sbcs | grep memberUid | sort.
If you have started a process in an interactive session and want to put it in a state where it will keep running when you close the terminal window or lose connection, this is your solution.
bg %1to start the process in the background
disown %1to make it run disconnected from the terminal