Está en la página 1de 59

Multiprocesadores.

Multicomputadores.
(C)j@gm
Introduccin.
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 de
integracin de los CI.
Existen limitaciones fsicas de la
tecnologa de integracin.
Inters por tcnicas que aumenten las
prestaciones sin disparar coste.
(C)j@gm
Intel Core Duo Processor.
(C)j@gm
Introduccin.
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 del
proceso de paralelizacin.
(C)j@gm
Introduccin.
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 y herramientas de programacin
paralela.
Desarrollo de herramientas para el control y
depuracin.
Portabilidad y reusabilidad.
Todava un poco verde.
(C)j@gm
Tipos y clasificacin.
Complejidad de problemas = gran
capacidad de clculo.
Soluciones: computacin paralela.
Computacin paralela procesamiento
en paralelo.
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.
(C)j@gm
Conceptos.
N = grado de paralelismo.
N es un valor ideal.
Debe existir interaccin entre las N
partes.
Transferencias de datos.
Sincronizacin de clculos en diferentes
procesadores.
No obstante:
Siempre se pueden conseguir mejoras con la
computacin paralela.
Siempre se podr beneficiar de los
progresos y avances de los sistemas
monoprocesadores.
(C)j@gm
Un poco de historia.
ei.cs.vt.edu/~history/Parallel.html
1955: I!"#$ (%P&) 'e(e )mdahl
195*: I! +,-.,C/ ( 19*1 )
19*0: urroughs 1205 (1 a $ CP&3s)
19*5: 1ij4stra (-.C.) Cooley 5 ,u4ey (%%,)
19**: ,a6o(omia de %ly((
19*2: 1ij4stra (+em78oros)
19*9: !&9,IC+ (co( 2 CP&3s)
19"*: Cray I (!7s :ote(te hasta 1925 ;< Cray II)
(C)j@gm
(C)j@gm
Construccin de un sistema paralelo.
Segn la definicin de computacin
paralelo:
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.
(C)j@gm
Taxonoma de Flynn.
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.
(C)j@gm
SISD.
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.
(C)j@gm
SIMD.
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
(C)j@gm
SIMD.
(C)j@gm
ILLIAC IV.
(C)j@gm
MISD.
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.
(C)j@gm
MISD.
(C)j@gm
MIMD.
Instrucciones mltiples, datos
mltiples.
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
(C)j@gm
MIMD.
(C)j@gm
IBM 370.
(C)j@gm
UNIVAC 1100.
(C)j@gm
En esencia.
Atendiendo a la clasificacin del Flynn,
las arquitecturas paralelas pueden ser
esencialmente de dos tipos:
SIMD.
MIMD.
,radicio(ales
(C)j@gm
Modelo SIMD.
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, es la
responsable de buscar las
instrucciones, y repartirlas a los
distintos procesadores.
El conjunto de datos se estructura en
forma de array o vector.
(C)j@gm
Modelo SIMD.
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.
(C)j@gm
Modelo MIMD.
Cada procesador acta de forma
independiente:
Mediante descomposicin de control:
Cada procesador puede estar ejecutando un
programa distinto.
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.
(C)j@gm
Clasificacin segn el sistema
de memoria.
Nueva clasificacin computacin
paralela:
Sistemas de memoria compartida.
Multiprocesadores.
Sistemas de memoria distribuida.
Multicomputadores.
Clasificacin orientada casi a MIMD.
Se centra en cmo realizar el
intercambio de informacin entre
procesadores.
(C)j@gm
Memoria Compartida. Multiprocesadores.
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.
(C)j@gm
Memoria compartida. Esquema.
Acceso lento a memoria:
Redes de varias etapas.
Se satisface:
Latencia de red baja.
Ancho de banda alto.
Nmero bajo de
procesadores.
Arquitectura ms comn:
Bus comn.
Garantiza el mismo tiempo
de acceso a memoria para
cualquier palabra.
P
1
P
0
P
(
-ed de i(terco(e6i=( (us>....)
!emoria
UMA: Uniform Memory Access
(C)j@gm
Memoria compartida. UMA.
La mayora incorpora una memoria cach
local.
Es importante mantener la coherencia de
la informacin en la cach.
P
1
P
0
P
(
C
1
C
0
C
(
!
1
!
0
!
4
us Com?(
(C)j@gm
Memoria compartida. De UMA a NUMA.
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.
(C)j@gm
Memoria compartida. NUMA.
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.
P
1
C
1
!
1
P
(
C
(
!
(
P
0
C
0
!
0
-ed de i(terco(e6i=(
(C)j@gm
Memoria compartida. NUMA.
La red de interconexin es
fundamental.
Su latencia no debe incrementar los
tiempos de acceso remotos.
Dependiendo de cmo se comparta la
informacin, siempre garantizando la
coherencia de la memoria:
ccNUMA.
COMA (Cach Only Memory Access).
(C)j@gm
Memoria compartida. NUMA. ccNUMA.
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.
(C)j@gm
Memoria compartida. NUMA. COMA.
Idea bsica:
La memoria local de cada nodo es la
cach del resto del sistema.
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.
(C)j@gm
Memoria compartida. Resumen
Existe tanto en sistemas SIMD como
MIMD.
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.
(C)j@gm
Memoria distribuida. Multicomputadores.
Cada procesador dispone de su propia
memoria:
Acceso privado, independiente del
resto, accesible slo por el
procesador.
La comunicacin se realiza por paso de
mensajes.
Arquitecturas de paso de mensajes.
Util y dominante con gran nmero de
procesadores ( > 100).
La red de interconexin:
Facilita el paso de mensajes entre los
procesadores nodo.
(C)j@gm
Memoria distribuida.
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 y MIMD de
memoria distribuida.
Los MIMD de memoria distribuida con
arquitectura de paso de mensaje se
conocen como multicomputadores.
(C)j@gm
Memoria distribuida.
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).
(C)j@gm
Memoria distribuida. Beowulf vs. NOW
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.
(C)j@gm
Memoria distribuida.
(C)j@gm
Beowulf.
(C)j@gm
(C)j@gm
NOW.
(C)j@gm
NOW.
(C)j@gm
Otros criterios de clasificacin.
Segn las redes de interconexin:
Estticas:
Comunicacin punto a punto entre
procesadores.
Se aplican a las arquitecturas de paso de
mensajes.
Dinmicas.
Se construyen con switches, hubs o enlaces
de comunicacin.
Se denominan indirectas.
Se utilizan para los sistemas de memoria
compartida.
(C)j@gm
Otros criterios de clasificacin.
Segn la potencia y nmero de
procesadores:
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
(C)j@gm
En resumen.........
(C)j@gm
Redes de interconexin.
Importantes:
Medio para el intercambio de
informacin entre los elementos que
forman un computador paralelo.
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.
(C)j@gm
Redes de int. Limitaciones.
El caso ideal de una red de enlaces individuales
entre todos los elementos de clculo seria muy
costoso.
Existen retardos inherentes a todo el sistema de
comunicacin.
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 tratar sin
desbordarse es demasiado baja.
Influyen en el rendimiento de un sistema:
La topologa.
El mecanismo de conmutacin.
EL control del flujo.
El Algoritmo de encaminamiento.
(C)j@gm
Redes de int. Topologa.
Mltiples estructuras.
Desde estructuras sencillas de bajo
coste.
Redes de medio compartido, mediante buses.
Hasta estructuras de grafos complejos.
Redes directas o indirectas.
(C)j@gm
Redes de interconexin.
Mecanismo de conmutacin.
Bsicamente se emplea conmutacin de
paquetes:
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 de la
red.
(C)j@gm
Redes de interconexin.
Control del flujo.
Inicialmente se utiliz store-forward:
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.
(C)j@gm
Redes de interconexin.
Algoritmo de encaminamiento.
Encaminamiento determinista:
Fijar una ruta predeterminada entre cada origen
y destino.
Ventajas:
Los encaminadores son sencillos, rpidos y de
bajo coste.
Desventaja:
Nivel de ocupacin de los recursos no
equilibrados.
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.
(C)j@gm
Redes de interconexin.
Encaminadores.
Encaminadores:
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 no vlidas o con
limitaciones:
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.
(C)j@gm
Ejemplo. Myrinet.
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 para obtener diferentes
topologas.
Canales de comunicacin multiplexados.
Anchura fija:
9 bits: 8 de datos y una lnea dedicada
para el envo de comandos.
(C)j@gm
(C)j@gm
Prestaciones en computadores paralelos.
(C)j@gm
Multiprocesadores.
(C)j@gm
Multicomputadores.

También podría gustarte