Summary and Schedule
Prerequisite
To begin this lesson you must have completed the following
- Register for the course
- Participants must bring a laptop with a Mac, Linux, or Windows operating system (not a tablet, Chromebook, etc.) that they can download and run MobaXterm on. Alternatively, they should have a few specific software packages installed (listed in the Setup section below). They are also required to abide by the ARCHER2 Training Code of Conduct.
- Attendees should be familiar with using the bash shell. This is covered in the introduction to the shell HPC course.
- Complete the software/system setup including the connection to Archer2 via SSH.
Registration
Please use the ARCHER2 course registration form to sign up for the workshop.
General Information
This lesson is an introduction to using high-performance computing systems effectively. We obviously can’t cover every case or give an exhaustive course on parallel programming in just one lesson of teaching time. Instead, this lesson is intended to give students a good introduction and overview of the tools available and how to use them effectively.
By the end of this lesson, students will know how to:
Checklist
- Identify problems an HPC system can help solve
- Use the UNIX shell (also known as terminal or command line) to operate a computer, connect to an HPC system, and write simple shell scripts.
- Submit and manage jobs on an HPC system using a scheduler, transfer files, and use software through environment modules.
Setup Instructions | Download files required for the lesson | |
Duration: 00h 00m | 1. Connecting to the remote HPC systemd |
How do I open a terminal? How do I connect to a remote computer? What is an SSH key? :::::: |
Duration: 00h 40m | 2. Why use an HPC System? |
“Why would I be interested in High Performance Computing
(HPC)?” “What can I expect to learn from this course?” ::: |
Duration: 01h 00m | 3. Working on a remote HPC system |
“What is an HPC system?” “How does an HPC system work?” “How do I log on to a remote HPC system?” ::: |
Duration: 01h 35m | 4. Working with the scheduler |
“What is a scheduler and why are they used?” “How do I launch a program to run on any one node in the cluster?” “How do I capture the output of a program that is run on a node in the cluster?” ::: |
Duration: 02h 55m | 5. Accessing software via Modules |
“How do we load and unload software packages?” ::: |
Duration: 03h 40m | 6. Transferring files with remote computers |
“How do I transfer files to (and from) the cluster?” ::: |
Duration: 04h 10m | 7. Using resources effectively |
“How do we monitor our jobs?” “How can I get my jobs scheduled more easily?” ::: |
Duration: 04h 50m | 8. Using shared resources responsibly |
“How can I be a responsible user?” “How can I protect my data?” “How can I best get large amounts of data off an HPC system?” ::: |
Duration: 05h 10m | Finish |
The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.
Setup
There are several pieces of software you will wish to install before the workshop. Though installation help will be provided at the workshop, we recommend that these tools are installed (or at least downloaded) beforehand.
Bash and SSH
This lesson requires a terminal application (bash
,
zsh
, or others) with the ability to securely connect to a
remote machine (ssh
).
Where to type commands: How to open a new shell
The shell is a program that enables us to send commands to the computer and receive output. It is also referred to as the terminal or command line.
Some computers include a default Unix Shell program. The steps below describe some methods for identifying and opening a Unix Shell program if you already have one installed. There are also options for identifying and downloading a Unix Shell program, a Linux/UNIX emulator, or a program to access a Unix Shell on a server.
Shell Setup
Details
Setup for different systems can be presented in dropdown menus via a
solution
tag. They will join to this discussion block, so
you can give a general overview of the software used in this lesson here
and fill out the individual operating systems (and potentially add more,
e.g. online setup) in the solutions blocks.
Computers with Windows operating systems do not automatically have a Unix Shell program installed. In this lesson, we encourage you to use an emulator included in MobaXterm for Windows, which gives you access to both Bash shell commands and SSH.
Once installed, you can open a terminal by running the program MobaXterm from the Windows start menu.
Reference
- MobaXterm — Recommended
- Git for Windows — Alternative option used by other Software Carpentries
- Windows Subsystem for Linux — advanced option for Windows 10
Alternatives to MobaXterm and Git for Windows
Other solutions are available for running Bash commands on Windows. There is now a Bash shell command-line tool available for Windows 10. Additionally, you can run Bash commands on a remote computer or server that already has a Unix Shell, from your Windows machine. This can usually be done through a Secure Shell (SSH) client. One such client available for free for Windows computers is PuTTY. See the reference below for information on installing and using PuTTY, using the Windows 10 command-line tool, or installing and using a Unix/Linux emulator.
For advanced users, you may choose one of the following alternatives:
- Install the Windows Subsystem for Linux
- Use the Windows Powershell
- Read up on Using a Unix/Linux emulator (Cygwin) or Secure Shell (SSH) client (Putty) > ## Warning > > Commands in the Windows Subsystem for Linux (WSL), Powershell, or Cygwin > may differ slightly from those shown in the lesson or presented in the > workshop. Please ask if you encounter such a mismatch — you’re > probably not alone.
On macOS, the default Unix Shell is accessible by running the
Terminal program from the /Application/Utilities
folder in
Finder.
To open Terminal, try one or both of the following:
- In Finder, select the Go menu, then select Utilities. Locate Terminal in the Utilities folder and open it.
- Use the Mac ‘Spotlight’ computer search function. Search for:
Terminal
and press Return.
On most versions of Linux, the default Unix Shell is accessible by running the (Gnome) Terminal or (KDE) Konsole or xterm, which can be found via the applications menu or the search bar.
Special cases
If none of the options above address your circumstances, try an
online search for: Unix shell [your operating system]
.
This setup takes you through getting ready for the course by ensuring you have an SSH client installed and registering for an ARCHER2 account (you can also use an existing ARCHER2 account if you are already a user).
Setup an SSH client
Details
All attendees should have an SSH client installed. SSH is a tool that allows us to connect to and use a remote computer as our own. Please follow the directions below to install an SSH client for your system if you do not already have one.
Modern versions of Windows have SSH available in Powershell. You can
test if it is available by typing ssh --help
in Powershell.
If it is installed, you should see some useful output. If it is not
installed, you will get an error. If SSH is not available in Powershell,
then you should install MobaXterm as described below.
An alternative is to install MobaXterm from https://mobaxterm.mobatek.net. You will want to get the Home edition (Installer edition). However, if Powershell works, you do not need this.
macOS comes with SSH pre-installed, so you should not need to install anything. Use your “Terminal” app.
Linux users do not need to install anything, you should be set! Use your terminal application.
Connect to ARCHER2
Details
Note: If you already have an ARCHER2 account you can use that for this course. Please see see the notes at the end of this page rather than requesting a new account. Of course, if you prefer to sign up for another ARCHER2 account specifically for this course, you are welcome to do this instead!
Please sign up for your account on our HPC machine, ARCHER2, which will be available to you for the duration of the course and for a few days afterwards, to allow you to complete the practical exercises and put some of what you have learned into practice.
Sign up for a SAFE account
To sign up, you must first register for an account on SAFE (our service administration web application):
If you are already registered on the SAFE you do not need to re-register. Please proceed to the next step.
- Go to the SAFE New User Signup Form
- Fill in your personal details. You can come back later and change them if you wish. Note: you should register using your institutional or company email address - email domains such as gmail.com, outlook.com, etc. are not allowed to be used for access to ARCHER2
- Click “Submit”
- You are now registered. A single use login link will be emailed to the email address you provided. You can use this link to login and set your password.
Sign up for an account on ARCHER2 through SAFE
- Login to SAFE
- Go to the Menu “Login accounts” and select “Request login account”
- Choose the
ta133
project “Choose Project for Machine Account” box and click “Next” - On the next page, the ARCHER2 system should be selected. Click “Next”
- Enter the username you would prefer to use on ARCHER2. Every username must be unique, so if your chosen name is taken, you will need to choose another
Now you have to wait for the course organiser to accept your request to register. When this has happened, your account will be created on ARCHER2. Once this has been done, you should be sent an email. If you have not received an email but believe that your account should have been activated, check your account status in SAFE which will also show when the account has been activated. You can then pick up your one shot initial password for ARCHER2 from your SAFE account.
Generate an SSH key pair and upload it to SAFE
In addition to your password, you will need an SSH key pair to access ARCHER2. There is useful guidance on how to generate SSH key pairs in the ARCHER2 documentation.
Once you have generated your key pair, you need to add the public part to your ARCHER2 account in SAFE:
- Login to SAFE
- Go to the Menu “Login accounts” and select the ARCHER2 account you want to add the SSH key to
- On the subsequent Login account details page click the “Add Credential” button
- Select “SSH public key” as the Credential Type and click “Next”
- Either copy and paste the public part of your SSH key into the “SSH Public key” box or use the button to select the public key file on your computer.
- Click “Add” to associate the public SSH key part with your account
The public SSH key part will now be added to your login account on the ARCHER2 system.
Log into ARCHER2
You should now be able to log into ARCHER2 by following the login instructions in the ARCHER2 documentation.
Using an existing ARCHER2 account
If you wish to use an existing ARCHER2 account for the course, that
is perfectly fine. The only differences from the specific course account
are that you will not have access to the the node reservations for the
course or the course account code. Instead, you can use your existing
account code (the cost of the jobs is negligible as they are very short
and small) and the ARCHER2 short
QoS . When the course
talks about setting the following options:
you should replace them with:
Similarly, when you are writing job submission scripts, you should replace:
with