Introduction: The workshop session will provide a quick tour covering high-level concepts, commands and processes for using Linux and HPC on our Beartooth cluster. It will cover enough to allow an attendee to access the cluster and to perform analysis associated with this workshop.
...
What is HPC
HPC stands for High Performance Computing and is one of UW ARCC’s core services. HPC is the practice of aggregating computing power in a way that delivers a much higher performance than one could get out of a typical desktop or workstation. HPC is commonly used to solve large problems, and has some common use cases:
...
We typically have multiple users independently running jobs concurrently across compute nodes.
Resources are shared, but do not interfere with any one else’s resources.
i.e. you have your own cores, your own block of memory.
If someone else’s job fails it does NOT affect yours.
...
There are 2 types of HPC systems:
Homogeneous: All compute nodes in the system share the same architecture. CPU, memory, and storage are the same across the system. (Ex: NWSC’s Derecho)
Heterogeneous: The compute nodes in the system can vary architecturally with respect to CPU, memory, even storage, and whether they have GPUs or not. Usually, the nodes are grouped in partitions. Beartooth is a heterogeneous cluster and our partitions are described on the Beartooth Hardware Summary Table on our ARCC Wiki.
...
A reservation can be considered a temporary partition.
It is a set of compute nodes reserved for a period of time for a set of users/projects, who get priority use.
...
Important Dates:
After the 17th of June this reservation will stop and you will drop down to general usage if you have another Beartooth project.
The project itself will be removed after the 24th of June. You will not be able to use/access it. Anything you require please copy out of the project.
...
Expand | ||
---|---|---|
| ||
|
Note: While we use a webform to request Beartooth resources on Southpass, later training will show how resource configurations can be requested through command line via salloc
or sbatch
commands.
...
/apps
(Specific to ARCC HPC) is like on Windows or on a Mac.Where applications are installed and where modules are loaded from. (More on that later).
/alcova
(Specific to ARCC HPC).Additional research storage for research projects that may not require HPC but is accessible from beartooth.
You won’t have access to it unless you were added to an alcova project by the PI.
...
Exercise: File Browsing in Southpass GUI
...
The Beartooth Shell Access opens up a new browser tab that is running on a login node. Do not run any computation on these.
[<username>@blog2 ~]$
The SouthPass Interactive Desktop (terminal) is already running on a compute node.
[<username>@t402 ~]$
...
Login Node Policy
...
Anything compute-intensive (tasks using significant computational/hardware resources - Ex: using 100% cluster CPU)
Long running tasks (over 10 min)
Any collection of a large # of tasks resulting in a similar hardware footprint to actions mentioned previously.
Not sure? Use
salloc
to be on the safe side. This will be covered later.
Ex:salloc –-account=arccanetrain -–time 40:00
See more on ARCC’s Login Node Policy here
...
|
| ||
|
|
...
Note: On Beartooth, vi
maps to vim
i.e. if you open vi
, you're actually starting vim
.
...
Demonstrating vi/vim text editor
...
Since the cluster has to cater for everyone we can not provide a simple desktop environment that provides everything.
Instead we provide modules that a user will load that configures their environment for their particular needs within a session.
...
We’ve covered the following high-level concepts, commands and processes:
What is HPC and what is a cluster - focusing on ARC’s Beartooth cluster.
An introduction to Linux and its File System, and how to navigate around using an Interactive Desktop and/or using the command-line.
Linux command-line commands to view, search, parse, sort text files.
How to pipe the output of one command to the input of another, and how to redirect output to a file.
Using vim as a command-line text editor and/or emacs as a GUI within an Interactive Desktop.
Setting up your environment (using modules) to provide R/Python environments, and other software applications.
Accessing compute nodes via a SouthPass Interactive Desktop, and requesting different resources (cores, memory, GPUs).
Requesting interactive sessions (from a login node) using
salloc
.Setting up a workflow, within a script, that can then be submitted to the Slurm queue using
sbatch
, and how to monitor jobs.
...