Title: Arquitecturas Paralelas: Multin
1Arquitecturas Paralelas Multinúcleos,
Multiprocesadores, Multicomputadores y Grids
UCAB / USB / UCV
2Motivación
La demanda de poder de computo impulsó
inicialmente a procesadores más rápidos y
pequeños
La primera solución es múltiples procesos
comparten secuencialmente un CPU potente ya que
la miniaturización se duplica cada 18 meses
Procesos pesados con fork (UNIX) El proceso
inicial (padre) se clona El proceso producto
(hijo) se ejecuta Al terminar el hijo le reporta
al padre
Procesos livianos con hilos (Java o C) Los hilos
nacen del hilo principal Los hilos hijos ven
datos del padre Si el padre termina,
desaparecen sus hijos
pero hay huerfanos y zombies ...
3Paralelismo real ...
Una segunda solución es aprovechar la enorme
capacidad del hardware para tener máquinas con
múltiples procesadores
es decir, gran cantidad de CPUs en un mismo
computador o CPUs relativamente próximos
Múltiples procesadores en el mismo integrado o
muy cercanos Multinúcleo y
Multiprocesador
Múltiples procesadores en una misma red
local sin compartir RAM
Multicomputador o Cluster
Múltiples procesadores distribuidos en Internet
Grid
4Modelos de paralelismo
Límite 80/1000 300.000 No acotado de
CPU's
Tiempos Nano Segs Micro Segs Mili Segs
SOP's Homogéneos Homogéneos Heterogéneo
s
Heterogéneos Heterogéneos
5Limitaciones del paralelismo
La capacidad de minituarización, ley de Moore
(fundador de INTEL) sólo se espera que se
mantenga por una década o algo más ... Los
tiempo de reloj son del orden de los Ghz y
estamos cercanos a los Thz ... sin embargo ...
miniaturizar y acelerar disipa demasiado calor
-(
En un primer momento se logra mayores
prestaciones con el paralelismo ...pero
la ley de Amdalh dice La ganancia en tiempo,
para máquinas paralelas, es cada vez menor a
medida que se aumenta la cantidad de
procesadores dado un número de
procesos constante.
El cuello de botella está basicamente en el
bus interno de comunicación y en la memoria a
compartir pues los procesos
deben sincronizarse
6Afortunadamente para el paralelismo ...
Más reciente Gustafson y Barsis aseguran que la
ley de Amdalh deja de ser válida cuando el
tamaño del problema escala con el número de
procesadores.
Aplicaciones del paralelismo ...
Esto no ha podido aún se corroborado
experimentalmente debido a limitaciones
tecnológicos y logísticas
Predicción de clima Simulación de la economía
mundial Resolución de problemas con inteligencia
artificial ...
7Integrados multinucleos
La capacidad de miniaturización de transistores
continúa y se está aprovechando para montar
CPUs dentro de la misma pastilla Se ha
logrado hasta 80 núcleos por integrado y pronto
los cientos ... No difieren de las máquinas
multiprocesadores basadas en bus o conmutadores
y además pueden compartir más componentes, por
ejemplo el cache Se pueden programar con hilos y
la sincronización depende del SOP
Problemas Sin embargo un fallo de hardware
puede afectar a todos los CPUs Por otro lado la
arquitectura ofrece más de lo que los
programadores son capaces de hacer
8SOPs en multinucleos
Cada CPU con SOP independiente pero no
comparten procesos y los caches pueden tener
datos incoherentes entre ellos Multiprocesadores
maestro-esclavos donde el maestro ejecuta el
SOP. El problema es que el maestro es un cuello
de botella. Multiprocesadores simétricos (una
copia del SOP en memoria). Sin embargo el SOP es
una gran región crítica, habría que dividir el
SOP en trozos independientes el problema es
escribir un SOP así ...
El manejo de regiones críticas con semáforos no
funciona en términos generales pues dos CPU
pueden tomar el semáforo al mismo tiempo y
acceder simultaneamente a la región crítica
La solución es bloquear el bus ...
9Hardware de multiprocesadores
Arquitectura de acceso uniforme a la memoria
(UMA) Es inmanejable con muchos CPUs (bus
muy ocupado) aunque se solventa parcialmente
usando memoria cache y memoria privada
Arquitectura de acceso no uniforme a la memoria
(NUMA) No todos los módulos tienen la misma
velocidad de acceso pues la memoria remota es
más lenta que la memoria local.
10 Arquitectura UMA Acceso Uniforme a la Memoria
Tener un sólo bus (aun con cache) sigue siendo
una limitante a máximo 32 CPUs. Una solución es
usar interruptores de barras cruzadas
El número
de cruces aumenta con n2 por lo que con 1000
CPUs debe haber 106 cruces lo cual es muy
costoso.
11 Arquitectura NUMA Acceso no Uniforme a la
Memoria
- Todos los programas UMA corren en máquinas NUMA
más lentos - La NUMA con cache coherente indica donde está
cada cache y su estado. - Se reparte la memoria por CPU, es decir, cada
dato está en un sólo CPU - 0-16 MB, CPU1
- 16-32 MB, CPU2
-
- Si los CPUs buscan datos debe hacerlo por un
directorio y usar las caches -
Con esta arquitectura se puede aumentar la
cantidad de procesadores
12Multicomputadoras (Clusters)
Inicialmente un PC maestro con ratón, teclado y
monitor. El resto de los PC con al menos una
tarjeta de red de alta velocidad y RAM
propia (sin perféricos de interacción). Se
conjugan multinúcleos con los clusters ... Puede
haber hasta una tarjeta de red para el usuario y
otra para el kernel Los lenguajes de
programación son particulares MPI y PVM
13Arquitecturas Multicomputadoras
- Los hypercubos tienen el diámetro más pequeño que
una rejilla - Rejilla 1024 sería 32 x 32 con un diámetro de 62
saltos - Hypercubo de 10 dimensiones son 1024 con un
diametro de 10 ...
Diámetros más pequeños reducen la latencia entre
nodos
14Hypercubo de 4 dimensiones
15Miscelaneos ...
16Software en Clusters ...
- El SOP debe proveeer al usuario la sensación de
interatuar - con un único computador
- Deben disponer de un middleware para administrar
- los procesos
- Migración de procesos
- Balanceo de cargas
- Tolerancia a fallos
- Gestor de colas para administrar procesos vs
recursos
17Usos y ejemplos de clusters
Alto rendimiento Alta disponibilidad Balanceo
de carga Escalabilidad
Alto rendimiento Alta disponibilidad Balanceo
de carga Escalabilidad
Alto rendimiento Alta disponibilidad Balanceo
de carga Escalabilidad
Beowulf (se contruye con máquinas en
desuso) Berkeley NOW (105 SUN Ultra 107 con
Myrinet) Cluster PS2 (Universidad de Illinois
con cónsolas de Play Station 2) Cluster X (2200
procesadores Apple G5 con Infiniband y Giga
Ethernet)
18Multicomputadoras USB
- Cluster Miranda
- 228 nodos en su mayoría multinúcleos.
- Dos tarjetas de red por cada nodo
- Infiniband para aplicaciones de usuario (MPI)
- Giga Ethernet para servicios
- Cluster Alma mater
- 8 máquinas con procesadores dualCore y HP
- Unidas a través de Giga Ethernet
-
Multicomputadoras UCAB
- Cluster CIDI
- 98 máquinas a dos procesadores (no multinúcleos)
- Conectados con Myrinet
- Cluster Ingeniería
- Alrededor de 80 nodos
- Alta disponibilidad
-
19MPI