Universidad de Murcia 1
Modelos de computadores paralelos
Domingo GiménezDepartamento de Informática y Sistemas
Universidad de Murcia, Spaindis.um.es/~domingo
Universidad de Murcia 2
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 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
Procesador
Memoria
SECUENCIAL (SISD)
Instrucciones:de memoria a procesador
Datos:entre memoriay 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.
Procesador Procesador Procesador
programa
instrucciones
datos
Universidad de Murcia 9
Modelos de computadores paralelos
MIMD. Cada procesador ejecuta un programa diferente
independientemente de los otros procesadores.
Procesador
programa
instrucciones
datos
Procesador
programa
instrucciones
datos
Procesador
programa
instrucciones
datos
Universidad de Murcia 10
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
Universidad de Murcia 11
Sistemas de memoria compartida
Uniform memory access (UMA)Cada procesador tiene acceso uniforme a memoria. También se llamansymmetric multiprocessors (SMPs)
P P P PBUS
Memory
Nonuniform 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 escalarque SMPs
P P P PBUS
Memory
Network
P P P PBUS
Memory
Universidad de Murcia 12
Sistemas de memoria compartida
NUMA: SGI Origin 2000
Universidad de Murcia 13
Sistemas de memoria distribuida
anilloDiámetro: p/2 Malla
Diámetro: √p
Servidorde ficheros
Estaciones de trabajo
red
Hipercubo
Universidad de Murcia 14
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 15
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 frontend es el punto de entrada al cluster y no se utiliza en ejecuciones de trabajos al cluster.
Universidad de Murcia 17
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 18
Sistemas actuales y futuros
• Multicore– Actual: Biprocesador Intel,
más SUN– En breve: Tetraprocesador
Intel
• Procesadores específicos– Gráficos GPU– De tratamiento de señal DSP– FPGA y heterogéneos
embebidos– De juegos PSP
• 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