Upload
ngocong
View
221
Download
2
Embed Size (px)
Citation preview
Universidad de Murcia 1
Computación de Altas PrestacionesSistemas computacionales
Javier Cuenca, Domingo GiménezDepartamento de Informática y Sistemas
Universidad de Murcia, Spaindis.um.es/~domingo
2
Francisco Almeida, Domingo Giménez, José Miguel Mantas, Antonio M. Vidal:
Introducción a la Programación Paralela
Paraninfo Cengage Learning, 2008
Capítulo 1: Introducción a la programación paralela
Capítulo 2: Modelado de computadores paralelos
Universidad de Murcia 3
Motivación Problemas de alto coste computacional:
Necesario abordarlos con sistemas computacionales de altas prestaciones
Con programas paralelos eficientes Con nuevos sistemas:
Resolución de problemas de mayor dimensión Resolución de problemas previamente
intratables
Universidad de Murcia 4
Contenido y organización Planificado:
Sistemas computacionales (1Te+0 Pr+3 Tr) Paradigmas de programación paralela
(1 Te+0 Pr+0 Tr) Organización:
Presentación+sistemas+paradigmas: 1.5 horas Trabajo sin evaluar: lectura sobre distintos
sistemas
Universidad de Murcia 5
Programación paralela Uso de varios procesadores trabajando juntos para resolver
una tarea común: Cada procesador trabaja en una porción del problema Los procesos pueden intercambiar datos, a través de:
la memoria (Modelo de Memoria Compartida, OpenMP)
por una red de interconexión (Modelo de Paso de Mensajes, MPI)
Universidad de Murcia 6
Necesidad de la programación paralela Límites de sistemas secuenciales:
Memoria Velocidad Incremento coste superior al de prestaciones
Solución paralelismo: Dificultades físicas: integración, velocidades acceso Dificultades lógicas: uso, programación
Universidad de Murcia 7
Necesidad de la programación paralela Sistemas paralelos permiten resolver:
Problemas mayores Más rápidamente
Aplicación en: Problemas de alto coste computacional Problemas de gran dimensión Problemas de tiempo real
Universidad de Murcia 8
Aspectos de la programación paralela Dificultades físicas:
Mayor velocidad proceso que acceso a memoria y comunicación
Integración: Límites velocidad de la luz Disipación de calor
Universidad de Murcia 9
Aspectos de la programación paralela Ley de Moore: el número de procesadores integrados se
duplica cada 18 mesesProcesadores Intel
Paralelismo
10
Programación paralela Paralelismo en monoprocesadores:
Segmentación encauzada. Pipeline Jerarquía de memorias División de memoria en bloques Paralelismo a nivel de instrucción Ejecución fuera de orden Especulación Múltiples unidades funcionales Unidades vectoriales Procesadores de E/S ...
Universidad de Murcia 11
Programación paralela Posibilidades de computación paralela:
Varios procesadores en un chip Procesadores embebidos LAN de altas prestaciones Procesadores gráficos Computación de altas prestaciones Computación grid Computación web Computación ubicua Cloud computing Móviles ...
Universidad de Murcia 12
Programación paralela
Concurrente: varios procesos trabajando en la resolución de un problema
Heterogénea: procesadores con distintas características Adaptativa: durante la ejecución el programa se adapta al
estado del sistema Distribuida: procesadores geográficamente distribuidos En la web: necesidad de herramientas específicas ¿Cuántica o biológica?
13
Modelos de computadores paralelos
Procesador
Memoria
SECUENCIAL (SISD)Modelo Von Neuman
Instrucciones:de memoria a procesador
Datos:entre memoriay procesador
14
Modelos de computadores paralelos
SIMD. Una única Unidad de Control. La misma instrucción se ejecuta síncronamente por todas las
unidades de procesamiento.
Procesador Procesador Procesador
programa
instrucciones
datos
15
Modelos de computadores paralelos
MIMD. Cada procesador ejecuta un programa diferente
independientemente de los otros procesadores.
Procesador
programa
instrucciones
datos
Procesador
programa
instrucciones
datos
Procesador
programa
instrucciones
datos
16
Modelos de computadores paralelos
Memoria compartida – un único espacio de memoria. Todos los procesadores tienen acceso a la memoria a través de una red de conexión: Bus Red de barras cruzadas Red multietapa
Memoria distribuida – cada procesador tiene su propia memoria local. Se utiliza paso de mensajes para intercambiar datos.
P P P P P P
B U S
M e m o r y
M
P
M
P
M
P
M
P
M
P
M
P
Network
17
Sistemas de memoria compartida
Uniform memory access (UMA)Cada procesador tiene acceso uniformea memoria. También se llamansymmetric multiprocessors (SMPs)
P P P P
BUS
M em ory
Nonuniform memory access (NUMA)El tiempo de acceso depende de dónde están los datos. El acceso local es más rápido. Más fácil y barato de escalarque SMPs
P P P P
BUS
Me m o ry
Ne tw o rk
P P P P
BUS
Me m o ry
19
Sistemas de memoria distribuida
anilloDiámetro: p/2 Malla
Diámetro: √p
Servidorde ficheros
Estaciones de trabajo
red
Hipercubo
21
En Murcia
– Personal:• Uso de OpenMP y MPI en monoprocesadores, bipros, quad
– Empresas y Administración:• Redes o multiprocesadores de reducido tamaño• Uso para manejo de volúmenes de datos grandes, sin programación paralela• Uso de programas paralelos desarrollados por otros• ¿Ibarabi?: supercomputador MC + clusters, en 2009, computación científica+empresas
– Universidad:• Cartagena: híbrido MC+MD, 12 nodos de 8 núcleos + 2 nodos de 16 núcleos• Murcia: híbrido MC+MD, ¿12 nodos de 8 núcleos?• Resolución de problemas científicos, uso mínimo de paralelismo
– Grupos de investigación:• Redes de ordenadores, para computación científica o paralelismo• PCGUM: PC bipro, cluster: 3 bipro con duales, 2 bipros; computación paralela y
heterogénea
22
Sistemas actuales y futuros
• Multicore– Actual: Bipro y Quad Intel,
también SUN, CELL, AMD, ...• Procesadores específicos
– Gráficos GPU– De tratamiento de señal DSP– FPGA y heterogéneos
embebidos– De juegos PS3
• Computadores heterogéneos– CPU+GPU– Futuro: Plataformas
híbridas Itanium2+Xeon con MC
– Futuro: Híbridos con 16000+16000
• Distribuidos– Redes, Grid, Web– P2P, móviles