Upload
others
View
6
Download
0
Embed Size (px)
Citation preview
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- 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- 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