Editar 0 16
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.
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.
3.
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.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.
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.
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
. CARACTERSTICAS
o de varios procesadores est motivado por consideraciones relativas a las prestaciones y/o a la fiabilidad, podem
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.