Introduction Flashcards
(26 cards)
What does High-Performance Computing (HPC) usually refer to?
The practice of aggregating computing power to deliver much higher performance than a typical desktop computer for solving large problems in science, engineering, or business.
What is the Top500 List?
A ranking of the world’s fastest HPC systems based on High-Performance Linpack (HPL) benchmark performance.
How often is the Top500 List published?
Twice a year.
What does the Linpack benchmark measure?
Floating point operations per second (FLOPS) using a dense linear algebra workload.
What type of workload does the Linpack benchmark use?
Dense linear algebra
What is HPL?
High-Performance Linpack: a parallel version of Linpack used for ranking HPC systems.
How has HPC performance changed over time?
It has grown exponentially since the 1990s
Why is parallel programming harder than serial programming?
It requires correctness and efficiency while managing synchronisation and communication.
Why can’t we rely on just one really fast processor?
The breakdown of Dennard scaling due to physical limits
What is Moore’s Law?
The number of transistors on a chip doubles approximately every 24 months.
What is Dennard Scaling?
Benefit?
- A recipe for keeping power per unit area constant as transistors become smaller
- This allows smaller transistors to become faster and more energy efficient.
What is a commodity cluster?
An HPC system integrating off-the-shelf components
How does a massively parallel processing (MPP) system differ from a commodity cluster?
MPP systems use more specialised hardware and are less reliant on off-the-shelf components.
What is the most common HPC architecture today?
Commodity clusters
What are the four main components of an HPC cluster?
- Compute nodes
- Interconnect
- Mass Storage
- Login Nodes
What is the function of compute nodes?
They provide the processor cores and memory required to execute workloads.
What is the purpose of an interconnect in an HPC cluster?
It enables compute nodes to communicate and access storage.
It is the cluster’s internal network
What is the role of mass storage in an HPC cluster?
It provides disk arrays and storage nodes for user filesystems.
What is a login node in an HPC system?
It provides external access (e.g., SSH) for users and administrators via an external network.
Why do HPC applications typically use compiled languages?
To maximise performance, as compilers can optimise code at compile time.
What are the three most common languages used in HPC?
- C
- C++
- Fortran
Why is Fortran still widely used in HPC?
Many legacy HPC codes and libraries are written in Fortran, making rewrites expensive.
What is OpenMP?
A shared-memory parallel programming model which uses compiler directives
Available for C, C++, and Fortran
What is MPI?
Message Passing Interface: parallelism for shared or distributed memory which uses function calls