Why use a Cluster?
Overview
Teaching: 15 min
Exercises: 5 minQuestions
Why would I be interested in High Performance Computing (HPC)?
What can I expect to learn from this course?
Objectives
Describe what an HPC system is
Identify how an HPC system could benefit you.
Frequently, research problems that use computing can outgrow the capabilities of the desktop or laptop computer where they started:
-
A statistics student wants to cross-validate a model. This involves running the model 1000 times – but each run takes an hour. Running on their laptop will take over a month! The final results are calculated after all 1000 models have run, but due to limited power of their laptop, the student typically only runs one model at a time (in serial). Since each model is independent, it’s theoretically possible to run them all at once (in parallel).
-
A genomics researcher has been using small sets of sequence data, but soon will be receiving a dataset that is 10 times larger. It’s already challenging to open the datasets on their computer – analyzing the larger dataset will probably crash it. In order to solve this research problem, a computer with more memory would be required to analyze the much larger future dataset.
-
An engineer is using a fluid dynamics package that has an option to run in parallel. In going from 2D to 3D simulations, the simulation time has more than tripled. They have tried the parallel option using the 8 cores on their desktop, but it slows down their computer so much that they can’t use it for anything else and the run time is still very long. If they had access to a computer (or multiple computers) with more cores, they could run their simulation more quickly.
In all these cases, access to more (and larger) computers is needed. Those computers should be usable at the same time, solving many researchers’ problems in parallel.
Jargon Busting Presentation
Open the HPC Jargon Buster
in a new tab. To present the content, press C
to open a clone in a
separate window, then press P
to toggle presentation mode.
Key Points
High Performance Computing (HPC) typically involves connecting to very large computing systems elsewhere in the world.
These other systems can be used to do work that would either be impossible or much slower on smaller systems.
HPC resources are shared by multiple users.
The standard method of interacting with such systems is via a command line interface.