Introduccion al proceso paralelo
Un proceso paralelo es aquel que se realiza al mismo tiempo que otro, siendo ejecutados ambos de modo simultáneo. Cuando hablamos de procesos paralelos en un ordenador, nos referimos a aquellos Procesos que se ejecutan a la vez, anteponiéndose a los procesos lineales o secuenciales, que serán ejecutados de uno en uno.
Este procesamiento ofrece una gran ventaja en cuanto a costos.Sin embargo, su principal beneficio la escalabilidad. Algunos diseños del procesamiento paralelo enfrentan este problema fundamental: Multiprocesamiento simétrico, procesamiento masivamente paralelo, procesamiento paralelo escalable.
4.4. PROCESAMIENTO EN PARALELO
Es un proceso empleado para acelerar el tiempo de ejecución de un programa dividiéndolo en múltiples trozos que se ejecutaránal mismo tiempo, cada uno en su propios procesadores.
4.4.1. DESCRIPCIÓN
La tecnología detrás del desarrollo de componentes de sistemas computacionales ha alcanzado su madurez y los desarrollos están a punto de producirse en la era del procesamiento en paralelo, lo que significa que la tecnología de la computación paralela necesita avanzar, aún cuando no está lo suficientemente madura comopara ser explotado como una tecnología de disponibilidad masiva.
La razón principal para crear y utilizar computación 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 razón de ser del procesamiento en paralelo es acelerar la resolución de un problema, la aceleración que puedealcanzarse depende tanto del problema en sí como de la arquitectura de la computadora.
Las aplicaciones que se benefician de una aceleración más significativa son aquellas que describen procesos intrínsicamente paralelos, las simulaciones de modelos moleculares, climáticos o económicos tienen todas una amplia componente paralela, como los sistemas que representan. el hardware de la máquina entra enjuego ya que es preciso maximizar la relación entre el tiempo de cálculo útil y el perdido en el paso de mensajes, parámetros que dependen de la capacidad de proceso de las CPUs y de la velocidad de la red de comunicaciones.
Hay 2 formas básicas de obtener partes independientes en un programa paralelo: descomposición funcional o descomposición de datos, que describiremos a continuación.Descomposición de datos. Un ejemplo de aplicación completamente paralelizable es el cálculo del área bajo una curva por integración numérica, basta con dividir el intervalo de integración entre todos los procesadores disponibles y que cada uno resuelva su fragmento sin preocuparse de qué hacen los demás, al final, los resultados parciales se recolectan y se suman convenientemente.
Con n procesadores esposible resolver el problema n veces más rápido que haciendo uso de uno sólo (salvo por el mínimo retraso que supone el reparto de trabajo inicial y la recolección de datos final), consiguiendo una aceleración lineal con el número de procesadores. Si las condiciones son muy favorables es incluso posible alcanzar la aceleración superlineal, consistente en que el programa se ejecuta aún más rápidoque en régimen 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 más 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 cuestión de tamaño de los datos.Descomposición funcional. Un modelo computacional se basa por empezar, en que una aplicación consiste en varias tareas, cada tarea es responsable de una parte de la carga de procesamiento de la aplicación en general y a su vez, cada tarea realiza una operación independiente de las otras tareas. Los algoritmos de cada tarea son diferentes, este modelo se denomina descomposición funcional y se...
Regístrate para leer el documento completo.