10- High Performance Compu5ng



Similar documents
6- Programming Languages

8- Management of large data volumes

22S:295 Seminar in Applied Statistics High Performance Computing in Statistics

Denis Caromel, CEO Ac.veEon. Orchestrate and Accelerate Applica.ons. Open Source Cloud Solu.ons Hybrid Cloud: Private with Burst Capacity

Overview on Modern Accelerators and Programming Paradigms Ivan Giro7o

David Rioja Redondo Telecommunication Engineer Englobe Technologies and Systems

Parallel Programming Survey

Introduction to GPU Programming Languages

GPUs for Scientific Computing

Speeding up MATLAB and Simulink Applications

Trends in High-Performance Computing for Power Grid Applications

GPU System Architecture. Alan Gray EPCC The University of Edinburgh

How To Compare Amazon Ec2 To A Supercomputer For Scientific Applications

HETEROGENEOUS HPC, ARCHITECTURE OPTIMIZATION, AND NVLINK

Programming models for heterogeneous computing. Manuel Ujaldón Nvidia CUDA Fellow and A/Prof. Computer Architecture Department University of Malaga

Graphics Cards and Graphics Processing Units. Ben Johnstone Russ Martin November 15, 2011

Chapter 2 Parallel Architecture, Software And Performance

GPU Hardware and Programming Models. Jeremy Appleyard, September 2015

GPGPU for Real-Time Data Analytics: Introduction. Nanyang Technological University, Singapore 2

Introduction to GPU hardware and to CUDA

Write a technical report Present your results Write a workshop/conference paper (optional) Could be a real system, simulation and/or theoretical

Introduction to grid technologies, parallel and cloud computing. Alaa Osama Allam Saida Saad Mohamed Mohamed Ibrahim Gaber

Scalability and Classifications

Introduction to Cloud Computing

OpenPOWER Outlook AXEL KOEHLER SR. SOLUTION ARCHITECT HPC

Application of a Development Time Productivity Metric to Parallel Software Development

Tackling Big Data with MATLAB Adam Filion Application Engineer MathWorks, Inc.

Lecture 11: Multi-Core and GPU. Multithreading. Integration of multiple processor cores on a single chip.

Parallel Computing with MATLAB

Introduction to GP-GPUs. Advanced Computer Architectures, Cristina Silvano, Politecnico di Milano 1

Bringing Big Data Modelling into the Hands of Domain Experts

High Performance Computing. Course Notes HPC Fundamentals

High Performance Computing

Matlab on a Supercomputer

GPU Architectures. A CPU Perspective. Data Parallelism: What is it, and how to exploit it? Workload characteristics

CUDA programming on NVIDIA GPUs

2015 The MathWorks, Inc. 1

Introducing PgOpenCL A New PostgreSQL Procedural Language Unlocking the Power of the GPU! By Tim Child

NVIDIA CUDA Software and GPU Parallel Computing Architecture. David B. Kirk, Chief Scientist

STORAGE HIGH SPEED INTERCONNECTS HIGH PERFORMANCE COMPUTING VISUALISATION GPU COMPUTING

Scientific Computing Programming with Parallel Objects

Parallel Computing: Strategies and Implications. Dori Exterman CTO IncrediBuild.

Lecture 1 Introduction to Parallel Programming

System Models for Distributed and Cloud Computing

Parallel Algorithm Engineering

Amazon EC2 Product Details Page 1 of 5

ECE6130 Grid and Cloud Computing

HPC technology and future architecture

Performance Evaluation of NAS Parallel Benchmarks on Intel Xeon Phi

Data Center Evolu.on and the Cloud. Paul A. Strassmann George Mason University November 5, 2008, 7:20 to 10:00 PM

Parallelism and Cloud Computing

Program Grid and HPC5+ workshop

for my computation? Stefano Cozzini Which infrastructure Which infrastructure Democrito and SISSA/eLAB - Trieste

Building a Top500-class Supercomputing Cluster at LNS-BUAP

A GPU COMPUTING PLATFORM (SAGA) AND A CFD CODE ON GPU FOR AEROSPACE APPLICATIONS

Lecture 1. Course Introduction

Cluster, Grid, Cloud Concepts

Cloud Computing. Alex Crawford Ben Johnstone

~ Greetings from WSU CAPPLab ~

MIKE by DHI 2014 e sviluppi futuri

CS 352H: Computer Systems Architecture

How to Build a Data Center?

CS 698: Special Topics in Big Data. Chapter 2. Computing Trends for Big Data

ST810 Advanced Computing

Overview of HPC Resources at Vanderbilt

MATLAB in Business Critical Applications Arvind Hosagrahara Principal Technical Consultant

High Performance Computing in CST STUDIO SUITE

Cloud Compu)ng. Yeow Wei CHOONG Anne LAURENT

Unleashing the Performance Potential of GPUs for Atmospheric Dynamic Solvers

Evoluzione dell Infrastruttura di Calcolo e Data Analytics per la ricerca

Accelerating Simulation & Analysis with Hybrid GPU Parallelization and Cloud Computing

High Performance Applications over the Cloud: Gains and Losses

Analysis and Research of Cloud Computing System to Comparison of Several Cloud Computing Platforms

How To Make A Cloud Based Computer Power Available To A Computer (For Free)

PRIMERGY server-based High Performance Computing solutions

Computer Architecture TDTS10

Performance of the JMA NWP models on the PC cluster TSUBAME.

Multicore Parallel Computing with OpenMP

PARALLEL & CLUSTER COMPUTING CS 6260 PROFESSOR: ELISE DE DONCKER BY: LINA HUSSEIN

HPC with Multicore and GPUs


Stream Processing on GPUs Using Distributed Multimedia Middleware

High Performance. CAEA elearning Series. Jonathan G. Dudley, Ph.D. 06/09/ CAE Associates

Smart Campus Management with Cloud Services

HPC Wales Skills Academy Course Catalogue 2015

GPU Parallel Computing Architecture and CUDA Programming Model

Cloud Computing. Adam Barker

CMSC 611: Advanced Computer Architecture

Parallel Computing. Introduction

ANALYSIS OF SUPERCOMPUTER DESIGN

Computational infrastructure for NGS data analysis. José Carbonell Caballero Pablo Escobar

Turbomachinery CFD on many-core platforms experiences and strategies

Middleware and Distributed Systems. Introduction. Dr. Martin v. Löwis

SURFsara HPC Cloud Workshop

Operating Systems: Basic Concepts and History

Enhancing Cloud-based Servers by GPU/CPU Virtualization Management

COMP/CS 605: Intro to Parallel Computing Lecture 01: Parallel Computing Overview (Part 1)

PACE Predictive Analytics Center of San Diego Supercomputer Center, UCSD. Natasha Balac, Ph.D.

Licensing++ for Clouds. Mark Perry

Transcription:

10- High Performance Compu5ng (Herramientas Computacionales Avanzadas para la Inves6gación Aplicada) Rafael Palacios, Fernando de Cuadra MRE

Contents Implemen8ng computa8onal tools 1. High Performance Compu8ng overview 2. Parallel Performance 3. Parallel Programming 4. Parallel Matlab 2

1 Overview

Defini5on of HPC High- Performance Compu8ng uses powerful computers to solve advanced computa8on problems Supercomputers Computer clusters Computer grids 4

Top 500 The fastest computers in the world (source Nov/2014: hop://www.top500.org/ ) 5

Top 500 The fastest computers in the world (source Nov/2012: hop://www.top500.org/ ) 6

Top 500 The fastest computers in the world (source Nov/2010: hop://www.top500.org/ ) Tflops kw 7

Top 500 The fastest computers in the world (source Nov/2010: hop://www.top500.org/ ) Tflops kw 2012 becomes 8th 2012 DOE 20x computing power ½ electric power 8

Top 500 (SPAIN) 2010 The fastest computers in the world (source: hop://www.top500.org/ ) 2012 2014 TFLOP/s 9

High performance in standard computers Moore's Law (1970) "The number of transistors doubles every 2 years" Source: wikipedia 10

High performance in standard computers Parallel processing capabili8es Mul8- core: 2 or 4 Mul8- processor: 1, 2 or 4(server) Graphical Processor Units (GPU) Source: nvidia.com 11

Parallel processing methods Classifica8on according to processing method and data management Single data Multiple data Single Instruction SISD SIMD or SPMD Multiple Instruction MIDS MIMD 12

Parallel processing methods Classifica8on according to processing method and data management Single data Multiple data Single Instruction SISD SIMD or SPMD Multiple Instruction MIDS MIMD Normal computer 13

Parallel processing methods Classifica8on according to processing method and data management Single data Multiple data Single Instruction SISD SIMD or SPMD Multiple Instruction MIDS MIMD Today's video cards Simulation 14

Parallel processing methods Classifica8on according to processing method and data management Single data Multiple data Single Instruction SISD SIMD or SPMD Multiple Instruction MIDS MIMD No use 15

Parallel processing methods Classifica8on according to processing method and data management Single data Multiple data Single Instruction SISD SIMD or SPMD Multiple Instruction MIDS MIMD Multi-processors with distributed memory Grid systems 16

Distributed vs Parallel Distributed systems Resources are separated Could be local network or Internet BeOer reliability Parallel systems One piece Grid systems Cloud computing Amazon Elastic Compute Cloud (EC2) Several processors in one server, or several servers in a fast local network BeOer locality Multicore system Supercomputer 17

2 Parallel performance

Amdahl's Law (1967) If 1/s of a computa8on is sequen8al, then the maximum performance improvement by parallelism is at most a factor of s. T sequential = 1 s T sequential +(1 1 s )T sequential T parallel = 1 s T sequential + (1 1 s )T sequential # processors T sequential speedup = T parallel = s (For infinite #processors) 10 s 20 s 19

Amdahl's Law (1967) 20

Real- life performance Again, It's all about locality! AMD Quad-core Core 1 Core 2 Core 3 Core 4 Latency Transfer- rate L1 L1 L1 L1 L2 L2 L2 L2 L3 0.5 ns 1 ns 5 ns 6000 GB/s 1000 GB/s DDR memory 60-100 ns local remote 50 GB/s 21

Real- life performance Memory access is a booleneck In the old days: Read memory: 1 CPU cycle FLOP: several cycles Today's computers Read memory: up to 1000 cycles (due to DRAM latency compared with CPU speed) FLOP: one cycle 22

3 Parallel programming

Parallel Programming Typical parallel programming languages are: MPI (Message Passing Interface) Distributed memory virtual machine Evolu8on of PVM (parallel virtual machine) OpenMP (Open Mul8- Processing) Similar to MP Available for mul8ple standard programming languages CUDA (Compute Unified Device Architecture) Library for NVIDIA graphic cards Available for mul8ple standard programming languages 24

Cloud compu5ng Advantages of cloud compu8ng: You don t need to maintain hardware infrastructure Cost depends on CPU usage Reliable, Scalable, Easy to start, Easy to use Cloud compu5ng providers Amazon Elas8c Compute Cloud Microsoi Azure Salesforce Google IBM 25

4 Parallel Matlab

Parallel Matlab There are three main methods to implement parallel applica8ons in Matlab: Matlab official toolboxes pmatlab StarP 27

Parallel Matlab: Toolboxes Parallel Compu8ng Toolbox up to 8 cores in a single computer compa8ble with DC server MATLAB Distributed Compu8ng Server For clusters and grid systems Installs on the supercomputer Is accessed by clients using Parallel Compu8ng Toolbox Support for Amazon's EC2 hop://www.mathworks.com/programs/techkits/ec2_paper.html 28

Parallel Matlab: Toolboxes Parallel Compu8ng Toolbox example matlabpool(4) % 4 cores (5 Matlab processes can be seen) sz=2000000; %16MB vector v=rand(sz,2); res=zeros(sz,2); %for memory allocation tic parfor i=1:2 res(:,i)=sort(v(:,i)); %each iteration independent of the previous end toc matlabpool close %back to normal (when you are done) Warning: Memory alloca8on and data transfer may be more 8me consuming that the computa8on itself. 29

Parallel Matlab: pmatlab Developed at Lincoln Laboratory MIT student Jeremy Kepner Based on MPI Freeware Example: unzip pmatlab cd pmatlab startup.m cd examples cd mandelbrot run pmandelbrot: eval(prun('pmandelbrot',1{})); %1 core eval(prun('pmandelbrot',4{})); %4 cores 30

Parallel Matlab: starp Set of extensions for parallel programming in Matlab Now belongs to Microsoi 31

Instituto de Investigación Tecnológica C/ Santa Cruz de Marcenado, nº 26 28015 Madrid Tel +34 91 542 28 00 Fax + 34 91 542 31 76 info@iit.upcomillas.es www.iit.upcomillas.es