Está en la página 1de 6

Es un proceso empleado para acelerar el tiempo de ejecucin de un programa dividindolo en

mltiples trozos que se ejecutarn al mismo tiempo, cada uno en su propios procesadores.
DESCRIPCIN
La tecnologa detrs del desarrollo de componentes de sistemas computacionales ha alcanzado su
madurez y los desarrollos estn a punto de producirse en la era del procesamiento en paralelo, lo que
significa que la tecnologa de la computacin paralela necesita avanzar, aun cuando no est lo
suficientemente madura como para ser explotado como una tecnologa de disponibilidad masiva.
La razn principal para crear y utilizar computacin paralela es que el paralelismo es una de las
mejores formas de salvar el problema del cuello de botella que significa la velocidad de un nico
procesador.
La razn de ser del procesamiento en paralelo es acelerar la resolucin de un problema, la aceleracin
que puede alcanzarse depende tanto del problema en s como de la arquitectura de la computadora.
Las aplicaciones que se benefician de una aceleracin ms significativa son aquellas que describen
procesos intrnsecamente paralelos, las simulaciones de modelos moleculares, climticos o
econmicos tienen todas una amplia componente paralela, como los sistemas que representan. el
hardware de la mquina entra en juego ya que es preciso maximizar la relacin entre el tiempo de
clculo til y el perdido en el paso de mensajes, parmetros que dependen de la capacidad de proceso
de las CPUs y de la velocidad de la red de comunicaciones.
Hay 2 formas bsicas de obtener partes independientes en un programa paralelo: descomposicin
funcional o descomposicin de datos, que describiremos a continuacin.
Descomposicin de datos. Un ejemplo de aplicacin completamente paralelizadle es el clculo del
rea bajo una curva por integracin numrica, basta con dividir el intervalo de integracin entre todos
los procesadores disponibles y que cada uno resuelva su fragmento sin preocuparse de qu hacen los
dems, al final, los resultados parciales se recolectan y se suman convenientemente.
Con n procesadores es posible resolver el problema n veces ms rpido que haciendo uso de uno slo
(salvo por el mnimo retraso que supone el reparto de trabajo inicial y la recoleccin de datos final),
consiguiendo una aceleracin lineal con el nmero de procesadores. Si las condiciones son muy
favorables es incluso posible alcanzar la aceleracin superlineal, consistente en que el programa se
ejecuta an ms rpido que en rgimen lnea, la aparente paradoja se da debido a que cada
procesador cuenta con su propia memoria ordinaria y cach, que pueden ser usadas de forma ms
eficiente con un subconjunto de datos, de hecho, es posible que el problema no se pueda resolver en
un nico procesador pero s sobre un conjunto de ordenadores debidamente configurados,
simplemente por cuestin de tamao de los datos.
Descomposicin funcional. Un modelo computacional se basa por empezar, en que una aplicacin
consiste en varias tareas, cada tarea es responsable de una parte de la carga de procesamiento de la
aplicacin en general y a su vez, cada tarea realiza una operacin independiente de las otras tareas.
Los algoritmos de cada tarea son diferentes, este modelo se denomina descomposicin funcional y se
puede aprovechar las caractersticas particulares de cada tipo de tarea para ejecutarlas en la mquina
que sea ms conveniente para tal efecto.
Se refiere al proceso o transferencia de datos de forma simultnea, en oposicin al proceso o
transferencia en serie, en la transferencia de datos en paralelo, la informacin se enva
simultneamente en grupos, por ejemplo, los ocho bits de un byte de datos se transmiten a la vez, a
travs de ocho hilos independientes de un cable. En el proceso en paralelo y en otras operaciones
similares se realiza ms de un proceso a la vez, por ejemplo, varios microprocesadores de una
computadora pueden estar manejando diferentes aspectos de un proceso (tales como un clculo
complicado) al mismo tiempo.
EVOLUCIN
Durante aos se han encontrado dificultades al momento de analizar sistemas de gran tamao; si bien
en el caso de los sistemas de potencia ste se ha visto favorecido por la descripcin de problemas
mediante matrices, y por la utilizacin de computadores digitales para su manipulacin, la necesidad
de lograr un equilibrio en la cantidad de informacin a procesar y su calidad contina siendo evidente.
El procesamiento paralelo ha permitido sobrellevar algunas de estas dificultades, particularmente en lo
que respecta a la velocidad de procesamiento; siempre que la arquitectura del computador sea la
apropiada.
Los sistemas paralelos mejoran la velocidad de procesamiento y de E/S mediante la utilizacin de CPU
y discos en paralelo. Cada vez son ms comunes computadoras paralelas, lo que hace que cada vez
sea ms importante el estudio de los sistemas paralelos de bases de datos.
En el proceso paralelo se realizan muchas operaciones simultneamente, mientras que en el
procesamiento secuencial los distintos pasos computacionales han de ejecutarse en serie, la mayora
de las mquinas de gama alta ofrecen un cierto grado de paralelismo de grano grueso: son comunes
las mquinas con dos o cuatro procesadores. Las computadoras masivamente paralelas se distinguen
de las mquinas de grano grueso porque son capaces de soportar un grado de paralelismo mucho
mayor.
Ya se encuentran en el mercado computadoras paralelas con cientos de CPUs y discos, para medir el
rendimiento de los sistemas de bases de datos existen dos medidas principales, la primera es la
productividad: nmero de tareas que pueden completarse en un intervalo de tiempo determinado, la
segunda es el tiempo de respuesta: cantidad de tiempo que necesita para complementar una nica
tarea a partir del momento en que se enve.
Un sistema que procese transacciones puede mejorar el tiempo de respuesta, as como la
productividad, realizando en paralelo las distintas su tareas de cada transaccin, actualmente se han
propuesto soluciones basadas en procesamiento paralelo para una gran cantidad de los anlisis
asociados a los sistemas; entre stos se encuentran el flujo de potencia, la simulacin dinmica,
incluyendo la de transitorios electromagnticos; el anlisis de la estabilidad transitoria mediante
funciones de energa, el de la estabilidad a perturbacin pequea y a la planificacin de sistemas
elctricos de potencia.
El procesamiento paralelo es particularmente atractivo si es posible descomponer el sistema en
subsistemas acoplados dbilmente, pero cada uno con sus variables acopladas fuertemente,.
CARACTERSTICAS
El uso de varios procesadores est motivado por consideraciones relativas a las prestaciones y/o a la
fiabilidad, podemos clasificar dichos sistemas como sigue:
Multiprocesadores dbilmente acoplados - Consisten en un conjunto de sistemas relativamente
autnomos, en los que cada CPU dispone de su propia memoria principal y sus canales de E/S. En
este contexto 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 maestra
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.
El procesamiento en paralelo se basa principalmente en Multiprocesadores fuertemente acoplados que
cooperan para la realizacin 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 bien a 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
procesadores y sus programas en los niveles de trabajo, tarea, fichero, y datos elementales.
La ganancia de velocidad y la ampliabilidad son dos aspectos importantes en el estudio del
paralelismo, la ganancia de velocidad se refieres a la ejecucin en menor tiempo de una tarea dada
mediante el incremento del grado de paralelismo, la ampliabilidad se refiere al manejo de
transacciones ms largas mediante el incremento del grado de paralelismo.
Considrese un sistema paralelo con un cierto nmero de procesadores y discos que est ejecutando
una aplicacin de base de datos, supngase ahora que se incrementa el tamao del sistema
aadindole ms procesadores, discos y otros componentes. La ampliabilidad est relacionada con la
capacidad para procesar ms largas e el mismo tiempo mediante el incremento de los recursos del
sistema.
VENTAJAS Y DESVENTAJAS
Existen algunos factores que trabajan en contra de la eficiencia del paralelismo y pueden atenuar
tanto la ganancia de velocidad como la ampliabilidad.
Costes de inicio: en una operacin paralela compuesta por miles de proceso, el tiempo de inicio puede
llegar ser 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 la 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 de distribucin de los tamaos es sesgada.
El procesamiento paralelo implica una serie de dificultades a nivel programacin de software, es difcil
lograr una optimizacin en el aprovechamiento de los recursos de todas las CPU con el que se est
trabajando sin que se formen cuello de botella. En muchas de las ocasiones no es posible el trabajar
con equipos multiprocesadores dado el elevado costo que este representa, as que solo se dedica a
ciertas reas de investigacin especializada o proyectos gubernamentales o empresariales.
Ventajas del Procesamiento en Paralelo.
El procesamiento en paralelo ejecuta procesos en donde cada procesador se encarga de uno u otro y
aceleran de esta forma el clculo
Memoria compartida distribuida
Los sistemas de memoria compartida distribuida (DSM) representan la creacin hibrida de dos tipos
de computacin paralelos: la memoria distribuida en sistemas multiprocesador y los sistemas
distribuidos. Ellos proveen la abstraccin de memoria compartida en sistemas con memorias
distribuidas fsicamente y consecuentemente combinan las mejores caractersticas de ambos
enfoques. Debido a esto, el concepto de memoria compartida distribuida es reconocido como uno de
los enfoques ms atractivos para la creacin de sistemas escalables, de alto rendimiento de sistemas
multiprocesador.
Memoria compartida basada en pginas
El esquema de DSM propone un espacio de direcciones de memoria virtual que integra la memoria de
todas las computadoras del sistema, y su uso se realiza mediante paginacin. Las pginas quedan
restringidas a estar necesariamente en un nico nodo. Cuando un programa intenta acceder a una
posicin virtual de memoria, se comprueba si esa pgina se encuentra de forma local. Si no se
encuentra, se provoca un fallo de pgina, y el sistema operativo solicita la pgina al resto de nodos. El
sistema funciona de forma anloga al sistema de memoria virtual tradicional, pero en este caso los
fallos de pgina se propagan al resto de ordenadores, hasta que la peticin llega al nodo que tiene la
pgina virtual solicitada en su memoria local. A primera vista este sistema parece ms eficiente que el
acceso a la memoria virtual en disco, pero en la realidad ha mostrado ser un sistema demasiado lento
en ciertas aplicaciones, ya que provoca un trfico de pginas excesivo.
Una mejora dirigida a mejorar el rendimiento sugiere dividir el espacio de direcciones en una zona local
y privada y una zona de memoria compartida, que se usar nicamente por procesos que necesiten
compartir datos. Esta abstraccin se acerca a la idea de programacin mediante la declaracin
explcita de datos pblicos y privados, y minimiza el envo de informacin, ya que slo se enviarn los
datos que realmente vayan a compartirse.
Memoria compartida basada en objetos
Una alternativa al uso de pginas es tomar el objeto como base de la transferencia de memoria.
Aunque el control de la memoria resulta ms complejo, el resultado es al mismo tiempo modular y
flexible, y la sincronizacin y el acceso se pueden integrar limpiamente. Otra de las restricciones de
este modelo es que todos los accesos a los objetos compartidos han de realizarse mediante llamadas
a los mtodos de los objetos, con lo que no se admiten programas no modulares y se consideran
incompatibles.
VENTAJAS / DESVENTAJAS DE LA MEMORIA DISTRIBUIDA
Ventajas:
Ilusin de una memoria fsica compartida, sin cuellos de botella.
Estabilidad (podemos extender el sistema sin mucho problema).
Menor costo.
Desventajas:
Topologa de red muy importante.
Administracin de la red.

IMPLEMENTACION DE UNA MEMORIA DISTRIBUIDA
Acceso compartido a la memoria comunicacin Inter-procesos.
Ningn procesador puede acceder directamente a la memoria de otro procesador NORMA (NO
Remote Memory Access) Systems.
Los procesadores hacen referencia a su propia memoria local. Hay que aumentar software para que,
cuando un procesador haga referencia a una pgina remota, esta pgina sea recuperada.
El espacio de direccionamiento comn es particionado en pedazos.
Cada pedazo es situado en una estacin.

Procesos y Procesadores en un sistema distribuido:
Un proceso es un programa en ejecucin, es una actividad de cierto tipo, que contiene un programa,
entradas salidas y estados.
(Entrada --Proceso--Salida)
Los procesos pueden ser cooperantes o independientes:
Los cooperantes interactan entre si y pertenecen a una misma aplicacin.
Los independientes no interactan y uno no depende de la informacin ya que son procesos que
pertenecen a distintos usuarios
Un proceso puede estar en cualquiera de los siguientes tres estados:
Listo
En ejecucin
Bloqueado.
Los procesos que se encuentran en estado listo son los que pueden pasar a ejecucin. Los que se
encuentran en estado de ejecucin solo los que se estan ejecutando en el procesador en un
determinado momento y los procesos que se encuentran en estado de bloqueado son los que estn
esperando respuesta de algn otro proceso, o le hace falta algn recurso para poder ser ejecutados.
Caractersticas de los procesos:
Cantidad de Entrada/Salida: Existen procesos que realizan una gran cantidad de
operaciones de entrada y salida (aplicaciones de bases de datos, por ejemplo).
Cantidad de Uso de CPU: Existen procesos que no realizan muchas operaciones de
entrada y salida, sino que usan intensivamente la unidad central de procesamiento. Por
ejemplo, operaciones con matrices.
Procesos de Lote o Interactivos: Un proceso de lote es ms eficiente en cuanto a la
lectura de datos, ya que generalmente lo hace de archivos, mientras que un programa
interactivo espera mucho tiempo (no es lo mismo el tiempo de lectura de un archivo que
la velocidad en que una persona teclea datos) por las respuestas de los usuarios.
Procesos en Tiempo Real: Si los procesos deben dar respuesta en tiempo real se
requiere que tengan prioridad para los turnos de ejecucin.
Largo de los Procesos: Existen procesos que tpicamente requerirn varias horas para
finalizar su labor, mientras que existen otros que solo necesitan algunos segundos.
Fuente.-
http://www.sites.upiicsa.ipn.mx/polilibros/portal/Polilibros/P_terminados/PolilibroFC/Unidad_IV/U
nidad%20IV_4.htm
http://www.upv.es/contenidos/CAMUNISO/info/759932normalc.html
http://www.ayto-nava.es/agenda-21-local

También podría gustarte