Objetivos
Conocer los principios básicos que rigen la programación de altas prestaciones (HPC)
Hardware
Software
Conocer las tecnologías más utilizadas para implementar algoritmos paralelos
Posix Threads
MPI
OpenMP (Alex)
Las tendencias en el campo de HPC
Reducir el tiempo de ejecución
Motivación
Hay problemas que no se pueden resolver con un algorítmo secuencial
Predicción meteorológica
Hardware roadmap
Imposible seguir aumentando la velocidad del reloj a causa de la disipación de calor
Para aumentar el rendimiento -> aumentar el número de cores y threads per core
Configuración PCs actuales = 4 cores
Existen PCs (orientado segmento mercado profesional) con 8 cores (2 socket)
La tendencia del Hardware implica rediseñar el software para poder aprovechar toda la potencia del hardware
Pasar de aplicaciones secuenciales mono-hilo a paralelas multi-hilo
Actualmente existe software multihilo -> servidores web, J2EE, BBDD, etc
En definitiva, paralelismo masivo en la era del paralelismo para las masas
Una nueva era en el diseño de sistemas
Los sistemas altamente paralelos construidos con múltiples procesadores pequeños, están ocupando un segmento cada vez mayor del mercado de servidores
$ 41,995.00 por 1 servidor con 32 cores basado en AMD
Generalmente, caracterizados por un rendimiento modesto en aplicaciones mono-hilo, buen rendimiento a nivel d chip (N cores) y excelente relación entre consumo/rendimiento
La tecnología de paralelismo, anteriormente utilizada en HPC (High Performance Computing) se está convirtiendo de uso generalizado en toda la pila de software.
Evolución numero de transistores en los Microprocesadores
La litografía permitirá seguir escalando nº de transistores por chip (densidad)
dual-core Power6 tiene
790 millones
Tendencia en la frecuencia de reloj de los procesadores
La disipación de calor limita el incremento en las velocidades del reloj
Chip Power Density
La disipación de calor está limitando el aumento de la frecuencia de los relojes, dando lugar a la emergencia de chips multicore con menor consumo de energía
Low power multicores replacing single high-power cores
Tendencia en procesadores multicore
Cell = 9 cores, 10 threads
Crecimiento del número de threads por procesador
Estamos entrando en la era de la computación masivamente multithread
1 Ejemplo: Sun Niagara; 1 chip = 8 cores x 8 threads/core = 64 threads
Página siguiente |