High Performance Computing (HPC)
Basic Concepts – it enables you to
solve bigger problems, faster, with better
answers
How? Integrating many processors,
memories, storage devices to act as one
power system.
Architecture
What is HPC?
●
Can be high performance computing or high performance computer
●
It is aggregation of computing power
●
Delivers much higher performance than one could get out of a regular
desktop – if you use it properly
●
Can solve large problems in science, engineering, business
●
High speed computing originally implemented only in supercomputers for
scientific research.
●
Used for scientific research and computational science.
●
HPC system have shifted from supercomputers to computing clusters.
What is HPC?
●
High-performance computing (HPC) is the ability to process data and
perform complex calculations at high speeds. To put it into perspective, a
laptop or desktop with a 3 GHz processor can perform around 3 billion
calculations per second. While that is much faster than any human can
achieve, it pales in comparison to HPC solutions that can perform
quadrillions of calculations per second.
●
One of the best-known types of HPC solutions is the supercomputer. A
supercomputer contains thousands of compute nodes that work together to
complete one or more tasks. This is called parallel processing. It’s similar
to having thousands of PCs networked together, combining compute
power to complete tasks faster.
How does HPC work?
HPC solutions have three main components:
●
Compute
●
Network
●
Storage
What is an HPC cluster?
An HPC cluster consists of hundreds or thousands of
compute servers that are networked together. Each
server is called a node. The nodes in each cluster work
in parallel with each other, boosting processing speed
to deliver high-performance computing.
Examples of HPC
– Astronomy
– Astrophysics
– Human genome work
– Imaging and rendering
– Earthquake wave propagation
– Nuclear reactor, weapon design
– Protein Structures
– Petroleum exploration
– Intensive transportation modeling
– Climate modeling
– Ocean modeling
–
Teaching, etc.
What is cluster?
●
Cluster is a group of machines interconnected in a way that they work
together as a single system.
●
Terminology
Node – individual machine in a cluster
Head / Master node – connected to both the private network and public
network of the cluster and are used to access a given cluster.
Compute nodes – connected to only the private network of the cluster and
are generally used for running jobs assigned to them by the head nodes
When Do We Need HPC?
Case 1 – Complete a time-consuming operation in a less
time
I am an automotive engineer
I need to design a new car that consume less gasoline
I would rather have the design completed in 6 months
than 2 years
I want to test my design using simulations rather than
building very expensive prototypes.
Where are we using HPC?
●
Used to solve complex modeling problems in a spectrum of
disciplines.
●
Topics include
Artificial intelligence
Climate change
Automotive engineering
Geophysics
Molecular biology
Nuclear physics
Plasma physics
Quantum physics
Where are we using HPC?
●
Used to solve complex modeling problems in a spectrum of
disciplines.
●
Topics include
Solid state physics
Quantum chemistry
●
HPC is currently applied to business uses as a well
Transaction processing
Data warehouses
Goals of HPC
Minimize the execution time given the certain number of
applications (strong scaling)
Maximize the number of applications being completed, given a
certain amount of time (weak scaling