Anksčiau aprašėme, kodėl manome Atėjo laikas praeityje palikti šuolį antrą kartą. Šiandien sparčiai besivystančiame skaitmeniniame kraštovaizdyje, pristatant naujas šuolio sekundes, kad būtų atsižvelgiama į ilgalaikį Žemės sukimosi sulėtėjimą, yra rizikinga praktika, kuri, tiesą sakant,, atvirai, daro daugiau žalos nei gera. Tai ypač pasakytina apie duomenų centro erdvę, kur patinka nauji protokolai Tikslio laiko protokolas (PTP) leidžia sistemas sinchronizuoti iki nanosekundžių tikslumo.
Su vis didėjančia didesnio tikslumo laiko paskirstymo paklausa ir Didesnis PTP vaidmuo laiko sinchronizavimui Duomenų centruose turime apsvarstyti, kaip išspręsti šuolio sekundes sistemose, kurios naudoja PTP ir todėl yra daug jautrūs laiką.
„Sheap“ antrasis tepimas – sprendimas per savo laiką
„LEAP Second“ tepimas yra laikrodžių greičio koregavimo procesas, kad būtų galima pritaikyti pataisą, kuri buvo įprastas būdas tvarkyti šuolio sekundes. „Meta“ metu mes tradiciškai sutelkėme dėmesį į NTP, nes tai buvo de facto standartas laiko sinchronizavimui duomenų centruose.
Dideliuose NTP dislokavimuose, „Leap“ antrasis tepimas paprastai atliekamas 2 sluoksnis (sluoksnis), kurį sudaro NTP serveriai, kurie tiesiogiai sąveikauja su NTP klientais („Stratum 3“) Tai yra NTP paslaugos vartotojai.
Yra keli būdai, kaip tepti. NTP atveju galima pritaikyti linijines arba kvadratines tepimo formules.
Dėl kvadratinio tepimo dažnai teikiama pirmenybė dėl NTP protokolo sluoksniuoto pobūdžio, kai klientai skatinami dinamiškai koreguoti savo apklausos intervalą, nes padidėja laukiančios pataisos vertė. Šis sprendimas turi savo kompromisus, tokius kaip nenuoseklūs pakeitimai, dėl kurių dideliame serverio parke gali atsirasti skirtingos poslinkio vertės.
Linijinis tepimas gali būti pranašesnis, jei visas laivynas pasikliauja tais pačiais laiko šaltiniais ir tuo pačiu metu atlieka smirdimą. Kartu su dažnesniais sinchronizavimo ciklais paprastai vieną kartą per sekundę, tai yra labiau nuspėjamas, tikslesnis ir patikimas požiūris.
Tvarkyti šuolio sekundes PTP
Priešingai nei NTP, kuris sinchronizuojasi milisekundės lygiu, PTP paprastai suteikia tikslumo lygį, paprastai nanosekundžių diapazoną. Tokiu tikslumo lygiu net periodinis linijinis tepimas sukels per daug deltos visame laivyne ir pažeis klientams suteiktas garantijas.
Norėdami valdyti šuolių sekundes PTP aplinkoje Koordinuotas universalus laikas (UTC) per tarptautinį atominį laiką (Tai).
Savaime suprantamas
„Meta“ vartotojai sąveikauja su PTP paslauga per fbclock Biblioteka, kuri suteikia vertybių, {ankstyvi_ns, naujausia_ns}Ar kuris reiškia laiko intervalą, vadinamą kaip Neapibrėžtumo langas (Wou). Kiekvieną kartą, kai biblioteka iškviečiama tepimo laikotarpiu, mes sureguliuojame grąžinimo vertes, pagrįstus tepimo algoritmu, kuris keičia laiko vertes 1 nanosekundę kas 62,5 mikrosekundės.
Šis požiūris turi nemažai pranašumų, įskaitant visiškai be pilietybės ir atkuriamą. Paslauga ir toliau naudoja Tai laiko žymes, tačiau per API gali grąžinti UTC laiko žymes klientams. Ir kaip nustatomas pradžios laikas Swather Laiko žymos, dabartinę tepimo padėtį galima nustatyti net po to, kai serveris bus paleistas iš naujo.
Šis požiūris yra su tam tikrais kompromisais. Pvz., Kadangi LEAP tepimo strategija skiriasi tarp NTP (kvadratinės) ir PTP (linijinės) ekosistemų, paslaugos gali stengtis suderinti laiko žymes, gautus iš skirtingų šaltinių per tepimą.
Skirtumas tarp dviejų metodų gali reikšti daugiau nei 100 mikrosekundžių skirtumus, sukuriant iššūkius teikiant paslaugas, sunaikinančias laiką iš abiejų sistemų.
UTC per tai
„FBClock“ bibliotekoje įgyvendinta tepimo strategija rodo gerą našumą. Tačiau jis vis dar pristato daug laiko deltos tarp kelių šeimininkų per tepimo laikotarpį, nepaisant to, kad yra visiškai be pilietybės ir naudoja mažą (1 nanosekundę) ir fiksuotų žingsnių dydžius.
Kitas reikšmingas trūkumas atsiranda dėl periodiškai vykdomų darbų. Tepimo laikas reiškia, kad mūsų planavimas neveikia beveik 1 milisekundės po 60 sekundžių paslaugoms, kurios veikia tiksliais intervalais.
Tai nėra idealu teikiant paslaugą, kuri garantuoja nanosekundžių lygio tikslumą ir tikslumą.
Dėl to mes rekomenduojame klientams naudoti Tai per UTC ir tokiu būdu vengti tekti susidoroti su šuolio sekundėmis. Deja, vis dėlto daugeliu atvejų vis dar reikalinga konvertavimas į UTC ir galiausiai turi būti kažkur atlikti.
PTP be šuolio sekundžių
Meta mes palaikome neseniai Užšaldykite bet kokias naujas šuolio sekundes po 2035 m. Jei mes galime nutraukti naujų šuolių sekundžių įvedimą, tada visa pramonė gali pasikliauti UTC, o ne į TAI, kad būtų aukštesnis tikslumo laiko apskaita. Tai supaprastins infrastruktūrą ir pašalins įvairių tepimo sprendimų poreikį.
Galų gale ateitis be šuolio sekundžių yra tokia, kurioje galime lengviau ir efektyviau ir efektyviau pastumti sistemas į didesnį laiko apskaitos tikslumo lygį.