
(Afbeelding: Shutterstock)
We denken zelden na over het bijhouden van de tijd. Zoals Chicago in de jaren 60 zong: “Weet iemand echt hoe laat het is? Kan het iemand echt iets schelen?” Maar technisch gezien geven we er veel om.
Onze technologie kan verdorie niet werken als het Network Time Protocol (NTP) onze servers en pc's niet op elkaar afgestemd houdt. Zonder dit zouden back-ups mislukken, zouden financiële transacties misgaan en zouden veel fundamentele netwerkdiensten niet werken. Om deze problemen op te lossen, begon Facebook in 2020 zijn internetklokken nauwkeuriger te maken. Nu maakt de socialemediagigant zijn technologie, Time Appliances Project (TAP), open source en stelt iedereen in staat om van een commodity-server een betrouwbare NTP-tijd te maken. apparaat.
Tegenwoordig gebruikt Facebook een meerlagige tijdserverarchitectuur om de tijd bij te houden. Het bestaat uit satellieten met precieze atoomklokken bovenaan. Facebook's eigen atoomklokken synchroniseren met een van deze en vormen de tweede laag.
Deze atoomklokken en hun broeders vormen de belangrijkste tijdwaarnemers van het internet: Stratum-0-apparaten. Daaronder bevinden zich de stratum-1 tijdwaarnemers, die de kloof overbruggen tussen atoomklokken en genetwerkte computerklokken. Deze maken vervolgens verbinding met al het andere dat nauwkeurige tijdregistratie nodig heeft met behulp van NTP.
Facebook – in plaats van te vertrouwen op ntpd, de veelgebruikte referentie-implementatie van NTP – om klokken te synchroniseren, gebruikt het een andere NTP-implementatie van het NTP en Extended NTP. Om precies te zijn, Facebook gebruikt het IEEE 1588 Precision Timing Protocol (PTP) om een PTP-profiel te maken voor datacentertoepassingen en netwerkinfrastructuur. Het komt erop neer dat Facebook-tijden in de nauwkeuriger microseconden zijn in plaats van de meer algemeen gebruikte milliseconden.
Nu denk je misschien: “Wat maakt het uit?” Cue dat liedje nog een keer. Maar eigenlijk moet je je zorgen maken.
Zoals Oleg Obleukhov, de TAP-supervisor van Facebook, opmerkte: “Voor je magnetron maakt het eigenlijk niet zoveel uit. verschil maakt voor een mens niet veel uit, maar stel je alle transacties voor die in dezelfde tijd in een datacenter kunnen plaatsvinden.”
Tegenwoordig vertrouwen de meeste bedrijven op openbare NTP-pools zoals time.facebook.com om als hun stratumklokken te fungeren. Maar wanneer uw internetverbinding uitvalt, neemt ook uw vermogen om tijd bij te houden met al uw andere externe servers en services.
Om deze afhankelijkheden te verwijderen, brengt Facebook een nieuw speciaal stuk Open Compute Project-hardware uit: The Time Appliance. Deze bestaat uit een ontvanger van een wereldwijd satellietnavigatiesysteem (GNSS) en een geminiaturiseerde atoomklok. Hiermee houden uw machines, zelfs zonder internet of een betrouwbare GNSS-verbinding, de tijd nauwkeurig bij.
Nu is er niets nieuws aan dit idee. Er zijn veel eigen tijdapparatuur geweest. Maar ze zijn “eigendom”. Ze zijn vaak duur, moeilijk te onderhouden en nog moeilijker te beveiligen. Door TAP open te sourcen, vermijdt het nieuwe Facebook-bord deze problemen.
Met de Time Appliance-kaart heeft Facebook ontdekt dat het, zelfs zonder een GNSS-verbinding, de tijd nauwkeurig kan bijhouden binnen 1 microseconde per 24 uur.
Het enige dat u dus hoeft te doen, is de tijdkaart installeren op een gewone x86-computer met een gratis PCIe-slot met Linux-kernel 5.15 of nieuwer, aangezien deze een tijdkaartstuurprogramma bevat. Je kunt het ook bouwen vanuit code met de Linux-kernel 5.12 of nieuwer.
De Time Appliance Project GitHub-repository bevat de specificaties, schema's, mechanica, stuklijst (BoM) en de broncode. Kortom, als u kunt omgaan met het printen van de printplaat (PCB) en het solderen van piepkleine componenten, kunt u uw eigen tijdkaart bouwen voor een fractie van de kosten van een normaal apparaat.
Of, als je een beetje een kluns bent — schuldig — Facebook heeft samengewerkt met Orolia om kant-en-klare tijdkaarten aan te bieden, evenals NVIDIA, dat de voor precisietiming geschikte ConnectX-6 Dx en de precisietiming verkoopt -geschikte BlueField-2 DPU.
De Open Time Server-specificatie geeft u alle informatie die u nodig heeft over hoe u de hardware en software kunt combineren in uw eigen Time Appliance. Veel plezier!
Gerelateerde verhalen:
Equinix lanceert “Time-as-a-Service” voor latentiegevoelige bedrijven Facebook's nieuwe project: om de tijd zelf te herstellen NTP besparen: het protocol die de tijd bijhoudt op het internet
gerelateerde onderwerpen:
Linux Cloud Internet of Things Beveiligingsdatacenters