Programación Paralela? Aplicaciones para los Procesadores Multicore, NVIDIA GPUs, PlayStation 3 Cell,...



Documentos relacionados
High Performance Computing and Architectures Group

Arquitecturas GPU v. 2013

FUNDAMENTOS DE COMPUTACIÓN PARA CIENTÍFICOS. CNCA Abril 2013

GPU IMPLEMENTATIONS OF SCHEDULING HEURISTICS FOR HETEROGENEOUS COMPUTING ENVIRONMENTS

MICROPROCESADORES, EVOLUCIÓN HISTÓRICA Y CARACTERÍSTICAS TÉCNICAS BÁSICAS

CAR.

Solving Dense Linear Systems on Platforms with Multiple Hardware Accelerators

Evaluación del rendimiento de procesadores Intel Nehalem. Modelos x7550, x5670 y x5570

EVALUACIÓN COMPARADA DEL RENDIMIENTO DEL PROCESADOR INTEL 5570 (NEHALEM)

High Performance Computing y Big Data en AWS. +info: ( HPC y Big Data en AWS 16 Abril, / 14

Técnicas SuperEscalares en la Paralelización de Bibliotecas de Computación Matricial sobre Procesadores Multinúcleo y GPUs

Familia de procesadores Intel x86

Tema: Historia de los Microprocesadores

CLUSTER FING: ARQUITECTURA Y APLICACIONES

EL CLUSTER FING: COMPUTACIÓN DE ALTO DESEMPEÑO EN FACULTAD DE INGENIERÍA

RECURSOS SUPERCOMPUTACIÓN BSC- CNS RES PRACE

Por: Vicente Arnau Llombart

ÍNDICE SISTEMAS OPERATIVOS... 5

Arquitectura Von Neumann

Figura 1.4. Elementos que integran a la Tecnología de Información.

Nicolás Zarco Arquitectura Avanzada 2 Cuatrimestre 2011

Computación de Propósito General en Unidades de Procesamiento Gráfico GPGPU

Generated by Foxit PDF Creator Foxit Software For evaluation only.

X86 frente a PPC - Intel/AMD contra IBM

Modelo de aplicaciones CUDA

COMPUTADORES MULTINUCLEO. Stallings W. Computer Organization and Architecture 8ed

Kepler. 1. Presentación de la arquitectura. Índice de contenidos [25 diapositivas] Kepler, Johannes ( )

1.2 Análisis de los Componentes. Arquitectura de Computadoras Rafael Vazquez Perez

Seminario II: Introducción a la Computación GPU

Hardware: dentro de la caja. Introducción a la Informática

TAREA 1 MANTENIMIENTO DE COMPUTADORES:

Computación heterogénea y su programación. 1. Introducción a la computación heterogénea. Indice de contenidos [38 diapositivas]

MICROPROCESADORES. Conrado Perea

Apéndice A: Características de las Redes Locales

Hardware: componentes físicos (UCP, discos, impresora, circuitos de E/S,...) Software: componentes lógicos (lo que no es hardware)

Procesador Pentium II 450 MHz Procesador Pentium II 400 MHz Procesador Pentium II 350 MHz Procesador Pentium II 333 MHz Procesador Pentium II 300 MHz

Mejor rendimiento con Thunderbolt 2

2. Requerimientos Técnicos

picojava TM Características

CPU. Unidad central de procesamiento

Abstracciones del computador y la Tecnología

Tarjetas gráficas para acelerar el cómputo complejo

Computación Tercer Año

Dr.-Ing. Paola Vega Castillo

Arquitecturas de computadoras

2.3 Lenguajes de descripción: - Lenguajes de descripción hardware: VHDL, Verilog - Álgebra de Boole

Especificaciones de Hardware, Software y Comunicaciones

UNIVERSIDAD CARLOS III DE MADRID

TEMA 1. INTRODUCCIÓN. 1. Diferentes niveles en la arquitectura de un computador

Especificaciones de Hardware, Software y Comunicaciones

Requisitos del sistema

ACTIVIDADES TEMA 1. EL LENGUAJE DE LOS ORDENADORES. 4º E.S.O- SOLUCIONES.

Juan Pablo Jaramillo Valencia Planilla de trabajo: Investigación de componentes de PC

SISTEMAS DE MULTIPROCESAMIENTO

Procesador Intel Core 2 Extreme de 4 núcleos Traducción de Textos Curso 2007/2008

Arquitecturas de Computadoras II. Febrero 2013

Velocidades de transferencia más rápidas

Capítulo 4: Requerimientos.

Laboratorio de Herramientas Computacionales

ITT-327-T Microprocesadores

Computación Científica en Paralelo

El microprocesador. Alberto Molina Coballes David Sánchez López. Noviembre Fundamentos de Hardware

Tendencias actuales en el diseño de computadoras

Velocidades de transferencia más rápidas

Arquitectura de Computadores

Requisitos de Sistema Impresión Comercial y Editorial

Tema 1. Hardware. Fundamentos de Informática Grado en Ingeniería Mecánica

Sistemas de Computadoras Índice

TIER 0 Centros europeos. TIER 1 Centros nacionales. TIER 2 Centros regionales y universidades

ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES

Introducción a la Virtualización 1

Organización de Computadoras. Turno Recursantes Clase 8

Azor. EasyPrint. Versión 1.0 Manual de Usuario PÁGINA 1 DE 14

Soluciones para entornos HPC

Grids. Departamento de Supercómputo - DGSCA UNAM

Qué es una Tarjetas Madre? El Procesador. Partes de una tarjeta madre. Tarjetas madres

ORBERE. Memoria Técnica del Aplicativo de Gestión de la producción para ADIMDE

Intelligent Management Center

PLATAFORMA DE LIBRO ELECTRÓNICO

DESARROLLO DE SOFTWARE MODULAR, ABIERTO Y COLABORATIVO PARA SIMULACIÓN DE MÁQUINAS Y MECANISMOS

TEMA 4. Unidades Funcionales del Computador

Métricas de Rendimiento

MASTER DEGREE: Industrial Systems Engineering

Tecnologías y Arquitecturas

CONDICIONES DE PARTICIPACIÓN VERIFICABLES CONFORME AL PLIEGO DE CONDICIONES. Cumple Cumple No aplica Cumple Cumple Cumple Cumple Cumple Cumple Cumple

Computación de Propósito General en Unidades de Procesamiento Gráfico GPGPU

PRUEBAS DE CARGA. Introducción

Intel Tera-Scale Computing Alumno: Roberto Rodriguez Alcala

Aplicaciones Informáticas

Tema 6. Gestión de la memoria

ElcomSoft Distributed Password Recovery

UNIVERSIDAD PEDAGOGICA NACIONAL INVITACIÓN PÚBLICA 03 DE 2010

Capacidad de procesamiento del compilador Python para el Sistema Operativo Windows y Linux Palabras Clave:

Laboratorio Nacional de Cómputo de Alto Desempeño: Fortalecimiento de la Infraestructura 2015

Computación de Propósito General en Unidades de Procesamiento Gráfico GPGPU. Clase 0 Lanzamiento del Curso. Motivación

Introducción HPC. Curso: Modelización y simulación matemática de sistemas. Esteban E. Mocskos (emocskos@dc.uba.ar) Escuela Complutense Latinoamericana

Desarrollo de un cluster computacional para la compilación de. algoritmos en paralelo en el Observatorio Astronómico.

UNA NUEVA GENERACIÓN: HÍBRIDOS CPU/GPU. Microprocesadores para Comunicaciones. Paloma Monzón Rodríguez M

Dibujo Técnico Industrial. Prof. Aquiles M. Garcia.

rutas e información relacionada con puntos de interés en la UDLAP. como los requerimientos de hardware y software establecidos.

Transcripción:

Programación Paralela? Aplicaciones para los Procesadores Multicore, NVIDIA GPUs, PlayStation 3 Cell,... ENRIQUE S. QUINTANA ORTÍ UNIVERSIDAD JAIME I DE CASTELLÓN Mayo de 2008 1

Índice Arquitecturas paralelas Programación paralela Computación científica? 2

Índice Arquitecturas Paralelas Programación Paralela Computación Científica 3

Arquitecturas Paralelas Ley de Moore ("Cramming more components onto integrated circuits", Gordon E. Moore, Electronics Magazine, Abril 1965): The complexity for minimum component costs has increased at a rate of roughly a factor of two per year... Certainly over the short term this rate can be expected to continue, if not to increase. Over the longer term, the rate of increase is a bit more uncertain, although there is no reason to believe it will not remain nearly constant for at least 10 years. That means by 1975, the number of components per integrated circuit for minimum cost will be 65,000. I believe that such a large circuit can be built on a single wafer. Interpretación habitual: La velocidad del procesador (GHz) se dobla cada 18 meses Interpretación correcta: El número de transistores que pueden integrarse en un dispositivo con un coste determinado se dobla cada 18 meses 4

Arquitecturas Paralelas Ley de Moore: El número de transistores que pueden integrarse en un dispositivo con un coste determinado se dobla cada 18 meses Reducción del tamaño aumento de la frecuencia Mejoras en la arquitectura: Cachés más grandes IBM PC Intel 8088 @ 4.77 MHz Sin caché 256 KB RAM Dell Inspiron 530 Intel Core 2 Duo @ 2.2 GHz 2MB L2 Cache RAM a discrección 5

Arquitecturas Paralelas Ley de Moore: El número de transistores que pueden integrarse en un dispositivo con un coste determinado se dobla cada 18 meses Reducción del tamaño aumento de la frecuencia Mejoras en la arquitectura: Más paralelismo a nivel de instrucción temporal (segmentación) IF ID ALU MEM OS IF ID ALU MEM OS IF ID ALU MEM OS 6

Arquitecturas Paralelas Ley de Moore: El número de transistores que pueden integrarse en un dispositivo con un coste determinado se dobla cada 18 meses Reducción del tamaño aumento de la frecuencia Mejoras en la arquitectura: Más paralelismo a nivel de instrucción espacial (superescalares, VLIW) IF ID ALU MEM OS IF ID ALU MEM OS IF ID ALU MEM OS IF ID ALU MEM OS IF ID ALU MEM OS IF ID ALU MEM OS 7

Arquitecturas Paralelas Ley de Moore: El número de transistores que pueden integrarse en un dispositivo con un coste determinado se dobla cada 18 meses Reducción del tamaño aumento de la frecuencia Mejoras en la arquitectura: Más paralelismo a nivel de instrucción Intel Pentium 4 AMD K7 Etapas de segmentación 20 14 Factor de superescalaridad 3 5 8

Arquitecturas Paralelas Ley de Moore: El número de transistores que pueden integrarse en un dispositivo con un coste determinado se dobla cada 18 meses 9

Arquitecturas Paralelas Ley de Moore: El número de transistores que pueden integrarse en un dispositivo con un coste determinado se dobla cada 18 meses Reducción del tamaño aumento de la frecuencia Consumo y calor disipado proporcional a f 3 10

Arquitecturas Paralelas Ley de Moore: El número de transistores que pueden integrarse en un dispositivo con un coste determinado se dobla cada 18 meses Mejoras en la arquitectura: Cachés más grandes A mayor tamaño, mayor coste económico y menor velocidad Más paralelismo a nivel de instrucción La señal de reloj debe llegar a tiempo a todo el procesador No hay más paralelismo a ese nivel 11

Arquitecturas Paralelas Procesadores multinúcleo Intel Xeon QuadCore: 4 núcleos (prototipo de 80 núcleos) AMD X2: 4 núcleos SUN T1 Niagara : 8 núcleos Cray XMT: 24-8000 núcleos Aceleradores hardware: Cell B.E.: 1+8 núcleos NVIDIA G80: 128 núcleos ClearSpeed X620: 2 x 96 núcleos CISCO Metro: 188 núcleos Intel Larrabee:? Núcleos AMD+ATI... 12

Arquitecturas Paralelas Resumen: A menos que haya un cambio radical en la tecnología, el futuro es multinúcleo Aquellos que no quieran adaptarse a ese futuro, tendrán que conformarse con un sólo procesador a 2-4 GHz 13

Índice Arquitecturas Paralelas Programación Paralela Computación Científica 14

Programación Paralela No es una novedad, hace mucho que se utiliza en Supercomputación Lista de los 500 computadores más rápidos del mundo (junio 1993) Número de procesadores 1 2 3-4 5-8 9-16 17-32 33-64 65-128 129-256 257-512 513-1,024 1,025-2,048 Cantidad de superordenadores Supercomputador de 6/1993 95 72 98 57 25 33 38 30 8 13 8 23 TMC CM5 @ LANL 1,024 SuperSPARC I 59.7 GFLOPS 15

Programación Paralela No es una novedad, hace mucho que se utiliza en Supercomputación Lista de los 500 computadores más rápidos del mundo (nov. 2007) Número de procesadores 33-64 65-128 257-512 513-1,024 1,025-2,048 2,049-4,096 4k-8k 8k-16k 16k-32k 32k-64k 128k- Cantidad de superordenadores Supercomputador de 11/2007 1 3 7 60 268 99 36 18 3 3 1 IBM BlueGene @ DOE/LLNL 212,992 PowerPC 440 478,200 GFLOPS 16

Programación Paralela No es una novedad, hace mucho que se utiliza en Supercomputación Lista de los 500 computadores más rápidos del mundo (nov. 2007) Top 500 en España: Mare Nostrum, Top 500 por aplicaciones Top 10: TATA Aceleradores en el Top 500 17

Programación Paralela Herramientas del pasado y presente Compiladores Lenguajes Bibliotecas 18

Programación Paralela Herramientas del futuro? Esfuerzo conjunto de universidades y empresas Microsoft, Intel give US$20M for multi-core research Microsoft and Intel are donating $20 million to two U.S. universities for parallel-computing research by Elizabeth Montalbano PC World Sunday, March 23, 2008; 12:19 AM 19

Programación Paralela Herramientas del futuro? Lenguajes de programación GAS: UPC, Titanium, OpenMP 3.0 Cell Superscalar Bibliotecas de propósito específico: libflame, PLASMA, Spiral 20

Programación Paralela Herramientas del futuro? Intel Thread Checker for Windows, Linux Intel Thread Profiler for Windows Intel Threading Building Blocks (TBB) for Windows, Linux, Mac OS X Intel Software Development Products: Intel VTune Performance Analyzer Intel Compilers Intel Math Kernel Library (Intel MKL) Intel Integrated Performance Primitives (Intel IPP) 21

Programación Paralela Herramientas del futuro? CUDA for Windows, Linux, Mac OS CUBLAS CUFFT 22

Programación Paralela Herramientas del futuro? IBM SDK for Multicore Acceleration Version 3.0, Linux: Accelerator Library and Framework (ALF) Data Communication and Synchronization (DaCS) Basic Linear Algebra Subroutines (BLAS) SPE runtime management library (libspe) Standardized SIMD math libraries 23

Programación Paralela Resumen: El modo de programar las arquitecturas paralelas está definiéndose en estos momentos Los propios fabricantes de hardware son los primeros interesados en proporcionar las herramientas software adecuadas 24

Índice Arquitecturas Paralelas Programación Paralela Computación Científica? 25

Computación Científica Algunos ejemplos: Resonancia magnética en tiempo real (Hospital de Chicago, 1995) Análisis de tensiones en componentes de aviación (Boeing Ltd.,1996) Evaluación del campo gravitatorio terrrestre (Dept. of Aerospace Engineering & Engineering Mechanics - The University of Texas at Austin, 2003). Reducción de modelos en diseño y simulación de circuitos VLSI (Philips Research Labs., 2004) Análisis de tensiones en materiales cerámicos (Instituto de Tecnología Cerámica - UJI, 2006) 26

Remote Exploration and Experimentation (REE) @ JPL http://www.jpl.nasa.gov Utilizar procesadores, memoria y otra circuitería COTS (commercial off-the-shelf) en vehículos espaciales No necesitan radiación más económicos y rápidos, menos pesados 27

Remote Exploration and Experimentation (REE) @ JPL Dan S. Katz (Researcher Scientist, Jet Propulsion Lab.): Las partículas cósmicas y protones de energía pueden afectar a los datos en la circuitería, cambiando los valores Diseñar una biblioteca de álgebra lineal (sistemas lineales, problemas de mínimos cuadrados, etc.) tolerante a fallos, que detecte el 90% de los errores que pueden ocurrir cuando los datos están en el procesador, con una reducción de prestaciones de, como máximo, el 10% 28

Remote Exploration and Experimentation (REE) @ JPL Una gran parte ( 90%?) de los cálculos que se realizan en la resolución de sistemas lineales de ecuaciones (eliminación Gaussiana) y problemas de mínimos cuadrados son productos de matrices C = A B = 29

Remote Exploration and Experimentation (REE) @ JPL Test mediante productos matriz-vector C = A B dados vectores d y e, de las dimensiones apropiadas, C d - A (B d) = 0 e C (e A) B = 0 Coste computacional producto matriz-matriz (n xnxn): Coste computacional producto matriz-vector: 2n 3 flops 2n 2 flops 30

Remote Exploration and Experimentation (REE) @ JPL Llamada usuario GEMM GEMM biblioteca FLARE C d - A (B d) 0 e C (e A) B 0 GEMM biblioteca BLAS C = A B 31

The European Extremely Large Telescope http://www.eso.org/public/astronomy/projects/e-elt.html Construir un telescopio terrestre capaz de detectar sistemas planetarios, agujeros negros y otros fenómenos astronómicos 32

The European Extremely Large Telescope Bryan Marker (Software Engineer, National Instruments): Moving the mirrors of the telescope will require computing a continuous sequence of dense matrix-vector products of dimension 10,000 x 10,000 in less than 1 ms each. If the computation is not completed in time, the atmosphere might have changed (i.e., clouds, wind, etc.) or the mirror might have been moved by vibration caused by the wind. y (j) = A x (j), j=0,1,2, donde A es una matriz densa y x (j+1) no se conoce hasta que y (j) se ha calculado 33

The European Extremely Large Telescope Bryan Marker (Software Engineer, National Instruments): Moving the mirrors of the telescope will require computing a continuous sequence of dense matrix-vector products of dimension 10,000 x 10,000 in less than 1 ms each. If the computation is not completed in time, the atmosphere might have changed (i.e., clouds, wind, etc.) or the mirror might have been moved by vibration caused by the wind. Producto matrix-vector (M-V): y = A x = 34

The European Extremely Large Telescope Producto M-V (n x n) en procesadores tradicionales: n x n + 2n números reales 763 MB Sin problemas! 2n 2 operaciones en coma flotante en 1 ms 200 GFLOPS Intel Pentium 4 @ 3.4 GHz? Intel Itanium2 @ 1.6 GHz? 35

The European Extremely Large Telescope Producto M-V en procesadores tradicionales : 200 GFLOPS? Intel Pentium 4 @ 3.4 GHz 4 flops/ciclo 13.6 GFLOPS Intel Itanium2 @ 1.6 GHz 6 flops/ciclo 9.6 GFLOPS 36

The European Extremely Large Telescope Producto M-V en procesadores tradicionales : 200 GFLOPS? Intel Pentium 4 @ 3.4 GHz 4 flops/ciclo 13.6 GFLOPS Realmente, la velocidad de esta operación está limitada por el ancho de banda del bus del sistema 0.96 GFLOPS El bus del sistema es único, no importa cuantos núcleos (cores) utilicemos la transferencia de la matriz es demasiado lenta 37

The European Extremely Large Telescope Producto M-V en GPUs : 200 GFLOPS? NVIDIA G80 575 MHz 374 GFLOPS 38

The European Extremely Large Telescope Producto M-V en GPUs : 200 GFLOPS? NVIDIA G80 575 MHz 374 GFLOPS La matriz sólo debe transferirse de RAM a memoria vídeo al principio la velocidad del bus del sistema sólo importa para la transferencia de los vectores La velocidad del bus que une la memoria vídeo y las unidades de procesamiento de la GPU es muy rápida 39

The European Extremely Large Telescope Producto M-V en GPUs : 200 GFLOPS? NVIDIA G80 575 MHz 374 GFLOPS 40

The European Extremely Large Telescope Producto M-V en GPUs : 200 GFLOPS? NVIDIA G80 575 MHz 374 GFLOPS x 0.065 ms y = A x = 9.919 ms y 0.065 ms Total: 10.049 ms (19.9 GFLOPS) 41

The European Extremely Large Telescope Producto M-V en GPUs : 200 GFLOPS? NVIDIA Tesla S870 (4 x G80 575 MHz) 4 x 374 GFLOPS G80 0 y = A x G80 1 = G80 2 G80 3 42

The European Extremely Large Telescope Producto M-V en GPUs : 200 GFLOPS? NVIDIA Tesla S870 (4 x G80 575 MHz) 4 x 374 GFLOPS x 4 0.065 ms y = A x = 2.361 ms y 4 0.035 ms Total: 2.761 ms (72 2 GFLOPS) 43

Computación Científica Ejemplos de otros juegos para el Cell B.E. y NVIDIA GPUs: MS on Scientific Computing on GPUs Minisymposium on Cell BE Technologies 44

Para Concluir A menos que encontremos una nueva tecnología revolucionaria, las arquitecturas paralelas son el futuro Son fáciles de construir Son económicas 45

Para Concluir Sin embargo, si no resolvemos el problema de la programación, esas mismas arquitecturas están destinadas al fracaso Los fabricantes de hardware y las universidades (de EE.UU.) están prestando mucha atención a las herramientas de programación paralela PP.EE. Titulaciones CS en EE.UU. 46

Para Concluir El número de problemas de ciencia e ingeniería que requieren conocimientos de computación científica y paralela es muy grande http://www.osti.gov/servers/labtitls.html Argonne National Lab. 1,000 científicos (750 doctores) Barcelona Supercomputing Center 200 científicos Desgraciadamente, pocos de esos problemas son visibles en España 47

Gracias por la Atención Arquitecturas paralelas Programación paralela Computación científica 48