• No se han encontrado resultados

Computación de Altas Prestaciones Sistemas computacionales

N/A
N/A
Protected

Academic year: 2022

Share "Computación de Altas Prestaciones Sistemas computacionales"

Copied!
22
0
0

Texto completo

(1)

Computación de Altas Prestaciones

Sistemas computacionales

Javier Cuenca, Domingo Giménez

Departamento de Informática y Sistemas Universidad de Murcia, Spain

dis.um.es/~domingo

(2)

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

(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 

(4)

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 

(5)

Programación paralela

U so 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)

(6)

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

(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

(8)

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

(9)

Aspectos de la programación  paralela

Ley de Moore: el número de procesadores integrados se  duplica cada 18 meses

Procesadores Intel

Paralelismo

(10)

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

...

(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

(12)

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 memoria

y procesador

(14)

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

Procesador programa

instrucciones

Procesador programa

instrucciones

(16)

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 uniforme a memoria. También se llaman

symmetric multiprocessors (SMPs)

P P P P

BUS M em ory

Non­uniform memory access (NUMA) El tiempo de acceso depende de dónde  están los datos. El acceso local es más 

P P P P

BU S Me m o ry

P P P P

BUS Me m o ry

(18)

18

Sistemas de memoria  compartida

NUMA: SGI Origin 2000

(19)

Sistemas de memoria  distribuida

anillo

Diámetro: p/2

Malla

Diámetro: √p

Servidor

de ficheros Estaciones de  trabajo

red

Hipercubo

(20)

20

Evolución de los sistemas  paralelos

TOP500

(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

(22)

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

Referencias

Documento similar