Vous êtes sur la page 1sur 22

Arquitecturas Paralelas

Ignacio Martn Llorente asds.dacya.ucm.es/nacho

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

Memoria Compartida (MC)

Memoria Distribuida (MD)

UMA (PVP o SMP)

NUMA (DSM) CC o nCC

COMA

Modelo de sistema Multiprocesador Simtrico (SMP)

Clusters de Estaciones de Trabajo

Diversidad de precios Diversidad de rendimientos Diferentes modelos de programacin

Clusters de Multiprocesadores Simtricos (SMP)

Ignacio Martn Llorente

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

Computadores SIMD Aspectos Bsicos

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)

Elementos de proceso {ALU+registros}

Ignacio Martn Llorente

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 Ejemplos y uso actual

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

Ignacio Martn Llorente

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

Memoria virtualmente compartida y fsicamente distribuida


P1 red de interconexin P1 NUMA (Non Uniform Memory Access) CC nCC red de interconexin D1 M1

P1

red de interconexin

M1 UMA (Uniform Memory Access) PVP SMP

M1

Pn

Pn Dn Mn

COMA (Cache Only Memory Architecture)

Pn

Mn

Mn

Ignacio Martn Llorente

Arquitecturas Paralelas

7/22

Computadores MIMD de memoria compartida Aspectos Bsicos


Memoria Compartida Memoria Distribuida P1 P1 red de interconexin M1 UMA (Uniform Memory Access) SMP red de interconexin

M1

Pn

Mn P1 P1 red de interconexin NUMA (Non Uniform Memory Access)

M1

M1

Pn

Programacin vs. escalabilidad

Mn

Memoria virtualmente compartida y fsicamente distribuida

Ignacio Martn Llorente

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)

Ignacio Martn Llorente

Arquitecturas Paralelas

9/22

Computadores MIMD de memoria compartida Modelo UMA

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

Ignacio Martn Llorente

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

Ignacio Martn Llorente

Arquitecturas Paralelas

11/22

Computadores MIMD de memoria compartida Multiprocesadores simtricos (SMP)

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

Latencias de los niveles de memoria del Origin 2000

Ignacio Martn Llorente

Arquitecturas Paralelas

13/22

Computadores MIMD de memoria compartida Modelo NUMA (DSM)

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

Ignacio Martn Llorente

Arquitecturas Paralelas

14/22

Computadores MIMD de memoria compartida Modelo COMA

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

Ignacio Martn Llorente

Arquitecturas Paralelas

15/22

Computadores MIMD de memoria distribuida Aspectos Bsicos

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

Red de interconexin x A X=A(2)+A(25) A A(25)=A(30)+A(31) A A(100)=99

Procesadores y memorias

Ignacio Martn Llorente

Arquitecturas Paralelas

16/22

Computadores MIMD de Memoria Distribuida Aspectos Bsicos

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

Ignacio Martn Llorente

Arquitecturas Paralelas

17/22

Computadores MIMD de Memoria Distribuida Alternativas de Diseo

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

Ignacio Martn Llorente

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 =>

Ignacio Martn Llorente

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

Ignacio Martn Llorente

Arquitecturas Paralelas

20/22

Clusters de Multiprocesadores Simtricos (SMPs) Aspectos Bsicos. Tendencia actual

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

red de interconexin x1 A1 A(100)=99 SMP x2 A2 A(2)=99

X1=A(2)+A(25)

X2=A(1)+A(30)+X1 SMP

Otro modo de ver la taxonoma anterior

Ignacio Martn Llorente

Arquitecturas Paralelas

21/22

Clusters de Multiprocesadores Simtricos (SMPs) Aspectos Bsicos. Tendencia actual

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

Ignacio Martn Llorente

Arquitecturas Paralelas

22/22

Vous aimerez peut-être aussi