Programacion concurrente
Facultad de Ciencias de la Computación
Licenciatura en Ciencias de la Computación
Ingeniería en Ciencias de la Computación
APUNTES DEL CURSO:
PROGRAMACION CONCURRENTE y PARALELA
Creación
Nuevo
Planificación por tiempo
Activación
Terminación
En
Listo
Finalizado
ejecución
Planificación por tiempoSincronización por
Sincronización por
Bloqueado
Dr. Mario Rossainz López
Otoño de 2011
Puebla, Pue. México
Otoño 2011
Programación Concurrente y Paralela – FCC‐BUAP
1. INTRODUCCIÓN A LA PROGRAMACIÓN CONCURRENTE Y PARALELA
1.1. HISTORIA DE LA PROGRAMACIÓN CONCURRENTE
En los tiempos actuales la construcción de sistemas paralelos y concurrentes tiene
cada vez menos limitantes y su existencia ha hecho posible obtener gran eficiencia en
el procesamiento de datos. La utilización de tales sistemas se ha extendido a muchas
áreas de la Ciencia Computacional e Ingeniería. Como es sabido, existen infinidad de
aplicaciones que tratan de obtener el máximo rendimiento del sistema al resolver un
problema utilizando máquinas con un solo procesador; sin embargo, cuando el
sistema no puede proporcionar el rendimiento esperado, una posible solución es optar
por aplicaciones, lenguajes de programación, arquitecturas e infraestructuras de
procesamiento paralelo y concurrente. Para incrementar el rendimiento de
determinados sistemas, el procesamiento paralelo es, por tanto, una alternativa al
procesamiento secuencial. Desde el punto de vista práctico, hoy en día existen
arquitecturas de computadores implementadas en sistemas reales que proporcionan
auténtico procesamiento paralelo que justifican el interés actual en llevar a cabo
investigaciones dentro del procesamiento paralelo y áreas a fines (concurrencia,
sistemas distribuidos, sistemas de tiempo real, etc.). Una parte importante de estas
investigaciones se refiere a mejorar el diseño de algoritmos paralelos y distribuidos, el
desarrollo de metodologías y modelos de programación paralela que ayuden a la
programación de estos algoritmos sobre sistemas físicamente distribuidos, así como herramientas de razonamiento que permitan garantizar su corrección.
Procesamiento Paralelo
El procesamiento paralelo ha provocado un tremendo impacto en muchas áreas
donde las aplicaciones computacionales tienen cabida. Un gran número de
aplicaciones computacionales en la ciencia, ingeniería, comercio o medicina requieren
de una alta velocidad de cálculo para resolver problemas de visualización, bases de
datos distribuidas, simulaciones, predicciones científicas, etc.
Estas aplicaciones envuelven procesamiento de datos o ejecución de un largo número
de iteraciones de cálculo. El procesamiento paralelo es uno de los enfoques
computacionales que hoy en día puede ayudarnos a procesar estos cálculos de una manera más viable. Este incluye el estudio de arquitecturas paralelas y algoritmos
paralelos.
Las tecnologías del procesamiento paralelo son actualmente explotadas de forma
comercial, principalmente para el trabajo en el desarrollo de herramientas y
ambientes. El desarrollo de esta área en las redes de computadoras ha dado lugar a la
llamada Computación Heterogénea [Bacci et al.99] (que proporciona un ambiente
2
Dr. Mario Rossainz López – FCC‐BUAP
Otoño 2011
donde la aplicación paralela es ejecutada utilizando diferentes computadoras
secuenciales y paralelas en las cuales la comunicación se lleva a cabo a través de una
red inteligente. Este enfoque proporciona alto rendimiento). ...
Regístrate para leer el documento completo.