Download Computadoras Paralelas - Cinvestav

Document related concepts
no text concepts found
Transcript
Laboratorio de
Tecnologías de Información
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]
Cómputo Paralelo
Intro- 1
Contenido
 
 
 
 
 
 
 
 
 
Cómputo Paralelo
Laboratorio de
Tecnologías de Información
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?
Intro- 2
Antecedentes
Laboratorio de
Tecnologías de Información
♦  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
Cómputo Paralelo
Intro- 3
Antecedentes
Laboratorio de
Tecnologías de Información
♦  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)
Cómputo Paralelo
Intro- 4
Tendencias Generales
Laboratorio de
Tecnologías de Información
♦  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
Cómputo Paralelo
Intro- 5
La Ley de Moore
Laboratorio de
Tecnologías de Información
♦  Crecimiento en el número de transistores de los procesadores
Cómputo Paralelo
Time
Intro- 6
Uso del Silicio
Laboratorio de
Tecnologías de Información
PE
PE
FFT
MMX
VIZ
RC5
M
Más Caché
PE
PE
PE
PE
PE
PE
Cómputo Paralelo
64-way Superscalar
PE
CISC
PE
PE
Reconfigurable
Logic
M
M
M
MPP
Vector
Procesador
Reconfigurable
Intro- 7
¿Por qué Computación Paralela?
Laboratorio de
Tecnologías de Información
♦  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
Cómputo Paralelo
Intro- 8
El Universo es Paralelo
Laboratorio de
Tecnologías de Información
• 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
Cómputo Paralelo
Intro- 9
Uses for Parallel Computing
♦ 
Laboratorio de
Tecnologías de Información
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
Cómputo Paralelo
Intro- 10
Parallel Computing Applications
Laboratorio de
Tecnologías de Información
♦ 
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
» 
» 
» 
» 
» 
» 
» 
» 
» 
Cómputo Paralelo
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
Intro- 11
Simulación de Corrientes Oceánicas
Laboratorio de
Tecnologías de Información
(a) Secciones de corte
(b) Discretización espacial de un corte
♦  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
Cómputo Paralelo
Intro- 12
Algunos Números
Laboratorio de
Tecnologías de Información
♦  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
Cómputo Paralelo
Intro- 13
Algunos Números
Laboratorio de
Tecnologías de Información
♦  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
Cómputo Paralelo
Intro- 14
Algunos Problemas de Estudio
Laboratorio de
Tecnologías de Información
♦  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
Cómputo Paralelo
Intro- 15
¿Qué es lo común en las aplicaciones?
Laboratorio de
Tecnologías de Información
♦  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
Cómputo Paralelo
Intro- 16
Why Use Parallel Computing?
♦ 
Laboratorio de
Tecnologías de Información
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)
Cómputo Paralelo
Intro- 17
Why Use Parallel Computing?
♦ 
Laboratorio de
Tecnologías de Información
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
Cómputo Paralelo
Intro- 18
Computadoras Paralelas
Laboratorio de
Tecnologías de Información
♦  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
Red de
Interconexión
o
Memoria
Compartida
Procesador
Procesador
Procesador
Procesador
Procesador
Cómputo Paralelo
Intro- 19
¿Qué es Computación Paralela?
Laboratorio de
Tecnologías de Información
♦  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)
Cómputo Paralelo
Intro- 20
Algunas Preguntas Sobre Computación
Paralela
Laboratorio de
Tecnologías de Información
■  ¿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?
Cómputo Paralelo
Intro- 21
¿Por qué estudiar Computación
Paralela?
Laboratorio de
Tecnologías de Información
♦  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
Cómputo Paralelo
Intro- 22
¿Por qué estudiar Computación
Paralela?
Laboratorio de
Tecnologías de Información
♦  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
Cómputo Paralelo
Intro- 23
Las 10 Computadoras Más Rápidas
Laboratorio de
Tecnologías de Información
Rank Site
Computer/Year Vendor
Cores
1
National
Supercomputing
Center in Tianjin
China
2
DOE/SC/Oak Ridge Jaguar - Cray XT5-HE Opteron 6-core
National Laboratory 2.6 GHz / 2009
United States
Cray Inc.
3
National
Supercomputing
Nebulae - Dawning TC3600 Blade, Intel
Centre in Shenzhen X5650, NVidia Tesla C2050 GPU / 2010
Dawning
(NSCS)
China
4
GSIC Center, Tokyo
Institute of
Technology
Japan
TSUBAME 2.0 - HP ProLiant SL390s G7
Xeon 6C X5670, Nvidia GPU, Linux/
73278
Windows / 2010
NEC/HP
5
DOE/SC/LBNL/
NERSC
United States
Hopper - Cray XE6 12-core 2.1 GHz /
2010
Cray Inc.
Cómputo Paralelo
Rmax GFLOP Rpeak GFLOP Power
Tianhe-1A - NUDT TH MPP, X5670
2.93Ghz 6C, NVIDIA GPU, FT-1000 8C /
186368 2566.00
2010
NUDT
4701.00
4040.00
224162 1759.00
2331.00
6950.60
120640 1271.00
2984.30
2580.00
1192.00
2287.63
1398.61
153408 1054.00
1288.63
2910.00
Intro- 24
www.top500.org
Las 10 Computadoras Más Rápidas
Laboratorio de
Tecnologías de Información
Rank Site
Computer/Year Vendor
Cores
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
122400 1042.00
DC 1.8 GHz, Voltaire Infiniband/ 2009
IBM
1375.78
2345.50
8
National Institute for
Computational
Kraken XT5 - Cray XT5-HE Opteron 6Sciences/University core 2.6 GHz / 2009
Cray Inc.
of Tennessee
United States
98928
831.70
1028.85
3090.00
9
Forschungszentrum
JUGENE - Blue Gene/P Solution / 2009
Juelich (FZJ)
IBM
Germany
294912 825.50
1002.70
2268.00
10
DOE/NNSA/LANL/
SNL
United States
107152 816.60
1028.66
2950.00
6
Cómputo Paralelo
Cielo - Cray XE6 8-core 2.4 GHz / 2010
Cray Inc.
Rmax GFLOP Rpeak GFLOP Power
Intro- 25
www.top500.org
Las 500 Computadoras Más Rápidas
Laboratorio de
Tecnologías de Información
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
Cómputo Paralelo
Intro- 26
www.top500.org
Projected Performance
Cómputo Paralelo
Laboratorio de
Tecnologías de Información
Intro- 27
www.top500.org
Resumen
Laboratorio de
Tecnologías de Información
♦  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
Cómputo Paralelo
Intro- 28
Aspectos Importantes
Laboratorio de
Tecnologías de Información
♦  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
Cómputo Paralelo
Intro- 29
¿Qué hay con nuestro curso?
Laboratorio de
Tecnologías de Información
♦  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
Cómputo Paralelo
Intro- 30
Laboratorio de
Tecnologías de Información
Fin de la Introducción
Preguntas, comentarios, observaciones, etc.
Cómputo Paralelo
Intro- 31
Administrativos
Laboratorio de
Tecnologías de Información
♦  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
Cómputo Paralelo
Intro- 32
Calendario
Laboratorio de
Tecnologías de Información
Entrega
Fecha
1. Resumen y reporte con la descripción del
problema y la solución mediante el algoritmo
secuencial
Enero 20
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
Cómputo Paralelo
Evaluación
5
Intro- 33
Tipo de Procesadores
Cómputo Paralelo
Laboratorio de
Tecnologías de Información
Intro- 34
Ubicación por Países
Cómputo Paralelo
Laboratorio de
Tecnologías de Información
Intro- 35
www.top500.org
Las 500 Computadoras Más Rápidas
Laboratorio de
Tecnologías de Información
Vendors/Systems
November 2010
Cómputo Paralelo
Intro- 36
www.top500.org
Las 500 Computadoras Más Rápidas
Laboratorio de
Tecnologías de Información
Cómputo Paralelo
Intro- 37
www.top500.org
Las 500 Computadoras Más Rápidas
Laboratorio de
Tecnologías de Información
Cómputo Paralelo
Intro- 38
www.top500.org
Tecnología de Interconexión
Cómputo Paralelo
Laboratorio de
Tecnologías de Información
Intro- 39
www.top500.org
Áreas de Aplicación
Cómputo Paralelo
Laboratorio de
Tecnologías de Información
Intro- 40
www.top500.org
Segmentos de Mercado
Cómputo Paralelo
Laboratorio de
Tecnologías de Información
Intro- 41
www.top500.org
Performance
Cómputo Paralelo
Laboratorio de
Tecnologías de Información
Intro- 42
www.top500.org
Lista de Estudiantes
Cómputo Paralelo
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
Intro- 43
Economía
Laboratorio de
Tecnologías de Información
♦  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
Cómputo Paralelo
Intro- 44
Economía
Laboratorio de
Tecnologías de Información
♦  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
Cómputo Paralelo
Intro- 45