stringtranslate.com

Protocolo de chismes

Un protocolo de chismes o protocolo de epidemia es un procedimiento o proceso de comunicación entre pares de computadoras que se basa en la forma en que se propagan las epidemias . [1] Algunos sistemas distribuidos utilizan chismes entre pares para garantizar que los datos se difundan a todos los miembros de un grupo. Algunas redes ad hoc no tienen un registro central y la única forma de difundir datos comunes es confiar en que cada miembro los transmita a sus vecinos.

Comunicación

El concepto de comunicación a través de chismes se puede ilustrar con la analogía de los empleados de oficina que difunden rumores. Digamos que cada hora los empleados de oficina se reúnen alrededor del dispensador de agua. Cada empleado se empareja con otro, elegido al azar, y comparte el último chisme. Al comienzo del día, Dave comienza un nuevo rumor: le comenta a Bob que cree que Charlie se tiñe el bigote. En la siguiente reunión, Bob se lo dice a Alice, mientras que Dave repite la idea a Eve. Después de cada encuentro junto al dispensador de agua, el número de personas que han oído el rumor se duplica aproximadamente (aunque esto no explica el chisme que se le cuenta dos veces a la misma persona; tal vez Dave intenta contarle la historia a Frank, sólo para descubrir que Frank ya se la había oído a Alice). Los sistemas informáticos suelen implementar este tipo de protocolo con una forma de "selección aleatoria de pares": con una frecuencia determinada, cada máquina elige otra máquina al azar y comparte los rumores.

Variantes y estilos

Probablemente existan cientos de variantes de protocolos específicos de tipo chisme porque es probable que cada escenario de uso se personalice según las necesidades específicas de la organización.

Por ejemplo, un protocolo de chismes podría emplear algunas de estas ideas:

Tipos de protocolo

Es útil distinguir dos estilos predominantes de protocolo de chismes: [2]

Muchos protocolos anteriores al uso más temprano del término "chisme" caen dentro de esta definición bastante inclusiva. Por ejemplo, los protocolos de enrutamiento de Internet a menudo utilizan intercambios de información similares a los chismes. Un sustrato de chisme se puede utilizar para implementar una red enrutada estándar: los nodos "cotillean" sobre mensajes punto a punto tradicionales, impulsando efectivamente el tráfico a través de la capa de chisme. Si el ancho de banda lo permite, esto implica que un sistema de chisme puede potencialmente soportar cualquier protocolo clásico o implementar cualquier servicio distribuido clásico. Sin embargo, rara vez se pretende una interpretación tan amplia e inclusiva. Los protocolos de chisme más típicos son aquellos que se ejecutan específicamente de manera regular, periódica, relativamente perezosa, simétrica y descentralizada; el alto grado de simetría entre los nodos es particularmente característico. Por lo tanto, si bien se podría ejecutar un protocolo de confirmación de 2 fases sobre un sustrato de chisme, hacerlo estaría en desacuerdo con el espíritu, si no con la redacción, de la definición.

El término convergentemente consistente se utiliza a veces para describir protocolos que logran una propagación exponencialmente rápida de la información. Para ello, un protocolo debe propagar cualquier información nueva a todos los nodos que se verán afectados por la información en un tiempo logarítmico en relación con el tamaño del sistema (el "tiempo de mezcla" debe ser logarítmico en relación con el tamaño del sistema).

Ejemplos

Supongamos que queremos encontrar el objeto que más se acerque a algún patrón de búsqueda, dentro de una red de tamaño desconocido, pero donde las computadoras están conectadas entre sí y donde cada máquina ejecuta un pequeño programa agente que implementa un protocolo de chismes.

Si los mensajes pueden llegar a ser muy grandes (por ejemplo, si hay muchas búsquedas activas al mismo tiempo), se debería introducir un límite de tamaño. Además, las búsquedas deberían "caducar" en la red.

De ello se deduce que, en un tiempo logarítmico en el tamaño de la red (el número de agentes), cualquier nueva cadena de búsqueda habrá llegado a todos los agentes. En un plazo adicional de aproximadamente la misma duración, cada agente sabrá dónde se puede encontrar la mejor coincidencia. En particular, el agente que inició la búsqueda habrá encontrado la mejor coincidencia.

Por ejemplo, en una red con 25.000 máquinas, podemos encontrar la mejor coincidencia después de unas 30 rondas de chismes: 15 para difundir la cadena de búsqueda y 15 más para descubrir la mejor coincidencia. Un intercambio de chismes podría producirse con una frecuencia de hasta una vez cada décima de segundo sin imponer una carga indebida, por lo que esta forma de búsqueda en la red podría buscar en un gran centro de datos en unos tres segundos.

En este escenario, las búsquedas podrían desaparecer automáticamente de la red después de, digamos, 10 segundos. Para entonces, el iniciador ya sabe la respuesta y no tiene sentido seguir hablando de esa búsqueda.

Los protocolos de chismes también se han utilizado para lograr y mantener la consistencia de bases de datos distribuidas o con otros tipos de datos en estados consistentes, contar el número de nodos en una red de tamaño desconocido, difundir noticias de manera robusta, organizar nodos de acuerdo con alguna política de estructuración, construir las llamadas redes superpuestas , calcular agregados, ordenar los nodos en una red, elegir líderes, etc.

Algoritmos de epidemias

Los protocolos de chismes se pueden utilizar para propagar información de una manera bastante similar a la forma en que se propaga una infección viral en una población biológica. De hecho, las matemáticas de las epidemias se utilizan a menudo para modelar las matemáticas de la comunicación de chismes. El término algoritmo de epidemia se emplea a veces para describir un sistema de software en el que se emplea este tipo de propagación de información basada en chismes.

Véase también

Referencias

  1. ^ Demers, Alan; Greene, Dan; Hauser, Carl; Irish, Wes; Larson, John (1987). "Algoritmos epidémicos para el mantenimiento de bases de datos replicadas". Actas del sexto simposio anual de la ACM sobre principios de computación distribuida - PODC '87 . págs. 1–12. doi :10.1145/41840.41841. ISBN 978-0-89791-239-6. OCLC  8876960204. S2CID  1889203.
  2. ^ Jelasity, Márk (1 de enero de 2011). "Chismes" (PDF) . En Serugendo, Giovanna Di Marzo; Gleizes, Marie-Pierre; Karageorgos, Anthony (eds.). Software autoorganizado . Natural Computing Series. Springer Berlin Heidelberg. págs. 139–162. doi :10.1007/978-3-642-17348-6_7. ISBN. 978-3-642-17347-9. Número de identificación del sujeto  214970849.

Lectura adicional