Mapa mental
computación concurente
Contenido del mapa
computación concurente
uso de múltiples procesos o tareas ejecutar simultáneamente para calcular una respuesta o resolver un problema
principal motivación
- Timesharing de varios usuarios o puestos de trabajo en un único equipo
- Timesharing
- compartir de forma concurrente un recurso computacional (tiempo de ejecución en la CPU, uso de la memoria, etc.) entre muchos usuarios por medio de las tecnologías de multiprogramación y la inclusión de interrupciones de reloj por parte del sistema operativo, permitiendo a este último acotar el tiempo de respuesta del computador y limitar el uso de la CPU por parte de un proceso dado.
- Timesharing
- Timesharing de varios usuarios o puestos de trabajo en un único equipo
Ventajas
- La solución de un problema al utilizar varios equipos es más rápido que el uso de sólo uno.
- económia: uso de varios equipos de bajo costo para resolver un problema que requiere normalmente un superordenador caro
- el uso de varios equipos puede proporcionar tolerancia a fallos
El mundo es inherentemente concurrente!
Conways problem: 3 procesos con ciclos infinos ejectuando
- 80 caracteres en un buffer de 81 y en el ultimo pone un espacio. Máquina de estado sencilla $$ por $. memoria intermedia y salida a 120 caracteres
- 2 buffer entrada y salida a procesos
- esencia del paradigma concurrente: procesos secuenciales individuales que cooperan para resolver un problema
- 2 buffer entrada y salida a procesos
- concurrencia de tuberías:
- la entrada de todos los procesos, pero la primera es proporcionado por otro proceso. Cooperación
- 80 caracteres en un buffer de 81 y en el ultimo pone un espacio. Máquina de estado sencilla $$ por $. memoria intermedia y salida a 120 caracteres
Problemas
- evitar la interferencia
- descubrir las regiones críticas y aislarlos. Este aislamiento toma la forma de un "protocolo de entrada" para anunciar la entrada en una región crítica y un "protocolo de salida" para anunciar que la ejecución de la región crítica se ha completado
- soluciones concurrentes requieren
- especificar qué partes de nuestros procesos se pueden ejecutar concurrentemente Especificar qué información y recursos son para ser compartido Impedir la interferencia de procesos concurrentes al asegurar la exclusión mutua Sincronizar los procesos concurrentes en los puntos apropiados
- evitar la interferencia
Enfoques
- Monitor
- Paso de mensajes
Propiedades
- Seguridad: no interferencia, no estancamiento, correción parcial.
- viveza: fin del programa, no hay carrera, equidad.
- Seguridad: no interferencia, no estancamiento, correción parcial.