Upload
esteban-hernandez
View
634
Download
1
Embed Size (px)
Citation preview
HIGH PERFORMANCE COMPUTING APPLICATIONS
ESTEBAN HERNANDEZMsc, 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 **
05/03/2023 Introduction to HPC
Parallel Computing, the Key
Parallel ProcessingSerial Processing
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 ArchitectureHeterogeneous Architecture
Design Parallel Programs (SpeedUp)• Ideal SpeedUp
• Serial Problem
• Amdahl's Law:
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 SolutionActive 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/centros-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).
THANKSQuestions [email protected] 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