Una multidifusión confiable es cualquier protocolo de red de computadoras que proporciona una secuencia confiable de paquetes a múltiples destinatarios simultáneamente, lo que lo hace adecuado para aplicaciones como la transferencia de archivos de múltiples receptores .
Descripción general
La multidifusión es un método de direccionamiento de red para la entrega de información a un grupo de destinos simultáneamente utilizando la estrategia más eficiente para entregar los mensajes a través de cada enlace de la red solo una vez, creando copias solo cuando los enlaces a los múltiples destinos se dividen (típicamente conmutadores de red y enrutadores ). Sin embargo, al igual que el Protocolo de datagramas de usuario , la multidifusión no garantiza la entrega de un flujo de mensajes. Los mensajes pueden descartarse, entregarse varias veces o entregarse fuera de servicio. Un protocolo de multidifusión confiable agrega la capacidad para que los receptores detecten mensajes perdidos o fuera de orden y tomen medidas correctivas (similar en principio a TCP ), lo que da como resultado un flujo de mensajes en orden y sin interrupciones.
Fiabilidad
El significado exacto de confiabilidad depende de la instancia de protocolo específica. Una definición mínima de multidifusión confiable es la entrega eventual de todos los datos a todos los miembros del grupo, sin hacer cumplir ninguna orden de entrega en particular . [1] Sin embargo, no todos los protocolos de multidifusión fiables garantizan este nivel de fiabilidad; muchos de ellos intercambian eficiencia por confiabilidad, de diferentes maneras. Por ejemplo, mientras TCP responsabiliza al remitente de la confiabilidad de la transmisión, los protocolos basados en NAK de multidifusión transfieren la responsabilidad a los receptores: el remitente nunca sabe con certeza que todos los receptores han recibido todos los datos. [2] RFC-2887 explora el espacio de diseño para la transferencia de datos masivos, con una breve discusión sobre los diversos temas y algunas sugerencias sobre los posibles significados diferentes de confiable .
Entrega confiable de datos grupales
La entrega confiable de datos grupales (RGDD) es una forma de multidifusión en la que un objeto se debe mover desde una única fuente a un conjunto fijo de receptores conocidos antes de que comience la transmisión. [3] [4] Una variedad de aplicaciones pueden necesitar dicha entrega: el sistema de archivos distribuido de Hadoop (HDFS) replica cualquier fragmento de datos dos veces más en servidores específicos, la replicación de VM en múltiples servidores puede ser necesaria para escalar aplicaciones y replicar datos a varios servidores puede ser necesario para el equilibrio de carga al permitir que varios servidores sirvan los mismos datos de sus copias en caché local. Dicha entrega es frecuente dentro de los centros de datos debido a la gran cantidad de servidores que se comunican mientras ejecutan aplicaciones altamente distribuidas.
RGDD también puede ocurrir en los centros de datos y, a veces, se denomina transferencias de punto a multipunto entre centros de datos (P2MP). [5] Estas transferencias entregan enormes volúmenes de datos desde un centro de datos a varios centros de datos para diversas aplicaciones: los motores de búsqueda distribuyen actualizaciones de índices de búsqueda periódicamente (por ejemplo, cada 24 horas), las aplicaciones de redes sociales envían contenido nuevo a muchas ubicaciones de caché en todo el mundo (por ejemplo, YouTube y Facebook), y los servicios de respaldo hacen varias copias dispersas geográficamente para aumentar la tolerancia a fallas. Para maximizar la utilización del ancho de banda y reducir los tiempos de finalización de las transferencias masivas, se ha propuesto una variedad de técnicas para la selección de árboles de reenvío de multidifusión. [5] [6]
Sincronía virtual
Los sistemas modernos como Spread Toolkit , Quicksilver y Corosync pueden alcanzar velocidades de datos de 10,000 multidifusiones por segundo o más, y pueden escalar a grandes redes con una gran cantidad de grupos o procesos.
La mayoría de las plataformas informáticas distribuidas admiten uno o más de estos modelos. Por ejemplo, todas las plataformas CORBA orientadas a objetos ampliamente admitidas admiten transacciones y algunos productos CORBA admiten la replicación transaccional en el modelo de serialización de una copia. El "estándar de objetos tolerantes a fallas de CORBA" se basa en el modelo de sincronía virtual. La sincronía virtual también se utilizó en el desarrollo de la arquitectura de tolerancia a fallas de la Bolsa de Nueva York, el Sistema de Control de Tráfico Aéreo Francés, el sistema AEGIS de la Marina de los Estados Unidos, la arquitectura de replicación de Procesos de Negocios de IBM para WebSphere y la arquitectura de Clustering de Windows de Microsoft para servidores empresariales Windows Longhorn . [7]
Sistemas que admiten sincronía virtual
La sincronía virtual fue apoyada por primera vez por la Universidad de Cornell y se llamó "Isis Toolkit". [8] La versión más actual de Cornell, Vsync fue lanzada en 2013 bajo el nombre de Isis2 (el nombre fue cambiado de Isis2 a Vsync en 2015 a raíz de un ataque terrorista en París por una organización extremista llamada ISIS), con actualizaciones y revisiones periódicas. desde ese tiempo. La versión estable más actual es la V2.2.2020; fue lanzado el 14 de noviembre de 2015; la versión V2.2.2048 está disponible actualmente en forma Beta. [9] Vsync tiene como objetivo los centros de datos masivos que admiten la computación en nube .
Otros sistemas similares incluyen el sistema Horus [10] el sistema Transis, el sistema Totem, un sistema IBM llamado Phoenix, un sistema de administración de claves de seguridad distribuido llamado Rampart, el "sistema Ensemble", [11] el sistema Quicksilver , "El proyecto OpenAIS ", [12] su derivado Corosync Cluster Engine y una serie de productos (incluidos los de IBM y Microsoft mencionados anteriormente).
Otros protocolos existentes o propuestos
- Multidifusión general pragmática (PGM)
- TRDP de Tibco Software (parte de RV ). Nota: cuando Tibco adquirió Talarian , heredaron una implementación de PGM con SmartSockets (SmartPGM). TRDP es anterior al desarrollo de SmartPGM
- OpenDDS como implementación de código abierto desde su lanzamiento 0.12
- Multidifusión confiable escalable ( SRM )
- Multidifusión escalable QuickSilver (QSM)
- SMART Multicast ( multidifusión segura para la repetición avanzada de televisión)
- Reliable Stream Protocol [13] (RSP), un protocolo de código abierto de alto rendimiento para clústeres de cómputo
- Grupos de comunicación de TIPC
Soporte de biblioteca
Referencias
- ^ Floyd, S .; Jacobson, V .; Liu, C. -G .; McCanne, S .; Zhang, L. (diciembre de 1997). "Un marco de multidifusión confiable para sesiones ligeras y marcos de nivel de aplicación" . Transacciones IEEE / ACM sobre redes . 5 (6): 784–803. doi : 10.1109 / 90.650139 .
- ^ Diot, C .; Dabbous, W .; Crowcroft, J. (abril de 1997). "Comunicación multipunto: un estudio de protocolos, funciones y mecanismos" (PDF) . Revista IEEE sobre áreas seleccionadas en comunicaciones . 15 (3): 277–290. doi : 10.1109 / 49.564128 .
- ^ C. Guo; et al. (1 de noviembre de 2012). "Datacast: un servicio de entrega de datos grupal confiable escalable y eficiente para centros de datos" . ACM . Consultado el 26 de julio de 2017 .
- ^ T. Zhu; et al. (18 de octubre de 2016). "MCTCP: TCP de multidifusión robusto y consciente de la congestión en redes definidas por software". 2016 IEEE / ACM 24th International Symposium on Quality of Service (IWQoS) . IEEE. págs. 1-10. doi : 10.1109 / IWQoS.2016.7590433 . ISBN 978-1-5090-2634-0.
- ^ a b M. Noormohammadpour; et al. (10 de julio de 2017). "DCCast: transferencias eficientes de punto a multipunto entre centros de datos" . USENIX . Consultado el 26 de julio de 2017 .
- ^ M. Noormohammadpour; et al. (2018). "QuickCast: transferencias entre centros de datos rápidas y eficientes utilizando cohortes de árboles de reenvío" . Consultado el 23 de enero de 2018 .
- ^ KP Birman (julio de 1999). "Una revisión de experiencias con multidifusión confiable" . 29 (9). Práctica y experiencia en software: 741–774. Cite journal requiere
|journal=
( ayuda ) - ^ "Kit de herramientas de Isis"
- ^ "Biblioteca Vsync Cloud Computing" .
- ^ "Sistema de Horus"
- ^ "Sistema de conjunto"
- ^ "El proyecto OpenAIS"
- ^ RSP ; información necesaria.
Otras lecturas
- Sistemas distribuidos confiables: tecnologías, servicios web y aplicaciones. KP Birman. Springer Verlag (1997). Libro de texto, cubre un amplio espectro de conceptos de computación distribuida, incluida la sincronía virtual.
- Sistemas distribuidos: principios y paradigmas (2ª edición). Andrew S. Tanenbaum, Maarten van Steen (2002). Libro de texto, cubre un amplio espectro de conceptos de computación distribuida, incluida la sincronía virtual.
- "El enfoque del grupo de procesos para la computación distribuida confiable" . KP Birman, Communications of the ACM 16:12 (diciembre de 1993). Escrito para no expertos.
- "Especificaciones de comunicación grupal: un estudio integral" Gregory V. Chockler, Idit Keidar,
- Roman Vitenberg. Encuestas de computación ACM 33: 4 (2001). Introduce un formalismo matemático para este tipo de modelos, luego lo usa para comparar su poder expresivo y sus supuestos de detección de fallas.
- "El parlamento a tiempo parcial" . Leslie Lamport. Transacciones ACM en sistemas informáticos (TOCS), 16: 2 (1998). Presenta la implementación de Paxos de máquinas de estado replicadas.
- "Explotación de la sincronía virtual en sistemas distribuidos" . KP Birman y T. Joseph. Actas del 11º Simposio de ACM sobre principios de sistemas operativos (SOSP), Austin Texas, noviembre de 1987. El uso más temprano del término, pero probablemente no sea la mejor exposición del tema.