Introducción al Cómputo Paralelo -...

45
Laboratorio de Tecnologías de Información Cómputo Paralelo Intro- 1 Introducción al Cómputo Paralelo Enero 2012 Arturo Díaz Pérez Centro de Investigación y de Estudios Avanzados del IPN Laboratorio de Tecnologías de Información [email protected]

Transcript of Introducción al Cómputo Paralelo -...

Laboratorio de Tecnologías de Información

Cómputo Paralelo Intro- 1

Introducción al Cómputo Paralelo Enero 2012

Arturo Díaz Pérez Centro de Investigación y de Estudios Avanzados del IPN

Laboratorio de Tecnologías de Información [email protected]

Laboratorio de Tecnologías de Información

Cómputo Paralelo Intro- 2

Contenido

  Antecedentes y motivación   ¿Qué es computación paralela?   ¿Por qué estudiar computación paralela?   Tendencia en las aplicaciones   Tendencia en la tecnología   Tendencia en la arquitectura   Aspectos de economía   Aspectos de la computación paralela   ¿Cuál es la relación con nuestro curso?

Laboratorio de Tecnologías de Información

Cómputo Paralelo Intro- 3

Antecedentes

♦  Existen una demanda permanente por mayor rendimiento computacional de los sistemas de cómputo

♦  Los enfoque seguidos para obtener mejor rendimiento son cambios ■  Tecnológicos ■  Arquitecturales

Laboratorio de Tecnologías de Información

Cómputo Paralelo Intro- 4

Antecedentes

♦  Ejemplos de diferentes de sistemas de alto rendimiento ■  Procesadores multicore (2004-) ■  Procesadores multithreading (2002-) ■  Procesadores superescalares (1992-2002)

»  Relojes de alta velocidad »  Paralelismo a nivel de instrucciones »  Varios niveles de memoria cache

■  Procesadores para Vectores (1970´s) ■  Supercomputadoras (1980) ■  Arreglos de Procesadores VLSI (1985) ■  Custom Computing (1992) ■  Computadoras Paralelas (1986)

Laboratorio de Tecnologías de Información

Cómputo Paralelo Intro- 5

Tendencias Generales

♦  El rendimiento de los procesadores se incrementa entre 50% y 100% cada año

♦  La densidad de transistores en CI se duplica cada 3 años

♦  La capacidad de la DRAM se cuadruplica cada 3 años ♦  Una gran inversión para desarrollo es posible al

mercado existente ♦  El paralelismo es una forma natural de mejorar el

rendimiento

Laboratorio de Tecnologías de Información

Cómputo Paralelo Intro- 6

La Ley de Moore ♦  Crecimiento en el número de transistores de los procesadores

Time

Laboratorio de Tecnologías de Información

Cómputo Paralelo Intro- 7

Uso del Silicio

PE PE PE

PE PE PE

M

MPP

Más Caché

PE

CISC

PE

M

MMX

FFT VIZ RC5

64-way Superscalar

Vector

PE

M

PE

Procesador Reconfigurable

PE

M

Reconfigurable Logic

Laboratorio de Tecnologías de Información

Cómputo Paralelo Intro- 8

¿Por qué Computación Paralela?

♦  Porque existen aplicaciones que demandan un alto rendimiento

♦  Se requiere tener

■  Respuesta rápida en tiempo razonable

■  Procesar grandes volúmenes de información de manera efectiva

Laboratorio de Tecnologías de Información

Cómputo Paralelo Intro- 9

El Universo es Paralelo

• Galaxy formation • Planetary movement • Weather and ocean patterns • Tectonic plate drift • Rush hour traffic • Automobile assembly line • Building a space shuttle • Ordering a hamburger at the drive through. • drift

Laboratorio de Tecnologías de Información

Cómputo Paralelo Intro- 10

Uses for Parallel Computing

♦  Historically, parallel computing has been considered to be "the high end of computing", and has been used to model difficult scientific and engineering problems found in the real world. Some examples: ■  Atmosphere, Earth, Environment ■  Physics - applied, nuclear, particle, condensed matter, high pressure, fusion, photonics ■  Bioscience, Biotechnology, Genetics ■  Chemistry, Molecular Sciences ■  Geology, Seismology ■  Mechanical Engineering - from prosthetics to spacecraft ■  Electrical Engineering, Circuit Design, Microelectronics ■  Computer Science, Mathematics

Laboratorio de Tecnologías de Información

Cómputo Paralelo Intro- 11

Parallel Computing Applications

♦  Today commercial applications provide an equal or greater driving force in the development of faster computers. These applications require the processing of large amounts of data in sophisticated ways. For example:Databases, data mining

»  Oil exploration »  Web search engines, web based business services »  Medical imaging and diagnosis »  Pharmaceutical design »  Management of national and multi-national corporations »  Financial and economic modeling »  Advanced graphics and virtual reality, particularly in the entertainment industry »  Networked video and multi-media technologies »  Collaborative work environments

Laboratorio de Tecnologías de Información

Cómputo Paralelo Intro- 12

Simulación de Corrientes Oceánicas

♦  Se modela como mallas bidimiensionales ♦  Discretización del tiempo y del espacio

■  a una mayor resolución espacial y temporal se obtiene mayor exactitud ♦  Muchos cálculos diferentes por unidad de tiempo

■  obtención de parámetros y solución de ecuaciones ♦  Existe concurrencia entre los cálculos en el mallado

(a) Secciones de corte (b) Discretización espacial de un corte

Laboratorio de Tecnologías de Información

Cómputo Paralelo Intro- 13

Algunos Números

♦  El Golfo de México tiene ~ 1,000 Km de litoral

♦  Simulemos 10 Km de litoral

♦  Definamos una malla de 1 Km2 ■  Usemos 100 niveles de profundidad

♦  Se tienen 1000x10x100 = 106 puntos de la malla

Laboratorio de Tecnologías de Información

Cómputo Paralelo Intro- 14

Algunos Números

♦  Supongamos que se requieren 100 iteraciones para alcanzar un estado estable ■  En cada instante se requieren 106x100=108 operaciones básicas

♦  Supongamos que queremos simular lo que sucederá en un día en pasos de una hora ■  Se requieren 24x108 operaciones= 2,400 Millones de

operaciones

♦  Si cada operación toma 1 milisegundo, ■  2.4 millones de segundos, ■  40,000 minutos, ■  667 horas, ■  27.77 días

Laboratorio de Tecnologías de Información

Cómputo Paralelo Intro- 15

Algunos Problemas de Estudio

♦  Simulación de Corrientes Oceánicas ■  Estructura regular, cómputo científico

♦  Simulación de la Evolución de Galaxias ■  Estructura irregular, cómputo científico

♦  Producción de Imágenes Mediante Trazo de Rayos ■  Estructura regular, visualización

♦  Minería de Datos ■  Estructura irregular, procesamiento de información

♦  Simulación de circuitos VLSI ■  Estructura irregular, sistemas de eventos discretos masivos

Laboratorio de Tecnologías de Información

Cómputo Paralelo Intro- 16

¿Qué es lo común en las aplicaciones?

♦  Toman mucho tiempo

♦  Manejan grandes volúmenes de datos ■  El tamaño del problema es extremadamente grande

♦  Para que sean efectivas se requiere un procesamiento en un tiempo razonable

♦  Fácilmente paralelizables

Laboratorio de Tecnologías de Información

Cómputo Paralelo Intro- 17

Why Use Parallel Computing?

♦  Save time and/or money: In theory, throwing more resources at a task will shorten its time to completion, with potential cost savings. Parallel clusters can be built from cheap

♦  Solve larger problems: Many problems are so large and/or complex that it is impractical or impossible to solve them on a single computer, especially given limited computer memory. ■  "Grand Challenge" (en.wikipedia.org/wiki/Grand_Challenge) problems requiring

PetaFLOPS and PetaBytes of computing resources. ■  Web search engines/databases processing millions of transactions per second

♦  Provide concurrency: Multiple computing resources can be doing many things simultaneously ■  Access Grid (www.accessgrid.org) provides a global collaboration network where people from

around the world can meet and conduct work "virtually".

♦  Use of non-local resources: Using compute resources on a wide area network, or even the Internet when local compute resources are scarce. ■  SETI@home (setiathome.berkeley.edu) ■  Folding@home (folding.stanford.edu)

Laboratorio de Tecnologías de Información

Cómputo Paralelo Intro- 18

Why Use Parallel Computing?

♦  Limits to serial computing: Both physical and practical reasons pose significant constraints to simply building ever faster serial computers: ■  Transmission speeds - the speed of a serial computer is directly dependent upon

how fast data can move through hardware. Absolute limits are the speed of light (30 cm/nanosecond) and the transmission limit of copper wire (9 cm/nanosecond). Increasing speeds necessitate increasing proximity of processing elements.

■  Limits to miniaturization - processor technology is allowing an increasing number of transistors to be placed on a chip. However, even with molecular or atomic-level components, a limit will be reached on how small components can be.

■  Economic limitations - it is increasingly expensive to make a single processor faster. Using a larger number of moderately fast commodity processors to achieve the same (or better) performance is less expensive.

■  Current computer architectures are increasingly relying upon hardware level parallelism to improve performance:

»  Multiple execution units »  Pipelined instructions »  Multi-core

Laboratorio de Tecnologías de Información

Cómputo Paralelo Intro- 19

Computadoras Paralelas

♦  Una computadora paralela es de manera simple: ■  Una colección de procesadores, típicamente del mismo tipo,

interconectados de alguna manera para permitir la coordinación de sus actividades y el intercambio de datos

Procesador

Procesador

Procesador

Procesador

Procesador

Procesador

Procesador

Procesador

Procesador

Procesador

Red de Interconexión

o Memoria

Compartida

Laboratorio de Tecnologías de Información

Cómputo Paralelo Intro- 20

¿Qué es Computación Paralela?

♦  Computación Paralela ■  “es el procesamiento de información que enfatiza la manipulación

concurrente de elementos de datos pertenecientes a uno o más procesos resolviendo un problema común” (Quinn 1994)

♦  Computadora Paralela ■  “es una computadora con múltiples procesadores capaz de

realizar cómputo paralelo” (Quinn 1994)

■  “una colección de elementos de procesamiento que se comunican y cooperan entre sí para resolver problemas grandes de manera rápida” (Culler 1994)

Laboratorio de Tecnologías de Información

Cómputo Paralelo Intro- 21

Algunas Preguntas Sobre Computación Paralela

■  ¿qué tan grande debe ser la colección de procesadores? ■  ¿qué tan poderosos deben ser los elementos de

procesamiento? ■  ¿cómo se comunican y cooperan los elementos de

procesamiento? ■  ¿cómo se transmiten los datos entre procesadores? ■  ¿cuáles son las abstracciones y primitivas para

cooperación? ■  ¿cómo se integra todo ello para obtener mejor

rendimiento? ■  ¿cómo es posible crecer (escalar) las computadoras

paralelas?

Laboratorio de Tecnologías de Información

Cómputo Paralelo Intro- 22

¿Por qué estudiar Computación Paralela?

♦  Paralelismo ■  proporciona alternativas a los relojes rápidos para mejorar el

rendimiento ■  se aplica a todos los niveles del diseño de un sistema de cómputo ■  es una perspectiva desafiante desde la cual se observa la

arquitectura de computadoras ■  es cada vez más importante para aplicaciones que demandan

alto rendimiento

■  el cómputo paralelo es inevitable

Laboratorio de Tecnologías de Información

Cómputo Paralelo Intro- 23

¿Por qué estudiar Computación Paralela?

♦  El paralelismo es cada vez más importante para aplicaciones que demandan alto rendimiento

♦  El cómputo paralelo es inevitable

♦  Desarrollar aplicaciones paralelas no es simple

♦  Evaluar sus resultados es complicado

Laboratorio de Tecnologías de Información

Cómputo Paralelo Intro- 24

Las 10 Computadoras Más Rápidas

Rank Site Computer/Year Vendor Cores Rmax GFLOP Rpeak GFLOP Power

1

National Supercomputing Center in Tianjin China

Tianhe-1A - NUDT TH MPP, X5670 2.93Ghz 6C, NVIDIA GPU, FT-1000 8C / 2010 NUDT

186368 2566.00 4701.00 4040.00

2 DOE/SC/Oak Ridge National Laboratory United States

Jaguar - Cray XT5-HE Opteron 6-core 2.6 GHz / 2009 Cray Inc.

224162 1759.00 2331.00 6950.60

3

National Supercomputing Centre in Shenzhen (NSCS) China

Nebulae - Dawning TC3600 Blade, Intel X5650, NVidia Tesla C2050 GPU / 2010 Dawning

120640 1271.00 2984.30 2580.00

4

GSIC Center, Tokyo Institute of Technology Japan

TSUBAME 2.0 - HP ProLiant SL390s G7 Xeon 6C X5670, Nvidia GPU, Linux/Windows / 2010 NEC/HP

73278 1192.00 2287.63 1398.61

5 DOE/SC/LBNL/NERSC United States

Hopper - Cray XE6 12-core 2.1 GHz / 2010 Cray Inc.

153408 1054.00 1288.63 2910.00

www.top500.org

Laboratorio de Tecnologías de Información

Cómputo Paralelo Intro- 25

Las 10 Computadoras Más Rápidas

Rank Site Computer/Year Vendor Cores Rmax GFLOP Rpeak GFLOP Power

6

Commissariat a l'Energie Atomique (CEA) France

Tera-100 - Bull bullx super-node S6010/S6030 / 2010 Bull SA

138368 1050.00 1254.55 4590.00

7 DOE/NNSA/LANL United States

Roadrunner - BladeCenter QS22/LS21 Cluster, PowerXCell 8i 3.2 Ghz / Opteron DC 1.8 GHz, Voltaire Infiniband/ 2009 IBM

122400 1042.00 1375.78 2345.50

8

National Institute for Computational Sciences/University of Tennessee United States

Kraken XT5 - Cray XT5-HE Opteron 6-core 2.6 GHz / 2009 Cray Inc.

98928 831.70 1028.85 3090.00

9 Forschungszentrum Juelich (FZJ) Germany

JUGENE - Blue Gene/P Solution / 2009 IBM 294912 825.50 1002.70 2268.00

10 DOE/NNSA/LANL/SNL United States

Cielo - Cray XE6 8-core 2.4 GHz / 2010 Cray Inc. 107152 816.60 1028.66 2950.00

www.top500.org

Laboratorio de Tecnologías de Información

Cómputo Paralelo Intro- 26

Las 500 Computadoras Más Rápidas

Number of Processors Count Share % Rmax Sum

(GF) Rpeak Sum

(GF) Processor

Sum

1025-2048 2 0.40 % 156,020 199,932 3,328

2049-4096 60 12.00 % 2,284,042 2,716,312 221,438

4k-8k 291 58.20 % 11,685,027 18,923,817 1,769,924

8k-16k 96 19.20 % 7,607,941 10,538,478 1,037,103

16k-32k 20 4.00 % 3,375,425 4,351,903 506,760

32k-64k 17 3.40 % 5,227,787 8,820,874 783,950

64k-128k 5 1.00 % 4,655,000 6,694,211 483,678

128k- 9 1.80 % 8,681,851 12,409,784 1,666,146

Totals 500 100% 43,673,092 64,655,310 6,472,327

www.top500.org

Laboratorio de Tecnologías de Información

Cómputo Paralelo Intro- 27

Projected Performance

www.top500.org

Laboratorio de Tecnologías de Información

Cómputo Paralelo Intro- 28

Resumen

♦  El cómputo paralelo es atractivo debido a cuestiones de ■  Economía, ■  Tecnología, ■  Arquitectura, y ■  Demanda de aplicaciones

♦  El paralelismo se puede explotar a muchos niveles ■  A nivel de instrucciones ■  Servidores multiprocesadores ■  Computadoras paralelas masivas

Laboratorio de Tecnologías de Información

Cómputo Paralelo Intro- 29

Aspectos Importantes

♦  Aspectos que tienen que ver con la Computación Paralela: ■ Diseño de Computadoras Paralelas ■ Diseño de Algoritmos Eficientes ■ Métodos para Evaluar Algoritmos Paralelos ■ Programación Automática de Computadoras

Paralelas ■ Lenguajes de Programación Paralela ■ Herramientas para Programación Paralela ■ Portabilidad de Programas Paralelos

Laboratorio de Tecnologías de Información

Cómputo Paralelo Intro- 30

¿Qué hay con nuestro curso?

♦  El enfoque de este curso es: ■ ¿Cómo programar computadoras paralelas?

» Para obtener mejor rendimiento » Para hacer un uso eficiente de los recursos

■ Es necesario estudiar » Los modelos de programación paralela » Diseño de algoritmos paralelos » Modelos para evaluar el rendimiento » Herramientas para programación paralela

Laboratorio de Tecnologías de Información

Cómputo Paralelo Intro- 31

Fin de la Introducción

Preguntas, comentarios, observaciones, etc.

Laboratorio de Tecnologías de Información

Cómputo Paralelo Intro- 32

Administrativos

♦  Página del curso: ■  http://www.tamps.cinvestav.mx/~adiaz/ParComp/ParComp2012.html

♦  Correo electrónico ■  Preguntas y comentarios: [email protected]. ■  Entrega de tareas: [email protected]

♦  Recursos: ■  Cluster de 32 núcleos SUN en Sede Tamaulipas ■  Servidor de 24 núcleos AMD en Sede Tamaulipas. ■  Cluster de 80 núcleos Intel en Sede Tamaulipas. ■  Servidor con 4 tarjetas NVIDIA Tesla C2070

»  2 Procesadores Intel Xeon 6 Nucleos »  448 Cuda cores cada una

Laboratorio de Tecnologías de Información

Cómputo Paralelo Intro- 33

Calendario

Entrega Fecha Evaluación

1. Resumen y reporte con la descripción del problema y la solución mediante el algoritmo secuencial

Enero 20

5

2. Versión secuencial Febrero 03 10

3. Versión para memoria compartida Febrero 17 15

4. Versión para CUDA Marzo 02 15

5. Examen Parcial Marzo 09 15

6. Versión para memoria distribuida MPI Marzo 16 15

7. Reporte Final: Análisis de Rendimiento Marzo 30 10 8. Examen Final Abril 13 15

Bono: Estudio sobre algún aspecto de cómputo paralelo (relativo al proyecto)

Abril 20 10

Laboratorio de Tecnologías de Información

Cómputo Paralelo Intro- 34

Tipo de Procesadores

Laboratorio de Tecnologías de Información

Cómputo Paralelo Intro- 35

Ubicación por Países

www.top500.org

Laboratorio de Tecnologías de Información

Cómputo Paralelo Intro- 36

Las 500 Computadoras Más Rápidas

Vendors/Systems November 2010

www.top500.org

Laboratorio de Tecnologías de Información

Cómputo Paralelo Intro- 37

Las 500 Computadoras Más Rápidas

www.top500.org

Laboratorio de Tecnologías de Información

Cómputo Paralelo Intro- 38

Las 500 Computadoras Más Rápidas

www.top500.org

Laboratorio de Tecnologías de Información

Cómputo Paralelo Intro- 39

Tecnología de Interconexión

www.top500.org

Laboratorio de Tecnologías de Información

Cómputo Paralelo Intro- 40

Áreas de Aplicación

www.top500.org

Laboratorio de Tecnologías de Información

Cómputo Paralelo Intro- 41

Segmentos de Mercado

www.top500.org

Laboratorio de Tecnologías de Información

Cómputo Paralelo Intro- 42

Performance

www.top500.org

Laboratorio de Tecnologías de Información

Cómputo Paralelo Intro- 43

Lista de Estudiantes

1 Tamaulipas

2 Tamaulipas

3 Tamaulipas

4 Tamaulipas

5 Tamaulipas

6 Tamaulipas

7 Tamaulipas

8 Tamaulipas

9 Zacatenco

10 Zacatenco

11 Zacatenco

12 Zacatenco

13 Zacatenco

14 Zacatenco

15 Zacatenco

16 Zacatenco

Laboratorio de Tecnologías de Información

Cómputo Paralelo Intro- 44

Economía

♦  Los procesadores escalares no son solamente rápidos sino también BARATOS ■  Los costos de desarrollo son decenas de millones de dólares

(5-100 típico)

■  Sin embargo, se venden muchos más microprocesadores comparados con las supercomputadoras

■  Crucial para tomar ventaja de la inversión y usar a los microprocesadores como el bloque básico

■  Es más barato usar dos procesadores de una velocidad x que uno de una velocidad 2x

Laboratorio de Tecnologías de Información

Cómputo Paralelo Intro- 45

Economía

♦  Alternativas efectivas en costo y rendimiento ■  Arquitecturas multicore

»  Impulsados por vendedores de hardware y software (Ej. bases de datos).

»  Impulsados por Intel y varios fabricantes »  Un mercado potencial grande

■  Cómputo Científico »  El mercado es muy limitado »  Dominado por procesadores de vectores durante los 79´s »  En los 90´s, multiprocesadores de gran escala han ido

reemplazando a las supercomputadoras