Precision Time Protocol gestisce i leap second nei sistemi distribuiti

da Redazione
0 commenti 5 minuti leggi
Meta, TikTok e Apple

Negli ambienti di data center e reti distribuite, la sincronizzazione temporale è un aspetto critico che può influenzare la coerenza dei dati, la sicurezza e le prestazioni delle applicazioni. Tradizionalmente, il Network Time Protocol (NTP) è stato il metodo più utilizzato per la sincronizzazione dell’orario nei sistemi informatici, ma con l’aumento della precisione richiesta nei moderni data center, il Precision Time Protocol (PTP) è diventato sempre più diffuso.

Uno dei problemi chiave della sincronizzazione temporale è la gestione dei leap second, i secondi aggiuntivi introdotti periodicamente per compensare la variazione della rotazione terrestre. Meta ha sviluppato un nuovo approccio per affrontare questa sfida, proponendo una soluzione che riduce gli effetti negativi sulla sincronizzazione dei sistemi distribuiti.

Il problema dei leap second e la sincronizzazione nei data center

I leap second vengono inseriti nel Coordinated Universal Time (UTC) per correggere la differenza tra il tempo atomico (TAI) e la rotazione terrestre. Tuttavia, la loro introduzione può generare problemi significativi nei sistemi di calcolo ad alta precisione.

image 75
Precision Time Protocol gestisce i leap second nei sistemi distribuiti 9

Nel contesto di data center di grandi dimensioni, i sistemi che utilizzano il Precision Time Protocol (PTP) devono essere sincronizzati con una precisione nell’ordine dei nanosecondi. L’aggiunta improvvisa di un leap second può creare discrepanze significative nei timestamp, causando anomalie nei log, errori nei database distribuiti e malfunzionamenti nei sistemi di automazione finanziaria o di telecomunicazione.

Annunci

Per affrontare questo problema, si utilizzano due strategie principali:

  1. Leap second smearing – Un metodo che distribuisce gradualmente il leap second su un intervallo di tempo, evitando interruzioni improvvise.
  2. Preferenza per il tempo atomico (TAI) su UTC – Eliminando la necessità di correggere i leap second.

Leap second smearing: la soluzione tradizionale

La soluzione più comune adottata in passato per gestire i leap second è il leap second smearing, che consiste nel diluire il cambiamento nel tempo invece di applicarlo istantaneamente.

image 76
Precision Time Protocol gestisce i leap second nei sistemi distribuiti 10

Nel caso di NTP, il leap second smearing viene applicato a livello di Stratum 2, ovvero i server NTP che distribuiscono il tempo ai client a valle. Il metodo più utilizzato per il leap second smearing può essere lineare o quadratico:

  • Quadratic smearing: più adatto agli ambienti in cui i client regolano dinamicamente il polling dell’orologio. Tuttavia, può generare valori di offset differenti tra vari server.
  • Linear smearing: più prevedibile e preciso, soprattutto in infrastrutture dove l’intero sistema si sincronizza simultaneamente.

Il problema del leap second smearing con il PTP

A differenza di NTP, che si sincronizza nell’ordine dei millisecondi, il PTP fornisce precisione nell’ordine dei nanosecondi. Di conseguenza, anche una leggera variazione introdotta da un leap second può creare errori significativi nei sistemi che dipendono da sincronizzazioni ultra precise.

Se in un sistema NTP il leap second può essere distribuito in modo graduale senza conseguenze gravi, nel PTP questo potrebbe violare i vincoli di precisione, introducendo differenze di tempo non accettabili per i processi critici.

L’algoritmo di self-smearing di Meta

Per risolvere il problema senza compromettere la precisione del PTP, Meta ha implementato una nuova strategia basata su un algoritmo di self-smearing integrato nella libreria fbclock.

Questa soluzione prevede un approccio dinamico in cui i valori temporali vengono regolati all’interno di un intervallo di incertezza (window of uncertainty, WOU). L’algoritmo regola i timestamp con uno shift di 1 nanosecondo ogni 62,5 microsecondi, rendendo il cambiamento graduale senza alterare la coerenza dei dati.

I vantaggi di questa soluzione includono:

  • Sistema completamente stateless – Non richiede la memorizzazione di dati storici per funzionare.
  • Resilienza ai riavvii – Anche se un server viene riavviato, può determinare la posizione attuale dello smearing grazie ai timestamp di tzdata.
  • Conversione dinamica tra TAI e UTC – I sistemi possono continuare a utilizzare il tempo atomico senza dover gestire i leap second manualmente.

TAI vs UTC: eliminare i leap second per una sincronizzazione più stabile

Nonostante l’algoritmo di self-smearing riduca gli impatti negativi dei leap second, Meta propone un’altra soluzione ancora più radicale: abbandonare completamente i leap second e adottare TAI come riferimento temporale universale.

L’uso del tempo atomico (TAI) invece di UTC eliminerebbe la necessità di gestire i leap second, permettendo:

  • Una sincronizzazione temporale più prevedibile e uniforme
  • Meno discrepanze tra i server PTP e NTP
  • Miglioramenti nelle prestazioni delle reti distribuite

Tuttavia, la conversione tra TAI e UTC rimane necessaria per alcuni sistemi legacy, il che significa che la transizione richiederà un cambiamento a livello globale nel modo in cui vengono gestiti i riferimenti temporali.

Il futuro della sincronizzazione temporale senza leap second

image 77
Precision Time Protocol gestisce i leap second nei sistemi distribuiti 11

Meta supporta l’iniziativa per bloccare l’introduzione di nuovi leap second dopo il 2035, proposta da organismi internazionali come il Bureau International des Poids et Mesures (BIPM). Se questa proposta venisse adottata, si potrebbe passare completamente a un modello di sincronizzazione basato su TAI, semplificando enormemente l’infrastruttura e migliorando la precisione della sincronizzazione temporale nei data center.

L’implementazione di queste soluzioni potrebbe avere impatti positivi in numerosi settori, tra cui:

  • Telecomunicazioni e reti 5G, che richiedono una precisione estrema per il scheduling dei pacchetti dati.
  • Trading algoritmico, dove anche una differenza di pochi microsecondi può influenzare miliardi di transazioni.
  • Infrastrutture cloud, che devono garantire una sincronizzazione perfetta tra server distribuiti in diverse regioni geografiche.

La gestione dei leap second è una sfida complessa che ha impatti significativi sui sistemi informatici moderni. La soluzione proposta da Meta, basata sull’algoritmo di self-smearing per PTP e l’adozione del tempo atomico TAI, rappresenta un passo avanti verso un’infrastruttura di sincronizzazione più affidabile e scalabile.

Se il mondo dell’high-performance computing e delle reti distribuite adotterà questi cambiamenti, potremmo assistere a una trasformazione radicale nel modo in cui il tempo viene gestito nei sistemi informatici del futuro.

Si può anche come

MatriceDigitale.it – Copyright © 2024, Livio Varriale – Registrazione Tribunale di Napoli n° 60 del 18/11/2021. – P.IVA IT10498911212 Privacy Policy e Cookies

Developed with love by Giuseppe Ferrara