stringtranslate.com

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 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

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