PROCESAMIENTO EN PARALELO
Enviado por angeel.gttz • 9 de Noviembre de 2014 • 1.617 Palabras (7 Páginas) • 338 Visitas
Es un proceso empleado para acelerar el tiempo de ejecución de un programa dividiéndolo en múltiples trozos que se ejecutarán al 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 como para 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 puede alcanzarse 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 en juego 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 es posible 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ápido que 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 puede aprovechar las características particulares de cada tipo de tarea para ejecutarlas en la maquina que sea mas conveniente para tal efecto.
Se refiere al proceso o transferencia de datos de forma simultánea, en oposición al proceso o transferencia en serie, en la transferencia de datos en paralelo, la información se envía simultáneamente en grupos, por ejemplo, los ocho bits de un byte de datos se transmiten a la vez, a través de ocho hilos independientes de un cable. En el proceso en paralelo y en otras operaciones similares se realiza más de un proceso a la vez, por ejemplo, varios microprocesadores de una computadora pueden estar manejando diferentes aspectos de un proceso (tales como un cálculo complicado) al mismo tiempo.
4.4.2. EVOLUCIÓN
Durante años se han encontrado dificultades al momento de analizar sistemas de gran tamaño; si bien en el caso de los sistemas de potencia éste se ha visto favorecido por la descripción de problemas mediante matrices, y por la utilización de computadores digitales para su manipulación, la necesidad de lograr un equilibrio en la cantidad de información a procesar y su calidad continúa 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 utilización de CPU y discos en paralelo. Cada vez son mas comunes computadoras paralelas, lo que hace que cada vez sea mas importante el estudio de los sistemas paralelos de bases de datos.
En el proceso paralelo se realizan muchas operaciones simultáneamente, mientras que en el procesamiento secuencial los distintos pasos computacionales han de ejecutarse en serie, la mayoría de las maquinas de gama alta ofrecen un cierto grado de paralelismo de grano grueso: son comunes las máquinas con dos o cuatro procesadores. Las computadoras masivamente paralelas
...