Getting Started with High Performance Computing
If you are new to high performance computing, there are some concepts that you should be familiar with before you start to use Bridges, including
- the difference between login nodes and compute nodes
- interactive sessions
- batch jobs
- Unix shells
When you are familiar with all of these, you are ready to connect to Bridges and begin your work. See the Connecting to Bridges section of the User Guide to get started.
Login vs. compute nodes
Bridges resources are divided between login nodes and compute nodes. There are over 800 compute nodes of different types, but only a small number of login nodes.
Login nodes are used for administrative tasks like copying, editing and transferring files. When you connect to Bridges via an ssh client (more below on ssh) or the XSEDE single sign on portal, you are logging in to one of the login nodes.
You cannot do your research computing on Bridges' login nodes. From the login node you can either submit a batch job to the compute nodes or connect to the compute nodes in an interactive session (more on batch jobs and interactive sessions below).
Compute nodes are where your real work will be done. From a login node, you can connect to one or more compute nodes in an interactive session, or submit a batch script to be run on one or more compute nodes.
You cannot log in to the compute nodes directly. Doing so would have a detrimental effect on the performance of those compute nodes.
You will need an ssh client to log in to Bridges' login nodes; they are not reachable via a web browser.
SSH is a program that enables secure logins over an unsecure network. It encrypts the data passing both ways so that if it is intercepted it cannot be read.
SSH is client-server software, which means that both the your local computer and the remote computer must have it installed. SSH server software is installed on all the PSC machines. You must install SSH client software on your local machine.
Free ssh clients for Macs, Windows machines and many versions of Unix are available. Popular ssh clients (GUI) include PuTTY for Windows and Cyberduck for Macs. A command line version of ssh is installed on Macs by default; if you prefer that, you can use it in the Terminal application. You can also check with your university to see if there is an ssh client that they recommend.
If you prefer not to use ssh and you are an XSEDE user, you can use the XSEDE single sign on portal instead of ssh to reach Bridges' login nodes. See the XSEDE single sign on portal for information.
Interactive sessions vs. batch jobs
Most work on Bridges is done through either an interactive session or a batch job. You must log in to one of Bridges' login nodes to begin either of these.
Interactive sessions will look familiar to most users. From Bridges' login node, you will ask for a number of compute nodes to be allocated to you. When they are, you will be connected to the compute nodes and you will be able to type commands at the prompt and get an immediate response as soon as the command completes. When you are finished, you will type CTRL-D (holding down the ctrl and the d keys at the same time) to end your interactive session. You will be returned to the login node.
Batch jobs require you to create a file, called a batch script, that contains all the commands you want to run. The batch script is submitted to Bridges' scheduler (called SLURM, more about that in the Running Jobs section of this User Guide), goes into a queue, and is run as soon as possible. A file containing the output from the job is written in your home directory. Other files, such as data results from the job can be created also. You can check the output files whenever you like. You do not have to remain logged in to Bridges until the job completes.
A Unix shell is a command-line interpreter that provides a traditional user interface for Unix and Unix-like systems. Because Bridges uses a Unix-like operating system, you will be using a shell whenever you are logged in to Bridges and in batch scripts. The two major shell types are the Bourne shell and the C shell. Each type has its own commands and syntax.
The default shell on Bridges is bash, a Bourne-type shell. Other shells, including some C-type shells, are available for you to use if you prefer.
For the most part, you do not have to worry about which shell you are using, but you will see this term used throughout the User Guide. Where the commands to use differ depending on your shell, both bash and csh command versions will be given.