SINCRONIZACIÓN EN SISTEMAS DISTRIBUIDOS Tema # III Sept-Dic 2008 Yudith Cardinale.

Slides:



Advertisements
Presentaciones similares
Construcción de Sistemas Distribuidos “Transacciones Distribuidas”
Advertisements

Sincronización en sistemas distribuidos
Planificación de Monoprocesadores
III - Gestión de memoria
I.T.E.S.R.C. Romina Tamez Andrea Martínez Ma. De Lourdes Solís
Base de Datos Distribuidas FUNDAMENTOS DE BASES DE DATOS DISTRIBUIDAS
Subsistemas De un Sistema Operativo Celeste Domínguez Romo
DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO
Sistemas Operativos Distribuidos
Transmisión Asíncrona
SISTEMAS OPERATIVOS UNIDAD 1..
Introducción a los Sistemas de Bases de Datos Distribuidos
Deadlocks Caracterización de deadlock Métodos para manejar deadlock Prevenir, Predecir, detección Recuperación de deadlock Emely Arráiz Ene-Mar 08.
Sistemas Distribuidos.
Álgebra elemental.
Capítulo 6: Tecnología LAN y Topología de redes
HILOS Y COMUNICACIÓN ENTRE PROCESOS
Relojes. Instrumento capaz de medir el tiempo natural (días, años, fases lunares, etc.) en unidades convencionales (horas, minutos o segundos). Fundamentalmente.
Concurrencia: interbloqueo e inanición
Porqué es dificil sincronizar en un S.D.?
Integrantes: James Santana Braulio Mendoza Leonela Burgos
Sistemas Distribuidos
Deadlocks Abrazo Mortal Bloqueos mutuos
Conceptos generales: Concurrencia: Existencia simultánea de varios procesos en ejecución. IMPORTANTE: EXISTENCIA SIMULTÁNEA NO IMPLICA EJECUCIÓN SIMULTÁNEA.
Elaborado por: Guillermo Baquerizo I Término
INTRODUCCIÓN A LA SIMULACIÓN DE EVENTOS DISCRETOS
Sesión 6: Campos de Markov
SISTEMA OPERATIVO Un sistema operativo es un programa que actúa como intermediario entre el usuario y el hardware de un computador y su propósito es proporcionar.
(Organización y Manejo de Archivos)
EL SISTEMA OPERATIVO.
Procedimiento para el establecimiento de indicadores de gestión
Planificación y Gestión de procesos
Sistemas Inteligentes Distribuidos Sistemas Inteligentes Distribuidos Sesión 13 L. Enrique Sucar / Marco López Sesión 13 L. Enrique Sucar / Marco López.
Sincronización de Relojes
Gestión de procesos Sistemas Operativos Edwin Morales
Servicio horario NTP - Protocolo NTP Luis Villalta Márquez.
SISTEMAS DE PROCEDIMENTO DE TRANSACCIONES
Función Densidad Continua (o distribución de probabilidad continua)
Teoría de Sistemas Operativos Sincronización Procesos Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz
Aplicaciones Peer-to-peer Cc50h Carácterísticas No hay servidor central Cada aplicación se comporta como cliente y servidor de las demás Son exceltentes.
Administrador de procesos
Teoría de Trafico en Redes
Tipos de Sistemas Operativos. Proceso de transmisión y recepción de ideas, información, etc. Lenguaje. Símbolos y alfabetos. Transmisor, receptor y medio.
Capítulo 1. Conceptos básicos de la Estadística
Redes de Area Local, LAN Una red de área local es una red de datos de alta velocidad que cubre un área geográfica relativamente pequeña. Típicamente conecta.
Teoría de Sistemas Operativos Departamento de Electrónica 2º Semestre, 2002 Gabriel Astudillo Muñoz
Sincronización de Relojes
Topologías de Red.
Redes de Transmisión de Datos
Villahermosa, Tab. 21 septiembre MATERIA: Investigacion de operaciones TEMA: Lineas de espera ALUMNOS: Maria isabel vega chanona HORA: 11:00 am a.
Teoría de Sistemas Operativos Sincronización Procesos
Unidad 2 – Gestión de Procesos
2.1 DEFINICIONES CARACTERÍSTICAS Y SUPOSICIONES.
Jorge De Nova Segundo. Clientes DNS Se puede considerar que un resolver es cualquier software capaz de preguntar a un servidor DNS e interpretar sus respuestas.
INTERRUPCIONES – ABRAZO MORTAL
Clientes DNS (Resolutores – “resolvers” de nombres) Jesús Torres Cejudo.
¿QUE ES EL DIAGRAMA DE ESTADO ?
Lic. Carla Aguirre Montalvo
Javier Rodríguez Granados
Asignaciones. Tipos. Gabriel Montañés León.
MEMORIA DINÁMICA.
Procesos de Planeación
Gestión de Memoria – Parte 2
Bd NoSQL Técnicas II PROFA. MERCY OSPINA
Bd NoSQL Técnicas II PROFA. MERCY OSPINA
Bd NoSQL Técnicas PROFA. MERCY OSPINA
Planificación de CPU Conceptos Básicos Criterios de Planificación Algoritmos de Planificación Planificación con Múltiples Procesadores Planificación Real-Time.
Bloqueos Mutuos Modelo del Sistema Caracterización de Deadlock Métodos de manejo de Deadlocks Prevención de Deadlocks Evitación de Deadlocks Detección.
El principal trabajo del procesador es ejecutar las instrucciones de máquina que se encuentran en memoria principal. Estas instrucciones se encuentran.
Ing. José David Ortiz Salas
Transcripción de la presentación:

SINCRONIZACIÓN EN SISTEMAS DISTRIBUIDOS Tema # III Sept-Dic 2008 Yudith Cardinale

INDICE Introducción Relojes (timers) Sincronización de relojes lógicos Sincronización de relojes físicos Exclusión mutua distribuida Algoritmos de elección de coordinador

INTRODUCCIÓN  Propiedades de los Algoritmos Distribuidos La información relevante se distribuye entre varias máquinas. Los procesos toman las decisiones sólo con base en la información disponible en forma local. Debe evitarse un punto de fallo en el sistema. No existe un reloj común o alguna otra fuente precisa del tiempo global.

INTRODUCCIÓN  Problemas a considerar Tiempos y estados globales. Exclusión mutua. Algoritmos de elección. Problemas de consenso Operaciones atómicas distribuidas: Transacciones

Relojes y Sincronización

RELOJES (Timers) Cristal de cuarzo asociado a un dispositivo electrónico (chip) que cuenta oscilaciones. HR C  C: contador, se decrementa con cada oscilación.  HR: “Holding register”, con este valor se inicializa C cada vez que llegue a 0. Cuando C llega a 0, se genera una interrupción (tick de reloj), la cual puede ser manejada por software (contando los ticks de reloj) y escalada a una unidad de tiempo conveniente.

¿Pueden dos eventos tener el mismo registro de reloj? Depende de la resolución del reloj y de la frecuencia de ocurrencia de eventos. Aunque la frecuencia a la cual un cristal de cuarzo oscila es usualmente estable, puede variar por varios factores (temperatura, tamaño del cristal, forma de corte), presentando un desfase de reloj. El desfase de reloj es el cambio en el offset (diferencia en lectura) entre el reloj y un reloj perfecto de referencia, por unidad de tiempo medida. RELOJES (Timers)

Los relojes físicos (de hardware) de un sistema distribuido no están sincronizados Necesidad de sincronizacion para: Aplicaciones en tiempo real Ordenacion natural de eventos distribuidos Concepto de sincronizacion Mantener relojes sincronizados entre si Mantener relojes sincronizados con la realidad SINCRONIZACIÓN DE RELOJES

El interés en las aplicaciones distribuidas, no necesariamente es el tiempo exacto, sino la secuencia en que ocurren los eventos. Así, se pueden manejar relojes lógicos, en lugar de relojes físicos. Reloj lógico:contador de software que se incrementa monótonamente, cuyo valor no necesita estar relacionado con ningún reloj físico. Generalmente se asocia a cada proceso un reloj lógico. SINCRONIZACIÓN DE RELOJES LÓGICOS

Algoritmo de Lamport: Se basa en: 1. Si dos eventos ocurrieron en el mismo proceso, entonces ellos ocurrieron en el orden en que fueron observados. Notación: x p y, x e y son eventos que ocurren en el proceso p y “x pasó antes que y” 2. Siempre que un mensaje es enviado entre procesos, el evento de enviar el mensaje ocurre antes que el evento de recibirlo.

Lamport generalizó estas dos ordenamientos con la relación “pasó antes”(happened before), se denota con “ “ y se define como: HB1: Si existe un proceso p, tal que x p y, entonces x y. HB2: Para cualquier mensaje m, send(m) rcv(m). HB3: Si x,y,z son eventos tales que x y, y z, entonces x z (propiedad de transitividad) SINCRONIZACIÓN DE RELOJES LÓGICOS

ab cd ef  a b, b c, c d, d f  Los eventos a y e son paralelos: a e P0 P1 P2 Si cada proceso tiene un reloj lógico C p, se puede asignar un valor de tiempo a cada evento a: C p (a). Estos relojes lógicos deben tener las siguientes propiedades: Si a b, entonces C p (a) < C p (b). El valor de C p debe ser siempre incrementado, nunca deben decrementarse.

SINCRONIZACIÓN DE RELOJES LÓGICOS Algoritmo de Ordenamiento Causal LC1: C p es incrementado antes que cada evento sea ejecutado: C p = C p + 1. LC2: Cuando un proceso p envía un mensaje m, coloca en el mensaje el valor t= C p. LC3: Cuando un proceso q recibe (m,t), q calcula C q =max(C q,t) y aplica LC1. ¿Es verdad que si C p (a) < C q (b), entonces a b?

SINCRONIZACIÓN DE RELOJES LÓGICOS Veamos con un ejemplo cómo funciona el algoritmo: Tres relojes no sincronizados Sincronización de relojes P1 P2P3 A B D C a b c d e f g h P1 P2P3 A B D C a b c d e f g h

Se requiere Sincronizar los relojes físicos con la hora real. Sincronizar los relojes físicos ente si. Se toma en cuenta el Tiempo Universal Coordinado (UTC) SINCRONIZACIÓN DE RELOJES F Í SICOS

Algunas consideraciones importantes: El Tiempo Atómico Internacional (TAI) es mantenido por el BIH (Bureau International de l’Heure) en París. Un conjunto de laboratorios mantienen el tiempo contando las transiciones del átomo de cesium-133. Considerando que un segundo atómico es transiciones del cesium-133. Periódicamente cada laboratorio envía al BIH el número de ticks de su reloj (comenzaron a contarse desde 1ero. de enero de 1958). El BIH calcula el TAI promediando las lecturas de todos los laboratorios. SINCRONIZACIÓN DE RELOJES F Í SICOS

Algunas consideraciones importantes (cont.): Segundo solar: 1/ veces el día solar. El Tiempo Universal Coordinado (UTC) es un estándar internacional basado en TAI y usa unos “segundos de saltos” para sincronizar el TAI con los segundos solares. Para proveer el UTC, el Instituto Internacional de Tiempo Estándar (NIST), tiene a disposición una estación de radio de onda corta WWV. Existen otras estaciones satelitales que también dan servicio UTC: GEOS y GPS. SINCRONIZACIÓN DE RELOJES F Í SICOS

Si se requiere sincronizar los relojes del sistema con el tiempo real, se usa el UTC. Para esto: Una máquina debe tener un receptor para WWV y sincronizar el resto de los relojes con este tiempo. Tener varios receptores para WWV, GEOS. Establecer un rango (intervalo de tiempo) en el cual UTC cae. Se requiere un acuerdo entre las máquinas receptoras para generar un solo intervalo. Si no hay máquina con receptora de WWV, el tiempo debe colocarse manualmente y luego sincronizar el resto de los relojes. SINCRONIZACIÓN DE RELOJES F Í SICOS

Algoritmo de Cristian ALGORITMOS DE SINCRONIZACIÓN ST Servidor de Tiempo con receptor WWV P0 P1P2 mr mt mr  ST recibe solicitudes de tiempo y responde tan rápido como pueda. ¿Qué hace el enviador cuando recibe la respuesta? a. Colocar su reloj en el C UTC que le envía ST. Problemas: Si C UTC es menor que el C p, se estará devolviendo. No se considera el tiempo de transmisión de los mensajes.

Algoritmo de Cristian ALGORITMOS DE SINCRONIZACIÓN ¿Qué hace el enviador cuando recibe la respuesta? b. Ajustar su reloj C UTC gradualmente En lugar de sumar 1 al C p con cada tick de reloj, se suma un valor mayor (si C p C UTC ). Ejemplo: 1 seg = H interrupciones, así al sumar 1 a C p se están sumando 1/H segs. 1 seg = 100 interrupciones, así al sumar 1 a C p se suman 10 msegs. Si en lugar de sumar 1, se suma 0.9 se estarán adicionando 9 msegs. Si en lugar de sumar 1, se suma 1.1 se estarán adicionando 11 msegs. Problema: No considera el tiempo de transmisión de los mensajes.

Algoritmo de Cristian ALGORITMOS DE SINCRONIZACIÓN Solución: Estimar el tiempo de propagación T propag. Enviador Servidor del tiempo T 0 T I T 1 T 0 y T 1 se miden con el mismo reloj, así: T propag = (T 1 – T 0 )/2. Si se conoce T I (tiempo de atención de la interrupción), T propag = (T 1 - T 0 - T I )/2.

Se basa en un servidor de tiempo activo (demonio del tiempo) que realiza un “polling” a cada máquina periódicamente para preguntar el tiempo que tienen. Es útil, aún si no hay una máquina receptora para WWV. El tiempo debe ser colocado manualmente por el operador. ALGORITMOS DE SINCRONIZACIÓN Algoritmo de Berkeley 3:00 3:25 2:50 3:00 Demonio del tiempo 3:00 3:25 2: Demonio del tiempo -10 3:00 3:25 2: Demonio del tiempo +15 3:

¿Qué ventaja tiene transmitir el ajuste y no la hora? ¿Qué pasa si hay relojes con desfases muy grandes? El demonio toma un promedio tolerante a fallas. Esto es, el subconjunto de relojes seleccionados, para promediar, son aquellos que no difieran entre sí en una cantidad especificada. ALGORITMOS DE SINCRONIZACIÓN Algoritmo de Berkeley

Es distribuido. La idea es dividir el tiempo en intervalos de resincronización de longitud fija. El i-th intervalo comienza en T 0 + iR y corre hasta T 0 + (i+1)R, donde T 0 es el tiempo inicial del pasado y R un parámetro del sistema. ALGORITMOS DE SINCRONIZACIÓN Algoritmo de Promediación T0 T1 T2...Tn Sinc RR Pi

Al comienzo de cada intervalo cada máquina realiza un broadcast de su tiempo actual. Inicia un timer=S para recolectar los broadcast de las otras máquinas. Corregir cada mensaje adicionando un estimado de T propag. Eliminar los valores más altos y más bajos. Promediar los valores restantes. ALGORITMOS DE SINCRONIZACIÓN Algoritmo de Promediación

Exclusión Mutua Distribuida

ME1: (seguridad) A lo más un proceso puede ejecutarse en su sección crítica (sc) a la vez. ME2: (vitalidad) A un proceso que requiere entrada a su sc, eventualmente se le concederá. Cualquier proceso que se ejecute en su sc, eventualmente la abandonar. (Libre de deadlock e inanición) ME3: (ordenamiento) La entrada a la sc debe ser otorgada en orden “pasó antes”. EXCLUSIÓN MUTUA DISTRIBUIDA Requerimientos para proveer exclusión mutua:

Si un proceso quiere entrar a su región crítica envía un mensaje de requerimiento al coordinador indicando la sc a la que quiere entrar. Si ningún proceso está en esa sc, el coordinador envía un mensaje de otorgamiento. Si hay otro proceso en la sc encola su petición y: Le envía un mensaje de negación o No le envía nada y el solicitante se bloquea. ALGORITMOS DE EXCLUSIÓN MUTUA Algoritmo Centralizado (un coordinador)

Cuando un proceso abandona su sc, le envía un mensaje al coordinador de liberación de sc. El coordinador busca la siguiente petición encolada y envía un mensaje de otorgamiento: Si el cliente no estaba bloqueado, tendrá que hacer polling. Si el cliente estaba bloqueado se desbloquea y entra a su sc ALGORITMOS DE EXCLUSIÓN MUTUA Algoritmo Centralizado (un coordinador) P1 P2 1. request Coordinador P3P4 sc1 4 sc release 3. grant

Ventajas: Se puede generalizar para asignación de recursos en general. Es justo, las peticiones son atendidas en el orden que son realizadas. Requiere sólo de tres mensajes (requerir, otorgar, liberar) Desventajas: Centralizado Si el coordinador no envía respuesta ante la negación, el solicitante no sabe si la respuesta no le llega por negación o por falla. ¿Qué pasa si un cliente falla dentro de una sc? ALGORITMOS DE EXCLUSIÓN MUTUA Algoritmo Centralizado (un coordinador)

ALGORITMOS DE EXCLUSIÓN MUTUA Algoritmo Distribuido (Ricart y Agrawala) La idea básica del algoritmo es que el proceso que requiere entrar a su Sección Crítica envía un mensaje a todos los procesos y entra, únicamente, cuando recibe un reconocimiento de todos ellos. 4n x...

ALGORITMOS DE EXCLUSIÓN MUTUA Algoritmo Distribuido (Ricart y Agrawala) Construye un mensaje con el nombre de la sección crítica, su número de proceso y la hora actual. Envía el mensaje a todos los demás procesos, incluyéndose a sí mismo (Se supone un envío confiable). Cuando un proceso recibe un mensaje de solicitud de otro proceso: 1. Si el receptor no está en la región crítica y no desea entrar a ella -> OK 2. Si el receptor ya está en la región crítica no responde sino que incluye la solicitud en una lista. 3. Si el receptor desea entrar a la región crítica pero no lo ha logrado compara la marca de tiempo del mensaje recibido con la marca del mensaje que envió a cada uno. Si el suyo es menor encola la petición, si no envía OK.

ALGORITMOS DE EXCLUSIÓN MUTUA Algoritmo Distribuido (Ricart y Agrawala) Dos procesos quieren hacer uso de la Sección Crítica al mismo tiempo. En particular, los procesos 0 y 2 son los involucrados

ALGORITMOS DE EXCLUSIÓN MUTUA Algoritmo Distribuido (Ricart y Agrawala) OK OK OK Entra a la SecciónCrítica OK

ALGORITMOS DE EXCLUSIÓN MUTUA Algoritmo Distribuido (Ricart y Agrawala) Problemas: 1. Si cualquier proceso falla no es posible responder a las peticiones hechas (se puede interpretar incorrectamente). Probabilidad de falla contra un proceso coordinador es n veces mayor. 2. Primitiva de comunicación de membresía de grupo.

La idea es ordenar los n procesos en un anillo lógico, y hacer pasar un token en la dirección del reloj. Si un proceso quiere entrar a su sc, esperará el token y lo retendrá. Al salir de la sc, pasará el token a su vecino. Si un proceso que no quiere entrar a su sc recibe el token, lo pasa inmediatamente al vecino. Se requerirán de 1 a n-1 mensajes para obtener el token. ALGORITMOS DE EXCLUSIÓN MUTUA Algoritmo basado en token-ring

Ventajas: Cumple con ME1 y ME2, pero no con ME3. Requiere menos mensajes que el algoritmo distribuido. Desventajas: Si un proceso falla hay que rehacer el anillo. Si falla el proceso que tiene el token, se deberá crear un nuevo token (cuidado con dos tokens!) ALGORITMOS DE EXCLUSIÓN MUTUA Algoritmo basado en token-ring

Elección de Coordinador

Una elección es un procedimiento para seleccionar un proceso de un grupo, para que ejecute algunas operaciones específicas (nuevo coordinador, tome la responsabilidad de un proceso que ha fallado). El requerimiento principal para la selección es que el proceso electo sea único, aún cuando varios procesos llamen a la elección simultáneamente, y que todos sepan cuál es el proceso electo. ALGORITMOS DE ELECCIÓN DE COORDINADOR

Puede ser usado cuando los miembros del grupo conocen las identidades y direcciones de los otros procesos. El algoritmo selecciona el proceso sobreviviente con el identificador mayor. Se asume que la comunicación es confiable, pero que los procesos pueden fallar durante una elección. Hay tres tipos de mensajes en este algoritmo: elección, respuesta y coordinador. ALGORITMOS DE ELECCIÓN DE COORDINADOR Algoritmo del grandulón

La elección puede comenzarla cualquier proceso P que detecte que el coordinador ha fallado. El proceso P envía un mensaje de elección a todos aquellos procesos que tengan un identificador más alto que el suyo y espera un mensaje de respuesta. Si no le llega ningún mensaje de respuesta dentro un período de tiempo determinado, el proceso se considera coordinador y envía, a todos los procesos con identificadores menores, un mensaje coordinador anunciándose como nuevo coordinador. ALGORITMOS DE ELECCIÓN DE COORDINADOR Algoritmo del grandulón

Si le llega al menos una respuesta, espera un tiempo determinado por un mensaje coordinador. Si al terminar ese tiempo no le llega, inicia una nueva elección. Si un proceso recibe un mensaje coordinador, registra el identificador y comenzará a comunicarse con él cuando necesite de sus servicios. Si un proceso recibe un mensaje de elección, envía un mensaje de respuesta y comienza una nueva elección. Cuando un proceso que falló es recuperado, éste comienza una elección, aún cuando el coordinador no haya fallado. ALGORITMOS DE ELECCIÓN DE COORDINADOR Algoritmo del grandulón

ALGORITMOS DE ELECCIÓN DE COORDINADOR Algoritmo del grandulón P1 P2 P3P4 Estado 1: Falla el coordinador P4 E R E R P1 P2 P3P4 Estado 2:P2 y P3 inician nueva elección E E R P1 P2 P3 3 Estado 3: P3 es coordinador pero falla antes de anunciarlo C E

ALGORITMOS DE ELECCIÓN DE COORDINADOR Algoritmo del grandulón Eventualmente.... p1 inicio de nuevo elección y p2 es coordinador. P1 P2 C Coord. En el mejor caso, el proceso con el segundo identificador mayor se da cuenta de la falla del coordinador, y sólo se envían n-2 mensajes coordinador. En el peor caso, el proceso con menor identificador se da cuenta de la falla del coordinador, y se requieren O (n 2 ) mensajes.

No se requiere que los procesos conozcan los ids de los demás procesos, sólo el del vecino en la dirección del anillo. Se elige como coordinador el proceso con el id mayor. Cualquier proceso P puede iniciar la elección, coloca su id en un mensaje de elección y lo pasa a su vecino. Si el vecino ha fallado, el mensaje es pasado al siguiente vecino que esté corriendo. Cuando un proceso recibe un mensaje de elección, adiciona si id en el mensaje y lo pasa. ALGORITMOS DE ELECCIÓN DE COORDINADOR Algoritmo en anillo lógico (Chang y Roberts)

Eventualmente, el mensaje regresará al proceso que inició la elección. Esto se detecta cuando recibe el mensaje de elección y su id está en la lista. El mensaje es cambiado a coordinador y circula de nuevo en el anillo. ¿Qué sucede en ambos algoritmos si dos procesos simultáneamente inician elección? ALGORITMOS DE ELECCIÓN DE COORDINADOR Algoritmo basado en anillo lógico

ALGORITMOS DE ELECCIÓN DE COORDINADOR Algoritmo basado en anillo lógico No se conoce la identidad de los otros procesos a priori. Sólo existe comunicación entre vecinos (en un sentido). Se asume la funcionalidad y alcance de los procesos durante la elección.

ALGORITMOS DE ELECCIÓN DE COORDINADOR Algoritmo en anillo (Variante Tanenbaum) 1.- Inicialmente cada proceso se marca como “no participante”. 2.- Cualquier proceso puede iniciar la elección. - Se marca como “participante”. - Envía un mensaje de “elección” con su ID al vecino.

ALGORITMOS DE ELECCIÓN DE COORDINADOR Algoritmo en anillo (Variante Tanenbaum) - IDmensaje > IDreceptor, se reenvía. - IDmensaje < IDreceptor, y el receptor no es “participante”, se sustituye el ID y se reenvía. - IDmensaje < IDreceptor, y el receptor es “participante”, no se reenvía. - IDmensaje = IDreceptor, este proceso pasa a ser el coordinador. 3.- Cuando se recibe un mensaje de “elección” se compara el ID del mensaje con el propio.

ALGORITMOS DE ELECCIÓN DE COORDINADOR Algoritmo en anillo (Variante Tanenbaum) 4.- El coordinador se marca como “no participante”, y envía un mensaje de “elegido” con su ID. 5.- Cuando se recibe un mensaje de “elegido” por cualquier otro proceso (no coordinador) se marca como “no participante” y reenvía el mensaje.

ALGORITMOS DE ELECCIÓN DE COORDINADOR Algoritmo en anillo (Variante Tanenbaum) Peor Caso: Cuando sólo un proceso empieza la elección y su vecino “contrario” es el de mayor ID. Se envían 3n – 1 mensajes en total. * n – 1 hasta llegar al vecino de mayor ID * n mensajes de este vecino a través del anillo * n mensajes de “elegido”