Articulo de referencia

Sincronización de relojes

La sincronización de relojes es un tema de la informática y la ingeniería que busca coordinar relojes que, de otro modo, serían independientes . Incluso cuando se ajustan con pr...

La sincronización de relojes es un tema de la informática y la ingeniería que busca coordinar relojes que, de otro modo, serían independientes . Incluso cuando se ajustan con precisión inicialmente, los relojes reales diferirán después de cierto tiempo debido a la deriva , causada por relojes que cuentan el tiempo a ritmos ligeramente diferentes. Existen varios problemas que surgen como resultado de las diferencias en la frecuencia de reloj y varias soluciones, algunas más aceptables que otras en ciertos contextos. [ 1 ]

Terminología

En la comunicación serial , la sincronización de reloj puede referirse a la recuperación de reloj , que logra la sincronización de frecuencia, a diferencia de la sincronización de fase completa . Dicha sincronización de reloj se utiliza en la sincronización en telecomunicaciones y en la detección automática de la velocidad de transmisión . [ 2 ]

El funcionamiento plesiócrono o isócrono se refiere a un sistema con sincronización de frecuencia y restricciones menos estrictas en la sincronización de fase. El funcionamiento síncrono implica una sincronización más precisa basada en el tiempo, posiblemente además de la frecuencia.

Problemas

Como resultado de las dificultades para gestionar el tiempo a menor escala, existen problemas asociados con la desviación del reloj que adquieren mayor complejidad en la computación distribuida, donde varias computadoras necesitan sincronizarse con la misma hora global. Por ejemplo, en los sistemas Unix , el comando `make` se utiliza para compilar código nuevo o modificado y busca evitar la recompilación de código sin cambios. El comando `make` utiliza el reloj de la máquina en la que se ejecuta para determinar qué archivos fuente deben recompilarse. Si los archivos fuente residen en un servidor de archivos independiente y las dos máquinas tienen relojes no sincronizados, el programa `make` podría no producir los resultados correctos. [ 3 ]

La sincronización es necesaria para la reproducción precisa de contenido multimedia en streaming . La sincronización del reloj es un componente importante de los sistemas de audio sobre Ethernet .

Soluciones

En un sistema con un servidor central, la solución de sincronización es sencilla; el servidor dictará la hora del sistema. El algoritmo de Cristian y el algoritmo de Berkeley son posibles soluciones al problema de sincronización del reloj en este entorno.

En la computación distribuida, el problema se vuelve más complejo debido a que no es fácil conocer la hora global. La solución de sincronización de reloj más utilizada en Internet es el Protocolo de Tiempo de Red (NTP), una arquitectura cliente-servidor por capas basada en el protocolo de paso de mensajes UDP ( Protocolo de Datagramas de Usuario ). Las marcas de tiempo de Lamport y los relojes vectoriales son conceptos del reloj lógico en la computación distribuida.

En una red inalámbrica , el problema se vuelve aún más complejo debido a la posibilidad de colisión de los paquetes de sincronización en el medio inalámbrico y a la mayor tasa de deriva de los relojes en los dispositivos inalámbricos de bajo costo. [ 4 ] [ 5 ]

Algoritmo de Berkeley

El algoritmo de Berkeley es adecuado para sistemas que no disponen de un reloj de radio . Este sistema no tiene otra forma de verificar la hora exacta que manteniendo una hora promedio global. Un servidor de tiempo obtiene periódicamente la hora de todos los clientes, calcula el promedio y luego les informa sobre el ajuste necesario en sus relojes locales para alcanzar dicho promedio. Este algoritmo pone de manifiesto que los relojes internos pueden variar no solo en la hora que contienen, sino también en su frecuencia .

Sincronización de red mutua mediante muestreo de reloj

La sincronización mutua de red por muestreo de reloj (CS-MNS) es adecuada para aplicaciones distribuidas y móviles. Se ha demostrado su escalabilidad en redes de malla que incluyen nodos no adyacentes conectados indirectamente y es compatible con IEEE 802.11 y estándares similares. Puede alcanzar una precisión del orden de unos pocos microsegundos, pero requiere conectividad inalámbrica física directa con un retardo de enlace insignificante (menos de 1 microsegundo) en los enlaces entre nodos adyacentes, lo que limita la distancia entre nodos vecinos a unos pocos cientos de metros. [ 6 ]

El algoritmo de Cristian

El algoritmo de Cristian se basa en la existencia de un servidor de tiempo. [ 7 ] El servidor de tiempo mantiene su reloj mediante un reloj de radio u otra fuente de tiempo precisa, y así todos los demás ordenadores del sistema permanecen sincronizados con él. Un cliente de tiempo mantiene su reloj mediante una llamada a procedimiento al servidor de tiempo. Variantes de este algoritmo realizan cálculos de tiempo más precisos al tener en cuenta el tiempo de propagación de la señal de radio en la red .

sistemas de navegación por satélite

Además de su uso en navegación, el Sistema de Posicionamiento Global (GPS) también puede utilizarse para la sincronización de relojes. La precisión de las señales horarias GPS es de ±10  nanosegundos. [ 8 ] El uso de GPS (u otros sistemas de navegación por satélite ) para la sincronización requiere un receptor conectado a una antena con vista despejada del cielo.

Códigos de tiempo del grupo de instrumentación entre rangos

Los códigos de tiempo IRIG son formatos estándar para la transferencia de información de sincronización. Los estándares de frecuencia atómica y los receptores GPS diseñados para la sincronización precisa suelen estar equipados con una salida IRIG. Estos estándares fueron creados por el Grupo de Trabajo de Telecomunicaciones del Grupo de Instrumentación Intercampos (IRIG) del ejército de los Estados Unidos, el organismo de normalización del Consejo de Comandantes de Campos de Tiro. El trabajo en estos estándares comenzó en octubre de 1956 y los estándares originales fueron aceptados en 1960. [ 9 ]

Protocolo de tiempo de red

El Protocolo de Tiempo de Red (NTP) es un protocolo muy robusto, ampliamente utilizado en Internet. Tras años de exhaustivas pruebas, se considera el protocolo de sincronización horaria distribuida más avanzado para redes poco fiables . Puede reducir los desfases de sincronización a unos pocos milisegundos en Internet pública y a niveles inferiores a un milisegundo en redes de área local .

Una versión simplificada del protocolo NTP, el Protocolo Simple de Tiempo de Red (SNTP), también puede utilizarse como un protocolo de sincronización primario/secundario sin estado y de un solo disparo , pero carece de las características sofisticadas de NTP y, por lo tanto, tiene niveles de rendimiento y fiabilidad mucho más bajos.

Protocolo de tiempo de precisión

El Protocolo de Tiempo de Precisión (PTP) es un protocolo maestro/esclavo para la entrega de hora de alta precisión a través de redes de área local.

Sincronización de transmisión de referencia

El algoritmo de sincronización horaria por difusión de referencia (RBS) se utiliza con frecuencia en redes inalámbricas y redes de sensores. En este sistema, un emisor difunde un mensaje de referencia para que los receptores ajusten sus relojes.

Sincronización de la infraestructura de transmisión de referencia

El protocolo Reference Broadcast Infrastructure Synchronization (RBIS) [ 10 ] es un protocolo de sincronización maestro/esclavo, similar a RBS, basado en un paradigma de sincronización receptor/receptor. Está diseñado específicamente para su uso en redes inalámbricas IEEE 802.11 configuradas en modo infraestructura (es decir, coordinadas por un punto de acceso). El protocolo no requiere ninguna modificación en el punto de acceso.

Ethernet síncrona

Ethernet síncrono utiliza Ethernet de forma síncrona, de manera que, al combinarse con protocolos de sincronización como PTP en el caso del proyecto White Rabbit , se logra una precisión de sincronización inferior al nanosegundo.

Redes inalámbricas ad hoc

La sincronización en redes inalámbricas ad hoc se logra mediante el envío de mensajes de sincronización a través de múltiples saltos , donde cada nodo se sincroniza progresivamente con el nodo que envió el mensaje de sincronización inmediatamente después. Algunos ejemplos son el Protocolo de Sincronización de Tiempo por Inundación (FTSP) [ 4 ] y Harmonia [ 5 ], ambos capaces de lograr la sincronización con una precisión del orden de microsegundos.

Huygens

Investigadores de Stanford y Google presentaron Huygens, un algoritmo de sincronización de reloj de extremo a extremo basado en sondas. Huygens se implementa en software y, por lo tanto, puede desplegarse en centros de datos o en entornos de nube pública . Aprovechando algunos aspectos clave de los centros de datos modernos y aplicando nuevos algoritmos de estimación y técnicas de procesamiento de señales, el algoritmo Huygens logró una precisión de decenas de nanosegundos incluso con una alta carga de red. [ 11 ] Los resultados de esta investigación se están probando en aplicaciones de mercados financieros. [ 12 ]

Véase también

Referencias

  1. Tanenbaum, Andrew S .; van Steen, Maarten (2002), Sistemas distribuidos  : principios y paradigmas , Prentice Hall , ISBN 0-13-088893-1
  2. Norman Matloff (3 de septiembre de 2001), Transmisión por línea serial (PDF) , consultado el 17 de abril de 2018.
  3. Marco Platania (03-06-2018). "Sincronización del reloj" (PDF) . pág. 11. 
  4. 1 2 Maróti, Miklós; Kusy, Branislav; Simon, Gyula; Lédeczi, Ákos (2004). "El protocolo de sincronización de tiempo de inundación". Actas de la 2.ª conferencia internacional sobre sistemas de sensores en red integrados . SenSys '04. Nueva York, NY, EE. UU.: ACM. págs. 39–49 . doi : 10.1145/1031495.1031501 . ISBN  1581138792. S2CID 9897231 . 
  5. 1 2 Koo, Jinkyu; Panta, Rajesh K.; Bagchi, Saurabh; Montestruque, Luis (2009). "Una historia de dos relojes sincronizados". Actas de la 7.ª Conferencia ACM sobre Sistemas de Sensores en Red Integrados . SenSys '09. Nueva York, NY, EE. UU.: ACM. págs. 239–252 . doi : 10.1145/1644038.1644062 . ISBN  9781605585192. S2CID 8242938 . 
  6. Rentel, Carlos H.; Kunz, Thomas (marzo de 2005), "Un algoritmo de sincronización horaria de red mutua con muestreo de reloj para redes inalámbricas ad hoc", Conferencia IEEE sobre Comunicaciones y Redes Inalámbricas, 2005 , vol. 1, IEEE Press, pp. 638–644 , doi : 10.1109/WCNC.2005.1424575 , ISBN   0-7803-8966-2, S2CID 1340072 
  7. Cristian, F. (1989), "Sincronización probabilística de relojes", Distributed Computing , 3 (3), Springer: 146–158 , doi : 10.1007/BF01784024 , S2CID 3170166 
  8. "Transferencia de tiempo GPS de vista común" . Instituto Nacional de Estándares y Tecnología . Archivado del original el 28 de octubre de 2012.
  9. Josh Matson (mayo de 2013). "Cómo elegir el protocolo de sincronización horaria correcto e incorporar el módulo 1756-TIME a su aplicación" (PDF) . Rockwell Automation . Consultado el 13 de agosto de 2019 .
  10. Cena, G.; Scanzio, S.; Valenzano, A.; Zunino, C. (junio de 2015), "Implementación y evaluación del protocolo de sincronización de infraestructura de difusión de referencia", IEEE Transactions on Industrial Informatics , 11 (3), IEEE Press: 801–811 , Bibcode : 2015ITII...11..801C , doi : 10.1109/TII.2015.2396003 , S2CID 17867070 
  11. Aprovechamiento de un efecto de red natural para la sincronización de relojes escalable y de grano fino . 2018. págs. 81–94 . ISBN  9781939133014.
  12. John Markoff (29 de junio de 2018). "La división del tiempo al nanosegundo es precisamente lo que quiere Wall Street" . New York Times .

Lecturas adicionales

  • Govindan Kannan, Pravein; Joshi, Raj; Chan, Mun Choon. (Abril de 2019), "Sincronización horaria precisa en el plano de datos mediante ASIC de conmutación programable", Actas del Simposio ACM de 2019 sobre Investigación en SDN , ACM, págs. 8-20 , doi : 10.1145/3314148.3314353 , ISBN  9781450367103, S2CID 85518997 
  • Aprovechamiento de un efecto de red natural para la sincronización de relojes escalable y de grano fino , ISBN 9781939133014, consultado el 19 de octubre de 2021