Next: Procesos
Up: Introducción
Previous: Introducción
Una tendencia según mi opinión es:
- la programación concurrente se dedica más a
desarrollar y aplicar
conceptos para el uso de recursos en paralelo
- la programción en paralelo se dedica más a
solucionar y analizar problemas bajo el
concepto del uso de recursos en paralelo
Otra posibilidad de separar los términos es:
- un programa concurrente define las acciones que se pueden
ejecutar simultaneamente
- un programa paralelo es un programa concurrente diseñado
de estar ejecutado en hardware paralelo
- un programa distribuido es un programa paralelo diseñado
de estar ejecutado en hardware distribuido, es decir,
donde varios procesadores no tengan memoria compartida,
tienen que intercambiar la información mediante de
transmisión de mensajes.
Intuitivamente, todos tenemos una idea básica de lo que significa el
concepto de concurrencia.
Ejemplo:
- sumamos algunos números
- si lo hace uno solo ...
- si lo hacemos juntos ...
¿Con qué problemas nos hemos encontrado?:
- elección del algoritmo
- división del trabajo
- distribución de los datos
- sincronización necesaria
- comunicación de los resultados intermedios
- fiabilidad de la comunicación
- fiabilidad de los componentes
- detección de la terminación
Next: Procesos
Up: Introducción
Previous: Introducción
© 2003, Dr. Arno Formella, Universidad de Vigo, Departamento de Informática