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 (normalmente, los 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 perderse, entregarse varias veces o entregarse fuera de orden. Un protocolo de multidifusión confiable agrega la capacidad de que los receptores detecten mensajes perdidos o desordenados y tomen medidas correctivas (similares 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 responsabiliza al remitente de la confiabilidad de la transmisión, los protocolos de multidifusión basados ​​en NAK transfieren la responsabilidad a los receptores: el remitente nunca sabe con certeza si todos los receptores han recibido todos los datos. [2] RFC-2887 explora el espacio de diseño para la transferencia masiva de datos, con una breve discusión sobre los diversos temas y algunas sugerencias sobre los posibles diferentes significados 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 debe moverse 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 Hadoop (HDFS) replica cualquier fragmento de datos dos veces adicionales en servidores específicos, es posible que se requiera la replicación de VM en múltiples servidores para escalar horizontalmente las aplicaciones y la replicación de datos. a varios servidores puede ser necesario para el equilibrio de carga al permitir que varios servidores proporcionen los mismos datos desde sus copias en caché locales. Esta entrega es frecuente en los centros de datos debido a la gran cantidad de servidores que se comunican mientras ejecutan aplicaciones altamente distribuidas.

RGDD también puede ocurrir entre centros de datos y, a veces, se lo 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 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 realizan 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 han 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 CORBA Fault Tolerant Objects" 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 EE. UU., la arquitectura de replicación de procesos comerciales de IBM para WebSphere y la arquitectura Windows Clustering de Microsoft para servidores empresariales Windows Longhorn . [7]

Sistemas que soportan la 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 , 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 ese tiempo. La versión estable más actual es la V2.2.2020; fue estrenado el 14 de noviembre de 2015; la versión V2.2.2048 está actualmente disponible en forma Beta. [9] Vsync apunta a los centros de datos masivos que admiten la computación en la nube .

Otros sistemas similares incluyen el sistema Horus [10] el sistema Transis, el sistema Totem, un sistema IBM llamado Phoenix, un sistema distribuido de administración de claves de seguridad llamado Rampart, el "sistema Ensemble", [11] el sistema Quicksilver , "El proyecto OpenAIS ", [12] su derivado Corosync Cluster Engine y varios 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 encuadres a nivel de aplicación". Transacciones IEEE/ACM en 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 de las 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 confiable, escalable, eficiente y 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". 2016 IEEE/ACM 24º Simposio Internacional sobre Calidad de Servicio (IWQoS) . IEEE. págs. 1–10. doi :10.1109/IWQoS.2016.7590433. ISBN 978-1-5090-2634-0. S2CID  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 entre centros de datos rápidas y eficientes mediante cohortes de árboles de reenvío" . Consultado el 23 de enero de 2018 .
  7. ^ 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 .
  8. ^ "Kit de herramientas de Isis"
  9. ^ "Biblioteca de computación en la nube Vsync".
  10. ^ "Sistema de Horus"
  11. ^ "Sistema de conjunto"
  12. ^ "El proyecto OpenAIS"
  13. ^ https://infoscience.epfl.ch/record/32309
  14. ^ RSP; información necesaria.

Otras lecturas