Académique Documents
Professionnel Documents
Culture Documents
Grupo de Arquitectura de Sistemas Distribuidos Departamento de Arquitectura de Computadores y Automtica Universidad Complutense de Madrid
Introduccin Un computador paralelo es un conjunto de elementos de proceso conectados por medio de una red de interconexin que pueden o no compartir memoria Posible taxonoma (basada en la clasificacin de Flynn de 1967)
Modelo de control nica instruccin Mltiples instrucciones
SISD
SIMD
MIMD
MISD
Modelo de memoria
COMA
Arquitecturas Paralelas
2/22
ndice Computadores SIMD Aspectos bsicos Computadores MIMD de memoria compartida Aspectos bsicos Alternativas de diseo Modelo UMA Sistemas clsicos tipo UMA (PVP) Multiprocesadores simtricos (SMP) Modelo NUMA (memoria compartida virtual) Modelo COMA Computadores MIMD de memoria distribuida Aspectos bsicos Alternativas de diseo Clusters de estaciones de trabajo y sistemas Beowulf Clusters de Multiprocesadores Simtricos (SMP) Aspectos bsicos. Tendencia actual Tabla resumen de las arquitecturas paralelas ms comunes Cmo afecta el computador al rendimiento? Ajuste de los modelos de problema a los tipos de computador
Ignacio Martn Llorente Arquitecturas Paralelas 3/22
Una nica unidad de control que gestiona mltiples unidades funcionales La unidad de control ejecuta una nica instruccin (instruccin en array) que se realiza sobre mltiples operandos en paralelo Procesamiento simultaneo de varias componentes de un vector mediante la replicacin de unidades de procesamiento
X=A+B
Unidad de control
X(1)=A(1)+B(1)
X(2)=A(2)+B(2)
X(N)=A(N)+B(N)
Arquitecturas Paralelas
4/22
Computadores SIMD Aspectos Bsicos Modelo de programacin: Lenguaje secuencial con extensiones para el manejo de matrices (Fortran 90, tipo MATLAB...) Mayor dificultad en su programacin Usar las operaciones en array eficientemente Alternativas arquitectnicas Memoria compartida Memoria distribuida Ventajas: Fciles de programar Muy buena relacin coste/rendimiento Inconvenientes: Se deben realizar muchas operaciones en array para obtener rendimiento de la arquitectura Solo se pueden paralelizar aplicaciones paralelas totalmente sncronas Muchas operaciones en array no llegan a emplear todos los elementos de proceso, El nmero de elementos debe ser mltiplo del nmero de elementos de proceso No acelera las operaciones escalares
Ignacio Martn Llorente Arquitecturas Paralelas 5/22
Computadores SIMD de propsito general Thinking Machine Corporation Connection Machine 200 (TMC CM-200) MasPar 2
Solucin ptima para computadores de propsito especfico Aplicaciones con un grado de paralelismo muy alto Versatilidad y alto nivel de integracin proporcionado por el Hw reconfigurable Paralelismo masivo: gran cantidad de unidades de proceso lentas (mejor relacin coste/rendimiento) Multigrid Machine
Dieron paso al microprocesador como unidad de replicacin ya que es mucho barato que desarrollar elementos especficos
Arquitecturas Paralelas
6/22
Computadores MIMD de memoria compartida Aspectos Bsicos Diferentes procesadores compartiendo memoria, cada uno con su flujo particular de instrucciones Comunicacin por medio de la memoria compartida, con un solo ejecutable (SPMD)
x A Memoria
X=A(2)+A(25)
A(25)=A(30)+A(31)
A(100)=99
Procesadores
Modelos bsicos
P1
red de interconexin
M1
Pn
Pn Dn Mn
Pn
Mn
Mn
Arquitecturas Paralelas
7/22
M1
Pn
M1
M1
Pn
Mn
Arquitecturas Paralelas
8/22
Computadores MIMD de memoria compartida Alternativas de diseo Procesador Microprocesador (tecnologa CMOS) Procesador vectorial muy potente (tecnologa ECL) Red de interconexin: Desde el bus (acceso secuencial) Pasando por la red multietapa omega Al crossbar (altamente conectados) Gestin de la memoria: Entrelazamiento de memoria de orden mixto Coherencia de memoria cache (dif. con consistencia de una var. compartida) - Sin coherencia (nCC-NUMA): Semejante a acceso DMA en ED con invalidacin - Coherencia Sw o chequeo esttico - Coherencia Hw (UMA y CC-NUMA) Centralizada: Protocolo de directorio -> sistemas con red compleja Distribuida: Protocolo de sondeo o Snoopy (protocolo MESI) -> sistemas basados en bus Las alternativas anteriores hacen que los sistemas difieran en: Relacin coste/rendimiento Tamao mximo del computador (escalabilidad del computador)
Arquitecturas Paralelas
9/22
Modelo de programacin: Paralelismo en control con uso de directivas (subrutinas e iteraciones) Memoria compartida con rutinas de proteccin de datos compartidos Paralelismo en datos con directivas de distribucin de datos Posibilidad de paso de mensajes Mayor dificultad en su programacin Proteger el acceso a los datos compartidos Ventajas: Se adaptan a todos los modelos de programacin Facilidad de programacin Mismas tcnicas que las usadas en multiprogramacin (semforos) Vlido para todo tipo de grano Acceso uniforme a memoria Inconvenientes: No es escalable (bus por el trfico y crossbar por el precio) Ineficiencias debidas al: - Tiempo de contencin en el acceso a las variables compartidas
Arquitecturas Paralelas
10/22
Computadores MIMD de memoria compartida Sistemas Clsicos Tipo UMA (PVP) Procesadores muy potentes compartiendo memoria, cada uno con su flujo particular de instrucciones Los procesadores cuentan con unidades vectoriales Son los ms rpidos y caros de todos los computadores paralelos La red de interconexin es un crossbar muy rpido Ventajas: Son los ms rpidos Inconvenientes: Son los ms caros: - Procesadores muy potentes - Red de interconexin muy rpida Tecnologa: ECL Tendencia a CMOS
Tecnologa ECL Consumo alto Necesidades de refrigeracin Coste de mantenimiento
Arquitecturas Paralelas
11/22
Definicin no clara Computador MIMD de memoria compartida donde todos los procesadores pueden realizar acciones de entrada/salida, todos tienen igual acceso a los perifricos En un multiprocesador asimtrico, solo uno de los procesadores puede actuar de gestor del computador ejecutando el sistema operativo, los dems trabajan controlados por l Computador MIMD de memoria compartida de pequea escala basado en un pequeo nmero de microprocesadores que se conectan a memoria a travs de un bus o un crossbar El trmino simtrico se refiere a que cada procesador puede acceder a un dato en una localizacin determinada de memoria en la misma cantidad de tiempo (UMA) Basados en microprocesadores conectados a memoria compartida por medio de un bus o un crossbar, hasta Ventajas: Solucin barata y fcil de programar Inconvenientes: Difcil de escalar: bus => ancho de banda; crossbar => coste Tecnologa: Microprocesador (CMOS)
Ignacio Martn Llorente Arquitecturas Paralelas 12/22
Computadores MIMD de memoria compartida Modelo NUMA (DSM) Modelo de programacin: Paralelismo en control con uso de directivas (subrutinas e iteraciones) Memoria compartida con rutinas de proteccin de datos compartidos Paralelismo en datos con directivas de distribucin de datos - En el caso NUMA muy importante (nuevo nivel en la jerarqua de memoria) Posibilidad de paso de mensajes Mayor dificultad en su programacin Distribucin de los datos (la ubicacin inicial de los datos es crtica)
Nivel de memoria L1 cache L2 cache Memoria local Memoria remota (4 P) Memoria remota (8 P) Memoria remota (16 P) Memoria remota (32 P) Memoria remota (64 P) Memoria remota (128 P) Latencia(ns) 5.1 56.4 310 540 707 726 773 867 945
Arquitecturas Paralelas
13/22
Ventajas: (Trmino medio entre memoria distribuida y memoria compartida tipo UMA) Se adaptan a todos los modelos de programacin (eficientemente?) Facilidad de programacin Vlido para todo tipo de grano (mejor a partir de grano medio) Escalable => computadores de gran escala
Inconvenientes: Tiempo de acceso a memoria no uniforme Ineficiencias debidas al: - Tiempo de contencin en el acceso a las variables compartidas - Tiempo de acceso a posiciones remotas
Arquitecturas Paralelas
14/22
Caso especial del tipo NUMA Caractersticas: Las memorias locales se comparten como memorias cache Todas las memorias cache forman un espacio de direccin global - El acceso es asistido por los directorios distribuidos La ubicacin inicial de los datos no es crtica - Los datos migran al lugar donde se utilizan Tecnologa: Basados en microprocesador Modelo de programacin: Paralelismo en control con uso de directivas (subrutinas e iteraciones): KSR Fortran Memoria compartida con rutinas de proteccin de datos compartidos Paralelismo en datos con directivas de distribucin de datos Posibilidad de paso de mensajes
Arquitecturas Paralelas
15/22
Diferentes procesadores con memorias privadas, cada uno con su flujo particular de instrucciones Comunicacin por medio de mensajes con uno (SPMD) o varios ejecutables (MPMD) Generalmente tienen microprocesadores superescalares
Procesadores y memorias
Arquitecturas Paralelas
16/22
Modo de programacin: Paralelismo en datos con directivas de distribucin de datos Paso de mensajes, bibliotecas estndar: send/receive Mayor dificultad en su programacin Gestin de las comunicaciones Ventajas: Muy buena relacin rendimiento/coste Escalabilidad Inconvenientes: Las ineficiencias son debidas a: - Comunicaciones Son los sistemas ms complicados de programar No vlidos para paralelismo fino por el peso de las comunicaciones El cociente entre le velocidad de clculo y de comunicacin es crtico - Actualmente procesadores muy rpidos y redes lentas? => se debe disminuir en lo posible el nmero de comunicaciones
Arquitecturas Paralelas
17/22
Procesador Microprocesador Red de interconexin: Desde una topologa esttica con encaminamiento (conectividad parcial) - Sw: Store and Forward TODOS LOS - Hw: Wormhole PROCESADORES Pasando por una red dinmica multietapa (conectividad total) ESTN A IGUAL DISTANCIA Al crossbar (conectividad total) Soporte arquitectnico del paso de mensajes
IMPLICACIONES EN SU PROGRAMACIN
Las alternativas anteriores hacen que los sistemas difieran en: Relacin coste/rendimiento Conectividad (nmero de canales simultneos de comunicacin por nodo) Escalabilidad
Solo se debe particionar una aplicacin en tareas No hay limitaciones por parte del computador respecto a la vecindad
Arquitecturas Paralelas
18/22
Computadores MIMD de Memoria Distribuida Clusters de Estaciones de Trabajo y Sistemas Beowulf Utilizacin de una biblioteca estndar de paso de mensajes (PVM, MPI, ) para programar una red de estaciones como si se tratara de un computador paralelo de memoria compartida
Ventajas: Gratis Inconvenientes: EXTERIOR Coste de las comunicaciones muy alto - Bus lento - Acceso secuencial al bus - Bus compartido con otras aplicaciones - Sobrecarga TCP/IP La carga de las estaciones vara dinmicamente Las estaciones de trabajo tienen velocidades diferentes Conclusin: Es una buena solucin solo para aplicaciones con grano muy grueso =>
Arquitecturas Paralelas
19/22
Computadores MIMD de Memoria Distribuida Clusters de Estaciones de Trabajo y Sistemas Beowulf Un sistema Beowulf es un cluster de estaciones o computadores personales homogeneo dedicado a computacin paralela Suele estar dotada de una red avanzada basada en router con Fast Ethernet o Myrinet
Ventajas: Precio reducido Inconvenientes: Coste de las comunicaciones muy alto? - Bus lento? - Acceso secuencial al bus? - Bus compartido con otras aplicaciones? - Sobrecarga TCP/IP? La carga de las estaciones vara dinmicamente? Las estaciones de trabajo tienen velocidades diferentes? PILA DE PCs
myrinet
Conclusin: Es una buena solucin para aplicaciones con grano muy medio
Arquitecturas Paralelas
20/22
Conexin de varios SMPs por medio de una red de interconexin que permite acceso NUMA (UMA dentro del cluster) Se trata de la generalizacin de los computadores NUMA, donde cada nodo es un UMA Se pretende recoger las ventajas de las UMA y las NUMA en una misma arquitectura
X1=A(2)+A(25)
X2=A(1)+A(30)+X1 SMP
Arquitecturas Paralelas
21/22
Modo de programacin: Paralelismo en control con uso de directivas (subrutinas e iteraciones) Memoria compartida con rutinas de proteccin de datos compartidos Paralelismo en datos con directivas de distribucin de datos - En el caso NUMA muy importante (nuevo nivel en la jerarqua de memoria) Posibilidad de paso de mensajes Mayor dificultad en su programacin Distribucin de los datos Ventajas: Se puede conseguir un computador potente a buen precio Ana las ventajas de los modelos UMA y NUMA Inconvenientes: La comunicacin entre clusters es muy lenta
Arquitecturas Paralelas
22/22