Facebook desenvolve placa PCIe aberta com um relógio atômico

Novo estudo mostra que desinformação no Facebook gera muito mais engajamento que notícias
Imagem: Enter21st

Há algum tempo o Facebook anunciou a criação de uma placa PCIe, que inclui a implementação de um relógio atômico em miniatura e um receptor GNSS. A placa foi originalmente projetada como um dispositivo modular, permitindo o uso de uma variedade de chips de relógio atômico e módulos GNSS disponíveis comercialmente, como SA5X, mRO-50, SA.45s e u-blox RCB-F9T. A Orolia pretende iniciar a produção de placas definitivas de acordo com as especificações elaboradas. Portanto, o Facebook desenvolve placa PCIe aberta com um relógio atômico.

O cartão de ponto está sendo desenvolvido como parte de um projeto de dispositivo de horário mais global que visa fornecer componentes para a criação de servidores de horário primários (Time Master) (Open Time Server) que podem ser implementados em sua infraestrutura e usados, por exemplo, para organizar a sincronização de tempo em centros de dados.

A utilização de um servidor autônomo permite não depender de serviços de rede externos para sincronizar o horário exato, e a presença de um relógio atômico embutido proporciona um alto nível de autonomia em caso de falhas na recepção de dados dos sistemas de satélite (por exemplo, devido a condições meteorológicas ou ataques).

Facebook desenvolve placa PCIe aberta com um relógio atômico

Facebook desenvolve placa PCIe aberta com um relógio atômico

A nova arquitetura de tempo baseada em NTP usa Stratum 1, um componente importante que está diretamente vinculado a uma fonte de tempo oficial, como um sistema de navegação global por satélite (GNSS) ou um relógio de césio.

A peculiaridade do projeto é que, para construir um servidor de horário primário, pode-se usar um servidor normal baseado na arquitetura x86, que inclui uma placa de rede típica e uma placa de horário.

Neste servidor, a informação da hora exata é recebida dos satélites através do GNSS  e o relógio atômico atua como um oscilador altamente estável, o que permite manter um alto nível de precisão caso nenhuma informação seja recebida pelo GNSS. O possível desvio do tempo exato em caso de incapacidade de receber dados via GNSS na placa proposta é estimado em cerca de 300 nanossegundos por dia.

Deve fazer parte do kernel Linux

O driver ocp_pt foi preparado para Linux e está planejado para ser incluído no kernel Linux 5.15.

O driver implementa interfaces PTP POSIX (/dev/ptp2), GNSS através da porta serial /dev/ttyS7, relógio atômico através da porta serial /dev/ttyS8 e dois dispositivos i2c/dev/i2c- *, com os quais você pode acessar o recursos de relógio de hardware (PHC) do ambiente do usuário.

Ao iniciar o servidor NTP (Network Time Protocol), é sugerido usar Chrony e NTPd, e ao iniciar o servidor PTP (Precision Time Protocol), é sugerido usar ptp4u ou ptp4l em combinação com a pilha phc2sys para fornecer a cópia de valores de tempo de um relógio atômico para uma placa de rede.

Hardware e software

A coordenação da operação do receptor GNSS e do relógio atômico pode ser feita tanto em hardware quanto em software. A funcionalidade de hardware do módulo de emparelhamento é implementada com base no FPGA, e a versão do software funciona no nível de monitoramento direto do status do receptor GNSS e do relógio atômico de aplicativos como ptp4l e chronyd.

A razão para o desenvolvimento de um quadro aberto em vez de utilizar soluções prontas para uso disponíveis no mercado, é a natureza patenteada de tais produtos, o que não nos permite garantir que a implementação seja correta, o software proposto não cumpre com os requisitos de segurança. (Na maioria dos casos, programas desatualizados são enviados e as correções de vulnerabilidades podem levar meses ou até anos para serem entregues), bem como recursos limitados de configuração e monitoramento (SNMP) (sua própria CLI ou interface de usuário da web é oferecida).

A placa pode ser usada para organizar o trabalho de servidores de sincronização de horário separados. Especificações, esquemas, BOM, Gerber, PCB e arquivos CAD necessários para fazer a placa são postados no GitHub. Mais detalhes estão no link a seguir: https://engineering.fb.com.

Via Desde Linux