You are on page 1of 59

Multiprocesadores. Multicomputadores.

Introduccin.
(C)j@gm

Avances tecnolgicos:
Aumento de prestaciones. Aumento de la demanda de recursos.
Computador utilizado para abordar problemas mas complejos.

Prestaciones de los computadores:


No crecen indefinidamente. Agotamiento de la capacidad integracin de los CI.
Existen limitaciones fsicas tecnologa de integracin. de

de
la

Inters por tcnicas que aumenten las prestaciones sin disparar coste.

Intel Core Duo Processor.


(C)j@gm

Introduccin.
(C)j@gm

Desarrollo de la paralelizacin. Computador paralelo:


Conjunto de elementos de proceso independientes que operan de forma conjunta para resolver problemas de elevado coste computacional.

mbito de aplicacin:
Desde la conexin de procesadores. Hasta la conexin de computadores.

Objetivo:
Aspectos bsicos y generales proceso de paralelizacin. del

Introduccin.
(C)j@gm

Aspectos bsicos sobre computacin paralela Diseo de Arquitecturas paralelas. Obvio. Diseo de algoritmos paralelos eficaces
Difieren de los algoritmos secuenciales.

Anlisis de los algoritmos paralelos.


Medidas de la eficacia del sistema.

Lenguajes paralela.

herramientas

de

programacin

Desarrollo de herramientas para el control y depuracin.

Portabilidad y reusabilidad.
Todava un poco verde.

Tipos y clasificacin.
(C)j@gm

Complejidad de problemas capacidad de clculo. Computacin paralela en paralelo.

gran

Soluciones: computacin paralela.

procesamiento

Acelerar la ejecucin de un programa mediante su descomposicin en fragmentos que pueden ejecutarse de forma simultnea en su propia unidad de proceso.
N fragmentos en N computadores. N veces la velocidad de un computador.

Conceptos.
(C)j@gm

N = grado de paralelismo.
N es un valor ideal.
Debe existir partes. interaccin entre las N

Transferencias de datos. Sincronizacin de clculos procesadores.

en

diferentes

No obstante:
Siempre se pueden conseguir mejoras con la computacin paralela. Siempre se podr beneficiar de los progresos y avances de los sistemas monoprocesadores.

Un poco de historia.
(C)j@gm

ei.cs.vt.edu/~history/Parallel.html 1955: IBM704 (FPU) Gene Amdahl 1956: IBM STRETCH ( 1961 ) 1962: 1965: 1966: 1968: 1969: Burroughs D825 (1 a 4 CPUs) Dijkstra (R.C.) Cooley & Tukey (FFT) Taxonomia de Flynn Dijkstra (Semforos) MULTICS (con 8 CPUs)

1976: Cray I (Ms potente hasta 1985 => Cray II)

(C)j@gm

Construccin de un sistema paralelo.


(C)j@gm

Segn la paralelo:

definicin

de

computacin

Un sistema de procesamiento paralelo puede realizarse de multitud de formas. La complejidad de las diversas posibilidades, hace que existan diferentes taxonomas.
Taxonoma de Flynn. Segn el sistema de almacenamiento. Otras.

NOTA:
No existe una clasificacin definitiva.

Taxonoma de Flynn.
(C)j@gm

Clasificacin segn el flujo (secuencia de elementos) de instrucciones y flujo de datos que se desarrolla en los computadores.
SISD
Single Instruction Single Data.

SIMD
Single Instruction Multiple Data.

MISD
Multiple Instruction Single Data.

MIMD
Multiple Instruction Multiple Data.

SISD.
(C)j@gm

Instruccin nica, datos nicos.


Computadores serie actuales. Las instrucciones se ejecutan secuencialmente, pudiendo estar solapadas (segmentacin). Pueden existir ms de una unidad de recursos de clculo, pero siempre bajo una nica unidad de control.

SIMD.
(C)j@gm

Instruccin nica, datos mltiples.


Procesadores matriciales y vectoriales.
Varias unidades de procesamiento, trabajando sobre flujos de datos distintos, ejecutando la misma instruccin, bajo una nica unidad de control. El sincronismo entre procesadores est garantizado.
Punto de sincronismo: despus de cada ciclo de ejecucin de las instrucciones.

Ejemplos reales:
ILLIAC IV Mquina de conexin

SIMD.
(C)j@gm

ILLIAC IV.
(C)j@gm

MISD.
(C)j@gm

Instrucciones mltiples, datos nicos.


Varias unidades de procesamiento, ejecutando instrucciones diferentes, sobre el mismo flujo de datos. No existe materializacin real. De forma abierta:
Mquinas VLIW. Arquitecturas desacopladas. Arquitecturas sistlicas.

MISD.
(C)j@gm

MIMD.
(C)j@gm

Instrucciones mltiples.

mltiples,

datos

Se incluyen la mayora de los sistemas multiprocesadores y multicomputadores. Un computador MIMD implica interacciones entre varios procesadores. Ejemplos:
Cray-2 IBM 370 UNIVAC 1100/80

MIMD.
(C)j@gm

IBM 370.
(C)j@gm

UNIVAC 1100.
(C)j@gm

En esencia.
(C)j@gm

Atendiendo a la clasificacin del Flynn, las arquitecturas paralelas pueden ser esencialmente de dos tipos:
SIMD. MIMD.

Tradicionales

Modelo SIMD.
(C)j@gm

Cada procesador ejecuta la misma operacin, en sincronismo, sobre su propio conjunto de datos.
Las instrucciones se envan a ms de un procesador.
Acta como un procesador ALU, sin unidad de control.

La nica unidad de control, responsable de buscar instrucciones, y repartirlas distintos procesadores.

es a

la las los

El conjunto de datos se estructura en forma de array o vector.

Modelo SIMD.
(C)j@gm

reas de aplicacin:
Tratamientos de arrays en bucles:
Simulaciones de sistemas. Procesamiento de imgenes.

Ejemplo clsico:
Connection Machine.
1985. 65536 procesadores con 4KB de memoria.

Problemas:
Tratamiento de sentencias de seleccin.
Realizar una operacin diferente dependiendo del dato que se tenga.

Modelo MIMD.
(C)j@gm

Cada procesador acta de independiente: Mediante descomposicin de control:


Cada procesador puede programa distinto. estar

forma

ejecutando

un

Mediante descomposicin de datos:


Cada procesador puede estar ejecutando el mismo programa, en diferentes partes del mismo, sobre distintos datos.
Esta variante se conoce como SPMD. No confundir con SIMD.

Existe gran intercambio de informacin entre los procesadores. Son ms generales y eficaces que los SIMD.

Clasificacin segn el sistema de memoria. Nueva clasificacin paralela:


Multiprocesadores.

(C)j@gm

computacin

Sistemas de memoria compartida. Sistemas de memoria distribuida.


Multicomputadores.

Clasificacin orientada casi a MIMD.


Se centra en intercambio de procesadores. cmo realizar el informacin entre

Memoria Compartida. Multiprocesadores.


(C)j@gm

Comparten fsicamente la memoria.


Cualquier elemento escrito en memoria puede ser ledo directamente por cualquier otro.
La interconexin de la memoria a todos los procesadores: RED DE INTERCONEXIN.

La red de interconexin es determinante para la eficacia del sistema.


Dos parmetros caracterizan la red:
La latencia de la red.
Tiempo que se tarda en enviar un mensaje a travs de la red de interconexin.

El ancho de banda.
Nmero de bits que se pueden enviar por unidad de tiempo.

Memoria compartida. Esquema.


(C)j@gm

Acceso lento a memoria:


Redes de varias etapas.
P1 P2 Pn

Se satisface:
Latencia de red baja. Ancho de banda alto.

Red de interconexin (Bus,....)

Nmero bajo de procesadores. Arquitectura ms comn:


Bus comn.
Garantiza el mismo tiempo de acceso a memoria para cualquier palabra.

Memoria

UMA: Uniform Memory Access

Memoria compartida. UMA.


(C)j@gm

La mayora incorpora una memoria cach local.


Es importante mantener la coherencia de la informacin en la cach.
P1 C1 P2 C2 Bus Comn M1 M2 Mk Pn Cn

Memoria compartida. De UMA a NUMA.


(C)j@gm

UMA:
Escalabilidad limitada.
Nmero mximo de procesadores: 16 a 32.

Mejoras:
Memoria local para los procesadores.
Se evitan accesos a memoria a travs de la red.

El acceso a memoria ya no es uniforme. Nacen los sistemas con memorias de acceso no uniforme: NUMA.

NUMA:
El tiempo de acceso a memoria difiere entre palabras.
La informacin est distribuida.

Memoria compartida. NUMA.


(C)j@gm

Se conocen tambin como sistemas de memoria compartida distribuida (DSM).


Los accesos de un procesador a las memorias locales de los otros requieren un hardware de control especfico.
P1 C1 M1 P2 C2 M2 Pn Cn Mn

Red de interconexin

Memoria compartida. NUMA.


(C)j@gm

La red de fundamental.

interconexin

es
los

Su latencia no debe incrementar tiempos de acceso remotos.

Dependiendo de cmo se comparta informacin, siempre garantizando coherencia de la memoria:


ccNUMA. COMA (Cach Only Memory Access).

la la

Memoria compartida. NUMA. ccNUMA.


(C)j@gm

Cada nodo, contiene una porcin de la memoria total del sistema.


NODO:
Uno o varios procesadores con sus cachs, una memoria principal y un directorio.

Las variables compartidas se reparten directamente por el programador o por el sistema operativo. La coherencia se mantiene mediante los directorios.

Memoria compartida. NUMA. COMA.


(C)j@gm

Idea bsica:
La memoria local de cada nodo cach del resto del sistema. es la

Ventajas:
Un fallo de acceso remoto se resuelve distribuyendo automticamente por el sistema los datos que est utilizando la aplicacin.

Problemas (desventajas):
Complejidad para mantener la coherencia de las copias de los datos a lo largo de todo el sistema.

Memoria compartida. Resumen


(C)j@gm

Existe MIMD.

tanto

en

sistemas

SIMD

como

El inters se centra en MIMD.

MIMD + memoria compartida:


Multiprocesadores simtricos (SMP).
De 2 a 64 procesadores. Comparten la totalidad de recursos.

SIMD + memoria compartida:


Procesadores multihebra:
Una sola copia del sistema operativo. Cada nodo ejecuta una hebra.
Windows NT.

Memoria distribuida. Multicomputadores.


(C)j@gm

Cada procesador dispone de su propia memoria:


Acceso privado, independiente resto, accesible slo por procesador. del el

La comunicacin se realiza por paso de mensajes.


Arquitecturas de paso de mensajes. Util y dominante con gran nmero procesadores ( > 100). de

La red de interconexin:
Facilita el paso de mensajes entre los procesadores nodo.

Memoria distribuida.
(C)j@gm

La red de interconexin.
Puede ser de latencia alta. Ancho de banda:
Complejo. Hay analizar otros factores: Por ejemplo:
La granularidad del computador paralelo.

Existen sistemas SIMD memoria distribuida.

MIMD

de

Los MIMD de memoria distribuida con arquitectura de paso de mensaje se conocen como multicomputadores.

Memoria distribuida.
(C)j@gm

Un sistema de memoria distribuida:


Puede ser un nico computador con mltiples CPU's conectadas por un bus de datos.
Procesadores masivamente paralelos. (MPP).

Puede ser mltiples computadores enlazados por una red de interconexin ms o menos rpida.
Clusters:
Con computadores dedicados: Beowulf. Con computadores no dedicados: NOW (Network Of Workstations).

Memoria distribuida. Beowulf vs. NOW


(C)j@gm

Beowulf es un conjunto de nodos minimalistas (Placa base, CPU, memoria y algn dispositivo de E/S), conectados por un medio de comunicacin barato, con una topologa de red influenciada por el problema a resolver. Cada nodo se dedica nicamente a procesos del supercomputador. En una red NOW suele existir un switch central para realizar las comunicaciones, mientras que en un Beowulf el mecanismo es ms rudimentario: conexiones placa a placa mediante RJ-45 cruzado. La programacin Beowulf depende de la arquitectura, y siempre se realiza por paso de mensaje.

Memoria distribuida.
(C)j@gm

Beowulf.
(C)j@gm

(C)j@gm

NOW.
(C)j@gm

NOW.
(C)j@gm

Otros criterios de clasificacin.


(C)j@gm

Segn las redes de interconexin:


Estticas:
Comunicacin procesadores.
Se aplican mensajes. a

punto
las

punto
de

entre
paso de

arquitecturas

Dinmicas.
Se construyen con switches, hubs o enlaces de comunicacin.
Se denominan indirectas. Se utilizan para los sistemas compartida. de memoria

Otros criterios de clasificacin.


(C)j@gm

Segn la potencia procesadores:

nmero

de

Denominado granularidad de procesador.


Grano grueso (coarse-grain)
Pocos procesadores pero muy potentes. Cray Y-MP

Grano fino (fine-grain)


Muchos procesadores pero menos potentes. Paragon XP/S

En resumen.........
(C)j@gm

Redes de interconexin.
(C)j@gm

Importantes:
Medio para el intercambio informacin entre los elementos forman un computador paralelo. de que

Cundo es eficaz?
Cuando la capacidad de clculo est equilibrada con respecto a la capacidad de transmisin de la red.

Las mejoras en su capacidad estn ligadas a los avances en tecnologa VLSI. Hay algunas limitaciones.

Redes de int. Limitaciones.


(C)j@gm

El caso ideal de una red de enlaces individuales entre todos los elementos de clculo seria muy costoso.
Existen retardos comunicacin. inherentes a todo el sistema de

Los avances en los elementos de clculo hacen responsable a la red de los lmites en la velocidad de los sistemas paralelos.
Debido a un tiempo de acceso elevado. La cantidad de informacin que pueden desbordarse es demasiado baja. tratar sin

Influyen en el rendimiento de un sistema:


La El EL El topologa. mecanismo de conmutacin. control del flujo. Algoritmo de encaminamiento.

Redes de int. Topologa.


(C)j@gm

Mltiples estructuras.
Desde estructuras coste. sencillas de bajo

Redes de medio compartido, mediante buses.

Hasta estructuras de grafos complejos.


Redes directas o indirectas.

Redes de interconexin. Mecanismo de conmutacin. Bsicamente paquetes: se emplea

(C)j@gm

conmutacin de

No se reserva el medio. La informacin se transmite en forma de paquetes:


Bien a travs de un camino establecido. Bien buscando su propia ruta al nodo destino.

Exige mecanismos de arbitraje. Aumenta el nivel de ocupacin red.

de

la

Redes de interconexin. Control del flujo. Inicialmente se utiliz store-forward:


(C)j@gm

Almacenar y remitir.
Cada paquete se almacena completamente en los nodos intermedios, antes de ser reenviado al siguiente nodo de la ruta, en busca del nodo destino. La distancia topolgica aumenta la latencia de los mensajes.

En 1979 se introdujo el flujo virtual cut-through (segmentado).


Cortar y continuar.
Una cantidad mnima de informacin (phit) se enva al siguiente nodo, sin haber recibido todo el paquete.

Redes de interconexin. Algoritmo de encaminamiento.


Encaminamiento determinista:

(C)j@gm

Fijar una ruta predeterminada entre cada origen y destino. Ventajas:


Los encaminadores bajo coste. son sencillos, rpidos y de

Desventaja:
Nivel de ocupacin equilibrados. de los recursos no

Encaminamiento adaptativo:
La eleccin del camino depende de los nodos origen y destino, y del estado de la red. Desventajas:
Caros, complejos, bajos en rapidez.

Redes de interconexin. Encaminadores. Encaminadores:

(C)j@gm

Implementan el algoritmo de encaminamiento junto a los dems factores de una red de interconexin. Pueden realizarse mediante cualquier combinacin de esos factores.
Hay combinaciones limitaciones: no vlidas o con

Interbloqueo: Debido al tipo de topologa, control de flujo y encaminamiento elegido, puede inutilizarse el sistema de interconexin. Starvation: Ausencia de datos en el procesador.

Ejemplo. Myrinet.
(C)j@gm

Red de interconexin NOW. Control de flujo segmentado (virtual cut-through).


Consta de dos elementos que definen la red:
Interfaces de red y conmutadores.
Se pueden combinar topologas. para obtener diferentes

Canales de comunicacin multiplexados.


Anchura fija:
9 bits: 8 de datos y una lnea dedicada para el envo de comandos.

(C)j@gm

Prestaciones en computadores paralelos.


(C)j@gm

Multiprocesadores.
(C)j@gm

Multicomputadores.
(C)j@gm

You might also like