Download Sistemas paralelos - Departamento de Informática y Sistemas

Document related concepts
no text concepts found
Transcript
Modelos de computadores
paralelos
Domingo Giménez
Departamento de Informática y Sistemas
Universidad de Murcia, Spain
dis.um.es/~domingo
Universidad de Murcia
1
Contenido





Programación paralela
Modelos de computadores paralelos
Sistemas de memoria compartida
Sistemas de memoria distribuida
Evolución de los sistemas paralelos
Universidad de Murcia
2
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
3
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
4
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
5
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
6
Modelos de computadores
paralelos
SECUENCIAL (SISD)
Memoria
Instrucciones:
de memoria a procesador
Datos:
entre memoria
y procesador
Procesador
Universidad de Murcia
7
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
Procesador
Procesador
Procesador
datos
Universidad de Murcia
8
Modelos de computadores
paralelos
MIMD.
Cada procesador ejecuta un programa diferente independientemente de los otros procesadores.
programa
instrucciones
programa
instrucciones
programa
instrucciones
Procesador
Procesador
Procesador
datos
datos
datos
Universidad de Murcia
9
Modelos de computadores
paralelos
P
P
P
P
P
P
M
M
M
M
M
M
P
P
P
P
P
BUS
M e m o ry
Network
Memoria distribuida – cada procesador tiene su propia memoria local. Se utiliza paso de mensajes para intercambiar datos. P
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
10
Sistemas de memoria
compartida
P
P
P
BUS
Memory
P
Uniform memory access (UMA)
Cada procesador tiene acceso uniforme
a memoria. También se llaman
symmetric multiprocessors (SMPs)
P
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
P
P
BUS
BUS
Memory
Memory
Universidad de Murcia
P
Network
11
Sistemas de memoria
compartida
NUMA: SGI Origin 2000
Universidad de Murcia
12
Sistemas de memoria
distribuida
red
anillo
Diámetro: p/2
Hipercubo
Malla
Diámetro: √p
Servidor
Estaciones de de ficheros trabajo
Universidad de Murcia
13
Sistemas de memoria
distribuida
El HPC 160 (prometeo.sait.upct.es) es un sistema paralelo de memoria distribuida con un total de 16 procesadores (4 nodos tetraprocesadores) a 1 GHz, con 8MB de caché de nivel 2, 16 GBytes de memoria y unos 300 GBytes de almacenamiento en disco. Su rendimiento teórico o pico es de 32 Gflops.
Universidad de Murcia
14
Sistemas de memoria
distribuida
El cluster consta de 20 nodos biprocesadores Pentium Xeon a 2 Ghz, interconectados mediante una red SCI con topología de Toro 2D en malla de 4x5. Cada nodo consta de 1 Gigabyte de memoria RAM. 19 los nodos están disponibles para cálculo científico. El front­end es el punto de entrada al cluster y no se utiliza en ejecuciones de trabajos al cluster.
Universidad de Murcia
15
Evolución de los sistemas
paralelos
TOP500
Universidad de Murcia
16
En Murcia
– Personal:
• Uso de OpenMP y MPI en monoprocesadores, y ya 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
• Murcia: híbrido MC+MD, 8 nodos comunicados con PM y cada nodo 4
procesadores en MC
• Resolución de problemas científicos, uso mínimo de paralelismo
– Grupos de investigación:
• Redes de ordenadores, hasta 16, para computación científica o paralelismo
• COCI: Red 5 SUN1+1 SUN5, PC bipro, cluster: 3 bipro con duales, 2 bipros;
computación paralela y heterogénea
Universidad de Murcia
17
Sistemas actuales y futuros
• Multicore
• Computadores
heterogéneos
– Actual: Biprocesador Intel,
más SUN
– CPU+GPU
– En breve: Tetraprocesador
– Futuro: Plataformas
Intel
híbridas Itanium2+Xeon
con MC
• Procesadores específicos
– Futuro: Híbridos con
– Gráficos GPU
16000+16000
– De tratamiento de señal DSP
• Distribuidos
– FPGA y heterogéneos
– Redes, Grid, Web
embebidos
– P2P, móviles
– De juegos PSP
Universidad de Murcia
18