Introduction Flashcards

(26 cards)

1
Q

What does High-Performance Computing (HPC) usually refer to?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is the Top500 List?

A

A ranking of the world’s fastest HPC systems based on High-Performance Linpack (HPL) benchmark performance.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

How often is the Top500 List published?

A

Twice a year.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What does the Linpack benchmark measure?

A

Floating point operations per second (FLOPS) using a dense linear algebra workload.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What type of workload does the Linpack benchmark use?

A

Dense linear algebra

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is HPL?

A

High-Performance Linpack: a parallel version of Linpack used for ranking HPC systems.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

How has HPC performance changed over time?

A

It has grown exponentially since the 1990s

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Why is parallel programming harder than serial programming?

A

It requires correctness and efficiency while managing synchronisation and communication.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Why can’t we rely on just one really fast processor?

A

The breakdown of Dennard scaling due to physical limits

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is Moore’s Law?

A

The number of transistors on a chip doubles approximately every 24 months.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is Dennard Scaling?

Benefit?

A
  • A recipe for keeping power per unit area constant as transistors become smaller
  • This allows smaller transistors to become faster and more energy efficient.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is a commodity cluster?

A

An HPC system integrating off-the-shelf components

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

How does a massively parallel processing (MPP) system differ from a commodity cluster?

A

MPP systems use more specialised hardware and are less reliant on off-the-shelf components.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is the most common HPC architecture today?

A

Commodity clusters

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What are the four main components of an HPC cluster?

A
  1. Compute nodes
  2. Interconnect
  3. Mass Storage
  4. Login Nodes
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is the function of compute nodes?

A

They provide the processor cores and memory required to execute workloads.

17
Q

What is the purpose of an interconnect in an HPC cluster?

A

It enables compute nodes to communicate and access storage.

It is the cluster’s internal network

18
Q

What is the role of mass storage in an HPC cluster?

A

It provides disk arrays and storage nodes for user filesystems.

19
Q

What is a login node in an HPC system?

A

It provides external access (e.g., SSH) for users and administrators via an external network.

20
Q

Why do HPC applications typically use compiled languages?

A

To maximise performance, as compilers can optimise code at compile time.

21
Q

What are the three most common languages used in HPC?

A
  1. C
  2. C++
  3. Fortran
22
Q

Why is Fortran still widely used in HPC?

A

Many legacy HPC codes and libraries are written in Fortran, making rewrites expensive.

23
Q

What is OpenMP?

A

A shared-memory parallel programming model which uses compiler directives

Available for C, C++, and Fortran

24
Q

What is MPI?

A

Message Passing Interface: parallelism for shared or distributed memory which uses function calls

25
Why can’t compilers automatically parallelise most HPC code?
Parallelisation is typically too complex and needs to be designed by the programmer
26
Name two specialised parallel programming languages used in HPC.
1. Chapel 2. Julia ## Footnote Not widely used currently