5 pontos por GN⁺ 2023-10-06 | 1 comentários | Compartilhar no WhatsApp
  • A hora do computador geralmente começa no NTP, mas por trás disso há uma longa cadeia de fornecimento que passa por relógios de referência, GPS, o Observatório Naval dos EUA e padrões internacionais de tempo
  • Servidores NTP stratum 1 usam como relógio de referência sinais de rádio como MSF·DCF77 ou receptores GPS; em ambientes reais, o GPS costuma ser uma fonte comum
  • A hora do GPS se conecta à Schriever Space Force Base, no Colorado, ao US Naval Observatory Alternate Master Clock e ao US Naval Observatory, em Washington, DC
  • O UTC é um padrão para alinhar o tempo dos relógios atômicos à rotação da Terra; o Bulletin C do IERS e a Circular T do BIPM gerenciam os segundos intercalares e as diferenças oficiais do UTC
  • A definição atual do segundo, baseada em césio, vem de um trabalho de calibração que conectou o relógio atômico de Louis Essen e Jack Parry, de 1955–1958, observações astronômicas de William Markowitz e o sinal de hora por rádio WWV

A hierarquia do tempo que começa no NTP

  • A resposta mais curta para de onde um computador obtém a hora é NTP
  • No entanto, servidores NTP também não criam a hora por conta própria; ao seguir a origem, há várias camadas encadeadas
  • O NTP transmite a hora por meio de uma estrutura de stratum
    • Um servidor NTP stratum 3 recebe a hora de um servidor NTP stratum 2
    • Um servidor NTP stratum 2 usa um servidor NTP stratum 1 como referência
    • Um servidor NTP stratum 1 obtém a hora diretamente de um relógio de referência (reference clock)
  • O relógio de referência pode ser um sinal de rádio como o MSF do Reino Unido ou o DCF77 da Alemanha, mas em muitos casos é provável que seja um receptor GPS

Hora do GPS e o Observatório Naval dos EUA

  • Ao seguir a origem da hora do GPS, chega-se à Schriever Space Force Base, no Colorado
  • Em Schriever há vários satélites ultrassecretos e missões relacionadas, o que dificulta chegar perto para tirar boas fotos
  • No local fica o US Naval Observatory Alternate Master Clock
  • Esse relógio mestre alternativo recebe a hora do US Naval Observatory, em Washington, DC

As três bases usadas pelo USNO para ajustar a hora

  • Relógios atômicos

    • A primeira base do US Naval Observatory são muitos relógios atômicos
    • São usados relógios de feixe de césio montados em rack, caixas pretas contendo masers de hidrogênio e rubidium fountains
    • O USNO possui tantos relógios que há um prédio dedicado a relógios atômicos
    • No Apple Maps, via-se um grande canteiro de obras no centro do campus do USNO, e foi confirmado que se tratava de um novo prédio para relógios
    • O principal limite da precisão dos relógios é a estabilidade ambiental, como temperatura e umidade; o novo prédio deverá contar com um sistema robusto de climatização
  • Informações sobre a rotação da Terra

    • A segunda base é o fato de que o UTC é um compromisso entre o tempo dos relógios atômicos e o tempo da rotação da Terra
    • O USNO recebe informações relacionadas do IERS, o Serviço Internacional de Rotação da Terra, baseado no Observatório de Paris
    • Duas vezes por ano, o IERS envia o Bulletin C, informando se haverá um segundo intercalar seis meses depois
    • Segundos intercalares podem ser adicionados ou removidos para alinhar o UTC à rotação da Terra
    • O IERS Bulletin A é um comunicado semanal com informações precisas sobre parâmetros de orientação da Terra, enviado pelo US Naval Observatory
    • Para que o GPS forneça localização precisa, é necessário saber com exatidão a orientação da Terra abaixo dos satélites
  • Verificação dos relógios atômicos

    • A terceira base são as informações que verificam se os relógios atômicos do USNO estão funcionando corretamente
    • Essas informações vêm do BIPM, em Paris, que mantém o UTC padrão mundial

BIPM, UTC e o segundo do SI

  • O BIPM reúne as medições de tempo dos laboratórios nacionais de tempo do mundo inteiro e determina o UTC oficial
  • A Circular T, publicada periodicamente, contém informações sobre discrepâncias entre o UTC oficial e o UTC dos laboratórios de tempo de cada país
  • O BIPM também é responsável por manter o Sistema Internacional de Unidades, o SI
  • O SI é definido pela CGPM, uma organização internacional criada pelo tratado da Convenção do Metro, de 1875
  • O UTC é uma implementação da unidade de tempo do SI baseada em medições quânticas do átomo de césio
  • O número de cerca de 9,2 GHz que aparece na definição atual do segundo vem da calibração dos primeiros relógios atômicos de césio

A conexão entre o relógio atômico de césio e o segundo astronômico

  • Em 1955, Louis Essen e Jack Parry criaram o primeiro relógio atômico de césio, e a definição atual do segundo vem da calibração desse relógio
  • Como o segundo anterior aos relógios atômicos era baseado na astronomia, Essen e Parry precisavam descobrir quão rapidamente o relógio atômico “ticava” em comparação com o padrão de tempo existente
  • Astrônomos do US Naval Observatory participaram desse trabalho de conexão
    • William Markowitz media o tempo observando o céu
    • Louis Essen media o tempo observando o relógio atômico
    • Para alinhar as duas medições, ambos ouviam o sinal de hora por rádio WWV, transmitido pelo National Bureau of Standards em Washington, DC
    • Esse trabalho ocorreu ao longo de três anos, de 1955 a 1958
  • O que Markowitz mediu foi o ephemeris second
    • Em 1952, a União Astronômica Internacional mudou a definição de tempo para que ela se baseasse não na rotação da Terra, mas na órbita da Terra ao redor do Sol
    • Na década de 1930, descobriu-se que a rotação da Terra não era totalmente constante e que acelerava e desacelerava aos poucos
    • À medida que os relógios se tornaram mais precisos que a rotação da Terra, o ephemeris second passou a ser o novo padrão de tempo mais preciso
  • O ephemeris second se baseia na efeméride (ephemeris), um modelo matemático do Sistema Solar
    • A efeméride padrão foi criada por Simon Newcomb no fim do século XIX
    • Newcomb coletou uma enorme quantidade de dados astronômicos históricos e criou um modelo matemático
    • Esse modelo permaneceu como padrão até meados da década de 1980
  • Simon Newcomb também trabalhou no US Naval Observatory e no US nautical almanac office
  • Em períodos ainda anteriores, o método era mais direto: ajustar relógios observando as estrelas cruzarem o céu
  • A origem da hora do computador não é o Royal Greenwich Observatory

1 comentários

 
GN⁺ 2023-10-06
Opiniões no Hacker News
  • Em relação à manutenção do tempo, também existe o NIST Randomness Beacon: https://csrc.nist.gov/projects/interoperable-randomness-beac...
    Esse protótipo gera e publica, a cada 60 segundos, uma sequência completa de bits de entropia em blocos de 512 bits; cada valor vem com número de sequência, timestamp e assinatura, além de incluir o hash do valor anterior para encadear os valores
    Houve uma piada aqui sobre “colocar o tempo na blockchain”, mas, de certa forma, o NIST já faz algo parecido

    • Isso não é uma blockchain; está mais para um Merkle DAG de autor único
      Não precisa de consenso e é parecido com um repositório Git com um único autor
    • Fico curioso sobre exemplos de uso disso
      Não entendo bem por que colocar em uma cadeia uma longa string pública de números aleatórios seria útil, além de provar que algum evento não ocorreu antes de determinado momento
    • Sempre me perguntei por que isso não é usado como raiz de um sistema P2P de números aleatórios
      Se houver uma fonte confiável de tempo com algumas chaves que não vão mudar, e qualquer pessoa puder retransmiti-la, parece que seria bem útil
      Também poderia viabilizar relógios sem configuração, que pegam a hora do celular ou computador mais próximo sem configuração manual
  • É surpreendente ver o quanto o horário pode sofrer drift quando você configura o computador para não sincronizá-lo automaticamente
    Meu desktop principal está 1,7 segundo adiantado agora, e é bem possível que eu não tenha atualizado o relógio há algumas semanas
    Ainda assim, isso nem é tão grave; outros sistemas podem se desviar muito mais
    Por que eu não configuro automaticamente via NTP? Talvez porque eu queira observar a taxa de drift, talvez porque eu queira reduzir ao máximo os serviços em execução, talvez porque eu não queira que o switch Ethernet à minha frente pisque tanto, ou talvez porque eu queira lembrar o que quebra quando o relógio fica muito errado
    No fim, a resposta é “porque eu quero assim”, e os relógios internos ou cristais de muitos computadores não são nem um pouco precisos

    • O erro de cristais costuma ficar em torno de 20ppm
      Em uma semana, com 20ppm, pode haver um desvio de cerca de 12 segundos
      A placa-mãe provavelmente tem uma cr2032 para manter o horário mesmo quando a energia é desconectada
      Exemplo de cristal: https://www.digikey.com/en/products/filter/crystals/171?s=N4...
    • Não posso entrar muito em detalhes, mas certo produto de IoT foi projetado para que, se o NTP falhasse, todos os dispositivos ficassem lentamente atrasados
      Gostei desse design porque, ao corrigir o NTP, o tempo salta para a frente e cria uma lacuna no tempo percebido, em vez de “viver o mesmo instante duas vezes”
      Por isso, eu achava que, assim como velocímetros mostram deliberadamente um valor um pouco maior, os cristais também eram feitos de propósito para serem um pouco mais lentos, para que o computador não escorregasse para o futuro
    • Cerca de 40 dias atrás, configurei um mini PC como servidor doméstico e não sabia que o Fedora Server não configura sincronização NTP por padrão
      Em 2 semanas, acumulou-se um drift de 30 segundos, e o Prometheus alertou, mas no começo achei erroneamente que era um alerta causado por ter colocado tudo em um único nó
      Ao consultar as métricas, vi erros causados pelo drift; então comparei a saída de date +'%s' no servidor e no notebook, e a diferença passava bastante de 30 segundos
    • Segundo a Wikipedia, a precisão de RTC de cristais comuns é de ±100 a ±20ppm, ou seja, 8,6 a 1,7 segundo por dia
      ICs RTC com compensação de temperatura podem ficar abaixo de 5ppm e, na prática, isso é suficiente para realizar navegação astronômica, a tarefa tradicional dos cronômetros de navegação
      Em 2011 surgiram relógios atômicos em escala de chip, muito mais caros e com consumo de energia bem maior, mas capazes de manter o tempo dentro de 50ppt
  • É uma explicação interessante, mas esse formato é inconveniente demais para transmitir informação
    Acho que teria sido melhor remover os slides, reescrever tudo em parágrafos consistentes e recolocar apenas as imagens essenciais como material de apoio

    • Quando alguém faz uma apresentação offline, há várias etapas do que pode fazer online depois
      Anunciar que a apresentação aconteceu, publicar a gravação, disponibilizar os slides em PDF ou similar sem explicação, colocar os slides em uma página HTML com o que o palestrante provavelmente disse, e, por fim, reescrever tudo como um texto em parágrafos
      Aqui foram feitas as etapas 1 a 4, então reclamar que a 5 não foi feita é meio que pedir um trabalho adicional bem grande, por isso é difícil criticar; para começo de conversa, já é algo a agradecer que tenham publicado a apresentação em um formato legível
      Concordo que no celular, especialmente na versão inicial, era difícil de ler, mas o formato de “apresentação anotada” em si não é ruim
      Por exemplo, há casos como https://idlewords.com/talks/ com https://idlewords.com/talks/superintelligence.htm, https://noidea.dog/talks com https://noidea.dog/impostor, e https://simonwillison.net/tags/annotatedtalks/ com https://simonwillison.net/2022/Nov/26/productivity/; com alguns ajustes de CSS, como colocar as imagens à direita, poderia ficar mais fácil de ler
    • A disposição em que a imagem aparece antes da frase que deveria ser lida foi especialmente confusa
      Era algo como, depois de “aqui está uma figura de um pacote NTP”, aparecer uma foto de um homem sentado a uma mesa
    • É muito melhor assistir ao vídeo da apresentação de fato: https://ripe86.ripe.net/archives/video/1126/
    • Nunca tinha visto esse formato, mas ele se parece bastante com o processo de uma pessoa curiosa caindo em uma toca de coelho sobre um tema específico
      Gostei
    • Foi um texto divertido de ler, como um fluxo de consciência
  • Também vale mencionar o NTP Pool, um recurso usado em comum por muitos dispositivos
    É um grupo de servidores NTP operados por voluntários e costuma ser escolhido especialmente por dispositivos ligados ao open source
    Microsoft, Apple e Google operam seus próprios servidores de horário, mas, para a maioria dos outros casos, o NTP Pool é um excelente recurso: https://www.ntppool.org/en/

    • Isso me lembra de quando o NTP Pool praticamente sofreu um DDoS por causa de uma versão do Snapchat para iOS com bug: https://community.ntppool.org/t/recent-ntp-pool-traffic-incr...
    • Por um tempo participei do pool usando uma placa PCI sincronizada por GPS do RIPE NCC
      Foi divertido, mas em um ambiente de sala de máquinas era difícil manter uma antena em domo permanentemente conectada
      Eles não gostavam de cabos especiais, e acesso ao telhado era uma dor de cabeça em termos de segurança e vazamentos
      Hoje em dia, relógios de rubídio também estão bem baratos
      Atualmente participo do projeto de deriva/disponibilidade de GPS do Bert Hubert, que mede com um Raspberry Pi a visibilidade e disponibilidade de GPS do lado de fora da janela do escritório em casa; isso é muito mais divertido
  • É interessante o momento em que instrumentos de medição ou métodos de medição se tornam mais precisos, estáveis e confiáveis do que o material de referência
    E alguém, geralmente uma pessoa, finalmente descobre esse fato ou, em alguns casos, faz com que ele aconteça diretamente
    O segundo de efemérides era baseado nas efemérides, um modelo matemático do Sistema Solar, e a efeméride padrão era um modelo criado no fim do século XIX por Simon Newcomb a partir de um enorme conjunto de dados astronômicos históricos, permanecendo como padrão até meados dos anos 1980
    Em 1952, a União Astronômica Internacional mudou a definição de tempo para se basear não na rotação da Terra, mas na órbita da Terra em torno do Sol, porque nos anos 1930 foi descoberto que a rotação da Terra não era perfeitamente uniforme e ficava um pouco mais lenta ou mais rápida
    Os relógios agora tinham se tornado mais precisos do que a rotação da Terra, e o segundo de efemérides passou a ser o novo padrão de tempo mais preciso

    • Lembro de ter aprendido isso no ensino médio, mas fico curioso sobre qual duração real de um segundo era usada antes
      Se era baseada na rotação da Terra, que dados eram esses “enormes dados astronômicos históricos” reunidos por Newcomb?
      Fico me perguntando como era possível capturar e armazenar de forma confiável a duração do tempo tomando como base apenas a velocidade de rotação da Terra, que muda com o passar do tempo; provavelmente eram dados comparados a outros fenômenos naturais
  • Para não ficarmos dependentes demais do Big Time, acho que precisamos de um padrão de rastreamento do tempo mantido pela comunidade e democratizado

    • Na verdade, isso já não é quase essa estrutura?
      O True Time™ é definido, na prática, pela média de dezenas de relógios atômicos em laboratórios do mundo todo, então acho difícil chegar mais perto de algo “mantido pela comunidade” e “democratizado” do que isso
    • Ao ver o texto e este comentário, fico curioso sobre quais seriam os efeitos de um ataque organizado aos mecanismos fundamentais de manutenção do tempo
      Parece haver bastante redundância e consenso, mas fico curioso sobre quais sistemas falhariam, em que cronograma os problemas surgiriam e como a recuperação aconteceria
    • Com um céu noturno limpo e uma câmera de celular moderna, parece que também seria possível calibrar um relógio
      Precisão na casa dos segundos talvez nem seja uma expectativa absurda, embora a calibração possa levar um tempo impraticavelmente longo
  • A DARPA está financiando o programa Robust Optical Clock Network (ROCkN)
    O objetivo desse programa é criar relógios atômicos ópticos de baixo tamanho, peso e consumo de energia (SWaP), com precisão e desempenho de holdover melhores do que os relógios atômicos de GPS e que possam ser usados fora do laboratório
    A maioria dos grandes provedores de nuvem obtém o horário do GPS, mas já implantou equipamentos na classe do Open Compute Time Card, capazes de manter a hora precisa mesmo sem GPS
    https://www.darpa.mil/news-events/2022-01-20

  • Se você tem um Raspberry Pi sobrando e quer operar por conta própria um servidor NTP Stratum 1, há este artigo: https://austinsnerdythings.com/2021/04/19/microsecond-accura...

    • Para uso com NTP, é melhor usar um Raspberry Pi 4 do que placas antigas
      Nas placas mais antigas, a porta Ethernet fica atrás de um hub USB, o que gera jitter de temporização de pacotes na rede na casa dos milissegundos, dificultando obter precisão NTP na casa dos microssegundos
      Para deixar mais divertido, também dá para colocá-lo em uma caixa isolada e aplicar carga na CPU para mantê-lo aquecido, transformando o Raspberry Pi em algo parecido com um oscilador de cristal compensado por forno: https://blog.ntpsec.org/2017/03/21/More_Heat.html
    • Se você recebe a hora diretamente do GPS, isso é um servidor Stratum 0
      Um servidor Stratum 1 é um servidor que recebe a hora de um servidor Stratum 0
  • A maior parte dos slides trata da física da medição do tempo, como GPS ou relógios atômicos
    Isso é interessante por si só, mas, para entender como meu computador obtém a hora atual, a pergunta mais relevante é: “como um computador doméstico mede a latência de pacotes enviados por um servidor de horário remoto?”
    Questões como se ele mede a duração de vários tempos de ida e volta e usa a média como latência, ou o que acontece se houver congestionamento repentino durante uma ida e volta específica, parecem mais misteriosas do que as questões físicas

  • É preciso tomar cuidado com quais fontes de tempo você usa
    Cerca de 10 a 15 anos atrás, um dos nossos servidores estava configurado para usar tick.usno.navy.mil e tock.usno.navy.mil, mas havia um “problema” com a hora divulgada pela Marinha
    Da noite para o dia, vários servidores de licenças deixaram de autenticar, e ficamos sem conseguir acessar o sistema
    Eu sabia que o SSH também precisava de hora precisa com diferença de poucos minutos; acabamos fazendo login localmente a partir de outro escritório no mesmo prédio, confirmamos a divergência de horário e resolvemos mudando o servidor de tempo e a forma de sincronização

    • Parece que algumas coisas estão sendo lembradas incorretamente
      SSH não se importa nem um pouco com a hora, a menos que você esteja usando certificados SSH de vida muito curta