En la computación distribuida , la elección de líder es el proceso de designar un único proceso como organizador de una tarea distribuida entre varios ordenadores (nodos). Antes de que la tarea comience, todos los nodos de la red desconocen qué nodo actuará como líder (o coordinador ) de la tarea, o bien no pueden comunicarse con el coordinador actual. Sin embargo, tras ejecutar un algoritmo de elección de líder, cada nodo de la red reconoce un nodo específico y único como el líder de la tarea.
Los nodos de la red se comunican entre sí para decidir cuál de ellos se convertirá en líder. Para ello, necesitan algún método que les permita romper la simetría entre ellos. Por ejemplo, si cada nodo tiene identidades únicas y comparables, pueden compararlas y decidir que el nodo con la identidad más alta será el líder.
La definición de este problema se atribuye a menudo a LeLann, quien lo formalizó como un método para crear un nuevo token en una red de anillo de tokens en la que el token se ha perdido.
Los algoritmos de elección de líder están diseñados para ser económicos en términos de bytes transmitidos y tiempo. El algoritmo propuesto por Gallager, Humblet y Spira [ 1 ] para grafos no dirigidos generales ha tenido un gran impacto en el diseño de algoritmos distribuidos en general y ganó el Premio Dijkstra por un artículo influyente en computación distribuida.
Se han propuesto muchos otros algoritmos para diferentes tipos de grafos de red, como anillos no dirigidos, anillos unidireccionales, grafos completos, cuadrículas, grafos de Euler dirigidos, entre otros. Korach, Kutten y Moran propusieron un método general que desacopla la cuestión de la familia de grafos del diseño del algoritmo de elección de líder . [ 2 ]
Definición
El problema de la elección del líder consiste en que cada procesador decida finalmente si es líder o no, sujeto a la restricción de que exactamente un procesador decida ser el líder. [ 3 ] Un algoritmo resuelve el problema de la elección del líder si:
- Los estados de los procesadores se dividen en estados de elegido y no elegido. Una vez elegido, cada procesador permanece como elegido (y lo mismo ocurre si no lo es).
- En cada ejecución, se elige exactamente un procesador y el resto determina que no son elegidos.
Un algoritmo válido de elección de líder debe cumplir las siguientes condiciones: [ 4 ]
- Terminación : el algoritmo debe finalizar en un tiempo finito una vez seleccionado el líder. En los enfoques aleatorios, esta condición a veces se flexibiliza (por ejemplo, exigiendo la terminación con probabilidad 1).
- Singularidad : existe exactamente un procesador que se considera líder.
- Acuerdo : todos los demás procesadores saben quién es el líder.
Un algoritmo para la elección de líderes puede variar en los siguientes aspectos: [ 5 ]
- Mecanismo de comunicación: los procesadores pueden ser síncronos, en cuyo caso los procesos se sincronizan mediante una señal de reloj , o asíncronos, en cuyo caso los procesos se ejecutan a velocidades arbitrarias.
- Nombres de procesos: si los procesos tienen una identidad única o son indistinguibles (anónimos).
- Topología de red: por ejemplo, anillo , grafo acíclico o grafo completo .
- Tamaño de la red: el algoritmo puede o no utilizar información sobre el número de procesos en el sistema.
Algoritmos
Elección de líder en anillos

Una red en anillo es una topología de grafo conectado en la que cada nodo está conectado exactamente a otros dos nodos; es decir, para un grafo con n nodos, existen exactamente n aristas que conectan los nodos. Un anillo puede ser unidireccional, lo que significa que los procesadores solo se comunican en una dirección (un nodo solo puede enviar mensajes hacia la izquierda o solo hacia la derecha), o bidireccional, lo que significa que los procesadores pueden transmitir y recibir mensajes en ambas direcciones (un nodo puede enviar mensajes tanto hacia la izquierda como hacia la derecha).
Anillos anónimos
Se dice que un anillo es anónimo si cada procesador es idéntico. Más formalmente, el sistema tiene la misma máquina de estados para cada procesador. [ 3 ] No hay un algoritmo determinista para elegir un líder en anillos anónimos, incluso cuando el tamaño de la red es conocido por los procesos. [ 3 ] [ 6 ] Esto se debe a que no hay posibilidad de romper la simetría en un anillo anónimo si todos los procesos se ejecutan a la misma velocidad. El estado de los procesadores después de algunos pasos solo depende del estado inicial de los nodos vecinos. Por lo tanto, debido a que sus estados son idénticos y ejecutan los mismos procedimientos, en cada ronda cada procesador envía los mismos mensajes. Por consiguiente, el estado de cada procesador también cambia de forma idéntica y, como resultado, si un procesador es elegido como líder, también lo son todos los demás.
Para simplificar, aquí hay una demostración en anillos síncronos anónimos. Es una demostración por contradicción. Consideremos un anillo anónimo R con tamaño n>1. Supongamos que existe un algoritmo "A" para resolver la elección de líder en este anillo anónimo R. [ 3 ]
- Lema : después de la rondade la ejecución admisible de A en R, todos los procesos tienen los mismos estados.
Demostración. Demostración por inducción en.
Caso base:: todos los procesos están en el estado inicial, por lo que todos los procesos son idénticos.
Hipótesis de inducción: supongamos que el lema es verdadero pararondas.
Paso inductivo: en ronda, cada proceso envía el mismo mensajea la derecha y enviar el mismo mensajea la izquierda. Dado que todos los procesos están en el mismo estado después de la rondaEn la ronda k, cada proceso recibirá el mensaje.desde el borde izquierdo, y recibirá el mensajedesde el borde derecho. Dado que todos los procesos reciben los mismos mensajes en la ronda, están en el mismo estado después de la ronda.
El lema anterior contradice el hecho de que, después de un número finito de rondas en una ejecución de A, un proceso entró en el estado elegido y otros procesos entraron en el estado no elegido.
Elección aleatoria (probabilística) de líderes
Un método común para resolver el problema de la elección de líder en redes anónimas es el uso de algoritmos probabilísticos . En estos métodos, los procesadores suelen asumir identidades basadas en una función probabilística y las comunican al resto de la red. Finalmente, mediante la aplicación de un algoritmo, se selecciona un líder (con alta probabilidad).
anillo asíncrono
Fuente: [ 3 ]

Dado que no existe un algoritmo para anillos anónimos (demostrado anteriormente), los anillos asíncronos se considerarían anillos asíncronos no anónimos. En los anillos no anónimos, cada proceso tiene un identificador único.y no conocen el tamaño del anillo. La elección de líder en anillos asíncronos se puede resolver mediante algún algoritmo que utilicemensajes omensajes.
En elalgoritmo, cada proceso envía un mensaje con suhacia el borde izquierdo. Luego espera hasta que llegue un mensaje del borde derecho. Si elen el mensaje es mayor que su propio, entonces reenvía el mensaje al borde izquierdo; de lo contrario, ignora el mensaje y no hace nada. Si elen el mensaje es igual a su propio, luego envía un mensaje a la izquierda anunciando que ha sido elegido. Otros procesos reenvían el anuncio a la izquierda y se convierten en no electos. Está claro que el límite superior espara este algoritmo.
En elEl algoritmo se ejecuta por fases.En la fase 1, un proceso determinará si es el ganador entre el lado izquierdo.y lado derechovecinos. Si es un ganador, entonces el proceso puede pasar a la siguiente fase. En la fase, cada procesonecesita determinar si es un ganador o no enviando un mensaje con sua los vecinos de la izquierda y de la derecha (los vecinos no reenvían el mensaje). El vecino responde ysolo si elen el mensaje es más grande que el del vecino, de lo contrario responde un. Sirecibe doss, uno desde la izquierda, uno desde la derecha, luegoes el ganador en la fase. En fase, los ganadores en fasenecesita enviar un mensaje con suhaciaizquierda yvecinos correctos. Si los vecinos en el camino reciben elen el mensaje más grande que su, entonces reenvíe el mensaje al siguiente vecino, de lo contrario responda un. Si elEl vecino recibe elmás grande que su, luego devuelve un, de lo contrario responde un. Si el proceso recibe doss, entonces es el ganador en la fase. En la última fase, el ganador final recibirá su propioen el mensaje, luego termina y envía un mensaje de terminación a los otros procesos. En el peor de los casos, cada fase tiene como máximoganadores, dondees el número de fase. Hayfases en total. Cada ganador envía en el orden demensajes en cada fase. Por lo tanto, la complejidad de los mensajes es.
Anillo síncrono
En el libro de Attiya y Welch sobre computación distribuida, [ 3 ] describieron un algoritmo no uniforme que utilizamensajes en anillo síncrono con tamaño de anillo conocido. El algoritmo opera en fases, cada fase tienerondas, cada ronda es una unidad de tiempo. En fase, si hay un proceso conluego procesarenvía un mensaje de terminación a los demás procesos (el envío de mensajes de terminación tiene un costerondas). De lo contrario, pase a la siguiente fase. El algoritmo comprobará si hay un número de fase igual a un proceso., luego realiza los mismos pasos que en la fase. Al final de la ejecución, el mínimoserá elegido como líder. Se utilizó exactamentemensajes yrondas.
Itai y Rodeh [ 7 ] introdujeron un algoritmo para un anillo unidireccional con procesos sincronizados. Suponen que el tamaño del anillo (número de nodos) es conocido por los procesos. Para un anillo de tamaño n, a ≤ n procesadores están activos. Cada procesador decide con probabilidad a^(-1) si se convierte en candidato. Al final de cada fase, cada procesador calcula el número de candidatos c y, si es igual a 1, se convierte en el líder. Para determinar el valor de c, cada candidato envía una ficha (piedra) al comienzo de la fase, la cual se pasa por el anillo, regresando después de exactamente n unidades de tiempo a su remitente. Cada procesador determina c contando el número de piedras que han pasado. Este algoritmo logra la elección del líder con una complejidad de mensajes esperada de O(n log n). También se utiliza un enfoque similar en el que se emplea un mecanismo de tiempo de espera para detectar interbloqueos en el sistema. [ 8 ] También existen algoritmos para anillos de tamaños especiales como el tamaño primo [ 9 ] [ 10 ] y el tamaño impar. [ 11 ]
Algoritmo uniforme
En los enfoques típicos para la elección de líder, se supone que los procesos conocen el tamaño del anillo. En el caso de anillos anónimos, sin utilizar una entidad externa, no es posible elegir un líder. Incluso suponiendo que exista un algoritmo, el líder no podría estimar el tamaño del anillo. Es decir, en cualquier anillo anónimo, existe una probabilidad positiva de que un algoritmo calcule un tamaño de anillo incorrecto. [ 12 ] Para superar este problema, Fisher y Jiang utilizaron un llamado oráculo de líder Ω? que cada procesador puede consultar para saber si existe un líder único. Demuestran que, a partir de cierto punto, se garantiza que devolverá la misma respuesta a todos los procesos. [ 13 ]
Anillos con identificadores únicos
En uno de los primeros trabajos, Chang y Roberts [ 14 ] propusieron un algoritmo uniforme en el que se selecciona como líder un procesador con el ID más alto. Cada procesador envía su ID en sentido horario. Un procesador recibe un mensaje y compara el ID con el suyo. Si el ID es mayor que el del procesador, lo deja pasar; de lo contrario, descarta el mensaje. Los autores demuestran que este algoritmo utilizamensajes en el peor de los casos yen el caso promedio. Hirschberg y Sinclair [ 15 ] mejoraron este algoritmo conSe reduce la complejidad de los mensajes mediante la introducción de un esquema de paso de mensajes bidireccional.
Elección de líder en una red

La malla es otra forma popular de topología de red, especialmente en sistemas paralelos, sistemas de memoria redundante y redes de interconexión. [ 16 ] En una estructura de malla, los nodos son de esquina (solo dos vecinos), de borde (solo tres vecinos) o interiores (con cuatro vecinos). El número de aristas en una malla de tamaño axb es m=2ab-ab.
Malla no orientada
Un algoritmo típico para resolver la elección de líder en una malla no orientada consiste en elegir solo uno de los cuatro nodos de las esquinas como líder. Dado que los nodos de las esquinas podrían desconocer el estado de otros procesos, el algoritmo debe primero activarlos. Un líder puede elegirse de la siguiente manera. [ 17 ]
- Proceso de despertar : en el queLos nodos inician el proceso de elección. Cada iniciador envía un mensaje de activación a todos sus nodos vecinos. Si un nodo no es el iniciador, simplemente reenvía los mensajes a los demás nodos. En esta etapa, como máximo,Los mensajes se envían.
- Proceso electoral : la elección en el anillo exterior toma como máximo dos etapas conmensajes.
- Terminación : el líder envía un mensaje de terminación a todos los nodos. Esto requiere como máximo 2n mensajes.
La complejidad del mensaje es como máximoy si la malla tiene forma cuadrada,.
Malla orientada
Una malla orientada es un caso especial donde los números de puerto son etiquetas de brújula, es decir, norte, sur, este y oeste. La elección del líder en una malla orientada es trivial. Solo necesitamos designar una esquina, por ejemplo, "norte" y "este", y asegurarnos de que ese nodo sepa que es el líder.
Toro

Un caso especial de arquitectura de malla es el toro, que es una malla con "envolvimiento". En esta estructura, cada nodo tiene exactamente 4 aristas de conexión. Un método para elegir un líder en dicha estructura se conoce como etapas electorales. De forma similar a los procedimientos en estructuras de anillo, este método elimina en cada etapa a los candidatos potenciales hasta que finalmente queda un nodo candidato. Este nodo se convierte en el líder y luego notifica a todos los demás procesos su terminación. [ 16 ] Este método puede utilizarse para lograr una complejidad de O(n). También se han introducido enfoques más prácticos para lidiar con la presencia de enlaces defectuosos en la red. [ 18 ] [ 19 ]
Elecciones en hipercubos

Un hipercuboes una red que consta denodos, cada uno con grado deyaristas. Se puede utilizar un sistema de etapas electorales similar al anterior para resolver el problema de la elección del líder. En cada etapa, dos nodos (llamados duelistas) compiten y el ganador asciende a la siguiente etapa. Esto significa que en cada etapa solo la mitad de los duelistas pasan a la siguiente. Este procedimiento continúa hasta que solo queda un duelista, que se convierte en el líder. Una vez seleccionado, notifica a todos los demás procesos. Este algoritmo requieremensajes. En el caso de hipercubos no orientados, se puede utilizar un enfoque similar pero con una mayor complejidad de mensajes.. [ 16 ]
Elecciones en redes completas

Las redes completas son estructuras en las que todos los procesos están conectados entre sí, es decir, el grado de cada nodo es n-1, donde n es el tamaño de la red. Se conoce una solución óptima con complejidad de mensajes y espacio O(n) . [ 20 ] En este algoritmo, los procesos tienen los siguientes estados:
- Nodos ficticios: nodos que no participan en el algoritmo de elección del líder.
- Pasivo: el estado inicial de los procesos antes de comenzar.
- Candidato: estado de los nodos tras su activación. Los nodos candidatos serán considerados para convertirse en el líder.
Se asume que, si bien un nodo desconoce el conjunto total de nodos del sistema, se requiere que en esta configuración cada nodo conozca el identificador de su único sucesor, denominado vecino, [ 20 ] y que cada nodo sea conocido por otro. [ 21 ]
Todos los procesadores se encuentran inicialmente en estado pasivo hasta que se activan. Una vez activos, los nodos se convierten en candidatos para liderar el sistema. Según un esquema de prioridades, los nodos candidatos colaboran en el anillo virtual. En algún momento, los candidatos conocen la identidad de los que los preceden. Los candidatos de mayor prioridad preguntan a los de menor prioridad sobre sus predecesores. Tras responder a los candidatos de mayor prioridad, los candidatos de menor prioridad se convierten en nodos ficticios. De este modo, el candidato de mayor prioridad llega a saber que todos los nodos del sistema son ficticios, excepto él mismo, momento en el que reconoce su liderazgo.
El algoritmo anterior no es correcto ; necesita mejoras adicionales. [ 21 ]
Técnicas de elección de líder universal
Como su nombre lo indica, estos algoritmos están diseñados para ser utilizados en cualquier red de procesos sin conocimiento previo de la topología o las propiedades de la red (como el tamaño). [ 16 ]
Gritar
El protocolo Shout construye un árbol de expansión sobre un grafo genérico y elige su raíz como líder. El algoritmo tiene un coste total lineal con respecto a la cardinalidad de las aristas.
Esta técnica es similar a encontrar un Árbol de Expansión Mínima (MST) en el que la raíz del árbol se convierte en el líder. La idea es que los nodos individuales se "fusionan" entre sí para formar estructuras más grandes. El resultado de este algoritmo es un árbol (un grafo sin ciclos) cuya raíz es el líder de todo el sistema. El costo del método de mega-fusión esdonde m es el número de aristas y n es el número de nodos.
Yoyó

Yo-yo (algoritmo) es un algoritmo de búsqueda de mínimo que consta de dos partes: una fase de preprocesamiento y una serie de iteraciones. [ 16 ] En la primera fase o configuración , cada nodo intercambia su id con todos sus vecinos y, según el valor, orienta sus aristas incidentes. Por ejemplo, si el nodo x tiene un id menor que y, x se orienta hacia y. Si un nodo tiene un id menor que todos sus vecinos, se convierte en una fuente . Por el contrario, un nodo con todas las aristas internas (es decir, con un id mayor que todos sus vecinos) es un sumidero . Todos los demás nodos son nodos internos . Una vez que todas las aristas están orientadas, comienza la fase de iteración . Cada iteración es una etapa electoral en la que se eliminarán algunos candidatos. Cada iteración tiene dos fases: YO- y –YO . En esta fase, las fuentes comienzan el proceso para propagar a cada sumidero los valores más pequeños de las fuentes conectadas a ese sumidero.
Yo-
- Una fuente (mínimo local) transmite su valor a todos sus vecinos externos.
- Un nodo interno espera a recibir un valor de todos sus vecinos internos. Calcula el mínimo y lo envía a su vecino externo.
- Un sumidero (un nodo sin arista saliente) recibe todos los valores y calcula su mínimo.
-yo
- Un fregadero envía SÍ a los vecinos que vieron el valor más pequeño y NO a los demás.
- Un nodo interno envía SÍ a todos los nodos vecinos de los que recibió el valor más pequeño y NO a los demás. Si recibe solo un NO, envía NO a todos.
- Una fuente espera hasta recibir todos los votos. Si todos son SÍ, sobrevive; si no, deja de ser candidata.
- Cuando un nodo x envía NO a un nodo vecino y, la dirección lógica de esa arista se invierte.
- Cuando un nodo y recibe NO de un vecino saliente, invierte la dirección de ese enlace.
Tras la etapa final, cualquier fuente que reciba un NO deja de ser una fuente y se convierte en un sumidero. Además, se introduce una etapa adicional, la poda , para eliminar los nodos inútiles, es decir, aquellos cuya existencia no influye en las siguientes iteraciones.
- Si un fregadero está lleno de hojas, entonces es inútil y por lo tanto se retira.
- Si, durante la fase YO, un nodo recibe el mismo valor de más de un nodo vecino, les pedirá a todos menos a uno que eliminen el enlace que los conecta.
Este método tiene un coste total de O(m log n) mensajes. Su complejidad real de mensajes, incluyendo la poda, es un problema de investigación abierto y se desconoce.
Aplicaciones
Redes de radio
En los protocolos de redes de radio, la elección de líder se utiliza a menudo como primer paso para abordar primitivas de comunicación más avanzadas, como la recopilación de mensajes o las difusiones. [ 22 ] La propia naturaleza de las redes inalámbricas induce colisiones cuando nodos adyacentes transmiten al mismo tiempo; la elección de un líder permite coordinar mejor este proceso. Si bien el diámetro D de una red es un límite inferior natural para el tiempo necesario para elegir un líder, los límites superior e inferior para el problema de la elección de líder dependen del modelo de radio específico estudiado.
Modelos y tiempo de ejecución
En las redes de radio, los n nodos pueden, en cada ronda, elegir entre transmitir o recibir un mensaje. Si no hay detección de colisiones, un nodo no puede distinguir entre el silencio y la recepción de más de un mensaje a la vez. Si hay detección de colisiones , un nodo puede detectar más de un mensaje entrante simultáneamente, aunque en ese caso no se pueda decodificar el mensaje en sí. En el modelo de pitidos , los nodos solo pueden distinguir entre el silencio y al menos un mensaje mediante la detección de portadora .
Los tiempos de ejecución conocidos para redes de un solo salto varían desde un valor constante (esperado con detección de colisiones) hasta O(n log n) rondas (determinista y sin detección de colisiones). En redes de múltiples saltos , los tiempos de ejecución conocidos difieren desde aproximadamente O((D+ log n)(log 2 log n)) rondas (con alta probabilidad en el modelo de pitidos), O(D log n) (determinista en el modelo de pitidos), O(n) (determinista con detección de colisiones) hasta O(n log 3/2 n (log log n) 0.5 ) rondas (determinista y sin detección de colisiones).
Véase también
Referencias
- ↑ RG Gallager , PA Humblet y PM Spira (enero de 1983). "Un algoritmo distribuido para árboles de expansión de peso mínimo" (PDF) . ACM Transactions on Programming Languages and Systems . 5 (1): 66–77 . doi : 10.1145/357195.357200 . S2CID 2758285. Archivado del original (PDF) el 12 de octubre de 2016. Recuperado el 30 de septiembre de 2007 .
{{cite journal}}: CS1 maint: varios nombres: lista de autores ( enlace ) - ↑ Ephraim Korach, Shay Kutten, Shlomo Moran (1990). "Una técnica modular para el diseño de algoritmos eficientes de búsqueda de líderes distribuidos". ACM Transactions on Programming Languages and Systems . 12 (1): 84– 101. CiteSeerX 10.1.1.139.7342 . doi : 10.1145/77606.77610 . S2CID 9175968 .
{{cite journal}}: CS1 maint: varios nombres: lista de autores ( enlace ) - 1 2 3 4 5 6 H. Attiya y J. Welch, Computación distribuida: fundamentos, simulaciones y temas avanzados , John Wiley & Sons Inc., 2004, cap. 3
- ↑ I. Gupta, R. van Renesse y KP Birman, 2000, Un protocolo de elección de líder probabilísticamente correcto para grupos grandes, Informe técnico , Universidad de Cornell
- ↑ R. Bakhshi, W. Fokkink, J. pang y J. Van de Pol, c2008 "Elección de líderes en redes anónimas: Franklin adopta un enfoque probabilístico", TCS , vol. 273, págs. 57-72.
- ↑ H. Attiya y M. Snir, 1988, "Computing on an anonymous ring", JACM , vol. 35, número 4, págs. 845-875
- ↑ A. Itai y M. Rodeh, 1990,"Ruptura de simetría en redes distribuidas", Vol. 88, número 1, pp. 60-87.
- ↑ L. Higham y S. Myers, 1998, "Circulación de tokens autoestabilizadora en anillos de paso de mensajes anónimos", Segunda Conferencia Internacional sobre Principios de Sistemas Distribuidos .
- ↑ G. Itkis, C. Lin y J. Simon, 1995,"Elección determinista, de espacio constante y autoestabilizadora de líder en anillos uniformes.", En Proc. 9th Workshop on Distributed Algorithms , Vol. 972, pp. 288-302.
- ↑ J. Burns y J. Pachl, 1989, "Anillos autoestabilizadores uniformes", ACM Trans. Program. Lang. Systems , vol. 11, número 2, págs. 330-344
- ↑ T. Herman, 1990, "Autoestabilización probabilística", Inf. Process. Lett. , Vol. 35, número 2, pp.63-67.
- ↑ G. Tel, Introducción a los algoritmos distribuidos . Cambridge University Press, 2000. 2.ª edición
- ↑ M. Fischer y H. Jiang, 2006,"Elección de líder autoestabilizador en redes de agentes anónimos de estado finito", En Proc. 10th Conf. on Principles of Distributed Systems , Vol. 4305, pp. 395-409.
- ↑ E. Chang y R. Roberts, 1979, "Un algoritmo mejorado para la búsqueda de extremos descentralizados en configuraciones circulares de procesos", ACM , vol. 22, número 5, págs. 281-283.
- ↑ DS Hirschberg y JB Sinclair, 1980, "Búsqueda de extremos descentralizada en configuraciones circulares de procesadores", ACM , vol. 23, número 11, págs. 627-628.
- 1 2 3 4 5 N. Santoro, Diseño y análisis de algoritmos distribuidos , Wiley, 2006.
- ↑ H. Kallasjoki, 2007, "Elección en redes de malla, cubo y completas", Seminario sobre informática teórica .
- ↑ M. Refai, A. Sharieh y . Alsmmari, 2010, "Algoritmo de elección de líder en red toroidal 2D con presencia de un fallo de enlace", The International Arab Journal of Information Technology , Vol. 7, No. 2.
- ↑ M Al Refai, 2014, "Algoritmo de elección de líder dinámico en red toroidal 2D con fallo de múltiples enlaces", IJCST , vol. 2, número 5.
- 1 2 J. Villadangos, A. Córdoba, F. Farina y M. Prieto, 2005, "Elección eficiente de líderes en redes completas", PDP , págs. 136-143.
- 1 2 Castillo, Maria, et al. "Un algoritmo modificado de elección de líder O(n) para redes completas." XV Conferencia Internacional EUROMICRO sobre Procesamiento Paralelo, Distribuido y Basado en Redes (PDP'07). IEEE, 2007.
- ↑ Haeupler, Bernhard; Ghaffari, Mohsen (2013). Elección de líder casi óptima en redes de radio multisalto . págs. 748–766 . arXiv : 1210.8439 . doi : 10.1137/1.9781611973105.54 . ISBN 978-1-61197-251-1. S2CID 9976342 .
{{cite book}}:|journal=ignorado ( ayuda )
- Problemas de computación distribuida