Introduction Flashcards
(21 cards)
What are some used of High Performance Computing?
- Physical Sciences
- Engineering
- Applied Mathematics
Why are HPC systems used?
To calculate approximate numerical solutions to problems that are difficult to solve analytically
What is the Top500 List?
A ranking of the top 500 supercomputers in the world. Its updated every 6 months.
How is performance of a device measured?
With a benchmark such as linpack
How does Linpack measure a systems performance?
It measures floating point operations per second using a dense linear algebra workload
What does flops stand for?
Floating Point Operations per Second
Why is parallelism needed in HPC systems?
A single core is limited by how many transistors can fit on it, to increase processing past a core multiple cores are used and parallelism allows this to be coded.
What is the dennard scale?
The Dennard scale is a recipe for keeping the power consumption a chip constant as transistors are scaled to a smaller size.
What is hyperthreading?
Hyperthreading is the process of deploying more than one thread to a chip at a time increasing the number of logical process that can be run
What is a commodity cluster?
A cluster of multi-core processors in which both the network and compute nodes are commercially available
What are MPPs?
Massive parallel processing systems
How is the ISCA computer structured?
It is a commodity cluster made of x86 nodes running linux
What are the 4 cluster components?
- Computer Nodes
- Interconnect
- Mass Storage
- Login Nodes
What do compute nodes provide?
Compute nodes provide the processor cores and memory to run the workload.
What does the interconnect provide?
The interconnect provides the cluster internal network enabling compute nodes to communicate across storage.
What do login nodes provide?
Login nodes provide access for users and admins via external networks
What sort of languages are used for HPC systems?
Typically compiled languages such as C, C++, and Fortran are used.
What are compiled languages used in HPC systems?
Compilers can make optimisations at compile time which would be too expensive for an interpreter to make at runtime. This aims to maximise performance.
How is parallelism implemented?
Typically too complex for the compiler so added by the programmer using extensions to existing serial languages. The two common methods are MPI and OpenMP.
What is MPI?
A Message Passing Interface for shared or distributed memory systems.
What is OpenMP?
A directive based parallelism method used for shared memory systems.