Articulo de referencia

Multidifusión confiable

Una multidifusión confiable es cualquier protocolo de red informática que proporciona una secuencia confiable de paquetes a múltiples destinatarios simultáneamente, lo que lo ha...

Una multidifusión confiable es cualquier protocolo de red informática 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 entre 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 orden. Un protocolo de multidifusión confiable agrega la capacidad para que los receptores detecten mensajes perdidos y/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 final de todos los datos a todos los miembros del grupo, sin imponer ningún orden de entrega en particular . [1] Sin embargo, no todos los protocolos de multidifusión confiables garantizan este nivel de confiabilidad; muchos de ellos intercambian eficiencia por confiabilidad, de diferentes maneras. Por ejemplo, mientras que TCP hace que el remitente sea responsable de la confiabilidad de la transmisión, los protocolos de multidifusión basados ​​en NAK trasladan la responsabilidad a los receptores: el remitente nunca sabe con certeza si todos los receptores han recibido de hecho todos los datos. [2] RFC-2887 explora el espacio de diseño para la transferencia de datos en masa, con una breve discusión sobre los diversos problemas y algunas pistas sobre los posibles significados diferentes de confiable .

Entrega confiable de datos grupales

Reliable Group Data Delivery (RGDD) es una forma de multidifusión en la que un objeto se mueve 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: Hadoop Distributed File System (HDFS) replica cualquier fragmento de datos dos veces más en servidores específicos, la replicación de VM a múltiples servidores puede ser necesaria para escalar aplicaciones y la replicación de datos a múltiples servidores puede ser necesaria para equilibrar la carga al permitir que varios servidores brinden los mismos datos desde sus copias en caché locales. Este tipo de entrega es frecuente dentro de los centros de datos debido a la gran cantidad de servidores que se comunican mientras ejecutan aplicaciones altamente distribuidas.

La RGDD también puede ocurrir entre centros de datos y a veces se la denomina transferencias punto a multipunto (P2MP) entre centros de datos. [5] Estas transferencias entregan enormes volúmenes de datos desde un centro de datos a múltiples centros de datos para varias aplicaciones: los motores de búsqueda distribuyen actualizaciones del índice 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 geográficamente dispersas para una mayor tolerancia a fallas. Para maximizar la utilización del ancho de banda y reducir los tiempos de finalización de las transferencias masivas, se han propuesto diversas 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 redes grandes con enormes cantidades 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, que cuentan con un amplio soporte, admiten transacciones y algunos productos CORBA admiten la replicación transaccional en el modelo de serialización de una copia. El "estándar CORBA Fault Tolerant Objects" se basa en el modelo de sincronía virtual. [7] La ​​sincronía virtual también se utilizó en el desarrollo de la arquitectura de tolerancia a fallos de la Bolsa de Nueva York, el sistema de control del tráfico aéreo francés, el sistema AEGIS de la Armada de los EE. UU., la arquitectura de replicación de procesos empresariales de IBM para WebSphere y la arquitectura de clústeres de Windows de Microsoft para servidores empresariales Windows Longhorn . [8]

Sistemas que admiten sincronía virtual

La Universidad de Cornell fue la primera en ofrecer soporte para Virtual Synchrony, que se denominó "Isis Toolkit". [9] La versión más actual de Cornell, Vsync, se lanzó en 2013 con el nombre de Isis2 (el nombre se cambió de Isis2 a Vsync en 2015 a raíz de un ataque terrorista en París por parte de una organización extremista llamada ISIS), con actualizaciones y revisiones periódicas desde entonces. La versión estable más actual es la V2.2.2020; se lanzó el 14 de noviembre de 2015; la versión V2.2.2048 está actualmente disponible en forma Beta. [10] Vsync está dirigido a los centros de datos masivos que admiten la computación en la nube .

Otros sistemas similares incluyen el sistema Horus [11] , el sistema Transis, el sistema Totem, un sistema de IBM llamado Phoenix, un sistema distribuido de gestión de claves de seguridad llamado Rampart, el "sistema Ensemble", [12] el sistema Quicksilver , "el proyecto OpenAIS", [13] su derivado Corosync Cluster Engine y una serie de productos (incluidos los de IBM y Microsoft mencionados anteriormente).

Otros protocolos existentes o propuestos

Soporte de biblioteca

  • JGroups (API de Java)
  • Difusión: API de C/C++, API de Java
  • RMF (API de C#)
  • hmbdc middleware C++ de código abierto (solo encabezados), latencia ultrabaja/alto rendimiento, mensajería entre subprocesos, IPC y de red escalable y confiable

Referencias

  1. ^ Floyd, S. ; Jacobson, V. ; Liu, C. -G.; McCanne, S.; Zhang, L. (diciembre de 1997). "Un marco de multidifusión confiable para sesiones livianas y enmarcado a nivel de aplicación". Transacciones IEEE/ACM sobre redes . 5 (6): 784–803. doi :10.1109/90.650139. S2CID  221634489.
  2. ^ 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.
  3. ^ C. Guo; et al. (1 de noviembre de 2012). "Datacast: un servicio de entrega de datos grupales escalable, eficiente y confiable para centros de datos". ACM . Consultado el 26 de julio de 2017 .
  4. ^ 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". 24.° Simposio internacional sobre calidad de servicio (IWQoS) IEEE/ACM de 2016. IEEE. págs. 1–10. doi :10.1109/IWQoS.2016.7590433. ISBN . 978-1-5090-2634-0. Número de identificación del sujeto  28159768.
  5. ^ ab 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 .
  6. ^ M. Noormohammadpour; et al. (2018). "QuickCast: transferencias rápidas y eficientes entre centros de datos mediante cohortes de árboles de reenvío" . Consultado el 23 de enero de 2018 .
  7. ^ "Catálogo de especificaciones CORBA/IIOP". 2004-10-09. Archivado desde el original el 2004-10-09 . Consultado el 2024-09-19 .
  8. ^ KP Birman (julio de 1999). "Una revisión de experiencias con multidifusión confiable". Software: práctica y experiencia . 29 (9): 741–774. doi :10.1002/(SICI)1097-024X(19990725)29:9<741::AID-SPE259>3.0.CO;2-I. hdl : 1813/7380 .
  9. ^ "Conjunto de herramientas de ISIS"
  10. ^ "Biblioteca de computación en la nube Vsync".
  11. ^ "Sistema Horus"
  12. ^ "Sistema de conjunto"
  13. ^ "El proyecto OpenAIS"

Lectura adicional

  • Sistemas distribuidos confiables: tecnologías, servicios web y aplicaciones. KP Birman. Springer Verlag (1997). Libro de texto que 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 que cubre un amplio espectro de conceptos de computación distribuida, incluida la sincronía virtual.
  • "El enfoque de 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 exhaustivo" Gregory V. Chockler, Idit Keidar ,
  • Roman Vitenberg. ACM Computing Surveys 33:4 (2001). Presenta un formalismo matemático para este tipo de modelos y luego lo utiliza para comparar su poder expresivo y sus supuestos de detección de fallos.
  • "El parlamento a tiempo parcial". Leslie Lamport. ACM Transactions on Computing Systems (TOCS), 16:2 (1998). Presenta la implementación de Paxos de máquinas de estados replicadas.
  • "Explotación de la sincronía virtual en sistemas distribuidos". KP Birman y T. Joseph. Actas del 11.º Simposio ACM sobre principios de sistemas operativos (SOSP), Austin, Texas, noviembre de 1987. Es el primer uso del término, pero probablemente no la mejor exposición del tema.
Obtenido de "https://es.wikipedia.org/w/index.php?title=Multidifusión_confiable&oldid=1247312176#Sincronía_virtual"