2. About me …
• PhD (c) on Engineering *Heterogeneous Parallel
Programming for Weather Forecasting using WRF
• Bsc, Msc on Computer Sciences focus on performance
Analyzing of multicore system using PAPI.
• Minor on applied maths and Network programming
• 12 years experience on Software architecture including
Linux kernel, Linux cluster, Distributed FileSystems and
High Availability systems.
• Consultant for IBM, Cray Computing and HP.
• 4 year of research using GPUs for Cryptography, BigData
and DataSciences.
3. What is HPC?
• “The use of the most efficient
algorithms on computers capable of
the highest performance to solve the
most demanding problems” Brown
University
• “Computational facilities
substantially more powerful than
current desktop computers”.
Valencia University
• More powerful system scheduled
to first available system(s), using
multiple systems simultaneously.
TACC.Texas University
• In some cases similar to
SuperComputing style top500.org
4. When I need HPC?
• Large problems – spatially/temporally
• 10,000 x 10,000 x 10,000 grid 10^12 grid points 4x10^12 double
variables 32x10^12 bytes = 32 Tera-Bytes.
• Usually need to simulate tens of millions of time steps.
• On-demand/urgent computing; real-time computing;
• If your problems is
• Weather forecasting; protein folding; turbulence simulations/CFD;
aerospace structures; Full-body simulation/ Digital human
• Simulation using Computational Fluid Dynamics.
• Astrophysics, when my actual commodity cluster don’t offer the
power required.
• Bioinformatics simulation, Genome sequences process: I’d rather
have the result in 5 minutes than in 5 days
5. Where HPC is used ?
• Numerical Simulation and Optimization
• PDE, Finite Elements Methods,
• Weather Prediction Models
• COCOMO, WRF
• Visualization
• Medial Imaging Improving, Remote Access
• Oil and Gas
• Bioscience
• DataSciences and BigData
• Aerodynamics and aerospace engineering
• Nuclear physics and Computational
• Computational Dynamic Fluids
• Digital Signal Processing.
• Biomedical Engineering
• Information Security and Cryptography
6. How to measure performance?
• FLOPS
• Float Point Operation
Per Second using
LINKPACK
• 1GFlops, 1TeraFlop,
1Petaflop **
7. Parallel Computing, the Key
Parallel ProcessingSerial Processing
9/8/2015 Introduction to HPC
All Images was taken of https://computing.llnl.gov/tutorials/parallel_comp/
8. Parallel computing architecture
• Shared Memory
• All cores/processors
access the same
memory region
• Support of OpenMP
• Distributed Memory
• Every cores per node
has local memory, and
all memory has available
via messaging
• Support MPI
11. Design Parallel Programs
(Communications problems)
• Measuring High-Performance Computing with Real Applications. Journal Computing in Science and Engineering.
Purde University. 2008
12. Communications for HPC.
• Torus and Geminy
• Torus 3D Connection
(x,y,z)/6D Connection
• Very Low Latency (89
ns/hop) vs 1G Ethernet
(70-150 µs).
• 1.4, 1.8 y 2.5 Gbs/link
• Inifiniband
• Industry Standard with
25Gbits per Link and
300Gbits/ 12x on EDR
13. Design Parallel Programs
• Understand the Problem and the Program
• Identify the program's hotspots
• Identify bottlenecks in the program
• Apply Parallel Patterns
• Domain Decomposition
• (Data Decomposition)
Functional
Decomposition (Task
Decomposition)
14. How to develop software for HPC?
• Choose a scientific (or commercial) problem(s).
• Think in parallel
• Use decomposition (functional or domain)
• Choose a model of computation
• Shared or Distributed Memory
• Take advantage of SuperComputing center
• ** Plans for supercomputing center on this University
• Choose a technology and Frameworks.
• OpenMP, MPI
• Pure Multicore Solution, Heterogeneous Computing (GPUs, Vector)
• Gain experience with language programming and compiler
• Intel MKL, PGI, Chapel, CUDA, MPI implementations, Python
*numpy*, Fortran, Intel Xeon API, OpenAcc, OpenCL and other
specific by area.
15. Examples of Software
• Compilers with support to Mathematical routines:
PGI, Intel MKL, Cray Chapel, HP, compiler.
• Mathematical libraries: Matlab FFT, MKL, fftw
(Dft), Lapack Implementations (Linear Algebra
Pack), BLAS.
• Performance Analyzing tools ( Tau, Total Viewed ,
OpenSource Performance Tools).
• Profiling, Memory trace and debugging.
• In some cases Distributed File System (Luster,
GFS, DFS, etc)
• And much more Please review
http://www.ncsu.edu/itd/hpc/Software/Software.php
16. Current Trends in HPC
• GPUs (Specially nvidia
CUDA Capable)
• Tesla Solutions with
Kepler or Fermi *CUDA
technology*
• Intel MIC Accelerator
• X86 full Support
• Pure Multicore
Solutions
• 8 Core on Intel, 16 cores
on AMD, 8 Cores IBM
Power 7
17. Hardware Vendor of HPC
• Cray
• XE6,CX7
• IBM
• BlueGene P/Q
• IDataplex
• HP
• DL/SL/BL
Solutions
18. HPC Industry Application
• Wal-Mart uses HPC modelling to optimise its supply chain, including performing
daily stock analysis across its entire worldwide shop network
• Fed-Ex uses HPC systems to simulate and plan the delivery of millions of items
around the world each day through its fleet of 600+ aircraft and 75,000 vehicles
• The NASDAQ Stock Exchange uses HPC to process over two billion
transactions daily at rates of more than 200,000 transactions per second.
Technology costs were reduced by 70% in the last three years using commodity
HPC hardware.
• Motorola uses HPC to produce models and simulations of wireless devices and
radio links needed to develop global telecommunications services. The effects of
buildings and geographical features on wireless signals can be accurately
predicted using HPC enabling potential problems to be designed out
• Texaco uses HPC technology to process vast amounts of seismic data, enabling
deposits of oil and natural gas to be identified in sand layers.
• DreamWorks Animation SKG produces all its animated movies using HPC
graphic technology.
• Whirlpool Corporation uses HPC to carry out fluid dynamics simulations for its
dishwashers and washing machines – it has reduced he number of prototypes
that need to be built and tested, reduced design and manufacturing costs and
enhanced product quality.
19. HPC Industry Application
• Caterpillar Inc uses HPC virtual reality to improve the efficiency of heavy earth
moving equipment. Design changes that once took up to nine months to
implement can be made in less than one month.
• GE Aviation and Energy has advanced its product line using HPC processing in
the design process to produce engines that are quieter, more efficient and
produce les emissions than previously possible.
• Goodyear Tyres use HPC to increase the speed of their design and modelling.
Tread wear tests that previously took months can be carried out in minutes,
reducing the cost of testing from 40% of their R&D budget to just 15%
• Portland Cement Association has developed a virtual testing system using HPC
that reduces the need for costly and time-consuming physical testing of cement.
• Proctor & Gamble used HPC analysis to design the right geometric shape for
Pringles crisps to facilitate more efficient production and packaging.
• Bayer Schering Pharmaceutical used HPC simulations to design a device that
would speed up the treatment of stroke victims. By using simulation instead of
traditional bench testing the device could be utilised 10 months ahead of
schedule.
22. HPC on Colombia ?
Projected HPC Solution
Active HPC Solution
City University Name
Bogotá Distrital CECAD
Bogotá Javeriana ZINE
Bogotá Andes UNGrid
Bucaramanga UIS GUANE I
Manizales Caldas BIOS
Medellín Eafit Purde-Eafit
http://prezi.com/7kw64jhxrsqx/centr
os-de-supercomputacion/
23. Does the HPC only cluster?
• HPC Not Equal to Commodity Cluster
• Need Specialized architecture
• Need Some special IT skills:
• Linux + MPI + OpenMP + Tunning + debugger + parallel
paradigms
• Some tips
• “The whole is greater than the sum of its parts.”
• Researchers can shared elements
• The IT Department + Research Group = Great Team
• Link with other Success Experiences (Universities and Research
groups).
25. Good Books
• Introduction to Parallel
Computing, Second Edition.
Ananth Grama, Anshul Gupta, George Karypis,
Vipin Kumar
• An Introduction to Parallel
Programming
• High Performance Computing
Programming and Applications.
Jhon Levesque
• Parallel Programming in
OpenMP
• MPI: The Complete Reference