210 likes | 482 Views
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.
E N D
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 La primerasoluciónes: múltiplesprocesoscompartensecuencialmente un CPU potenteyaque la miniaturización se duplicacada 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 ...
Paralelismo 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 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 Múltiplesprocesadores en unamisma red local sin compartir RAM Multicomputador o Cluster Múltiplesprocesadoresdistribuidos en Internet Grid
Modelos 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éneos Heterogéneos Heterogéneos
Limitaciones 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
Afortunadamente 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 ...
Integrados multinucleos 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 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 CPU´s Por otro lado la arquitectura ofrece más de lo que los programadores son capaces de hacer …
SOP´s 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 ...
Hardware de multiprocesadores 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 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.
Arquitectura UMA Acceso 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 El número de cruces aumenta con n2 por lo que con 1000 CPU´s debe haber 106 cruces lo cual es muy costoso.
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 CPU´s buscan datos debe hacerlo por un directorio y usar las caches Con esta arquitectura se puede aumentar la cantidad de procesadores
Multicomputadoras (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
Arquitecturas 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
Software 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
Usos 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)
Multicomputadoras 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