stringtranslate.com

Sincronización del reloj

La sincronización de relojes es un tema de informática e ingeniería que tiene como objetivo coordinar relojes que de otro modo serían independientes . Incluso cuando inicialmente se configuran con precisión, los relojes reales diferirán después de un cierto período de tiempo debido a la desviación del reloj , causada por los relojes que cuentan el tiempo a velocidades ligeramente diferentes. Hay varios problemas que ocurren como resultado de diferencias en la velocidad del reloj y varias soluciones, algunas son más aceptables que otras en ciertos contextos. [1]

Terminología

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

La operación plesiócrona o isócrona se refiere a un sistema con sincronización de frecuencia y restricciones flexibles en la sincronización de fase. El funcionamiento sincrónico implica una sincronización más estrecha basada en el tiempo, quizás además de la frecuencia.

Problemas

Como resultado de las dificultades para gestionar el tiempo a escalas más pequeñas, existen problemas asociados con el desfase del reloj que adquieren mayor complejidad en la informática distribuida , en la que varias computadoras necesitarán calcular 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 volver a compilar 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 volver a compilarse. Si las fuentes residen en un servidor de archivos independiente y las dos máquinas tienen relojes no sincronizados, es posible que el programa make no produzca los resultados correctos. [3]

Se requiere sincronización para una reproducción precisa de los medios de transmisión . La sincronización del reloj es un componente importante de los sistemas de audio a través de Ethernet .

Soluciones

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

En la computación distribuida, el problema adquiere mayor complejidad porque 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), que es una arquitectura cliente-servidor en capas basada en el paso de mensajes del Protocolo de datagramas de usuario (UDP). Las marcas de tiempo de Lamport y los relojes vectoriales son conceptos del reloj lógico en la informática distribuida.

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

Algoritmo de Berkeley

El algoritmo de Berkeley es adecuado para sistemas en los que no hay un reloj de radio . Este sistema no tiene otra forma de asegurarse de la hora real que no sea manteniendo una hora promedio global como hora global. Un servidor de tiempo obtendrá periódicamente la hora de todos los clientes de tiempo, promediará los resultados y luego informará a los clientes sobre el ajuste que debe realizarse en sus relojes locales para lograr el promedio. Este algoritmo resalta el hecho de que los relojes internos pueden variar no sólo en el tiempo que contienen sino también en la frecuencia del reloj .

Sincronización de red mutua con muestreo de reloj

La sincronización mutua de redes por muestreo de reloj (CS-MNS) es adecuada para aplicaciones móviles y distribuidas. Se ha demostrado que es escalable a través de redes de malla que incluyen nodos no adyacentes vinculados indirectamente y es compatible con IEEE 802.11 y estándares similares. Puede tener una precisión del orden de unos pocos microsegundos, pero requiere conectividad inalámbrica física directa con un retraso 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]

algoritmo de cristian

El algoritmo de Cristian se basa en la existencia de un servidor de tiempo. [7] El servidor de hora mantiene su reloj mediante un reloj de radio u otra fuente de hora precisa, luego todas las demás computadoras del sistema permanecen sincronizadas con él. Un cliente de tiempo mantendrá su reloj realizando una llamada a procedimiento al servidor de tiempo. Las variaciones de este algoritmo realizan cálculos de tiempo más precisos al tener en cuenta el tiempo de propagación de radio de la red .

Sistemas de navegación por satélite

Además de su uso en la navegación, el Sistema de Posicionamiento Global (GPS) también se puede utilizar para la sincronización del reloj. La precisión de las señales horarias del 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 una vista sin obstáculos del cielo.

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

Los códigos de tiempo IRIG son formatos estándar para transferir información de tiempo. Los estándares de frecuencia atómica y los receptores GPS diseñados para una sincronización precisa suelen estar equipados con una salida IRIG. Los estándares fueron creados por el Grupo de Trabajo de Telecomunicaciones del Grupo de Instrumentación Inter-Range (IRIG) del ejército de los Estados Unidos , el organismo de estándares del Range Commanders Council. El trabajo sobre estas normas comenzó en octubre de 1956 y las normas originales fueron aceptadas en 1960. [9]

Protocolo de tiempo de red

El protocolo de tiempo de red (NTP) es un protocolo muy robusto, ampliamente implementado en Internet. Bien probado a lo largo de los años, generalmente se considera lo último en protocolos de sincronización de hora distribuida para redes no confiables . Puede reducir las compensaciones de sincronización a tiempos del orden de unos pocos milisegundos en la Internet pública y a niveles inferiores a milisegundos en las redes de área local .

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

Protocolo de tiempo de precisión

Precision Time Protocol (PTP) es un protocolo maestro/esclavo para la entrega de hora altamente precisa a través de redes de área local.

Sincronización de transmisión de referencia

El algoritmo de sincronización de tiempo de transmisión de referencia (RBS) se utiliza a menudo en redes inalámbricas y redes de sensores. En este esquema, un iniciador transmite un mensaje de referencia para instar a los receptores a ajustar sus relojes.

Sincronización de infraestructura de transmisión de referencia

El protocolo de sincronización de infraestructura de transmisión de referencia (RBIS) [10] es un protocolo de sincronización maestro/esclavo, como RBS, basado en un paradigma de sincronización receptor/receptor. Está diseñado específicamente para ser utilizado 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íncrona utiliza Ethernet de manera sincrónica , de modo que cuando se combina con protocolos de sincronización como PTP en el caso del Proyecto White Rabbit , se logra una precisión de sincronización inferior a nanosegundos.

Redes inalámbricas ad hoc

La sincronización se logra en redes inalámbricas ad hoc mediante el envío de mensajes de sincronización en forma de múltiples saltos y cada nodo se sincroniza progresivamente con el nodo que es el remitente inmediato de un mensaje de sincronización. Los ejemplos incluyen el Protocolo de sincronización de tiempo de inundación (FTSP), [4] y Harmonia, [5] , ambos capaces de lograr 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, se puede implementar en centros de datos o en entornos de nube pública . Aprovechando algunos aspectos clave de los centros de datos modernos y aplicando algoritmos de estimación y técnicas de procesamiento de señales novedosos, el algoritmo de 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 del mercado financiero. [12]

Ver 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 en una línea serie (PDF) , consultado el 17 de abril de 2018
  3. ^ Marco Platania (3 de junio de 2018). «Sincronización de reloj» (PDF) . pag. 11.
  4. ^ ab Maróti, Miklós; Kusy, Branislav; Simón, Gyula; Lédeczi, Ákos (2004). "El protocolo de sincronización del tiempo de inundaciones". Actas de la segunda conferencia internacional sobre sistemas de sensores integrados en red . SenSys '04. Nueva York, NY, Estados Unidos: ACM. págs. 39–49. doi :10.1145/1031495.1031501. ISBN 1581138792. S2CID  9897231.
  5. ^ ab Koo, Jinkyu; Panta, Rajesh K.; Bagchi, Saurabh; Montestruque, Luis (2009). "Una historia de dos relojes sincronizados". Actas de la séptima conferencia ACM sobre sistemas de sensores integrados en red . SenSys '09. Nueva York, NY, Estados Unidos: 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 de red mutua con muestreo de reloj para redes inalámbricas ad hoc", IEEE Wireless Communications and Networking Conference , IEEE Press, 1 : 638–644, doi :10.1109/WCNC.2005.1424575, S2CID  1340072
  7. ^ Cristian, F. (1989), "Sincronización probabilística del reloj", Computación distribuida , Springer, 3 (3): 146–158, doi :10.1007/BF01784024, S2CID  3170166
  8. ^ "Transferencia de hora GPS de vista común". Instituto Nacional de Estándares y Tecnología . Archivado desde el original el 28 de octubre de 2012.
  9. ^ Josh Matson (mayo de 2013). "Elegir el Protocolo de Sincronización Horaria correcto e incorporar el módulo 1756-TIME a su Aplicación" (PDF) . Automatización de Rockwell . 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 transmisión de referencia", IEEE Transactions on Industrial Informatics , IEEE Press, 11 (3): 801–811, doi :10.1109/TII.2015.2396003, S2CID  17867070
  11. ^ Aprovechamiento de un efecto de red natural para una sincronización de reloj escalable y detallada. 2018, págs. 81–94. ISBN 9781939133014.
  12. ^ John Markoff (29 de junio de 2018). "El tiempo dividido en nanosegundos es precisamente lo que quiere Wall Street". New York Times .

Otras lecturas