Logo Studenta

01-Intro2012

¡Este material tiene más páginas!

Vista previa del material en texto

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 
adiaz@cinvestav.mx 
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 practicalreasons 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: adiaz@tamps.cinvestav.mx.■  Entrega de tareas: cpar2012@tamps.cinvestav.mx 
♦  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

Continuar navegando