Computación de Altas restaciones Sistemas computacionales Javier Cuenca, Domingo Giménez Departamento de Informática y Sistemas Universidad de Murcia, Spain dis.um.es/~domingo Universidad de Murcia 1
Francisco Almeida, Domingo Giménez, José Miguel Mantas, Antonio M. Vidal: Introducción a la rogramación aralela araninfo Cengage Learning, 2008 Capítulo 1: Introducción a la programación paralela Capítulo 2: Modelado de computadores paralelos 2
Motivación roblemas 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 3
Contenido y organización lanificado: Sistemas computacionales (1Te+0 r+3 Tr) aradigmas de programación paralela (1 Te+0 r+0 Tr) Organización: resentación+sistemas+paradigmas: 1.5 horas Trabajo sin evaluar: lectura sobre distintos sistemas Universidad de Murcia 4
rogramació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, OpenM) por una red de interconexión (Modelo de aso de Mensajes, MI) Universidad de Murcia 5
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 6
Necesidad de la programación paralela Sistemas paralelos permiten resolver: roblemas mayores Más rápidamente Aplicación en: roblemas de alto coste computacional roblemas de gran dimensión roblemas de tiempo real Universidad de Murcia 7
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 8
Aspectos de la programación paralela Ley de Moore: el número de procesadores integrados se duplica cada 18 meses rocesadores Intel aralelismo Universidad de Murcia 9
rogramación paralela aralelismo en monoprocesadores: Segmentación encauzada. ipeline Jerarquía de memorias División de memoria en bloques aralelismo a nivel de instrucción Ejecución fuera de orden Especulación Múltiples unidades funcionales Unidades vectoriales rocesadores de E/S... 10
rogramación paralela osibilidades de computación paralela: Varios procesadores en un chip rocesadores embebidos LAN de altas prestaciones rocesadores gráficos Computación de altas prestaciones Computación grid Computación web Computación ubicua Cloud computing Móviles... Universidad de Murcia 11
rogramació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 12
Modelos de computadores paralelos SECUENCIAL (SISD) Modelo Von Neuman Memoria Instrucciones: de memoria a procesador Datos: entre memoria y procesador rocesador 13
Modelos de computadores paralelos SIMD. Una única Unidad de Control. La misma instrucción se ejecuta síncronamente por todas las unidades de procesamiento. programa instrucciones rocesador rocesador rocesador datos 14
Modelos de computadores paralelos MIMD. Cada procesador ejecuta un programa diferente independientemente de los otros procesadores. programa instrucciones programa instrucciones programa instrucciones rocesador rocesador rocesador datos datos datos 15
Modelos de computadores paralelos M M M M M M Network Memoria distribuida cada procesador tiene su propia memoria local. Se utiliza paso de mensajes para intercambiar datos. BUS M em o ry 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 16
Sistemas de memoria compartida BUS M em ory Uniform memory access (UMA) Cada procesador tiene acceso uniforme a memoria. También se llaman symmetric multiprocessors (SMs) 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 SMs BUS BUS Me m o ry Me m o ry Ne tw o rk 17
Sistemas de memoria compartida NUMA: SGI Origin 2000 18
Sistemas de memoria distribuida red anillo Diámetro: p/2 Hipercubo Malla Diámetro: p Servidor Estaciones de de ficheros trabajo 19
Evolución de los sistemas paralelos TO500 20
En Murcia ersonal: Uso de OpenM y MI 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 CGUM: C bipro, cluster: 3 bipro con duales, 2 bipros; computación paralela y 21 heterogénea
Sistemas actuales y futuros Multicore Actual: Bipro y Quad Intel, también SUN, CELL, AMD,... rocesadores específicos Gráficos GU De tratamiento de señal DS FGA y heterogéneos embebidos De juegos S3 Computadores heterogéneos CU+GU Futuro: lataformas híbridas Itanium2+Xeon con MC Futuro: Híbridos con 16000+16000 Distribuidos Redes, Grid, Web 2, móviles 22