25
HIGH PERFORMANCE COMPUTING APPLICATIONS ESTEBAN HERNANDEZ Msc, PhD(c) HPC Specialist

High performance computing for research

Embed Size (px)

Citation preview

Page 1: High performance computing for research

HIGH PERFORMANCE COMPUTING APPLICATIONS

ESTEBAN HERNANDEZMsc, PhD(c) HPC Specialist

Page 2: High performance computing for research

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.

Page 3: High performance computing for research

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

Page 4: High performance computing for research

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

Page 5: High performance computing for research

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

Page 6: High performance computing for research

How to measure performance?• FLOPS

• Float Point Operation Per Second using LINKPACK

• 1GFlops, 1TeraFlop, 1Petaflop **

Page 7: High performance computing for research

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/

Page 8: High performance computing for research

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

Page 9: High performance computing for research

Parallel Computing Architectures

Distributed MemoryShared Memory

Homogeneous ArchitectureHeterogeneous Architecture

Page 10: High performance computing for research

Design Parallel Programs (SpeedUp)• Ideal SpeedUp

• Serial Problem

• Amdahl's Law:

Page 11: High performance computing for research

Design Parallel Programs (Communications problems)

• Measuring High-Performance Computing with Real Applications. Journal Computing in Science and Engineering. Purde University. 2008

Page 12: High performance computing for research

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

Page 13: High performance computing for research

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)

Page 14: High performance computing for research

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.

Page 15: High performance computing for research

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

Page 16: High performance computing for research

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

Page 17: High performance computing for research

Hardware Vendor of HPC• Cray

• XE6,CX7

• IBM • BlueGene P/Q• IDataplex

• HP • DL/SL/BL

Solutions

Page 18: High performance computing for research

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.

Page 19: High performance computing for research

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.

Page 20: High performance computing for research

How to build HPC solutions ?

Page 21: High performance computing for research

HPC on World.

Page 22: High performance computing for research

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/

Page 23: High performance computing for research

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).

Page 25: High performance computing for research

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