L1.3a HPC Concepts
L1.3a HPC Concepts
Some Concepts
Contents
• HPC
• Architecting a HPC system
• Approach to Parallelization
• Parallelization Paradigm
• Applications in area of Science and Engineering
What is a
HPC?
Definition 2 (Wikipedia)
• High Performance Computing (HPC) uses
Supercomputers and Clusters to solve
Computer computation problems.
advanced
Evolution of Supercomputers
• Supercomputer in the 1980s and 90s
• Custom-built computer systems
• Very expensive
HSM/
Backup
Networking
Server
Gateway
Switch Storage
Fabric Accelerated
Compute Acceleration
Compute
Nodes Tape Library/
Nodes
Backup storage
Parallel File
System
Local
Network
HPC Software Stack
Single CPU Systems
• Superscaler implementation
• Multicore architecture
Multiple Instructions
Cache/ Fetch Decode/
Memory Unit issue
Unit
E E E
U U U
• Multiple execution units
• Sequential instructions, multiple Register File
issue
Multicore
• Processor
Single computing component with two or more
independent processing units
• Each unit is called cores, which read and
execute
program instructions
Source: Wikipedia.
Advanced Vector eXtensions
• Implicit Parallelism
• Done by the compiler and runtime system
• Explicit Parallelism
• Done by the programmer
Implicit Parallelism
• Parallelism is exploited implicitly by the compiler and
runtime system
• Automatically detects potential parallelism in the
program
• Assigns the tasks for parallel execution
• Controls and synchronizes execution
(+) Frees the programmer from the details of parallel
execution
(+) it is a more general and flexible solution
(-) very hard to achieve an efficient solution for many
applications
Explicit Parallelism
• It is the programmer who has to
• Annotate the tasks for parallel execution
• Assign tasks to processors
Advantages :
• Data sharing between threads is fast and uniform
• Global address space provides user friendly
programming
Disadvantages :
• Lack of scalability between memory and
CPUs
• Programmer is responsible for specifying
synchronization, e.g. locks
• Expensive
Message Passing
Model
Characteristics of Message
Passing Model
• Asynchronous parallelism
• Explicit interaction
• Phase parallel
• Divide and conquer
• Pipeline
• Process farm
• Domain Decomposition
Phase Parallel
Model
o The parallel program consists of
a number of super steps, and
each has two phases.
4 cores
Application Areas ofHPC in
Science & Engineering
HPC in Science
Space Science
• Applications in Astrophysics and
Astronomy
Earth Science
• Applications in understanding
Physical Properties of
Geological Structures, Water
Resource Modelling, Seismic
Exploration
Atmospheric Science
• Applications in Climate and
Weather Forecasting, Air Quality
HPC in Science
Life Science
• Applications in Drug Designing, Genome
Sequencing, Protein Folding
Nuclear Science
• Applications in Nuclear Power, Nuclear
Medicine (cancer etc.), Defence
Nano Science
• Applications in Semiconductor Physics,
Microfabrication, Molecular Biology,
Exploration of New Materials
HPC in Engineering
Crash Simulation
• Applications in Automobile and
Mechanical Engineering
Aerodynamics Simulation & Aircraft
Designing
• Applications in Aeronautics and
Mechanical Engineering
Structural Analysis
• Applications in Civil Engineering
and
Architecture
Multimedia and Animation
DreamWorks Animation
SKG produces all its animated
movies using HPC graphic
technology