Computación de Altas Prestaciones Sistemas computacionales Domingo Giménez Departamento de Informática y Sistemas Universidad de Murcia, Spain dis.um.es/~domingo Universidad de Murcia 1
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 2
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 3
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 o por una red de interconexión Universidad de Murcia 4
Programación paralela Posibilidades:... 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 Varios procesadores en un chip LAN de altas prestaciones Universidad de Murcia 5
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? Universidad de Murcia 6
Programación paralela Límites de sistemas secuenciales: Memoria Velocidad Sistemas paralelos permiten resolver: Problemas mayores Más problemas Más rápidamente Universidad de Murcia 7
Modelos de computadores paralelos SECUENCIAL (SISD) Modelo Von Neuman Memoria Instrucciones: de memoria a procesador Datos: entre memoria y procesador Procesador Universidad de Murcia 8
Modelos de computadores paralelos SIMD. Una única Unidad de Control. La misma instrucción se ejecuta síncronamente por todas las unidades de procesamiento. instrucciones programa Procesador Procesador Procesador datos Universidad de Murcia 9
Modelos de computadores paralelos MIMD. Cada procesador ejecuta un programa diferente independientemente de los otros procesadores. programa programa programa instrucciones instrucciones instrucciones Procesador datos Procesador datos Procesador datos Universidad de Murcia 10
Modelos de computadores paralelos P P P P P P P P P P P P M M M M M M B U S Network Memoria distribuida cada procesador tiene su propia memoria local. Se utiliza paso de mensajes para intercambiar datos. M e m o r y 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 Universidad de Murcia 11
Sistemas de memoria compartida P P P P BUS Memory Uniform memory access (UMA) Cada procesador tiene acceso uniforme a memoria. También se llaman symmetric multiprocessors (SMPs) Non uniform 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 escalar que SMPs P P P P BUS Memory P P P P BUS Memory Network Universidad de Murcia 12
Sistemas de memoria compartida NUMA: SGI Origin 2000 Universidad de Murcia 13
Sistemas de memoria distribuida red anillo Diámetro: p/2 Hipercubo Malla Diámetro: p Servidor de ficheros Estaciones de trabajo Universidad de Murcia 14
Evolución de los sistemas paralelos TOP500 Universidad de Murcia 15
En Murcia Personal: Uso de OpenMP y MPI en monoprocesadores y bipros Empresas: Redes o multiprocesadores de reducido tamaño (hasta 16 nodos) Uso para manejo de volúmenes de datos grandes, sin programación paralela Universidad: Cartagena: híbrido MC+MD, 4 nodos comunicados con PM y cada nodo 4 procesadores en MC, gestionando nueva compra Murcia: híbrido MC+MD, 8 nodos comunicados con PM y cada nodo 4 procesadores en MC, gestionando nueva compra 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 COCI: PC bipro, cluster: 3 bipro con duales, 2 bipros; computación paralela y heterogénea Universidad de Murcia 16
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 PS2 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 Universidad de Murcia 17