HIGH PERFORMANCE
COMPUTING
APPLICATIONS
ESTEBAN HERNANDEZ
Msc, PhD(c)
HPC Specialist
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.
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
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
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
How to measure performance?
• FLOPS
• Float Point Operation
Per Second using
LINKPACK
• 1GFlops, 1TeraFlop,
1Petaflop **
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/
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
Parallel Computing Architectures
Distributed MemoryShared Memory
Homogeneous Architecture
Heterogeneous Architecture
Design Parallel Programs (SpeedUp)
• Ideal SpeedUp
• Serial Problem
• Amdahl's Law: 𝑇𝑃 = 𝑃𝑎𝑟𝑎𝑙𝑙𝑒𝑙 𝑝𝑎𝑟𝑡 𝑜𝑓 𝐴𝑙𝑔𝑜𝑟𝑖𝑡ℎ𝑚
𝑇𝑠 = 𝑆𝑒𝑟𝑖𝑎𝑙 𝑝𝑎𝑟𝑡 𝑜𝑓 𝐴𝑙𝑔𝑜𝑟𝑖𝑡ℎ𝑚
𝑇1 = 𝑇𝑖𝑚𝑒 1 𝑃𝑟𝑜𝑐𝑒𝑠𝑠𝑜𝑟 ∗
𝑇𝑛 = 𝑇𝑖𝑚𝑒 𝑜𝑛 𝑛 𝑝𝑟𝑜𝑐𝑒𝑠𝑠𝑜𝑟𝑠 ∗
Design Parallel Programs
(Communications problems)
• Measuring High-Performance Computing with Real Applications. Journal Computing in Science and Engineering.
Purde University. 2008
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
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)
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.
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
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
Hardware Vendor of HPC
• Cray
• XE6,CX7
• IBM
• BlueGene P/Q
• IDataplex
• HP
• DL/SL/BL
Solutions
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.
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.
How to build HPC solutions ?
HPC on World.
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/
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).
THANKS
Questions ?
eshernan@gmail.com
co.linkedin.com/in/javaperformance/en
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

High performance computing for research

  • 1.
  • 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 needHPC? • 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 isused ? • 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 measureperformance? • FLOPS • Float Point Operation Per Second using LINKPACK • 1GFlops, 1TeraFlop, 1Petaflop **
  • 7.
    Parallel Computing, theKey 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
  • 9.
    Parallel Computing Architectures DistributedMemoryShared Memory Homogeneous Architecture Heterogeneous Architecture
  • 10.
    Design Parallel Programs(SpeedUp) • Ideal SpeedUp • Serial Problem • Amdahl's Law: 𝑇𝑃 = 𝑃𝑎𝑟𝑎𝑙𝑙𝑒𝑙 𝑝𝑎𝑟𝑡 𝑜𝑓 𝐴𝑙𝑔𝑜𝑟𝑖𝑡ℎ𝑚 𝑇𝑠 = 𝑆𝑒𝑟𝑖𝑎𝑙 𝑝𝑎𝑟𝑡 𝑜𝑓 𝐴𝑙𝑔𝑜𝑟𝑖𝑡ℎ𝑚 𝑇1 = 𝑇𝑖𝑚𝑒 1 𝑃𝑟𝑜𝑐𝑒𝑠𝑠𝑜𝑟 ∗ 𝑇𝑛 = 𝑇𝑖𝑚𝑒 𝑜𝑛 𝑛 𝑝𝑟𝑜𝑐𝑒𝑠𝑠𝑜𝑟𝑠 ∗
  • 11.
    Design Parallel Programs (Communicationsproblems) • 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 developsoftware 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 inHPC • 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 ofHPC • 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.
  • 20.
    How to buildHPC solutions ?
  • 21.
  • 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 HPConly 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).
  • 24.
  • 25.
    Good Books • Introductionto 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