Arquitecturas Paralelas: Multinúcleos, Multiprocesadores, Multicomputadores y Grids

19
UCAB / USB / UCV Prof. Wílmer Pereira JOINCIC 2012 Arquitecturas Paralelas: Arquitecturas Paralelas: Multinúcleos, Multinúcleos, Multiprocesadores, Multiprocesadores, Multicomputadores y Grids Multicomputadores y Grids Prof. Wílmer Pereira UCAB / USB / UCV

description

Arquitecturas Paralelas: Multinúcleos, Multiprocesadores, Multicomputadores y Grids. Prof. Wílmer Pereira. UCAB / USB / UCV. Motivación. La demanda de poder de computo impulsó inicialmente a procesadores más rápidos y pequeños. - PowerPoint PPT Presentation

Transcript of Arquitecturas Paralelas: Multinúcleos, Multiprocesadores, Multicomputadores y Grids

Page 1: Arquitecturas Paralelas: Multinúcleos, Multiprocesadores, Multicomputadores y Grids

UCAB / USB / UCV Prof. Wílmer Pereira JOINCIC 2012

Arquitecturas Paralelas: Arquitecturas Paralelas: Multinúcleos, Multinúcleos,

Multiprocesadores, Multiprocesadores, Multicomputadores y GridsMulticomputadores y Grids

Prof. Wílmer Pereira

UCAB / USB / UCV

Page 2: Arquitecturas Paralelas: Multinúcleos, Multiprocesadores, Multicomputadores y Grids

UCAB / USB / UCV Prof. Wílmer Pereira JOINCIC 2012

MotivaciónMotivaciónLa 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 clonaEl proceso producto (hijo) se ejecutaAl terminar el hijo le reporta al padre

Procesos livianos con hilos (Java o C)Los hilos nacen del hilo principalLos hilos hijos ven datos del padre Si el padre termina, desaparecen

sus hijos … pero hay huerfanos y zombies ...

Page 3: Arquitecturas Paralelas: Multinúcleos, Multiprocesadores, Multicomputadores y Grids

UCAB / USB / UCV Prof. Wílmer Pereira JOINCIC 2012

Una segunda solución es aprovechar la enorme capacidad del hardware para tener máquinas con múltiples procesadores

Paralelismo real Paralelismo real

......

… es decir, gran cantidad de CPU’s en un mismo computador o CPU’s relativamente próximos

Múltiples procesadores en el mismo integrado o muy cercanos Multinúcleo y Multiprocesador Multinúcleo y Multiprocesador

Múltiples procesadores en una misma red local sin compartir RAM Multicomputador o ClusterMulticomputador o Cluster

Múltiples procesadores distribuidos en Internet Grid Grid

Page 4: Arquitecturas Paralelas: Multinúcleos, Multiprocesadores, Multicomputadores y Grids

UCAB / USB / UCV Prof. Wílmer Pereira JOINCIC 2012

Modelos de Modelos de paralelismoparalelismo

Tiempos Nano Segs Micro Segs Mili Segs

SOP's Homogéneos HomogéneosHeterogéneos Heterogéneos Heterogéneos

Límite 80/1000 300.000 No acotadode CPU's

Page 5: Arquitecturas Paralelas: Multinúcleos, Multiprocesadores, Multicomputadores y Grids

UCAB / USB / UCV Prof. Wílmer Pereira JOINCIC 2012

Limitaciones del Limitaciones del

paralelismoparalelismoLa 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 vezmenor 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

Page 6: Arquitecturas Paralelas: Multinúcleos, Multiprocesadores, Multicomputadores y Grids

UCAB / USB / UCV Prof. Wílmer Pereira JOINCIC 2012

Afortunadamente para el Afortunadamente para el

paralelismo ...paralelismo ...

Predicción de climaSimulación de la economía mundialResolución de problemas con inteligencia artificial ...

Esto no ha podido aún se corroborado experimentalmentedebido a limitaciones tecnológicos y logísticas

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 Aplicaciones del

paralelismo ...paralelismo ...

Page 7: Arquitecturas Paralelas: Multinúcleos, Multiprocesadores, Multicomputadores y Grids

UCAB / USB / UCV Prof. Wílmer Pereira JOINCIC 2012

Integrados Integrados multinucleosmultinucleos

Problemas …Problemas …Sin embargo un fallo de hardware puede afectar a todos los CPU´s

Por otro lado la arquitectura ofrece más de lo que los programadoresson capaces de hacer …

La capacidad de miniaturización de transistores continúa y se está aprovechando para montar CPU´s 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 cacheSe pueden programar con hilos y la sincronización depende del SOP

Page 8: Arquitecturas Paralelas: Multinúcleos, Multiprocesadores, Multicomputadores y Grids

UCAB / USB / UCV Prof. Wílmer Pereira JOINCIC 2012

SOP´s en SOP´s en multinucleosmultinucleos

Cada CPU con SOP independiente pero … no comparten procesosy 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érminosgenerales 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 ...

Page 9: Arquitecturas Paralelas: Multinúcleos, Multiprocesadores, Multicomputadores y Grids

UCAB / USB / UCV Prof. Wílmer Pereira JOINCIC 2012

Arquitectura de acceso uniforme a la memoria (UMA)

Es inmanejable con muchos CPU´s (bus muy ocupado) aunque se solventa parcialmente usando memoria cache y memoria privada

Hardware de Hardware de multiprocesadoresmultiprocesadores

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.

Page 10: Arquitecturas Paralelas: Multinúcleos, Multiprocesadores, Multicomputadores y Grids

UCAB / USB / UCV Prof. Wílmer Pereira JOINCIC 2012

El número de cruces aumenta con n2 por lo que con 1000 CPU´sdebe haber 106 cruces lo cual es muy costoso.

Arquitectura UMAArquitectura UMAAcceso Uniforme a la MemoriaAcceso Uniforme a la Memoria

Tener un sólo bus (aun con cache) sigue siendo una limitante a máximo 32 CPU´s. Una solución es usar interruptores de

barras cruzadas

Page 11: Arquitecturas Paralelas: Multinúcleos, Multiprocesadores, Multicomputadores y Grids

UCAB / USB / UCV Prof. Wílmer Pereira JOINCIC 2012

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 CPU´s buscan datos debe hacerlo por un directorio y usar las caches

Arquitectura NUMAArquitectura NUMAAcceso no Uniforme a la Acceso no Uniforme a la MemoriaMemoria

Con esta arquitectura se puede aumentar la cantidad de procesadores

Page 12: Arquitecturas Paralelas: Multinúcleos, Multiprocesadores, Multicomputadores y Grids

UCAB / USB / UCV Prof. Wílmer Pereira JOINCIC 2012

MulticomputadorMulticomputadorasas (Clusters)(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 kernelLos lenguajes de programación son particulares: MPI y PVM

Page 13: Arquitecturas Paralelas: Multinúcleos, Multiprocesadores, Multicomputadores y Grids

UCAB / USB / UCV Prof. Wílmer Pereira JOINCIC 2012

Arquitecturas Arquitecturas MulticomputadorasMulticomputadoras

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

Page 14: Arquitecturas Paralelas: Multinúcleos, Multiprocesadores, Multicomputadores y Grids

UCAB / USB / UCV Prof. Wílmer Pereira JOINCIC 2012

Hypercubo de 4 Hypercubo de 4 dimensionesdimensiones

Page 15: Arquitecturas Paralelas: Multinúcleos, Multiprocesadores, Multicomputadores y Grids

UCAB / USB / UCV Prof. Wílmer Pereira JOINCIC 2012

Miscelaneos Miscelaneos ......

Page 16: Arquitecturas Paralelas: Multinúcleos, Multiprocesadores, Multicomputadores y Grids

UCAB / USB / UCV Prof. Wílmer Pereira JOINCIC 2012

Software en Software en Clusters ...Clusters ...

El SOP debe proveeer al usuario la sensación de interatuarcon un único computador

Deben disponer de un middleware para administrarlos procesos

– Migración de procesos– Balanceo de cargas– Tolerancia a fallos

Gestor de colas para administrar procesos vs recursos

Page 17: Arquitecturas Paralelas: Multinúcleos, Multiprocesadores, Multicomputadores y Grids

UCAB / USB / UCV Prof. Wílmer Pereira JOINCIC 2012

Usos y ejemplos de Usos y ejemplos de clusters clusters

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)

Alto rendimiento

Alta disponibilidad

Balanceo de carga

Escalabilidad

Alto rendimiento

Alta disponibilidad

Balanceo de carga

Escalabilidad

Alto rendimiento

Alta disponibilidad

Balanceo de carga

Escalabilidad

Page 18: Arquitecturas Paralelas: Multinúcleos, Multiprocesadores, Multicomputadores y Grids

UCAB / USB / UCV Prof. Wílmer Pereira JOINCIC 2012

Multicomputadoras Multicomputadoras USBUSB

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 EthernetMulticomputadoras Multicomputadoras UCABUCABCluster CIDI:

– 98 máquinas a dos procesadores (no multinúcleos) – Conectados con Myrinet

Cluster Ingeniería:– Alrededor de 80 nodos– Alta disponibilidad

Page 19: Arquitecturas Paralelas: Multinúcleos, Multiprocesadores, Multicomputadores y Grids

UCAB / USB / UCV Prof. Wílmer Pereira JOINCIC 2012

MPIMPI