Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial Internet of Things >> Integrado

Engenheiros do Facebook Abrem Código do Appliance de Tempo de Precisão para Data Centers

A equipe de engenharia do Facebook projetou e lançou um appliance de tempo de alta precisão, um elemento chave da infraestrutura de temporização moderna de data centers. Ao criar o time card — um cartão PCIe que transforma qualquer servidor commodity em uma fonte de tempo Stratum-1 — e fazer parceria com o Open Compute Project (OCP), a empresa disponibilizou todos os componentes do Open Time Server sob licença open-source.

Em março de 2020, o Facebook anunciou a migração de seus servidores de data center e produtos de consumo para um novo serviço NTP (Network Time Protocol) interno. A atualização elevou a precisão da manutenção de tempo de 10 ms para 100 µs, permitindo controle de infraestrutura mais fino e desempenho mais rápido de bancos de dados distribuídos.

A nova arquitetura NTP depende de uma fonte Stratum-1 — diretamente vinculada a um relógio autoritativo como um Sistema Global de Navegação por Satélite (GNSS) ou um relógio de césio:

Engenheiros do Facebook Abrem Código do Appliance de Tempo de Precisão para Data Centers

Pools NTP públicos (ex.: time.facebook.com) são convenientes, mas introduzem dependências de conectividade com a internet e expõem sistemas a possíveis interrupções ou deriva. Para eliminar esses riscos, foi construído um appliance de hardware dedicado que integra um receptor GNSS com um relógio atômico miniaturizado (MAC). O time card encapsula essa funcionalidade em uma placa PCIe, permitindo que qualquer servidor x86 equipado com NIC de timestamping de hardware se torne uma fonte Stratum-1.

Por que um Novo Dispositivo de Tempo?

Appliances de tempo comerciais são testados em batalha e frequentemente estáveis, mas vêm com desvantagens significativas:

Essas limitações forçaram muitas organizações a aceitar trade-offs. A decisão foi explorar uma alternativa: um appliance de tempo open-source, purpose-built, baseado em hardware x86.

Prototipando o Appliance de Tempo

O conceito inicial combinava um receptor GNSS, um oscilador de alta estabilidade e processamento baseado em FPGA em um único cartão PCIe — veja o diagrama de blocos abaixo:

Engenheiros do Facebook Abrem Código do Appliance de Tempo de Precisão para Data Centers

O módulo GNSS fornece tanto time-of-day (ToD) quanto um sinal de um pulso por segundo (PPS). Quando emparelhado com um oscilador de alta estabilidade — como um oscilador de rubídio ou cristal controlado por forno — o sistema pode alcançar precisão de nível nanosegundo. O PPS e ToD são alimentados para uma NIC de alto desempenho (ex.: NVIDIA Mellanox ConnectX-6 Dx) que suporta timestamping de hardware e PPS in/out.

Usando a ferramenta ts2phc, sincronizamos o relógio físico da NIC ao PPS do GNSS dentro de algumas dezenas de nanosegundos, validando nossa abordagem:

Engenheiros do Facebook Abrem Código do Appliance de Tempo de Precisão para Data Centers

Para aumentar a confiabilidade, separamos o design em dois blocos lógicos: o payload (motor de tempo de precisão) e o delivery (a NIC). O payload interpola tempo entre pulsos PPS consecutivos usando um motor baseado em FPGA e um oscilador local. Em caso de perda de GNSS, o motor conta com a estabilidade inerente do relógio atômico.

Engenheiros do Facebook Abrem Código do Appliance de Tempo de Precisão para Data Centers

O motor de tempo implementa filtragem, sincronização, verificação de erros e subsistemas PCIe. Ele calibra continuamente o MAC comparando seu contador ao PPS do GNSS, alcançando precisão sub-nanosegundo por períodos estendidos.

Engenheiros do Facebook Abrem Código do Appliance de Tempo de Precisão para Data Centers

Aproveitando uma referência de 10 MHz (de um relógio de rubídio ou entrada SMA externa), fazemos up-convert para 125 MHz (períodos de 8 ns) e associamos incrementos sub-segundo a passos de 250 ps. Um loop proporcional-integral ajusta finamente a frequência via PLL de 12,5× e, se necessário, ajustes diretos no oscilador.

Holdover — perda de precisão de tempo quando GNSS está indisponível — é uma métrica crítica. Nosso protótipo alcançou menos de 300 ns de deriva em 24 horas, bem dentro das especificações do MAC SA.53s.

O Appliance de Tempo em Ação

Uma vez instalado, o time card transforma qualquer servidor x86 compatível em uma fonte de tempo Stratum-1, independente de NTP, PTP, SyncE ou outros protocolos. A precisão do sistema é suficiente para a maioria das necessidades de sincronização de tempo empresariais.

Engenheiros do Facebook Abrem Código do Appliance de Tempo de Precisão para Data Centers

A configuração é direta: instale kernel Linux 5.15+ (ou compile o driver do repositório GitHub do OCP no kernel 5.12+). O driver expõe dispositivos PHC, GNSS, PPS e MAC sob /sys/class/timecard/ocp0/:

$ ls -l /sys/class/timecard/ocp0/
lrwxrwxrwx. 1 root 0 Aug 3 19:49 device -> ../../../0000:04:00.0/
-r--r--r--. 1 root 4096 Aug 3 19:49 gnss_sync
lrwxrwxrwx. 1 root 0 Aug 3 19:49 i2c -> ../../xiic-i2c.1024/i2c-2/
lrwxrwxrwx. 1 root 0 Aug 3 19:49 pps -> ../../../../../virtual/pps/pps1/
lrwxrwxrwx. 1 root 0 Aug 3 19:49 ptp -> ../../ptp/ptp2/
lrwxrwxrwx. 1 root 0 Aug 3 19:49 ttyGNSS -> ../../tty/ttyS7/
lrwxrwxrwx. 1 root 0 Aug 3 19:49 ttyMAC -> ../../tty/ttyS8/

Configure chrony ou um daemon PTP para usar o PHC como relógio de referência:

# chrony refclock PHC /dev/ptp2 tai poll 0 trust

Validação com um Calnex Sentinel mostra ±40 µs de estabilidade NTP em 48 horas e offsets PTP sub-nanosegundo. O erro combinado de PPS entre o time card e o Sentinel permanece dentro de ±200 ns.

Engenheiros do Facebook Abrem Código do Appliance de Tempo de Precisão para Data Centers
Engenheiros do Facebook Abrem Código do Appliance de Tempo de Precisão para Data Centers
Engenheiros do Facebook Abrem Código do Appliance de Tempo de Precisão para Data Centers

O design modular também permite trocar o MAC por um OCXO ou TCXO mais econômico, trocando desempenho de holdover por orçamento.

Open-Source do Design

Para ampliar o impacto, fizemos parceria com o Open Compute Project para lançar o Time Appliance Project (TAP). Todas as especificações, esquemáticos, BOMs, desenhos mecânicos e código-fonte estão publicamente disponíveis no repositório GitHub do TAP. Fornecedores como Orolia e NVIDIA já estão produzindo o time card e NICs de precisão de tempo, respectivamente.

Nossa especificação do Open Time Server detalha como montar a pilha de hardware e software para criar um appliance de tempo robusto e totalmente controlado. Ao possuir todo o sistema, engenheiros ganham visibilidade mais profunda, segurança mais apertada e manutenção mais simples.

Embora o appliance atual represente um grande avanço, continuaremos refinando a precisão, escalando a sincronização pela infraestrutura global do Facebook e compartilhando avanços com a comunidade open-compute.

Integrado

  1. A Ampulheta: História, Artesanato e Atrativo Moderno
  2. Dominando time.sleep() do Python: Boas Práticas, Multithreading e Exemplos Reais
  3. Maximize a Produtividade: Como o Software de Manutenção Reduz Custos e Economiza Tempo
  4. Repensando a Gestão de Inventário: Estratégias Modernas para Fabricantes
  5. Líderes de Cadeia de Suprimentos: Abracem Estratégia Ofensiva para Crescimento e Resiliência
  6. Gêmeos Digitais Aumentam Confiabilidade Pontual da Linha Principal da Costa Oeste
  7. Dominando Datas e Horas em Python: Guia Prático
  8. Entendendo Interfaces Homem-Máquina (IHMs) na Indústria Moderna
  9. Crescent Crown Aumenta Eficiência e Reduz Custos com Automação AP DocStar ECM
  10. Otimize sua Manufatura e Envio: Estratégias Comprovadas para Cortar Custos e Aumentar Eficiência