Anda di halaman 1dari 11

MIMD

Editar 0 16

2.MIMD Mltiples Secuencias de Instruccin y Mltiples


Secuencias de datos
Table of Contents
2.MIMD Mltiples Secuencias de Instruccin y Mltiples Secuencias de datos
2.1 Multiprocesadores
2.1.1 Acceso Uniforme a memoria(UMA).
2.1.1.1 Arquitecturas SMP basadas en el Bus UMA
2.1.1.2 Multiprocesadores UMA conmutados
2.1.2 Acceso no uniforme a memoria(NUMA).
2.1.3 Multiprocesadores de acceso slo a memoria cache(COMA)
2.2 Multicomputadoras
2.2.1 Procesadores masivamente paralelos
2.2.2 Cmulos de estaciones de trabajo(COW).

Es una tcnica empleada para alcanzar el paralelismo, las maquinas que usan la arquitectura
MIMD tienen un cierto nmero de procesadores que funcionan asincrnicamente y son
independientes unos de otros. En cualquier momento pueden estar ejecutando diferentes
instrucciones en diferentes partes de datos. Esta categora la podemos subdividir en
multiprocesadores que serian maquinas con memoria compartida y multicomputadoras es decir
maquinas que transfieren mensajes.

2.1 Multiprocesadores
Los multiprocesadores se subdividen en tres clases y se distinguen por la forma en la que se
implementa la memoria compartida, pueden ser acceso uniforme a memoria UMA(Uniform
Memory Access), acceso no uniforme a la memoria NUMA(NonUniform Memory Access) y slo
acceso a memoria cache COMA(Cache Only Memory Access). Los multiprocesadores tienen la
ventaja de que los programas creados accedan a cualquier localidad de memoria sin importar

la topologa interna por lo tanto un programa puede funcionar en cualquiera de sus tipos, en
cambio no tiene mucha escalabilidad ya que no pueden crearse en grandes tamaos y sus
costos son elevados.

2.1.1 Acceso Uniforme a memoria(UMA).


Las mquinas de esta categora tienen la propiedad de que cada CPU tiene el mismo tiempo
de acceso a todos los mdulos de memoria, esto quiere decir que todas las palabras se pueden
leer con la misma rapidez pero como esto es muy difcil de lograr tcnicamente, los accesos
ms rpidos se atrasan para que tarden lo mismo que los accesos ms lentos, esto permite
que el comportamiento sea predecible para ayudar a escribir el cdigo eficiente.

2.1.1.1 Arquitecturas SMP basadas en el Bus UMA


Las maquinas que sencillas tienen un solo bus que va desde el cpu hasta la memoria, pero en
la arquitectura SMP hay 2 o ms procesadores intentando acceder a la memoria, estos mandan
seales para detectar si el bus est siendo usado por otro procesador. La caracterstica
principal de esta arquitectura es que todos los procesadores son jerrquicamente iguales y
pueden ejecutar tareas indistintamente, adems de esto comparten todos los recursos del
sistema como memoria principal, almacenamiento secundario y entrada/salida.
Debido a que el bus se puede encontrar ocupado existen diferentes tipos de estas
implementaciones por ejemplo en la imagen de abajo vemos como en el tipo 1 seria tolerable
que dos o tres procesadores se comuniquen de esta manera pero con mas procesadores por
ejemplo 32 procesadores conectados de esta manera provocara que el sistema este limitado
por el ancho de banda del bus, en el tipo 2 muchas de las consultas se pueden atender en la
cache por lo tanto provoca menos trfico en el bus y en el tipo 3 existe una memoria privada en
esta se colocara instrucciones o datos que ocupara cada procesador y en la memoria
compartida se colocaran variables compartidas este tipo requiere la colaboracin constante del
compilador.

2.1.1.2 Multiprocesadores UMA conmutados


Debido a la limitacin que presenta el bus en la conexin de mltiples procesadores, para
rebasar ese problema existe un tipo de interconexin distinto como el conmutador de barras
cruzadas.

Este tipo de interconexin una malla en la que las lneas horizontales estn conectadas a
procesadores y las lneas verticales estn conectadas a memoria, en cada interseccin hay un
punto de cruce que es un conmutador el cual se puede abrir o cerrar elctricamente, esto
permite que varias consultas se hagan a memoria sin que estas se interrumpan, el numero de
combinaciones posibles es muy grande pero la desventaja de la conmutacin de barras es que
el nmero de puntos de cruce aumenta en proporcin a n al cuadrado es decir si por ejemplo
conectaramos 1000 CPU con 1000 unidades de memoria tendramos un milln de puntos de
cruce.

2.1.2 Acceso no uniforme a memoria(NUMA).


A diferencia de los multiprocesadores UMA que estn limitados por el bus y las formas de evitar
este problema son muy costosas en hardware este problema principalmente es por la
necesidad de tener un acceso a memoria uniforme, en contraste los procesadores UMA
precisamente pasan por alto el tiempo de acceso entonces el tiempo de acceso a mdulos de
memoria locales es mucho mas rpido que el acceso a mdulos remotos. Los programas UMA
se pueden ejecutar en las mquinas NUMA pero con diferente desempeo. Esta arquitectura
tiene la siguientes caractersticas:
1.

Tienen un solo espacio de direcciones visible para todas las CPU

2.

El acceso a la memoria remota se efecta con instrucciones LOAD y STORE

3.

El acceso a la memoria remota es ms lento que el local.


Los dos tipos de NUMA se dan porque en el NC-NUMA no tiene caches entre el procesador y el
acceso a memoria remota por ejemplo:

En cambio en el CC-NUMA si existe este cache, en este tipo de Arquitectura hay que tener en
cuenta la coherencia de cache ya que si se pasara por alto un procesador podra hacer una
peticin de un dato a cache pero este ya haba cambiado en la memoria remota provocando
que el clculo sea errneo.

Una manera de evitar este problema como vemos en la imagen de arriba es el multiprocesador
basado en directorios, este tiene una base de datos que dice donde esta cada lnea de cache y
cul es su estado. Cuando el procesador realiza una peticin a cache se realiza una consulta al
directorio para saber dnde est y si su estado ya fue cambiado.

2.1.3 Multiprocesadores de acceso slo a memoria cache(COMA)


En estas maquinas se busca superar las graves restricciones que tienen tanto el UMA como en
NUMA el primero limitado por costos y tamao y el segundo limitado por tiempos de acceso, el
COMA busca utilizar la memoria principal de cada CPU como cache, esta arquitectura no es
tan ampliamente utilizada ya que tambin presenta graves problemas como localizar las lneas
de cache.

2.2 Multicomputadoras
Las multicomputadoras se caracterizan porque con computadoras paralelas en las que cada
CPU tiene su propia memoria privada, la cual no es accesible directamente por ninguna otra
CPU. Una multicomputadora est compuesta por nodos, en cada nodo se puede colocar uno o
varios CPU, RAM, almacenamiento secundario, y dispositivos de entrada/salida. Los diferentes
tipos tienen en comn que cuando un programa ejecuta la operacin send se avisa al nodo
central y este transfiere los datos.

La imagen de arriba es una ilustracin genrica de una multicomputadora, basndose en este


modelo existen muchos tipos pero se distinguen dos principales el MPP procesadores
masivamente paralelos y el COW.

2.2.1 Procesadores masivamente paralelos


Estos son supercomputadoras que tienen un precio muy elevado las usan generalmente en
investigaciones cientficas e industria para clculos muy grandes. Aunque en un principio se
usaban mas para investigacin cientfica ahora se utilizan mas comercialmente. Se dice que
han desplazado en gran medida a las mquinas SIMD, las supercomputadoras vectoriales y los
procesadores de arreglos.
Los MPP utilizan CPU estndar pero lo que los diferencia en gran medida es que utilizan una
red de interconexin de gran desempeo que puede transferir mensajes con baja latencia y
gran ancho de banda. Otra caracterstica es su gran capacidad de E/S, como mucho de los
problemas consumen muchos datos es lgico pensar que estos se encuentran almacenados en
muchos discos de almacenamiento secundario, y otra caracterstica importante es que tiene
mucha escalabilidad y tolerancia a fallos si un nodo deja de funcionar el sistema puede seguir
funcionando sin el.

2.2.2 Cmulos de estaciones de trabajo(COW).


Un cmulo de estaciones de trabajo no difiere mucho de un MPP, es un grupo de PC
conectadas por una tarjeta de red comercial, la principal diferencia es que los nodos que lo
componen se construyen con componentes comerciales, existen dos tipos de COW los
centralizados y los descentralizados.
Los centralizados es un cmulo de estaciones que est montado en un rack muy grande en un

solo lugar, generalmente se empaquetan en forma mas compacta y por lo tanto no tienen
perifricos solo tienen tarjetas de red y discos de almacenamiento. Los descentralizados estn
dispersas en una zona generalmente pueden ser heterogneas y estn conectadas por una
conexin mas comn se utilizan para realizar trabajos mientras la mquina de lo contrario
estara sin hacer nada. Un buen ejemplo de un COW descentralizado podra ser el cmulo de
computadoras voluntarias al proyecto SETI.

http://arqui-g1.wikispaces.com/MIMD

. PROCESAMIENTO EN PARALELO

n proceso empleado para acelerar el tiempo de ejecucin de un programa dividindolo en mltiples trozos que se
tarn al mismo tiempo, cada uno en su propios procesadores.

. DESCRIPCIN

cnologa detrs del desarrollo de componentes de sistemas computacionales ha alcanzado su madurez y los
rrollos estn a punto de producirse en la era del procesamiento en paralelo, lo que significa que la tecnologa de
putacin paralela necesita avanzar, an cuando no est lo suficientemente madura como para ser explotado com
ecnologa de disponibilidad masiva.

zn principal para crear y utilizar computacin paralela es que el paralelismo es una de las mejores formas de sa
oblema del cuello de botella que significa la velocidad de un nico procesador.

zn de ser del procesamiento en paralelo es acelerar la resolucin de un problema, la aceleracin que puede
zarse depende tanto del problema en s como de la arquitectura de la computadora.

aplicaciones que se benefician de una aceleracin ms significativa son aquellas que describen procesos
sicamente paralelos, las simulaciones de modelos moleculares, climticos o econmicos tienen todas una amplia
ponente paralela, como los sistemas que representan. el hardware de la mquina entra en juego ya que es precis
mizar la relacin entre el tiempo de clculo til y el perdido en el paso de mensajes, parmetros que dependen de
cidad de proceso de las CPUs y de la velocidad de la red de comunicaciones.

2 formas bsicas de obtener partes independientes en un programa paralelo: descomposicin funcional o


omposicin de datos, que describiremos a continuacin.

omposicin de datos. Un ejemplo de aplicacin completamente paralelizable es el clculo del rea bajo una curv
racin numrica, basta con dividir el intervalo de integracin entre todos los procesadores disponibles y que cada

elva su fragmento sin preocuparse de qu hacen los dems, al final, los resultados parciales se recolectan y se
an convenientemente.

n procesadores es posible resolver el problema n veces ms rpido que haciendo uso de uno slo (salvo por el
mo retraso que supone el reparto de trabajo inicial y la recoleccin de datos final), consiguiendo una aceleracin l
el nmero de procesadores. Si las condiciones son muy favorables es incluso posible alcanzar la aceleracin
rlineal, consistente en que el programa se ejecuta an ms rpido que en rgimen linea, la aparente paradoja se
do a que cada procesador cuenta con su propia memoria ordinaria y cach, que pueden ser usadas de forma ms
nte con un subconjunto de datos, de hecho, es posible que el problema no se pueda resolver en un nico proces
s sobre un conjunto de ordenadores debidamente configurados, simplemente por cuestin de tamao de los dat

omposicin funcional. Un modelo computacional se basa por empezar, en que una aplicacin consiste en varias
s, cada tarea es responsable de una parte de la carga de procesamiento de la aplicacin en general y a su vez, c
realiza una operacin independiente de las otras tareas. Los algoritmos de cada tarea son diferentes, este mode
enomina descomposicin funcional y se puede aprovechar las caractersticas particulares de cada tipo de tarea p
tarlas en la maquina que sea mas conveniente para tal efecto.

fiere al proceso o transferencia de datos de forma simultnea, en oposicin al proceso o transferencia en serie, e
ferencia de datos en paralelo, la informacin se enva simultneamente en grupos, por ejemplo, los ocho bits de
de datos se transmiten a la vez, a travs de ocho hilos independientes de un cable. En el proceso en paralelo y e
operaciones similares se realiza ms de un proceso a la vez, por ejemplo, varios microprocesadores de una
putadora pueden estar manejando diferentes aspectos de un proceso (tales como un clculo complicado) al mism
po.

. EVOLUCIN

nte aos se han encontrado dificultades al momento de analizar sistemas de gran tamao; si bien en el caso de l
mas de potencia ste se ha visto favorecido por la descripcin de problemas mediante matrices, y por la utilizaci
putadores digitales para su manipulacin, la necesidad de lograr un equilibrio en la cantidad de informacin a
esar y su calidad contina siendo evidente.

ocesamiento paralelo ha permitido sobrellevar algunas de estas dificultades, particularmente en lo que respecta a
idad de procesamiento; siempre que la arquitectura del computador sea la apropiada.

istemas paralelos mejoran la velocidad de procesamiento y de E/S mediante la utilizacin de CPU y discos en
elo. Cada vez son mas comunes computadoras paralelas, lo que hace que cada vez sea mas importante el estud
s sistemas paralelos de bases de datos.

proceso paralelo se realizan muchas operaciones simultneamente, mientras que en el procesamiento secuenc
stintos pasos computacionales han de ejecutarse en serie, la mayora de las maquinas de gama alta ofrecen un
o grado de paralelismo de grano grueso: son comunes las mquinas con dos o cuatro procesadores. Las
putadoras masivamente paralelas se distinguen de las maquinas de grano grueso porque son capaces de soport
ado de paralelismo mucho mayor.

e encuentran en el mercado computadoras paralelas con cientos de CPUs y discos, para medir el rendimiento de
mas de bases de datos existen dos medidas principales, la primera es la productividad: numero de tareas que pu
pletarse en un intervalo de tiempo determinado, la segunda es le tiempo de respuesta: cantidad de tiempo que
sita para complementar una nica tarea a partir del momento en que se enve.

stema que procese transacciones puede mejorar el tiempo de respuesta, as como la productividad, realizando e
elo las distintas subtareas de cada transaccin, actualmente se han propuesto soluciones basadas en procesam
elo para una gran cantidad de los anlisis asociados a los sistemas; entre stos se encuentran el flujo de potenci
acin dinmica, incluyendo la de transitorios electromagnticos; el anlisis de la estabilidad transitoria mediante
ones de energa, el de la estabilidad a perturbacin pequea y a la planificacin de sistemas elctricos de potenc

ocesamiento paralelo es particularmente atractivo si es posible descomponer el sistema en subsistemas acoplado


mente, pero cada uno con sus variables acopladas fuertemente,.

. CARACTERSTICAS

o de varios procesadores est motivado por consideraciones relativas a las prestaciones y/o a la fiabilidad, podem

icar dichos sistemas como sigue:

Multiprocesadores dbilmente acoplados - Consisten en un conjunt


de sistemas relativamente autnomos, en los que cada CPU dispon
de su propia memoria principal y sus canales de E/S. En este conte
se utiliza frecuentemente el trmino multicomputador.

Procesadores de Uso Especfico - Tales como un procesador de E/S


En este caso, hay un maestro, una CPU de uso general, y los
procesadores de uso especfico estn controlados por la CPU maes
a la que proporcionan ciertos servicios.

Multiprocesadores fuertemente acoplados - Constituidos por un


conjunto de procesadores que comparten una memoria principal
comn y estn bajo el control de un mismo sistema operativo.

Procesadores paralelos - Multiprocesadores fuertemente acoplados


que pueden cooperar en la ejecucin en paralelo de una tarea o un
trabajo.

ocesamiento en paralelo se basa principalmente en Multiprocesadores fuertemente acoplados que cooperan para
acin de los procesos, aqu sus caractersticas.
Posee dos o ms procesadores de uso general similares y de capacidades comparables.
Todos los procesadores comparten el acceso a una memoria global.
Tambin pueden utilizarse algunas memorias locales (privadas como la cache).

Todos los procesadores comparten el acceso a los dispositivos de E/S, bien a travs de los mismos canales bie
travs de canales distintos que proporcionan caminos de acceso a los mismos dispositivos.

El sistema est controlado por un sistema operativo integrado que permite la interaccin entre los procesadore
sus programas en los niveles de trabajo, tarea, fichero, y datos elementales.

anancia de velocidad y la ampliabilidad son dos aspectos importantes en el estudio del paralelismo, la ganancia d
idad se refieres a la ejecucin en menor tiempo de una tarea dada mediante el incremento del grado de paralelis
mpliabilidad se refiere al manejo de transacciones mas largas mediante el incremento del grado de paralelismo.

idrese un sistema paralelo con un cierto nmero de procesadores y discos que esta ejecutando una aplicacin
de datos, supngase ahora que se incrementa el tamao del sistema aadindole ms procesadores, discos y o
ponentes. La ampliabilidad esta relacionada con la capacidad para procesar ms largas e el mismo tiempo media
remento de los recursos del sistema.

. VENTAJAS Y DESVENTAJAS

en algunos factores que trabajan en contra de la eficiencia del paralelismo y pueden atenuar tanto la ganancia d
idad como la ampliabilidad.
Costes de inicio: en una operacin paralela compuesta por miles de proceso, el tiempo de inicio puede llegar
mucho mayor que le tiempo real de procesamiento, lo que influye negativamente en la ganancia de velocidad.
Interferencia: como lo procesos que se ejecutan en un proceso paralelo acceden con frecuencia a recursos
compartidos, pueden sufrir un cierto retardo como consecuencia de la interferencia de cada nuevo proceso en
competencia, este fenmeno afecta tanto la ganancia de velocidad como la ampliabilidad.

Sesgo: normalmente es difcil dividir una tarea en partes exactamente iguales, entonces se dice que la forma d
distribucin de los tamaos es sesgada.

ocesamiento paralelo implica una serie de dificultades a nivel programacin de software, es difcil lograr una
mizacin en el aprovechamiento de los recursos de todas las CPU con el que se est trabajando sin que se forme
o de botella. En muchas de las ocasiones no es posible el trabajar con equipos multiprocesadores dado el elevad
que este representa, as que solo se dedica a ciertas reas de investigacin especializada o proyectos
rnamentales o empresariales.

ajas del Procesamiento en Paralelo.

ocesamiento en paralelo ejecuta procesos en donde cada proc

Anda mungkin juga menyukai