Documentos de Académico
Documentos de Profesional
Documentos de Cultura
5 Casos de Estudio
PROCESAMIENTO EN PARALELO
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.
4.4.1. 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, an 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 intrnsicamente 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 paralelizable 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 linea, 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.
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 mas largas mediante el
incremento del grado de paralelismo.
Considrese un sistema paralelo con un cierto nmero de procesadores y discos que
esta 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 esta 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.