Comunicación en Grupo y Sincronización en Sistemas Distribuidos
Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 4,06 KB
Direccionamiento de Grupos
Los grupos deben poder direccionarse, al igual que los procesos. Una forma es darle a cada grupo una dirección única, similar a una dirección de proceso. Si la red soporta multitransmisión:
Atomicidad en la Comunicación Grupal
La mayoría de los sistemas de comunicación en grupo están diseñados para que los mensajes enviados al grupo lleguen correctamente a todos los miembros o a ninguno de ellos. Esta propiedad de “todo o nada” en la entrega se llama atomicidad o transmisión atómica.
La única forma de garantizar que cada destino recibe todos sus mensajes es pedirle que envíe de regreso un reconocimiento después de recibir el mensaje.
Ordenamiento de Mensajes
El ordenamiento de los mensajes es un aspecto fundamental en la comunicación en grupo.
Tipos de Grupos
- Grupos cerrados: Solo los miembros del grupo pueden enviar mensajes al grupo.
- Grupos abiertos: Cualquier proceso del sistema puede enviar mensajes a cualquier grupo.
Relojes Lógicos
Las computadoras poseen un circuito para el registro del tiempo conocido como dispositivo reloj. Es un cronómetro consistente en un cristal de cuarzo de precisión sometido a una tensión eléctrica.
El Instituto Nacional del Tiempo Estándar (NIST) es una referencia importante en la sincronización de tiempo.
Exclusión Mutua
La exclusión mutua es una operación de control que ejerce el sistema operativo sobre los procesos que se ejecutan en la computadora. Su objetivo es garantizar que ningún otro proceso utilizará las estructuras de datos al mismo tiempo.
Algoritmos de Sincronización de Tiempo
Algoritmo de Berkeley
En el algoritmo de Cristian, el servidor de tiempo es pasivo y solo responde a las peticiones que otros equipos le hacen acerca del tiempo. En el algoritmo de Berkeley, el servidor de tiempo es activo: realiza un muestreo periódico de todas las máquinas para preguntarles el tiempo.
Algoritmos de Exclusión Mutua
Cuando un proceso debe leer o actualizar ciertas estructuras de datos compartidas, primero ingresa a una región crítica para lograr la exclusión mutua y garantizar que ningún otro proceso utilizará las estructuras de datos al mismo tiempo.
Algoritmo Centralizado
La forma más directa de lograr la exclusión mutua en un sistema distribuido es similar a la forma en que se lleva a cabo en un sistema monoprocesador: se elige un proceso coordinador. Cuando un proceso desea ingresar a una región crítica:
Algoritmo de Anillo de Fichas (Token Ring)
Los procesos se organizan por software formando un anillo lógico, asignándose a cada proceso una posición en el anillo. Cada proceso sabe cuál es el siguiente luego de él.
Ventajas: El proceso entra a la región crítica, hace el proceso necesario y sale de ella.
- Después de salir, pasa la ficha a lo largo del anillo.
Desventajas:
- La cantidad de tiempo entre las apariciones sucesivas de la ficha en la red no está acotada, por ello es difícil decidir si está perdida o demorada en algún proceso que no la libera.
Algoritmos de Elección
Son los algoritmos para la elección de un proceso coordinador, iniciador, secuenciador, etc. El objetivo de un algoritmo de elección es garantizar que, iniciada una elección, ésta concluya con el acuerdo de todos los procesos con respecto a la identidad del nuevo coordinador.
Algoritmo de Anillo
Se supone que los procesos tienen un orden físico o lógico, es decir, que cada proceso conoce a su sucesor.
Cuando algún proceso observa que el coordinador no funciona:
- Construye un mensaje de elección con su propio número de proceso.
Envía el mensaje a su sucesor.