Instructor Notes

Glossary


The following list captures terms that need to be added to this glossary. This is a great way to contribute.

{:auto_ids} Accelerator : to be defined

Beowulf cluster
to be defined
Central processing unit
or simply processor is the (hardware) component of a computer that executes the instructions supplied by a program (software). Most modern desktop computers have multi-core processors, e.g. devices with 2 CPUs are called dual-core, with 4 cores are called quad-core and so on. Each core is a separate physical implementation of the electronic circuitry required to execute instructions.
Cloud computing
to be defined
Cluster
a collection of computers configured to enable collaboration on a common task by means of purposefully configured hardware (e.g., networking) and software (e.g. workload management).
Distributed memory
to be defined
Grid computing
to be defined
High availability computing
to be defined
High performance computing
to be defined
Interconnect
to be defined
Node
to be defined
Parallel
to be defined
Serial
to be defined
Server
to be defined
Shared memory
to be defined
Slurm
to be defined
Supercomputer
“… a major scientific instrument …”
Workstation
to be defined
Grid Engine
to be defined
Parallel File System
to be defined

Why use a Cluster?


Connecting to a remote HPC system


Working on a remote HPC system


Scheduler Fundamentals


Environment Variables


Accessing software via Modules


Transferring files with remote computers


Using the Research Data Warehouse


Parallelising with Job Arrays.


Instructor Note

The complete script can be downloaded from: https://raw.githubusercontent.com/NewcastleRSE-Training/hpc-intro-comet/refs/heads/main/episodes/files/job_single_word-freq.sh



Instructor Note

Download the data using https://raw.githubusercontent.com/NewcastleRSE-Training/hpc-intro-comet/refs/heads/main/episodes/files/make-data.sh



Instructor Note

You can download the script from https://raw.githubusercontent.com/NewcastleRSE-Training/hpc-intro-comet/refs/heads/main/episodes/files/job_array_word-freq.sh



Running a parallel job (alternative episode)


Instructor Note

Ideally the code for this episode should be pre-compiled and made available for students to download. We have found that expecting students to write or even compile code causes information overload and confusion.

The code and scripts to compile can be downloaded from https://github.com/NewcastleRSE-Training/HPC_Training_Example_Jobs. After compiling the two versions of the program, copy it to a place where students can copy or download it from.

The binaries of the two programs will be very small so the fact that there would be duplication if all the students copy the binaries to their own working directories should not really matter. In doing it this way, students will also get the opportunity to submit a job where the program they are using is in their local directory (rather than loading a module).



Running a parallel job


Using resources effectively


Using shared resources responsibly