Next: Repaso: programación secuencial
Up: Introducción
Previous: Implementación
  Índice General
Entre las ventajas de la programación concurrente se suele encontrar
- mejor rendimiento, es decir, se espera
- que el programa se ejecute más rápido
- que el programa use los recursos de mejor manera, p.e., no
deja recursos disponibles sin usar durante mucho tiempo
- que el programa se desarrolle más fácil
- que el programa refleje el modelo del problema real
Sin embargo, también existen desventajas:
- se pierde tiempo en sincronizar procesos y comunicar datos entre
ellos
- en el caso de multiplexeo de procesos/hilos se pierde tiempo
en salvar información sobre el contexto
- los procesos pueden esperar a acciones de otros procesos, eso puede
resultar en un bloqueo (``deadlock'') de algún proceso, en el
peor caso se daría como resultado que se produce ningún progreso en
el programa
- hay que buscar estrategias eficientes para distribuir el trabajo entre
los diferentes procesadores
(``efficient load balancing'')
- hay que buscar estrategias eficientes para distribuir los datos entre
los diferentes procesadores
(``efficient data distribution'')
- en muchas situaciones hay que buscar un compromiso entre
tiempo de ejecución y uso de recursos
- el desarrollo de programas concurrentes es mucho más complejo
que el desarrollo de programas secuenciales
- la depuración de programas concurrentes es muy difícil
Next: Repaso: programación secuencial
Up: Introducción
Previous: Implementación
  Índice General
© 2001, Dr. Arno Formella, Universidad de Vigo, Departamento de Informática