How to configure your laptop to ease access to the clusters.

Besides installing one or two programs, there is no reason why you would not be able to connect and use the clusters from your laptop or desktop computer. But, as the clusters are running Linux, things go smoother if your laptop is also running Linux.

Two software are needed to connect to the clusters: a terminal and an SSH client.

The terminal is the piece of software that will allow you typing commands and reviewing the results, and the SSH client is the software that will allow you actually connect to the clusters.

A third piece of software is necessary for graphical applications that run on the clusters: an X server.

If you have a Linux computer...

... then things are made easier as you can set up your laptop just like the clusters are configured and hence have an homogeneous experience running your experiments and analysing your results.

Linux comes with all you need to connect to the cluster with your SSH Key. Just get accustomed to the notion of Agent Forwarding and Key Management software such as Key Ring and KWallet and you will never have to type in a passphrase again, even to copy files from one cluster to another. If you prefer a command-line solution, Keychain is a good alternative.

If you have customized your Bash environment, you can simply copy your .bashrc and .bash_profile (or the equivalent) file to the cluster and feel like home out there.

Copying data is done easily with the rsync command, and managing your code is done effectively with a tool such as Mercurial or Git.

One major difference, though, is that, on your laptop, you will most probably install software using packages (typically rpms or debs). On the cluster, you will not be able to do that. You will need to compile the software from sources. So it can be wise to take the habit of recompiling all the software you use on your laptop so that you have sufficient experience doing it on the cluster. Compiling several versions of the gcc compiler and getting them to co-exist peacefully is a very good exercise. It furthermore allows you to install the same version as is installed on the cluster so your compilation tests are consistent.

Note that most clusters run REHL, or a derivative such as CentOS or Scientific Linux, or Debian. Those are preferred over more up-to-date-but-less-stable distributions as Ubuntu or Fedora.

If you have a Mac...

... then you are nearly as comfortable as if you had a Linux, except that standard libraries are different, and differently organized so compiling will be a different experience. Still, you can install Linux in a Virtual Machine, or setup a dual boot.

If you want to run graphical applications the official X server for MacOS is named XQuartz. You can install it by downloading the DMG installer from the website or by using homebrew.

If you have a Windows computer...

… then you will need to install some software no matter what.

We cover two possibilites to work on a Windows environment:

  • Install a UNIX like environment like MobaXterm, Cygwin or Mingw. You can follow our guide to Download and setup MobaXterm.
  • Follow the guide to setup the Windows Subsystem for Linux feature and install an available Linux distro (only Windows 10 after October 2017 build support this).

We strongly recommend following the MobaXterm option as that will provide a complete environment for connecting to the clusters and copying/retrieving files from them.

Of course, you still have the possibility to setup a dual boot system with Windows and Linux. Every Linux distribution will allow you to do so effortlessly.

A final option, discussed here, is to install a Linux virtual machine, for instance with software such as Virtual Box. This option is very interesting if you do not have administrator privileges in your computer. Just ask to have that software installed, and, within it, you will have no restriction in your Linux virtual machine. It furthermore allows you to save the state of your machine, which is interesting for full system backups and migration to another computer. The downside is that you will need a fairly strong hardware configuration, especially if you plan on using several virtual machines in parallel (for instance to debug MPI programs).